diff --git a/orange-demo-multi/orange-demo-multi-service/.gitignore b/orange-demo-multi/orange-demo-multi-service/.gitignore deleted file mode 100644 index e3fa94cd..00000000 --- a/orange-demo-multi/orange-demo-multi-service/.gitignore +++ /dev/null @@ -1,26 +0,0 @@ -target/ -!.mvn/wrapper/maven-wrapper.jar -/.mvn/* - -### STS ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache - -### IntelliJ IDEA ### -.idea -*.iws -*.iml -*.ipr - -### NetBeans ### -/nbproject/private/ -/build/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/README.md b/orange-demo-multi/orange-demo-multi-service/README.md deleted file mode 100644 index 33c6c911..00000000 --- a/orange-demo-multi/orange-demo-multi-service/README.md +++ /dev/null @@ -1,90 +0,0 @@ -### 必知要点 ---- -在该文档中,我们将主要介绍开发和调试阶段,系统所依赖的服务组件的启动与控制台访问方式。 - -1. 我们目前提供的启动方式包括,docker-compose和本地命令行两种方式。推荐操作更为简便的docker-compose方式。 -2. 对于基础服务组件,如注册中心(nacos/consul)、配置中心(nacos/consul)、Redis、Zookeeper和Kafka,均可通过docker-compose的方式启动。 -与此同时,我们也为这些服务组件提供了本地启动文档,具体详见开发文档中[环境准备章节](http://www.orangeforms.com/development-doc/environment/)。 -3. 出于某些原因,apollo配置中心和skywalking,我们目前尚未提供docker-compose方式,因此只能通过本地命令行的方式启动。 -具体详见开发文档中[环境准备章节](http://www.orangeforms.com/development-doc/environment/)。 -4. ELK、Prometheus、Grafana和PinPoint,由于不会影响正常的开发和调试,我们目前仅提供了docker-compose的启动方式。 - -最后,我们真诚的希望能够得到您的反馈,并持续改进我们的产品、文档、服务和操作流程。 -### 服务接口文档 ---- -- Knife4j - - 服务启动后,Knife4j的文档入口地址 [http://localhost:8082/doc.html#/plus](http://localhost:8082/doc.html#/plus) -- Postman - - 无需启动服务,即可将当前工程的接口导出成Postman格式。在工程的common/common-tools/模块下,找到ExportApiApp文件,并执行main函数。 - -### 系统依赖服务组件 ---- -当前工程所有微服务启动前,需将下列服务组件依次启动,可选组件可根据实际需要决定是否启动。 -> 如果采用本地启动方式,启动顺序如下。docker-compose方式,脚本文件中已经编排好启动顺序。 -- Redis - - 版本:4 - - 端口: 6379 - - 推荐客户端工具 [AnotherRedisDesktopManager](https://github.com/qishibo/AnotherRedisDesktopManager) -- Zookeeper - - 版本:3.5.5 - - 端口:2181 - - 推荐客户端工具 [zkui](https://github.com/DeemOpen/zkui) -- Kafka - - 版本:2.12-2.4.0 - - 端口:9092 - - 推荐客户端工具 [Kafka Tool](http://www.kafkatool.com/download.html) -- Nacos - - 版本:1.3.1 - - 控制台URL:localhost:8848/nacos - - 用户名密码:nacos/nacos -- Sentinel-Dashboard (可选) - - 版本:1.7.2 - - 控制台URL: localhost:8858 - - 用户名密码:sentinel/sentinel - - 注意:该服务缺省端口为8080,容易冲突,所以改为8858。我们在所有的配置中均使用了8858,而非8080。 -- ELK (可选,docker-compose-elk) - - 版本:7.5.x - - Kibana控制台URL:localhost:5601 -- SkyWalking (可选,仅当尝试使用SkyWalking进行链路跟踪时使用) - - 版本:8.1.x - - 控制台URL:localhost:8095 - - 注意:该服务缺省端口为8080,容易冲突,所以改为8095。具体修改方式参考开发文档[环境准备章节](http://www.orangeforms.com/development-doc/environment/#skywalking) -- admin-monitor服务模块 (可选) - - 控制台URL:localhost:8769 -- XXL-Job (可选,仅当启动Job服务时使用) - - 重要声明:xxl_job 官网仅提供对mysql的支持,如果您在橙单中选择了postgresql,xxl-job-admin仍需依赖mysql。 - - 版本:2.2.0 - - 控制台URL:localhost:8081/xxl-job-admin/ - - 注意:该服务缺省端口为8080,容易冲突,所以改为了8081。我们在所有的配置中均使用了8081,而非8080。 - - 用户名密码:admin/123456 -- 启动upms服务 (保证登录和用户权限服务可用) -- 启动其他业务应用微服务
- 推荐在gateway服务之前启动,以便gateway服务启动后可以即刻发现服务。由于gateway是从注册中心定时拉取微服务信息,所以在gateway之后启动的微服务,通常会延迟一小段时间之后才会被发现。 -- 启动gateway网关服务
- 在所有微服务之后启动,启动后即可发现所有微服务。仅有被gateway发现的微服务,该服务的请求才可以被正常转发。 - -### 服务组件启动 ---- -> 下述文件位于工程目录的zz-resource/docker-files子目录内。 -- docker-compose.yml (必须) - - 包含系统所需的必备组件,如注册中心、配置中心、Sentinel-Dashboard、Redis、Kafka和Zookeeper。 - - 第一次启动方式为 docker-compose up -d - - 停止方式推荐为 docker-compose stop - - 再次启动方式推荐为 docker-compose start - - 强行停止方式为 docker-compose down - - 强行停止后再次启动,可能导致kafka和zookeeper出现数据错误,执行./clear-data.sh可清空部分临时数据。 - - 清空后再次执行docker-compose up -d 即可。 - - docker-compose start和docker-compose stop不会出现该类数据问题。 - - 查看启动日志命令 docker-compose logs -- docker-compose-full.yml (可选) - - 包含全部服务的启动项,基础服务 + elk + gp。 - - 启动方式为 docker-compose -f docker-compose-full.yml up -d - - 停止方式和数据错误处理方式,请参考上面docker-compose.yml的说明。 -- Skywalking服务启动 (可选) - - 启动方式,目前仅支持命令行方式,具体参考开发文档中[环境准备章节](http://www.orangeforms.com/development-doc/environment/#skywalking) - -### 本地命令行启动方式 ---- -1. Nacos、Consul、Sentinel、Apollo、XXL-Job、Redis、Kafka、Zookeeper、Skywalking的本地启动方式,请参考开发文档中[环境准备章节](http://www.orangeforms.com/development-doc/environment/)。 -2. ELK、Grafana、Prometheus、Pinpoint目前仅提供docker-compose方式。 -3. 再次强调,通过本地命令行启动所有系统服务组件时,启动顺序一定要和上面"系统依赖服务组件"部分列出的服务顺序保持一致,因为服务组件之间是有依赖的。 \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/application-consumer/operation-log-consumer/pom.xml b/orange-demo-multi/orange-demo-multi-service/application-consumer/operation-log-consumer/pom.xml deleted file mode 100644 index 9d84aa9d..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application-consumer/operation-log-consumer/pom.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - application-consumer - com.orangeforms - 1.0.0 - - 4.0.0 - - operation-log-consumer - - - - com.orangeforms - common-log - 1.0.0 - - - - - - - src/main/resources - - **/*.* - - false - - - src/main/java - - **/*.xml - - false - - - - - org.springframework.boot - spring-boot-maven-plugin - ${spring-boot.version} - - - - \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/application-consumer/operation-log-consumer/src/main/java/com/orangeforms/operationlogconsumer/OperationLogConsumerApplication.java b/orange-demo-multi/orange-demo-multi-service/application-consumer/operation-log-consumer/src/main/java/com/orangeforms/operationlogconsumer/OperationLogConsumerApplication.java deleted file mode 100644 index f6a5f42b..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application-consumer/operation-log-consumer/src/main/java/com/orangeforms/operationlogconsumer/OperationLogConsumerApplication.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.orangeforms.operationlogconsumer; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.cloud.client.discovery.EnableDiscoveryClient; -import org.springframework.context.annotation.ComponentScan; - -/** - * 操作日志消费者服务启动类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ComponentScan("com.orangeforms") -@EnableDiscoveryClient -@SpringBootApplication -public class OperationLogConsumerApplication { - - public static void main(String[] args) { - SpringApplication.run(OperationLogConsumerApplication.class, args); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application-consumer/operation-log-consumer/src/main/java/com/orangeforms/operationlogconsumer/config/DataSourceConfig.java b/orange-demo-multi/orange-demo-multi-service/application-consumer/operation-log-consumer/src/main/java/com/orangeforms/operationlogconsumer/config/DataSourceConfig.java deleted file mode 100644 index ef6b0a82..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application-consumer/operation-log-consumer/src/main/java/com/orangeforms/operationlogconsumer/config/DataSourceConfig.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.orangeforms.operationlogconsumer.config; - -import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Primary; -import org.springframework.transaction.annotation.EnableTransactionManagement; -import org.mybatis.spring.annotation.MapperScan; - -import javax.sql.DataSource; - -/** - * 数据源配置Bean对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Configuration -@EnableTransactionManagement -@MapperScan(value = {"com.orangeforms.*.dao", "com.orangeforms.common.*.dao"}) -public class DataSourceConfig { - - @Bean(initMethod = "init", destroyMethod = "close") - @Primary - @ConfigurationProperties(prefix = "spring.datasource.druid") - public DataSource druidDataSource() { - return DruidDataSourceBuilder.create().build(); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application-consumer/operation-log-consumer/src/main/java/com/orangeforms/operationlogconsumer/consumer/OperationLogConsumer.java b/orange-demo-multi/orange-demo-multi-service/application-consumer/operation-log-consumer/src/main/java/com/orangeforms/operationlogconsumer/consumer/OperationLogConsumer.java deleted file mode 100644 index 79b3bf78..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application-consumer/operation-log-consumer/src/main/java/com/orangeforms/operationlogconsumer/consumer/OperationLogConsumer.java +++ /dev/null @@ -1,90 +0,0 @@ -package com.orangeforms.operationlogconsumer.consumer; - -import com.alibaba.fastjson.JSON; -import com.orangeforms.common.log.model.SysOperationLog; -import com.orangeforms.common.log.service.SysOperationLogService; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.kafka.clients.consumer.ConsumerRecord; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Bean; -import org.springframework.dao.DuplicateKeyException; -import org.springframework.kafka.annotation.KafkaListener; -import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory; -import org.springframework.kafka.config.KafkaListenerContainerFactory; -import org.springframework.kafka.core.ConsumerFactory; -import org.springframework.kafka.listener.ContainerProperties; -import org.springframework.kafka.support.Acknowledgment; -import org.springframework.stereotype.Component; - -import java.util.LinkedList; -import java.util.List; -import java.util.Optional; - -/** - * 各个微服务操作日志的消费者对象。该消费者会集中处理操作日志。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Component -@Slf4j -public class OperationLogConsumer { - - @Autowired - private SysOperationLogService sysOperationLogService; - - @Bean - public KafkaListenerContainerFactory batchFactory(ConsumerFactory consumerFactory) { - ConcurrentKafkaListenerContainerFactory factory = - new ConcurrentKafkaListenerContainerFactory<>(); - factory.setConsumerFactory(consumerFactory); - factory.setConcurrency(10); - factory.getContainerProperties().setPollTimeout(1500); - //设置为批量消费,每个批次数量在Kafka配置参数中设置 - factory.setBatchListener(true); - factory.getContainerProperties().setAckMode(ContainerProperties.AckMode.MANUAL_IMMEDIATE); - return factory; - } - - @KafkaListener( - topics = {"${common-log.operation-log.kafkaTopic}"}, - containerFactory = "batchFactory", - groupId = "operation-log") - public void listen(List> recordList, Acknowledgment ack) { - if (CollectionUtils.isNotEmpty(recordList)) { - List operationLogList = new LinkedList<>(); - for (ConsumerRecord record : recordList) { - Optional message = Optional.ofNullable(record.value()); - if (message.isPresent()) { - SysOperationLog operationLog = - JSON.parseObject(message.get().toString(), SysOperationLog.class); - operationLogList.add(operationLog); - } - } - if (CollectionUtils.isNotEmpty(operationLogList)) { - try { - sysOperationLogService.batchSave(operationLogList); - } catch (Exception e) { - log.error("Failed to batchSave SysOperationLog and try again one by one", e); - this.safeSave(operationLogList); - } - } - } - ack.acknowledge(); - } - - private void safeSave(List operationLogList) { - for (SysOperationLog operationLog : operationLogList) { - try { - // 如果批量插入失败,为了确保最大限度的将操作日志数据插入到目的表。 - // 这里我们将逐条插入,对于重复插入直接忽略错误,对于其他异常,需要用户修改后自行处理。 - sysOperationLogService.saveNew(operationLog); - } catch (DuplicateKeyException e1) { - // 出现重复的场景,很大可能是因为之前插入数据库成功了,但是提交kafka offset失败了。 - // 因此就会出现重复消费的情况,我们通过logId主键进行了去重。 - log.warn("Duplicated Key for logId [{}]", operationLog.getLogId()); - } - } - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application-consumer/operation-log-consumer/src/main/resources/bootstrap.yml b/orange-demo-multi/orange-demo-multi-service/application-consumer/operation-log-consumer/src/main/resources/bootstrap.yml deleted file mode 100644 index c82c159c..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application-consumer/operation-log-consumer/src/main/resources/bootstrap.yml +++ /dev/null @@ -1,19 +0,0 @@ -spring: - application: - name: operation-log-consumer - profiles: - active: dev - cloud: - nacos: - discovery: - server-addr: localhost:8848 - config: - server-addr: localhost:8848 - file-extension: yaml - # 共享配置文件,排序越高后,优先级越高。 - shared-configs: - - data-id: application-dev.yaml - group: DEFAULT_GROUP - refresh: true - main: - allow-bean-definition-overriding: true diff --git a/orange-demo-multi/orange-demo-multi-service/application-consumer/operation-log-consumer/src/main/resources/log4j2.xml b/orange-demo-multi/orange-demo-multi-service/application-consumer/operation-log-consumer/src/main/resources/log4j2.xml deleted file mode 100644 index 30e414d7..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application-consumer/operation-log-consumer/src/main/resources/log4j2.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - - - - ./zzlogs/operation-log-consumer - - ./zzlogs/operation-log-consumer/backup - - info - - - - - - - - [%-5p] [%d{YYYY-MM-dd HH:mm:ss}] [%t] ==> %msg%n - - - - [%-5p] [%d{YYYY-MM-dd HH:mm:ss}] [%t] ==> [%traceId] %msg%n - - - 31 - - 20M - - - - - - - localhost:9092 - 10000 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/orange-demo-multi/orange-demo-multi-service/application-consumer/pom.xml b/orange-demo-multi/orange-demo-multi-service/application-consumer/pom.xml deleted file mode 100644 index ae588d2b..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application-consumer/pom.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - OrangeMultiDemo - com.orangeforms - 1.0.0 - - 4.0.0 - - application-consumer - pom - - operation-log-consumer - - - - - com.alibaba.cloud - spring-cloud-starter-alibaba-nacos-discovery - - - \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/application/application-common/pom.xml b/orange-demo-multi/orange-demo-multi-service/application/application-common/pom.xml deleted file mode 100644 index 81befd73..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/application-common/pom.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - com.orangeforms - application - 1.0.0 - - 4.0.0 - - application-common - 1.0.0 - application-common - jar - \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/application/application-common/src/main/java/com/orangeforms/application/common/constant/DeviceType.java b/orange-demo-multi/orange-demo-multi-service/application/application-common/src/main/java/com/orangeforms/application/common/constant/DeviceType.java deleted file mode 100644 index 85a18f58..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/application-common/src/main/java/com/orangeforms/application/common/constant/DeviceType.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.orangeforms.application.common.constant; - -import java.util.HashMap; -import java.util.Map; - -/** - * 设备类型常量字典对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -public final class DeviceType { - - /** - * iOS。 - */ - public static final int IOS = 0; - /** - * Android。 - */ - public static final int ANDROID = 1; - /** - * PC。 - */ - public static final int PC = 2; - - private static final Map DICT_MAP = new HashMap<>(3); - static { - DICT_MAP.put(IOS, "iOS"); - DICT_MAP.put(ANDROID, "Android"); - DICT_MAP.put(PC, "PC"); - } - - /** - * 判断参数是否为当前常量字典的合法值。 - * - * @param value 待验证的参数值。 - * @return 合法返回true,否则false。 - */ - public static boolean isValid(Integer value) { - return value != null && DICT_MAP.containsKey(value); - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private DeviceType() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/application-common/src/main/java/com/orangeforms/application/common/constant/ExpLevel.java b/orange-demo-multi/orange-demo-multi-service/application/application-common/src/main/java/com/orangeforms/application/common/constant/ExpLevel.java deleted file mode 100644 index a8013100..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/application-common/src/main/java/com/orangeforms/application/common/constant/ExpLevel.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.orangeforms.application.common.constant; - -import java.util.HashMap; -import java.util.Map; - -/** - * 经验等级常量字典对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -public final class ExpLevel { - - /** - * 初级学员。 - */ - public static final int LOWER = 0; - /** - * 中级学员。 - */ - public static final int MIDDLE = 1; - /** - * 高级学员。 - */ - public static final int HIGH = 2; - - private static final Map DICT_MAP = new HashMap<>(3); - static { - DICT_MAP.put(LOWER, "初级学员"); - DICT_MAP.put(MIDDLE, "中级学员"); - DICT_MAP.put(HIGH, "高级学员"); - } - - /** - * 判断参数是否为当前常量字典的合法值。 - * - * @param value 待验证的参数值。 - * @return 合法返回true,否则false。 - */ - public static boolean isValid(Integer value) { - return value != null && DICT_MAP.containsKey(value); - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private ExpLevel() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/application-common/src/main/java/com/orangeforms/application/common/constant/Gender.java b/orange-demo-multi/orange-demo-multi-service/application/application-common/src/main/java/com/orangeforms/application/common/constant/Gender.java deleted file mode 100644 index 5b0f5513..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/application-common/src/main/java/com/orangeforms/application/common/constant/Gender.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.orangeforms.application.common.constant; - -import java.util.HashMap; -import java.util.Map; - -/** - * 性别常量字典对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -public final class Gender { - - /** - * 男。 - */ - public static final int MALE = 1; - /** - * 女。 - */ - public static final int FEMALE = 0; - - private static final Map DICT_MAP = new HashMap<>(2); - static { - DICT_MAP.put(MALE, "男"); - DICT_MAP.put(FEMALE, "女"); - } - - /** - * 判断参数是否为当前常量字典的合法值。 - * - * @param value 待验证的参数值。 - * @return 合法返回true,否则false。 - */ - public static boolean isValid(Integer value) { - return value != null && DICT_MAP.containsKey(value); - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private Gender() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/application-common/src/main/java/com/orangeforms/application/common/constant/StudentActionType.java b/orange-demo-multi/orange-demo-multi-service/application/application-common/src/main/java/com/orangeforms/application/common/constant/StudentActionType.java deleted file mode 100644 index 45b70f58..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/application-common/src/main/java/com/orangeforms/application/common/constant/StudentActionType.java +++ /dev/null @@ -1,89 +0,0 @@ -package com.orangeforms.application.common.constant; - -import java.util.HashMap; -import java.util.Map; - -/** - * 学生行为常量字典对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -public final class StudentActionType { - - /** - * 充值。 - */ - public static final int RECHARGE = 0; - /** - * 购课。 - */ - public static final int BUY_COURSE = 1; - /** - * 上课签到。 - */ - public static final int SIGNIN_COURSE = 2; - /** - * 上课签退。 - */ - public static final int SIGNOUT_COURSE = 3; - /** - * 看视频课。 - */ - public static final int WATCH_VIDEO = 4; - /** - * 做作业。 - */ - public static final int DO_PAPER = 5; - /** - * 刷题。 - */ - public static final int REFRESH_EXERCISE = 6; - /** - * 献花。 - */ - public static final int PRESENT_FLOWER = 7; - /** - * 购买视频课。 - */ - public static final int BUY_VIDEO_COURSE = 8; - /** - * 购买鲜花。 - */ - public static final int BUY_FLOWER = 9; - /** - * 购买作业。 - */ - public static final int BUY_PAPER = 10; - - private static final Map DICT_MAP = new HashMap<>(11); - static { - DICT_MAP.put(RECHARGE, "充值"); - DICT_MAP.put(BUY_COURSE, "购课"); - DICT_MAP.put(SIGNIN_COURSE, "上课签到"); - DICT_MAP.put(SIGNOUT_COURSE, "上课签退"); - DICT_MAP.put(WATCH_VIDEO, "看视频课"); - DICT_MAP.put(DO_PAPER, "做作业"); - DICT_MAP.put(REFRESH_EXERCISE, "刷题"); - DICT_MAP.put(PRESENT_FLOWER, "献花"); - DICT_MAP.put(BUY_VIDEO_COURSE, "购买视频课"); - DICT_MAP.put(BUY_FLOWER, "购买鲜花"); - DICT_MAP.put(BUY_PAPER, "购买作业"); - } - - /** - * 判断参数是否为当前常量字典的合法值。 - * - * @param value 待验证的参数值。 - * @return 合法返回true,否则false。 - */ - public static boolean isValid(Integer value) { - return value != null && DICT_MAP.containsKey(value); - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private StudentActionType() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/application-common/src/main/java/com/orangeforms/application/common/constant/StudentStatus.java b/orange-demo-multi/orange-demo-multi-service/application/application-common/src/main/java/com/orangeforms/application/common/constant/StudentStatus.java deleted file mode 100644 index 5b20e62a..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/application-common/src/main/java/com/orangeforms/application/common/constant/StudentStatus.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.orangeforms.application.common.constant; - -import java.util.HashMap; -import java.util.Map; - -/** - * 学生状态常量字典对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -public final class StudentStatus { - - /** - * 正常。 - */ - public static final int NORMAL = 0; - /** - * 锁定。 - */ - public static final int LOCKED = 1; - /** - * 注销。 - */ - public static final int DELETED = 2; - - private static final Map DICT_MAP = new HashMap<>(3); - static { - DICT_MAP.put(NORMAL, "正常"); - DICT_MAP.put(LOCKED, "锁定"); - DICT_MAP.put(DELETED, "注销"); - } - - /** - * 判断参数是否为当前常量字典的合法值。 - * - * @param value 待验证的参数值。 - * @return 合法返回true,否则false。 - */ - public static boolean isValid(Integer value) { - return value != null && DICT_MAP.containsKey(value); - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private StudentStatus() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/application-common/src/main/java/com/orangeforms/application/common/constant/Subject.java b/orange-demo-multi/orange-demo-multi-service/application/application-common/src/main/java/com/orangeforms/application/common/constant/Subject.java deleted file mode 100644 index c9e99106..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/application-common/src/main/java/com/orangeforms/application/common/constant/Subject.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.orangeforms.application.common.constant; - -import java.util.HashMap; -import java.util.Map; - -/** - * 学科常量字典对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -public final class Subject { - - /** - * 语文。 - */ - public static final int CHINESE = 0; - /** - * 数学。 - */ - public static final int MATCH = 1; - /** - * 英语。 - */ - public static final int ENGLISH = 2; - - private static final Map DICT_MAP = new HashMap<>(3); - static { - DICT_MAP.put(CHINESE, "语文"); - DICT_MAP.put(MATCH, "数学"); - DICT_MAP.put(ENGLISH, "英语"); - } - - /** - * 判断参数是否为当前常量字典的合法值。 - * - * @param value 待验证的参数值。 - * @return 合法返回true,否则false。 - */ - public static boolean isValid(Integer value) { - return value != null && DICT_MAP.containsKey(value); - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private Subject() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/pom.xml b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/pom.xml deleted file mode 100644 index 6cff4a42..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/pom.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - com.orangeforms - course-class - 1.0.0 - - 4.0.0 - - course-class-api - 1.0.0 - course-class-api - jar - - - - - com.orangeforms - application-common - 1.0.0 - - - - com.orangeforms - common-core - 1.0.0 - - - com.orangeforms - common-datafilter - 1.0.0 - - - - com.orangeforms - common-swagger - 1.0.0 - - - diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/client/AreaCodeClient.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/client/AreaCodeClient.java deleted file mode 100644 index 2e6d5076..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/client/AreaCodeClient.java +++ /dev/null @@ -1,129 +0,0 @@ -package com.orangeforms.courseclassapi.client; - -import com.orangeforms.common.core.base.client.BaseFallbackFactory; -import com.orangeforms.common.core.base.client.BaseClient; -import com.orangeforms.common.core.constant.ErrorCodeEnum; -import com.orangeforms.common.core.object.*; -import com.orangeforms.courseclassapi.dto.AreaCodeDto; -import com.orangeforms.courseclassapi.vo.AreaCodeVo; -import lombok.extern.slf4j.Slf4j; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.stereotype.Component; -import org.springframework.web.bind.annotation.*; - -import java.util.*; - -/** - * 行政区划远程访问接口类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@FeignClient(name = "course-class", fallbackFactory = AreaCodeClient.AreaCodeClientFallbackFactory.class) -public interface AreaCodeClient extends BaseClient { - - /** - * 根据主键Id集合,返回给定的数据集合。 - * - * @param areaCodeIds 待获取的主键Id列表。 - * @param withDict 是否包含字典关联。 - * @return 获取的对象列表。 - */ - @Override - @PostMapping("/areaCode/listByIds") - ResponseResult> listByIds( - @RequestParam("areaCodeIds") Set areaCodeIds, - @RequestParam("withDict") Boolean withDict); - - /** - * 根据主键Id返回给定的数据。 - * - * @param areaId 待获取的主键Id。 - * @param withDict 是否获取表实体关联的字典数据。 - * @return 获取的对象。 - */ - @Override - @GetMapping("/areaCode/getById") - ResponseResult getById( - @RequestParam("areaId") Long areaId, - @RequestParam("withDict") Boolean withDict); - - /** - * 判断参数列表中指定的主键Id,是否全部存在。 - * - * @param areaIds 主键Id。 - * @return 应答结果对象,包含true全部存在,否则false。 - */ - @Override - @GetMapping("/areaCode/existIds") - ResponseResult existIds(@RequestParam("areaIds") Set areaIds); - - /** - * 给定主键Id是否存在。 - * - * @param areaId 参数主键Id。 - * @return 应答结果对象,包含true,否则false。 - */ - @Override - @GetMapping("/areaCode/existId") - ResponseResult existId(@RequestParam("areaId") Long areaId); - - /** - * 获取远程主对象中符合查询条件的数据列表。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含实体对象集合。 - */ - @Override - @PostMapping("/areaCode/listBy") - ResponseResult> listBy(@RequestBody MyQueryParam queryParam); - - /** - * 获取远程主对象中符合查询条件的单条数据对象。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含实体对象。 - */ - @Override - @PostMapping("/areaCode/getBy") - ResponseResult getBy(@RequestBody MyQueryParam queryParam); - - /** - * 以id、name的形式返回所有字典数据的列表。 - * - * @return 字典数据列表,返回形式为 List>,map中包含两条记录,分别是id和name。 - */ - @PostMapping("/areaCode/listDict") - ResponseResult>> listDict(); - - /** - * 以id、name的形式返回所有字典数据的列表。 - * - * @param parentId 主键的ParentId,用于对主键数据进行过滤。 - * @return 字典数据列表,返回形式为 List>,map中包含两条记录,分别是id和name。 - */ - @GetMapping("/areaCode/listDictByParentId") - ResponseResult>> listDictByParentId(@RequestParam("parentId") Long parentId); - - @Component - @Slf4j - class AreaCodeClientFallbackFactory - extends BaseFallbackFactory implements AreaCodeClient { - - @Override - public ResponseResult>> listDict() { - return ResponseResult.error(ErrorCodeEnum.RPC_DATA_ACCESS_FAILED); - } - - @Override - public ResponseResult>> listDictByParentId(Long parentId) { - return ResponseResult.error(ErrorCodeEnum.RPC_DATA_ACCESS_FAILED); - } - - @Override - public AreaCodeClient create(Throwable throwable) { - log.error("Exception For Feign Remote Call.", throwable); - return new AreaCodeClientFallbackFactory(); - } - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/client/CourseClient.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/client/CourseClient.java deleted file mode 100644 index c1ea94ec..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/client/CourseClient.java +++ /dev/null @@ -1,208 +0,0 @@ -package com.orangeforms.courseclassapi.client; - -import com.orangeforms.common.core.base.client.BaseFallbackFactory; -import com.orangeforms.common.core.config.FeignConfig; -import com.orangeforms.common.core.base.client.BaseClient; -import com.orangeforms.common.core.object.*; -import com.orangeforms.courseclassapi.dto.CourseDto; -import com.orangeforms.courseclassapi.vo.CourseVo; -import lombok.extern.slf4j.Slf4j; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.stereotype.Component; -import org.springframework.web.bind.annotation.*; - -import java.util.*; - -/** - * 课程数据服务远程数据操作访问接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -@FeignClient( - name = "course-class", - configuration = FeignConfig.class, - fallbackFactory = CourseClient.CourseClientFallbackFactory.class) -public interface CourseClient extends BaseClient { - - /** - * 基于主键的(In-list)条件获取远程数据接口。 - * - * @param courseIds 主键Id集合。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象的数据集合。 - */ - @Override - @PostMapping("/course/listByIds") - ResponseResult> listByIds( - @RequestParam("courseIds") Set courseIds, - @RequestParam("withDict") Boolean withDict); - - /** - * 基于主键Id,获取远程对象。 - * - * @param courseId 主键Id。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象数据。 - */ - @Override - @PostMapping("/course/getById") - ResponseResult getById( - @RequestParam("courseId") Long courseId, - @RequestParam("withDict") Boolean withDict); - - /** - * 判断参数列表中指定的主键Id,是否都存在。 - * - * @param courseIds 主键Id集合。 - * @return 应答结果对象,包含true全部存在,否则false。 - */ - @Override - @PostMapping("/course/existIds") - ResponseResult existIds(@RequestParam("courseIds") Set courseIds); - - /** - * 判断主键Id是否存在。 - * - * @param courseId 参数主键Id。 - * @return 应答结果对象,包含true表示存在,否则false。 - */ - @Override - @PostMapping("/course/existId") - ResponseResult existId(@RequestParam("courseId") Long courseId); - - /** - * 保存或更新数据。 - * - * @param data 主键Id为null时表示新增数据,否则更新数据。 - * @return 应答结果对象,主键Id。 - */ - @Override - @PostMapping("/course/saveNewOrUpdate") - ResponseResult saveNewOrUpdate(@RequestBody CourseDto data); - - /** - * 批量新增或保存数据列表。 - * - * @param dataList 数据列表。主键Id为null时表示新增数据,否则更新数据。 - * @return 应答结果对象。 - */ - @Override - @PostMapping("/course/saveNewOrUpdateBatch") - ResponseResult saveNewOrUpdateBatch(@RequestBody List dataList); - - /** - * 根据最新对象和原有对象列表的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param data 数据对象。 - * 主键有值是视为更新操作的数据比对,因此仅当关联Id变化时才会验证。 - * 主键为空视为新增操作的数据比对,所有关联Id都会被验证。 - * @return 应答结果对象。 - */ - @Override - @PostMapping("/course/verifyRelatedData") - ResponseResult verifyRelatedData(@RequestBody CourseDto data); - - /** - * 根据最新对象列表和原有对象列表的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param dataList 数据对象列表。 - * @return 应答结果对象。 - */ - @Override - @PostMapping("/course/verifyRelatedDataList") - ResponseResult verifyRelatedDataList(@RequestBody List dataList); - - /** - * 删除主键Id关联的对象。 - * - * @param courseId 主键Id。 - * @return 应答结果对象。 - */ - @Override - @PostMapping("/course/deleteById") - ResponseResult deleteById(@RequestParam("courseId") Long courseId); - - /** - * 删除符合过滤条件的数据。 - * - * @param filter 过滤对象。 - * @return 应答结果对象,包含删除数量。 - */ - @Override - @PostMapping("/course/deleteBy") - ResponseResult deleteBy(@RequestBody CourseDto filter); - - /** - * 获取远程主对象中符合查询条件的数据列表。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含实体对象集合。 - */ - @Override - @PostMapping("/course/listBy") - ResponseResult> listBy(@RequestBody MyQueryParam queryParam); - - /** - * 获取远程主对象中符合查询条件的单条数据对象。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含实体对象。 - */ - @Override - @PostMapping("/course/getBy") - ResponseResult getBy(@RequestBody MyQueryParam queryParam); - - /** - * 获取远程主对象中符合查询条件的数据列表。 - * 和listBy接口相比,以Map列表的方式返回的主要目的是,降低服务之间的耦合度。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含主对象集合。 - */ - @Override - @PostMapping("/course/listMapBy") - ResponseResult>> listMapBy(@RequestBody MyQueryParam queryParam); - - /** - * 获取远程主对象中符合查询条件的数据数量。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含结果数量。 - */ - @Override - @PostMapping("/course/countBy") - ResponseResult countBy(@RequestBody MyQueryParam queryParam); - - /** - * 获取远程对象中符合查询条件的分组聚合计算Map列表。 - * - * @param aggregationParam 聚合参数。 - * @return 应该结果对象,包含聚合计算后的分组Map列表。 - */ - @Override - @PostMapping("/course/aggregateBy") - ResponseResult>> aggregateBy(@RequestBody MyAggregationParam aggregationParam); - - /** - * 根据过滤字段和过滤集合,返回不存在的数据。 - * - * @param queryParam 查询参数。 - * @return filterSet中,在从表中不存在的数据集合。 - */ - @Override - @PostMapping("/course/notExist") - ResponseResult> notExist(@RequestBody MyQueryParam queryParam); - - @Component("CourseClassCourseClientFallbackFactory") - @Slf4j - class CourseClientFallbackFactory - extends BaseFallbackFactory implements CourseClient { - - @Override - public CourseClient create(Throwable throwable) { - log.error("Exception For Feign Remote Call.", throwable); - return new CourseClientFallbackFactory(); - } - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/client/GradeClient.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/client/GradeClient.java deleted file mode 100644 index 75263846..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/client/GradeClient.java +++ /dev/null @@ -1,125 +0,0 @@ -package com.orangeforms.courseclassapi.client; - -import com.orangeforms.common.core.base.client.BaseFallbackFactory; -import com.orangeforms.common.core.config.FeignConfig; -import com.orangeforms.common.core.base.client.BaseClient; -import com.orangeforms.common.core.object.*; -import com.orangeforms.courseclassapi.dto.GradeDto; -import com.orangeforms.courseclassapi.vo.GradeVo; -import lombok.extern.slf4j.Slf4j; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.stereotype.Component; -import org.springframework.web.bind.annotation.*; - -import java.util.*; - -/** - * 服务远程数据操作访问接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -@FeignClient( - name = "course-class", - configuration = FeignConfig.class, - fallbackFactory = GradeClient.GradeClientFallbackFactory.class) -public interface GradeClient extends BaseClient { - - /** - * 基于主键的(in list)条件获取远程数据接口。 - * - * @param gradeIds 主键Id集合。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象的数据集合。 - */ - @Override - @PostMapping("/grade/listByIds") - ResponseResult> listByIds( - @RequestParam("gradeIds") Set gradeIds, - @RequestParam("withDict") Boolean withDict); - - /** - * 基于主键Id,获取远程对象。 - * - * @param gradeId 主键Id。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象数据。 - */ - @Override - @PostMapping("/grade/getById") - ResponseResult getById( - @RequestParam("gradeId") Integer gradeId, - @RequestParam("withDict") Boolean withDict); - - /** - * 判断参数列表中指定的主键Id,是否全部存在。 - * - * @param gradeIds 主键Id集合。 - * @return 应答结果对象,包含true全部存在,否则false。 - */ - @Override - @PostMapping("/grade/existIds") - ResponseResult existIds(Set gradeIds); - - /** - * 给定主键Id是否存在。 - * - * @param gradeId 参数主键Id。 - * @return 应答结果对象,包含true表示存在,否则false。 - */ - @Override - @PostMapping("/grade/existId") - ResponseResult existId(@RequestParam("gradeId") Integer gradeId); - - /** - * 删除主键Id关联的对象。 - * - * @param gradeId 主键Id。 - * @return 应答结果对象。 - */ - @Override - @PostMapping("/grade/deleteById") - ResponseResult deleteById(@RequestParam("gradeId") Integer gradeId); - - /** - * 删除符合过滤条件的数据。 - * - * @param filter 过滤对象。 - * @return 应答结果对象,包含删除数量。 - */ - @Override - @PostMapping("/grade/deleteBy") - ResponseResult deleteBy(@RequestBody GradeDto filter); - - /** - * 获取远程主对象中符合查询条件的数据列表。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含实体对象集合。 - */ - @Override - @PostMapping("/grade/listBy") - ResponseResult> listBy(@RequestBody MyQueryParam queryParam); - - /** - * 获取远程主对象中符合查询条件的单条数据对象。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含实体对象。 - */ - @Override - @PostMapping("/grade/getBy") - ResponseResult getBy(@RequestBody MyQueryParam queryParam); - - @Component("CourseClassGradeClientFallbackFactory") - @Slf4j - class GradeClientFallbackFactory - extends BaseFallbackFactory implements GradeClient { - - @Override - public GradeClient create(Throwable throwable) { - log.error("Exception For Feign Remote Call.", throwable); - return new GradeClientFallbackFactory(); - } - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/client/StudentClassClient.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/client/StudentClassClient.java deleted file mode 100644 index a4954d8a..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/client/StudentClassClient.java +++ /dev/null @@ -1,208 +0,0 @@ -package com.orangeforms.courseclassapi.client; - -import com.orangeforms.common.core.base.client.BaseFallbackFactory; -import com.orangeforms.common.core.config.FeignConfig; -import com.orangeforms.common.core.base.client.BaseClient; -import com.orangeforms.common.core.object.*; -import com.orangeforms.courseclassapi.dto.StudentClassDto; -import com.orangeforms.courseclassapi.vo.StudentClassVo; -import lombok.extern.slf4j.Slf4j; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.stereotype.Component; -import org.springframework.web.bind.annotation.*; - -import java.util.*; - -/** - * 班级数据服务远程数据操作访问接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -@FeignClient( - name = "course-class", - configuration = FeignConfig.class, - fallbackFactory = StudentClassClient.StudentClassClientFallbackFactory.class) -public interface StudentClassClient extends BaseClient { - - /** - * 基于主键的(In-list)条件获取远程数据接口。 - * - * @param classIds 主键Id集合。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象的数据集合。 - */ - @Override - @PostMapping("/studentClass/listByIds") - ResponseResult> listByIds( - @RequestParam("classIds") Set classIds, - @RequestParam("withDict") Boolean withDict); - - /** - * 基于主键Id,获取远程对象。 - * - * @param classId 主键Id。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象数据。 - */ - @Override - @PostMapping("/studentClass/getById") - ResponseResult getById( - @RequestParam("classId") Long classId, - @RequestParam("withDict") Boolean withDict); - - /** - * 判断参数列表中指定的主键Id,是否都存在。 - * - * @param classIds 主键Id集合。 - * @return 应答结果对象,包含true全部存在,否则false。 - */ - @Override - @PostMapping("/studentClass/existIds") - ResponseResult existIds(@RequestParam("classIds") Set classIds); - - /** - * 判断主键Id是否存在。 - * - * @param classId 参数主键Id。 - * @return 应答结果对象,包含true表示存在,否则false。 - */ - @Override - @PostMapping("/studentClass/existId") - ResponseResult existId(@RequestParam("classId") Long classId); - - /** - * 保存或更新数据。 - * - * @param data 主键Id为null时表示新增数据,否则更新数据。 - * @return 应答结果对象,主键Id。 - */ - @Override - @PostMapping("/studentClass/saveNewOrUpdate") - ResponseResult saveNewOrUpdate(@RequestBody StudentClassDto data); - - /** - * 批量新增或保存数据列表。 - * - * @param dataList 数据列表。主键Id为null时表示新增数据,否则更新数据。 - * @return 应答结果对象。 - */ - @Override - @PostMapping("/studentClass/saveNewOrUpdateBatch") - ResponseResult saveNewOrUpdateBatch(@RequestBody List dataList); - - /** - * 根据最新对象和原有对象列表的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param data 数据对象。 - * 主键有值是视为更新操作的数据比对,因此仅当关联Id变化时才会验证。 - * 主键为空视为新增操作的数据比对,所有关联Id都会被验证。 - * @return 应答结果对象。 - */ - @Override - @PostMapping("/studentClass/verifyRelatedData") - ResponseResult verifyRelatedData(@RequestBody StudentClassDto data); - - /** - * 根据最新对象列表和原有对象列表的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param dataList 数据对象列表。 - * @return 应答结果对象。 - */ - @Override - @PostMapping("/studentClass/verifyRelatedDataList") - ResponseResult verifyRelatedDataList(@RequestBody List dataList); - - /** - * 删除主键Id关联的对象。 - * - * @param classId 主键Id。 - * @return 应答结果对象。 - */ - @Override - @PostMapping("/studentClass/deleteById") - ResponseResult deleteById(@RequestParam("classId") Long classId); - - /** - * 删除符合过滤条件的数据。 - * - * @param filter 过滤对象。 - * @return 应答结果对象,包含删除数量。 - */ - @Override - @PostMapping("/studentClass/deleteBy") - ResponseResult deleteBy(@RequestBody StudentClassDto filter); - - /** - * 获取远程主对象中符合查询条件的数据列表。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含实体对象集合。 - */ - @Override - @PostMapping("/studentClass/listBy") - ResponseResult> listBy(@RequestBody MyQueryParam queryParam); - - /** - * 获取远程主对象中符合查询条件的单条数据对象。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含实体对象。 - */ - @Override - @PostMapping("/studentClass/getBy") - ResponseResult getBy(@RequestBody MyQueryParam queryParam); - - /** - * 获取远程主对象中符合查询条件的数据列表。 - * 和listBy接口相比,以Map列表的方式返回的主要目的是,降低服务之间的耦合度。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含主对象集合。 - */ - @Override - @PostMapping("/studentClass/listMapBy") - ResponseResult>> listMapBy(@RequestBody MyQueryParam queryParam); - - /** - * 获取远程主对象中符合查询条件的数据数量。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含结果数量。 - */ - @Override - @PostMapping("/studentClass/countBy") - ResponseResult countBy(@RequestBody MyQueryParam queryParam); - - /** - * 获取远程对象中符合查询条件的分组聚合计算Map列表。 - * - * @param aggregationParam 聚合参数。 - * @return 应该结果对象,包含聚合计算后的分组Map列表。 - */ - @Override - @PostMapping("/studentClass/aggregateBy") - ResponseResult>> aggregateBy(@RequestBody MyAggregationParam aggregationParam); - - /** - * 根据过滤字段和过滤集合,返回不存在的数据。 - * - * @param queryParam 查询参数。 - * @return filterSet中,在从表中不存在的数据集合。 - */ - @Override - @PostMapping("/studentClass/notExist") - ResponseResult> notExist(@RequestBody MyQueryParam queryParam); - - @Component("CourseClassStudentClassClientFallbackFactory") - @Slf4j - class StudentClassClientFallbackFactory - extends BaseFallbackFactory implements StudentClassClient { - - @Override - public StudentClassClient create(Throwable throwable) { - log.error("Exception For Feign Remote Call.", throwable); - return new StudentClassClientFallbackFactory(); - } - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/client/StudentClient.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/client/StudentClient.java deleted file mode 100644 index 87058b34..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/client/StudentClient.java +++ /dev/null @@ -1,208 +0,0 @@ -package com.orangeforms.courseclassapi.client; - -import com.orangeforms.common.core.base.client.BaseFallbackFactory; -import com.orangeforms.common.core.config.FeignConfig; -import com.orangeforms.common.core.base.client.BaseClient; -import com.orangeforms.common.core.object.*; -import com.orangeforms.courseclassapi.dto.StudentDto; -import com.orangeforms.courseclassapi.vo.StudentVo; -import lombok.extern.slf4j.Slf4j; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.stereotype.Component; -import org.springframework.web.bind.annotation.*; - -import java.util.*; - -/** - * 学生数据服务远程数据操作访问接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -@FeignClient( - name = "course-class", - configuration = FeignConfig.class, - fallbackFactory = StudentClient.StudentClientFallbackFactory.class) -public interface StudentClient extends BaseClient { - - /** - * 基于主键的(In-list)条件获取远程数据接口。 - * - * @param studentIds 主键Id集合。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象的数据集合。 - */ - @Override - @PostMapping("/student/listByIds") - ResponseResult> listByIds( - @RequestParam("studentIds") Set studentIds, - @RequestParam("withDict") Boolean withDict); - - /** - * 基于主键Id,获取远程对象。 - * - * @param studentId 主键Id。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象数据。 - */ - @Override - @PostMapping("/student/getById") - ResponseResult getById( - @RequestParam("studentId") Long studentId, - @RequestParam("withDict") Boolean withDict); - - /** - * 判断参数列表中指定的主键Id,是否都存在。 - * - * @param studentIds 主键Id集合。 - * @return 应答结果对象,包含true全部存在,否则false。 - */ - @Override - @PostMapping("/student/existIds") - ResponseResult existIds(@RequestParam("studentIds") Set studentIds); - - /** - * 判断主键Id是否存在。 - * - * @param studentId 参数主键Id。 - * @return 应答结果对象,包含true表示存在,否则false。 - */ - @Override - @PostMapping("/student/existId") - ResponseResult existId(@RequestParam("studentId") Long studentId); - - /** - * 保存或更新数据。 - * - * @param data 主键Id为null时表示新增数据,否则更新数据。 - * @return 应答结果对象,主键Id。 - */ - @Override - @PostMapping("/student/saveNewOrUpdate") - ResponseResult saveNewOrUpdate(@RequestBody StudentDto data); - - /** - * 批量新增或保存数据列表。 - * - * @param dataList 数据列表。主键Id为null时表示新增数据,否则更新数据。 - * @return 应答结果对象。 - */ - @Override - @PostMapping("/student/saveNewOrUpdateBatch") - ResponseResult saveNewOrUpdateBatch(@RequestBody List dataList); - - /** - * 根据最新对象和原有对象列表的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param data 数据对象。 - * 主键有值是视为更新操作的数据比对,因此仅当关联Id变化时才会验证。 - * 主键为空视为新增操作的数据比对,所有关联Id都会被验证。 - * @return 应答结果对象。 - */ - @Override - @PostMapping("/student/verifyRelatedData") - ResponseResult verifyRelatedData(@RequestBody StudentDto data); - - /** - * 根据最新对象列表和原有对象列表的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param dataList 数据对象列表。 - * @return 应答结果对象。 - */ - @Override - @PostMapping("/student/verifyRelatedDataList") - ResponseResult verifyRelatedDataList(@RequestBody List dataList); - - /** - * 删除主键Id关联的对象。 - * - * @param studentId 主键Id。 - * @return 应答结果对象。 - */ - @Override - @PostMapping("/student/deleteById") - ResponseResult deleteById(@RequestParam("studentId") Long studentId); - - /** - * 删除符合过滤条件的数据。 - * - * @param filter 过滤对象。 - * @return 应答结果对象,包含删除数量。 - */ - @Override - @PostMapping("/student/deleteBy") - ResponseResult deleteBy(@RequestBody StudentDto filter); - - /** - * 获取远程主对象中符合查询条件的数据列表。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含实体对象集合。 - */ - @Override - @PostMapping("/student/listBy") - ResponseResult> listBy(@RequestBody MyQueryParam queryParam); - - /** - * 获取远程主对象中符合查询条件的单条数据对象。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含实体对象。 - */ - @Override - @PostMapping("/student/getBy") - ResponseResult getBy(@RequestBody MyQueryParam queryParam); - - /** - * 获取远程主对象中符合查询条件的数据列表。 - * 和listBy接口相比,以Map列表的方式返回的主要目的是,降低服务之间的耦合度。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含主对象集合。 - */ - @Override - @PostMapping("/student/listMapBy") - ResponseResult>> listMapBy(@RequestBody MyQueryParam queryParam); - - /** - * 获取远程主对象中符合查询条件的数据数量。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含结果数量。 - */ - @Override - @PostMapping("/student/countBy") - ResponseResult countBy(@RequestBody MyQueryParam queryParam); - - /** - * 获取远程对象中符合查询条件的分组聚合计算Map列表。 - * - * @param aggregationParam 聚合参数。 - * @return 应该结果对象,包含聚合计算后的分组Map列表。 - */ - @Override - @PostMapping("/student/aggregateBy") - ResponseResult>> aggregateBy(@RequestBody MyAggregationParam aggregationParam); - - /** - * 根据过滤字段和过滤集合,返回不存在的数据。 - * - * @param queryParam 查询参数。 - * @return filterSet中,在从表中不存在的数据集合。 - */ - @Override - @PostMapping("/student/notExist") - ResponseResult> notExist(@RequestBody MyQueryParam queryParam); - - @Component("CourseClassStudentClientFallbackFactory") - @Slf4j - class StudentClientFallbackFactory - extends BaseFallbackFactory implements StudentClient { - - @Override - public StudentClient create(Throwable throwable) { - log.error("Exception For Feign Remote Call.", throwable); - return new StudentClientFallbackFactory(); - } - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/constant/ClassLevel.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/constant/ClassLevel.java deleted file mode 100644 index bedb730d..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/constant/ClassLevel.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.orangeforms.courseclassapi.constant; - -import java.util.HashMap; -import java.util.Map; - -/** - * 班级级别常量字典对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -public final class ClassLevel { - - /** - * 初级班。 - */ - public static final int NORMAL = 0; - /** - * 中级班。 - */ - public static final int MIDDLE = 1; - /** - * 高级班。 - */ - public static final int HIGH = 2; - - private static final Map DICT_MAP = new HashMap<>(3); - static { - DICT_MAP.put(NORMAL, "初级班"); - DICT_MAP.put(MIDDLE, "中级班"); - DICT_MAP.put(HIGH, "高级班"); - } - - /** - * 判断参数是否为当前常量字典的合法值。 - * - * @param value 待验证的参数值。 - * @return 合法返回true,否则false。 - */ - public static boolean isValid(Integer value) { - return value != null && DICT_MAP.containsKey(value); - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private ClassLevel() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/constant/ClassStatus.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/constant/ClassStatus.java deleted file mode 100644 index 95996db5..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/constant/ClassStatus.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.orangeforms.courseclassapi.constant; - -import java.util.HashMap; -import java.util.Map; - -/** - * 班级状态常量字典对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -public final class ClassStatus { - - /** - * 正常。 - */ - public static final int NORAML = 1; - /** - * 解散。 - */ - public static final int DELETED = -1; - - private static final Map DICT_MAP = new HashMap<>(2); - static { - DICT_MAP.put(NORAML, "正常"); - DICT_MAP.put(DELETED, "解散"); - } - - /** - * 判断参数是否为当前常量字典的合法值。 - * - * @param value 待验证的参数值。 - * @return 合法返回true,否则false。 - */ - public static boolean isValid(Integer value) { - return value != null && DICT_MAP.containsKey(value); - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private ClassStatus() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/constant/CourseDifficult.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/constant/CourseDifficult.java deleted file mode 100644 index c8c8b7e2..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/constant/CourseDifficult.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.orangeforms.courseclassapi.constant; - -import java.util.HashMap; -import java.util.Map; - -/** - * 课程难度常量字典对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -public final class CourseDifficult { - - /** - * 容易。 - */ - public static final int NORMAL = 0; - /** - * 普通。 - */ - public static final int MIDDLE = 1; - /** - * 困难。 - */ - public static final int HIGH = 2; - - private static final Map DICT_MAP = new HashMap<>(3); - static { - DICT_MAP.put(NORMAL, "容易"); - DICT_MAP.put(MIDDLE, "普通"); - DICT_MAP.put(HIGH, "困难"); - } - - /** - * 判断参数是否为当前常量字典的合法值。 - * - * @param value 待验证的参数值。 - * @return 合法返回true,否则false。 - */ - public static boolean isValid(Integer value) { - return value != null && DICT_MAP.containsKey(value); - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private CourseDifficult() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/dto/AreaCodeDto.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/dto/AreaCodeDto.java deleted file mode 100644 index 85251e76..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/dto/AreaCodeDto.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.orangeforms.courseclassapi.dto; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * 行政区划Dto。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("行政区划实体对象") -@Data -public class AreaCodeDto { - - /** - * 行政区划主键Id - */ - @ApiModelProperty(value = "行政区划主键Id", required = true) - private Long areaId; - - /** - * 行政区划名称 - */ - @ApiModelProperty(value = "行政区划名称") - private String areaName; - - /** - * 行政区划级别 (1: 省级别 2: 市级别 3: 区级别) - */ - @ApiModelProperty(value = "行政区划级别") - private Integer areaLevel; - - /** - * 父级行政区划Id - */ - @ApiModelProperty(value = "父级行政区划Id") - private Long parentId; -} \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/dto/ClassCourseDto.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/dto/ClassCourseDto.java deleted file mode 100644 index 530875e9..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/dto/ClassCourseDto.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.orangeforms.courseclassapi.dto; - -import com.orangeforms.common.core.validator.UpdateGroup; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.*; - -/** - * ClassCourseDto对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("ClassCourseDto对象") -@Data -public class ClassCourseDto { - - /** - * 班级Id。 - */ - @ApiModelProperty(value = "班级Id", required = true) - @NotNull(message = "数据验证失败,班级Id不能为空!", groups = {UpdateGroup.class}) - private Long classId; - - /** - * 课程Id。 - */ - @ApiModelProperty(value = "课程Id", required = true) - @NotNull(message = "数据验证失败,课程Id不能为空!", groups = {UpdateGroup.class}) - private Long courseId; - - /** - * 课程顺序(数值越小越靠前)。 - */ - @ApiModelProperty(value = "课程顺序(数值越小越靠前)", required = true) - @NotNull(message = "数据验证失败,课程顺序(数值越小越靠前)不能为空!", groups = {UpdateGroup.class}) - private Integer courseOrder; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/dto/ClassStudentDto.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/dto/ClassStudentDto.java deleted file mode 100644 index aaeab9f1..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/dto/ClassStudentDto.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.orangeforms.courseclassapi.dto; - -import com.orangeforms.common.core.validator.UpdateGroup; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.*; - -/** - * ClassStudentDto对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("ClassStudentDto对象") -@Data -public class ClassStudentDto { - - /** - * 班级Id。 - */ - @ApiModelProperty(value = "班级Id", required = true) - @NotNull(message = "数据验证失败,班级Id不能为空!", groups = {UpdateGroup.class}) - private Long classId; - - /** - * 学生Id。 - */ - @ApiModelProperty(value = "学生Id", required = true) - @NotNull(message = "数据验证失败,学生Id不能为空!", groups = {UpdateGroup.class}) - private Long studentId; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/dto/CourseDto.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/dto/CourseDto.java deleted file mode 100644 index debe54e2..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/dto/CourseDto.java +++ /dev/null @@ -1,144 +0,0 @@ -package com.orangeforms.courseclassapi.dto; - -import com.orangeforms.common.core.validator.UpdateGroup; -import com.orangeforms.common.core.validator.ConstDictRef; -import com.orangeforms.courseclassapi.constant.CourseDifficult; -import com.orangeforms.application.common.constant.Subject; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.*; - -import java.math.BigDecimal; -import java.util.Date; - -/** - * CourseDto对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("CourseDto对象") -@Data -public class CourseDto { - - /** - * 主键Id。 - */ - @ApiModelProperty(value = "主键Id", required = true) - @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) - private Long courseId; - - /** - * 课程名称。 - */ - @ApiModelProperty(value = "课程名称", required = true) - @NotBlank(message = "数据验证失败,课程名称不能为空!") - private String courseName; - - /** - * 课程价格。 - */ - @ApiModelProperty(value = "课程价格", required = true) - @NotNull(message = "数据验证失败,课程价格不能为空!") - private BigDecimal price; - - /** - * 课程描述。 - */ - @ApiModelProperty(value = "课程描述") - private String description; - - /** - * 课程难度(0: 容易 1: 普通 2: 很难)。 - */ - @ApiModelProperty(value = "课程难度(0: 容易 1: 普通 2: 很难)", required = true) - @NotNull(message = "数据验证失败,课程难度不能为空!") - @ConstDictRef(constDictClass = CourseDifficult.class, message = "数据验证失败,课程难度为无效值!") - private Integer difficulty; - - /** - * 年级Id。 - */ - @ApiModelProperty(value = "年级Id", required = true) - @NotNull(message = "数据验证失败,所属年级不能为空!") - private Integer gradeId; - - /** - * 学科Id。 - */ - @ApiModelProperty(value = "学科Id", required = true) - @NotNull(message = "数据验证失败,所属学科不能为空!") - @ConstDictRef(constDictClass = Subject.class, message = "数据验证失败,所属学科为无效值!") - private Integer subjectId; - - /** - * 课时数量。 - */ - @ApiModelProperty(value = "课时数量", required = true) - @NotNull(message = "数据验证失败,课时数量不能为空!") - private Integer classHour; - - /** - * 多张课程图片地址。 - */ - @ApiModelProperty(value = "多张课程图片地址", required = true) - @NotBlank(message = "数据验证失败,课程图片不能为空!") - private String pictureUrl; - - /** - * 创建用户Id。 - */ - @ApiModelProperty(value = "创建用户Id") - private Long createUserId; - - /** - * 创建时间。 - */ - @ApiModelProperty(value = "创建时间") - private Date createTime; - - /** - * 最后修改时间。 - */ - @ApiModelProperty(value = "最后修改时间") - private Date updateTime; - - /** - * price 范围过滤起始值(>=)。 - */ - @ApiModelProperty(value = "price 范围过滤起始值(>=)") - private BigDecimal priceStart; - - /** - * price 范围过滤结束值(<=)。 - */ - @ApiModelProperty(value = "price 范围过滤结束值(<=)") - private BigDecimal priceEnd; - - /** - * classHour 范围过滤起始值(>=)。 - */ - @ApiModelProperty(value = "classHour 范围过滤起始值(>=)") - private Integer classHourStart; - - /** - * classHour 范围过滤结束值(<=)。 - */ - @ApiModelProperty(value = "classHour 范围过滤结束值(<=)") - private Integer classHourEnd; - - /** - * updateTime 范围过滤起始值(>=)。 - */ - @ApiModelProperty(value = "updateTime 范围过滤起始值(>=)") - private String updateTimeStart; - - /** - * updateTime 范围过滤结束值(<=)。 - */ - @ApiModelProperty(value = "updateTime 范围过滤结束值(<=)") - private String updateTimeEnd; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/dto/GradeDto.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/dto/GradeDto.java deleted file mode 100644 index 10aa4f08..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/dto/GradeDto.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.orangeforms.courseclassapi.dto; - -import com.orangeforms.common.core.validator.UpdateGroup; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.*; - -/** - * GradeDto对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("GradeDto对象") -@Data -public class GradeDto { - - /** - * 主键Id。 - */ - @ApiModelProperty(value = "主键Id", required = true) - @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) - private Integer gradeId; - - /** - * 年级名称。 - */ - @ApiModelProperty(value = "年级名称", required = true) - @NotBlank(message = "数据验证失败,年级名称不能为空!") - private String gradeName; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/dto/StudentClassDto.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/dto/StudentClassDto.java deleted file mode 100644 index 9f237861..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/dto/StudentClassDto.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.orangeforms.courseclassapi.dto; - -import com.orangeforms.common.core.validator.UpdateGroup; -import com.orangeforms.common.core.validator.ConstDictRef; -import com.orangeforms.courseclassapi.constant.ClassLevel; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.*; - -import java.util.Date; - -/** - * StudentClassDto对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("StudentClassDto对象") -@Data -public class StudentClassDto { - - /** - * 班级Id。 - */ - @ApiModelProperty(value = "班级Id", required = true) - @NotNull(message = "数据验证失败,班级Id不能为空!", groups = {UpdateGroup.class}) - private Long classId; - - /** - * 班级名称。 - */ - @ApiModelProperty(value = "班级名称", required = true) - @NotBlank(message = "数据验证失败,班级名称不能为空!") - private String className; - - /** - * 学校Id。 - */ - @ApiModelProperty(value = "学校Id", required = true) - @NotNull(message = "数据验证失败,所属校区不能为空!") - private Long schoolId; - - /** - * 学生班长Id。 - */ - @ApiModelProperty(value = "学生班长Id", required = true) - @NotNull(message = "数据验证失败,班长不能为空!") - private Long leaderId; - - /** - * 已完成课时数量。 - */ - @ApiModelProperty(value = "已完成课时数量", required = true) - @NotNull(message = "数据验证失败,已完成课时不能为空!") - private Integer finishClassHour; - - /** - * 班级级别(0: 初级班 1: 培优班 2: 冲刺提分班 3: 竞赛班)。 - */ - @ApiModelProperty(value = "班级级别(0: 初级班 1: 培优班 2: 冲刺提分班 3: 竞赛班)", required = true) - @NotNull(message = "数据验证失败,班级级别不能为空!") - @ConstDictRef(constDictClass = ClassLevel.class, message = "数据验证失败,班级级别为无效值!") - private Integer classLevel; - - /** - * 创建用户。 - */ - @ApiModelProperty(value = "创建用户") - private Long createUserId; - - /** - * 班级创建时间。 - */ - @ApiModelProperty(value = "班级创建时间") - private Date createTime; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/dto/StudentDto.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/dto/StudentDto.java deleted file mode 100644 index 21c716cb..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/dto/StudentDto.java +++ /dev/null @@ -1,164 +0,0 @@ -package com.orangeforms.courseclassapi.dto; - -import com.orangeforms.common.core.validator.UpdateGroup; -import com.orangeforms.common.core.validator.ConstDictRef; -import com.orangeforms.application.common.constant.Gender; -import com.orangeforms.application.common.constant.ExpLevel; -import com.orangeforms.application.common.constant.StudentStatus; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.*; - -import java.util.Date; - -/** - * StudentDto对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("StudentDto对象") -@Data -public class StudentDto { - - /** - * 学生Id。 - */ - @ApiModelProperty(value = "学生Id", required = true) - @NotNull(message = "数据验证失败,学生Id不能为空!", groups = {UpdateGroup.class}) - private Long studentId; - - /** - * 登录手机。 - */ - @ApiModelProperty(value = "登录手机", required = true) - @NotBlank(message = "数据验证失败,手机号码不能为空!") - private String loginMobile; - - /** - * 学生姓名。 - */ - @ApiModelProperty(value = "学生姓名", required = true) - @NotBlank(message = "数据验证失败,姓名不能为空!") - private String studentName; - - /** - * 所在省份Id。 - */ - @ApiModelProperty(value = "所在省份Id", required = true) - @NotNull(message = "数据验证失败,所在省份不能为空!") - private Long provinceId; - - /** - * 所在城市Id。 - */ - @ApiModelProperty(value = "所在城市Id", required = true) - @NotNull(message = "数据验证失败,所在城市不能为空!") - private Long cityId; - - /** - * 区县Id。 - */ - @ApiModelProperty(value = "区县Id", required = true) - @NotNull(message = "数据验证失败,所在区县不能为空!") - private Long districtId; - - /** - * 学生性别 (0: 女生 1: 男生)。 - */ - @ApiModelProperty(value = "学生性别 (0: 女生 1: 男生)", required = true) - @NotNull(message = "数据验证失败,性别不能为空!") - @ConstDictRef(constDictClass = Gender.class, message = "数据验证失败,性别为无效值!") - private Integer gender; - - /** - * 生日。 - */ - @ApiModelProperty(value = "生日", required = true) - @NotNull(message = "数据验证失败,生日不能为空!") - private Date birthday; - - /** - * 经验等级 (0: 初级 1: 中级 2: 高级 3: 资深)。 - */ - @ApiModelProperty(value = "经验等级 (0: 初级 1: 中级 2: 高级 3: 资深)", required = true) - @NotNull(message = "数据验证失败,经验等级不能为空!") - @ConstDictRef(constDictClass = ExpLevel.class, message = "数据验证失败,经验等级为无效值!") - private Integer experienceLevel; - - /** - * 总共充值学币数量。 - */ - @ApiModelProperty(value = "总共充值学币数量", required = true) - @NotNull(message = "数据验证失败,充值学币不能为空!", groups = {UpdateGroup.class}) - private Integer totalCoin; - - /** - * 可用学币数量。 - */ - @ApiModelProperty(value = "可用学币数量", required = true) - @NotNull(message = "数据验证失败,剩余学币不能为空!", groups = {UpdateGroup.class}) - private Integer leftCoin; - - /** - * 年级Id。 - */ - @ApiModelProperty(value = "年级Id", required = true) - @NotNull(message = "数据验证失败,年级不能为空!") - private Integer gradeId; - - /** - * 校区Id。 - */ - @ApiModelProperty(value = "校区Id", required = true) - @NotNull(message = "数据验证失败,所属校区不能为空!") - private Long schoolId; - - /** - * 注册时间。 - */ - @ApiModelProperty(value = "注册时间", required = true) - @NotNull(message = "数据验证失败,注册时间不能为空!") - private Date registerTime; - - /** - * 学生状态 (0: 正常 1: 锁定 2: 注销)。 - */ - @ApiModelProperty(value = "学生状态 (0: 正常 1: 锁定 2: 注销)", required = true) - @NotNull(message = "数据验证失败,状态 不能为空!", groups = {UpdateGroup.class}) - @ConstDictRef(constDictClass = StudentStatus.class, message = "数据验证失败,状态 为无效值!") - private Integer status; - - /** - * birthday 范围过滤起始值(>=)。 - */ - @ApiModelProperty(value = "birthday 范围过滤起始值(>=)") - private String birthdayStart; - - /** - * birthday 范围过滤结束值(<=)。 - */ - @ApiModelProperty(value = "birthday 范围过滤结束值(<=)") - private String birthdayEnd; - - /** - * registerTime 范围过滤起始值(>=)。 - */ - @ApiModelProperty(value = "registerTime 范围过滤起始值(>=)") - private String registerTimeStart; - - /** - * registerTime 范围过滤结束值(<=)。 - */ - @ApiModelProperty(value = "registerTime 范围过滤结束值(<=)") - private String registerTimeEnd; - - /** - * true LIKE搜索字符串。 - */ - @ApiModelProperty(value = "LIKE模糊搜索字符串") - private String searchString; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/vo/AreaCodeVo.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/vo/AreaCodeVo.java deleted file mode 100644 index ee0606c7..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/vo/AreaCodeVo.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.orangeforms.courseclassapi.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * 行政区划VO。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("行政区划实体对象VO") -@Data -public class AreaCodeVo { - - /** - * 行政区划主键Id - */ - @ApiModelProperty(value = "行政区划主键Id", required = true) - private Long areaId; - - /** - * 行政区划名称 - */ - @ApiModelProperty(value = "行政区划名称") - private String areaName; - - /** - * 行政区划级别 (1: 省级别 2: 市级别 3: 区级别) - */ - @ApiModelProperty(value = "行政区划级别") - private Integer areaLevel; - - /** - * 父级行政区划Id - */ - @ApiModelProperty(value = "父级行政区划Id") - private Long parentId; -} \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/vo/ClassCourseVo.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/vo/ClassCourseVo.java deleted file mode 100644 index dccf051d..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/vo/ClassCourseVo.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.orangeforms.courseclassapi.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * ClassCourseVO视图对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("ClassCourseVO视图对象") -@Data -public class ClassCourseVo { - - /** - * 班级Id。 - */ - @ApiModelProperty(value = "班级Id") - private Long classId; - - /** - * 课程Id。 - */ - @ApiModelProperty(value = "课程Id") - private Long courseId; - - /** - * 课程顺序(数值越小越靠前)。 - */ - @ApiModelProperty(value = "课程顺序(数值越小越靠前)") - private Integer courseOrder; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/vo/ClassStudentVo.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/vo/ClassStudentVo.java deleted file mode 100644 index 917c428f..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/vo/ClassStudentVo.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.orangeforms.courseclassapi.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * ClassStudentVO视图对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("ClassStudentVO视图对象") -@Data -public class ClassStudentVo { - - /** - * 班级Id。 - */ - @ApiModelProperty(value = "班级Id") - private Long classId; - - /** - * 学生Id。 - */ - @ApiModelProperty(value = "学生Id") - private Long studentId; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/vo/CourseVo.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/vo/CourseVo.java deleted file mode 100644 index bd5e4536..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/vo/CourseVo.java +++ /dev/null @@ -1,116 +0,0 @@ -package com.orangeforms.courseclassapi.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.math.BigDecimal; -import java.util.Date; -import java.util.Map; - -/** - * CourseVO视图对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("CourseVO视图对象") -@Data -public class CourseVo { - - /** - * 主键Id。 - */ - @ApiModelProperty(value = "主键Id") - private Long courseId; - - /** - * 课程名称。 - */ - @ApiModelProperty(value = "课程名称") - private String courseName; - - /** - * 课程价格。 - */ - @ApiModelProperty(value = "课程价格") - private BigDecimal price; - - /** - * 课程描述。 - */ - @ApiModelProperty(value = "课程描述") - private String description; - - /** - * 课程难度(0: 容易 1: 普通 2: 很难)。 - */ - @ApiModelProperty(value = "课程难度(0: 容易 1: 普通 2: 很难)") - private Integer difficulty; - - /** - * 年级Id。 - */ - @ApiModelProperty(value = "年级Id") - private Integer gradeId; - - /** - * 学科Id。 - */ - @ApiModelProperty(value = "学科Id") - private Integer subjectId; - - /** - * 课时数量。 - */ - @ApiModelProperty(value = "课时数量") - private Integer classHour; - - /** - * 多张课程图片地址。 - */ - @ApiModelProperty(value = "多张课程图片地址") - private String pictureUrl; - - /** - * 创建用户Id。 - */ - @ApiModelProperty(value = "创建用户Id") - private Long createUserId; - - /** - * 创建时间。 - */ - @ApiModelProperty(value = "创建时间") - private Date createTime; - - /** - * 最后修改时间。 - */ - @ApiModelProperty(value = "最后修改时间") - private Date updateTime; - - /** - * courseId 的多对多关联表数据对象,数据对应类型为ClassCourseVo。 - */ - @ApiModelProperty(value = "courseId 的多对多关联表数据对象,数据对应类型为ClassCourseVo") - private Map classCourse; - - /** - * gradeId 字典关联数据。 - */ - @ApiModelProperty(value = "gradeId 字典关联数据") - private Map gradeIdDictMap; - - /** - * difficulty 常量字典关联数据。 - */ - @ApiModelProperty(value = "difficulty 常量字典关联数据") - private Map difficultyDictMap; - - /** - * subjectId 常量字典关联数据。 - */ - @ApiModelProperty(value = "subjectId 常量字典关联数据") - private Map subjectIdDictMap; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/vo/GradeVo.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/vo/GradeVo.java deleted file mode 100644 index 294cad91..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/vo/GradeVo.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.orangeforms.courseclassapi.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * GradeVO视图对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("GradeVO视图对象") -@Data -public class GradeVo { - - /** - * 主键Id。 - */ - @ApiModelProperty(value = "主键Id") - private Integer gradeId; - - /** - * 年级名称。 - */ - @ApiModelProperty(value = "年级名称") - private String gradeName; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/vo/StudentClassVo.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/vo/StudentClassVo.java deleted file mode 100644 index 9fe0efcc..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/vo/StudentClassVo.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.orangeforms.courseclassapi.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.util.Date; -import java.util.Map; - -/** - * StudentClassVO视图对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("StudentClassVO视图对象") -@Data -public class StudentClassVo { - - /** - * 班级Id。 - */ - @ApiModelProperty(value = "班级Id") - private Long classId; - - /** - * 班级名称。 - */ - @ApiModelProperty(value = "班级名称") - private String className; - - /** - * 学校Id。 - */ - @ApiModelProperty(value = "学校Id") - private Long schoolId; - - /** - * 学生班长Id。 - */ - @ApiModelProperty(value = "学生班长Id") - private Long leaderId; - - /** - * 已完成课时数量。 - */ - @ApiModelProperty(value = "已完成课时数量") - private Integer finishClassHour; - - /** - * 班级级别(0: 初级班 1: 培优班 2: 冲刺提分班 3: 竞赛班)。 - */ - @ApiModelProperty(value = "班级级别(0: 初级班 1: 培优班 2: 冲刺提分班 3: 竞赛班)") - private Integer classLevel; - - /** - * 创建用户。 - */ - @ApiModelProperty(value = "创建用户") - private Long createUserId; - - /** - * 班级创建时间。 - */ - @ApiModelProperty(value = "班级创建时间") - private Date createTime; - - /** - * schoolId 字典关联数据。 - */ - @ApiModelProperty(value = "schoolId 字典关联数据") - private Map schoolIdDictMap; - - /** - * leaderId 字典关联数据。 - */ - @ApiModelProperty(value = "leaderId 字典关联数据") - private Map leaderIdDictMap; - - /** - * classLevel 常量字典关联数据。 - */ - @ApiModelProperty(value = "classLevel 常量字典关联数据") - private Map classLevelDictMap; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/vo/StudentVo.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/vo/StudentVo.java deleted file mode 100644 index 7b858c6d..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-api/src/main/java/com/orangeforms/courseclassapi/vo/StudentVo.java +++ /dev/null @@ -1,157 +0,0 @@ -package com.orangeforms.courseclassapi.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.util.Date; -import java.util.Map; - -/** - * StudentVO视图对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("StudentVO视图对象") -@Data -public class StudentVo { - - /** - * 学生Id。 - */ - @ApiModelProperty(value = "学生Id") - private Long studentId; - - /** - * 登录手机。 - */ - @ApiModelProperty(value = "登录手机") - private String loginMobile; - - /** - * 学生姓名。 - */ - @ApiModelProperty(value = "学生姓名") - private String studentName; - - /** - * 所在省份Id。 - */ - @ApiModelProperty(value = "所在省份Id") - private Long provinceId; - - /** - * 所在城市Id。 - */ - @ApiModelProperty(value = "所在城市Id") - private Long cityId; - - /** - * 区县Id。 - */ - @ApiModelProperty(value = "区县Id") - private Long districtId; - - /** - * 学生性别 (0: 女生 1: 男生)。 - */ - @ApiModelProperty(value = "学生性别 (0: 女生 1: 男生)") - private Integer gender; - - /** - * 生日。 - */ - @ApiModelProperty(value = "生日") - private Date birthday; - - /** - * 经验等级 (0: 初级 1: 中级 2: 高级 3: 资深)。 - */ - @ApiModelProperty(value = "经验等级 (0: 初级 1: 中级 2: 高级 3: 资深)") - private Integer experienceLevel; - - /** - * 总共充值学币数量。 - */ - @ApiModelProperty(value = "总共充值学币数量") - private Integer totalCoin; - - /** - * 可用学币数量。 - */ - @ApiModelProperty(value = "可用学币数量") - private Integer leftCoin; - - /** - * 年级Id。 - */ - @ApiModelProperty(value = "年级Id") - private Integer gradeId; - - /** - * 校区Id。 - */ - @ApiModelProperty(value = "校区Id") - private Long schoolId; - - /** - * 注册时间。 - */ - @ApiModelProperty(value = "注册时间") - private Date registerTime; - - /** - * 学生状态 (0: 正常 1: 锁定 2: 注销)。 - */ - @ApiModelProperty(value = "学生状态 (0: 正常 1: 锁定 2: 注销)") - private Integer status; - - /** - * schoolId 字典关联数据。 - */ - @ApiModelProperty(value = "schoolId 字典关联数据") - private Map schoolIdDictMap; - - /** - * provinceId 字典关联数据。 - */ - @ApiModelProperty(value = "provinceId 字典关联数据") - private Map provinceIdDictMap; - - /** - * cityId 字典关联数据。 - */ - @ApiModelProperty(value = "cityId 字典关联数据") - private Map cityIdDictMap; - - /** - * districtId 字典关联数据。 - */ - @ApiModelProperty(value = "districtId 字典关联数据") - private Map districtIdDictMap; - - /** - * gradeId 字典关联数据。 - */ - @ApiModelProperty(value = "gradeId 字典关联数据") - private Map gradeIdDictMap; - - /** - * gender 常量字典关联数据。 - */ - @ApiModelProperty(value = "gender 常量字典关联数据") - private Map genderDictMap; - - /** - * experienceLevel 常量字典关联数据。 - */ - @ApiModelProperty(value = "experienceLevel 常量字典关联数据") - private Map experienceLevelDictMap; - - /** - * status 常量字典关联数据。 - */ - @ApiModelProperty(value = "status 常量字典关联数据") - private Map statusDictMap; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/pom.xml b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/pom.xml deleted file mode 100644 index 7ccb40cf..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/pom.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - com.orangeforms - course-class - 1.0.0 - - 4.0.0 - - course-class-service - 1.0.0 - course-class-service - jar - - - - - com.orangeforms - course-class-api - 1.0.0 - - - com.orangeforms - upms-api - 1.0.0 - - - com.orangeforms - common-log - 1.0.0 - - - com.orangeforms - common-redis - 1.0.0 - - - com.orangeforms - common-sequence - 1.0.0 - - - - - - - src/main/resources - - **/*.* - - false - - - src/main/java - - **/*.xml - - false - - - - - org.springframework.boot - spring-boot-maven-plugin - ${spring-boot.version} - - - - diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/CourseClassApplication.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/CourseClassApplication.java deleted file mode 100644 index 76b2a762..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/CourseClassApplication.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.orangeforms.courseclassservice; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.cloud.openfeign.EnableFeignClients; -import org.springframework.cloud.openfeign.EnableFeignClients; -import org.springframework.context.annotation.ComponentScan; - -/** - * course-class服务启动类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ComponentScan("com.orangeforms") -@EnableFeignClients(basePackages = "com.orangeforms") -@SpringBootApplication -public class CourseClassApplication { - - public static void main(String[] args) { - SpringApplication.run(CourseClassApplication.class, args); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/config/ApplicationConfig.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/config/ApplicationConfig.java deleted file mode 100644 index 0a5f3170..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/config/ApplicationConfig.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.orangeforms.courseclassservice.config; - -import lombok.Data; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.cloud.context.config.annotation.RefreshScope; -import org.springframework.context.annotation.Configuration; - -/** - * 应用程序自定义的程序属性配置文件。 - * 在yml格式的配置文件中,配置application开头应用配置信息,如: - * - * application: - * uploadFileBaseDir: /user/xxx/fileRoot/ - * defaultSomething: defaultValue - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@RefreshScope -@Configuration -@ConfigurationProperties(prefix = "application") -public class ApplicationConfig { - /** - * 上传文件的基础目录 - */ - private String uploadFileBaseDir; - /** - * 每个微服务的url目录上下文,如(/admin/upms),通常和网关的路由目录一致。 - */ - private String serviceContextPath; - /** - * 是否忽略远程调用中出现的任何错误,包括逻辑异常和系统异常。 - * 通常在调试和测试阶段设置为false,以便及时发现问题。 - */ - private Boolean ignoreRpcError; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/config/DataSourceConfig.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/config/DataSourceConfig.java deleted file mode 100644 index c9079085..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/config/DataSourceConfig.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.orangeforms.courseclassservice.config; - -import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Primary; -import org.springframework.transaction.annotation.EnableTransactionManagement; -import org.mybatis.spring.annotation.MapperScan; - -import javax.sql.DataSource; - -/** - * 数据源配置Bean对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Configuration -@EnableTransactionManagement -@MapperScan(value = {"com.orangeforms.*.dao", "com.orangeforms.common.*.dao"}) -public class DataSourceConfig { - - @Bean(initMethod = "init", destroyMethod = "close") - @Primary - @ConfigurationProperties(prefix = "spring.datasource.druid") - public DataSource druidDataSource() { - return DruidDataSourceBuilder.create().build(); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/controller/AreaCodeController.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/controller/AreaCodeController.java deleted file mode 100644 index 050facd2..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/controller/AreaCodeController.java +++ /dev/null @@ -1,160 +0,0 @@ -package com.orangeforms.courseclassservice.controller; - -import io.swagger.annotations.Api; -import cn.jimmyshi.beanquery.BeanQuery; -import com.orangeforms.common.core.base.controller.BaseController; -import com.orangeforms.common.core.base.service.IBaseDictService; -import com.orangeforms.common.core.annotation.MyRequestBody; -import com.orangeforms.common.core.util.MyModelUtil; -import com.orangeforms.common.core.object.*; -import com.orangeforms.courseclassapi.vo.AreaCodeVo; -import com.orangeforms.courseclassservice.model.AreaCode; -import com.orangeforms.courseclassservice.service.AreaCodeService; -import org.apache.commons.collections4.CollectionUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.*; - -/** - * 行政区划数据访问接口类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Api(tags = "行政区划数据访问接口") -@RestController -@RequestMapping("/areaCode") -public class AreaCodeController extends BaseController { - - @Autowired - private AreaCodeService areaCodeService; - - @Override - protected IBaseDictService service() { - return areaCodeService; - } - - /** - * 按照字典的形式返回行政区划列表。 - * - * @return 字典形式的行政区划列表。 - */ - @GetMapping("/listDict") - public ResponseResult>> listDict() { - List resultList = areaCodeService.getAllListFromCache(); - return ResponseResult.success(BeanQuery.select( - "parentId as parentId", "areaId as id", "areaName as name").executeFrom(resultList)); - } - - /** - * 根据上级行政区划Id获取其下级行政区划列表。 - * - * @param parentId 上级行政区划Id。 - * @return 按照字典的形式返回下级行政区划列表。 - */ - @GetMapping("/listDictByParentId") - public ResponseResult>> listDictByParentId(@RequestParam(required = false) Long parentId) { - Collection resultList = areaCodeService.getListByParentId(parentId); - if (CollectionUtils.isEmpty(resultList)) { - return ResponseResult.success(new LinkedList<>()); - } - return ResponseResult.success(BeanQuery.select( - "parentId as parentId", "areaId as id", "areaName as name").executeFrom(resultList)); - } - - /** - * 根据字典Id集合,获取查询后的字典数据。 - * - * @param dictIds 字典Id集合。 - * @return 字典形式的行政区划列表。 - */ - @PostMapping("/listDictByIds") - public ResponseResult>> listDictByIds( - @MyRequestBody(elementType = Long.class) List dictIds) { - List resultList = areaCodeService.getInList(new HashSet<>(dictIds)); - return ResponseResult.success(BeanQuery.select( - "parentId as parentId", "areaId as id", "areaName as name").executeFrom(resultList)); - } - - /** - * 查看单条记录的详情信息,如果当前主对象包含字典和一对一关联,也都同时返回。 - * - * @param areaId 行政区划Id。 - * @return 应答结果的Data对象中,将包含行政区划对象。 - */ - @GetMapping("/view") - public ResponseResult view(@RequestParam Long areaId) { - AreaCode areaCode = areaCodeService.getById(areaId); - return ResponseResult.success(MyModelUtil.copyTo(areaCode, AreaCodeVo.class)); - } - - /** - * 获取存在于主键Id列表的数据集合,该方法主要用于微服务间远程数据调用。 - * - * @param areaCodeIds 主键Id列表。 - * @param withDict 该字段只是为了保证和其他对象接口一致,在这里没有实际用处。 - * @return 符合主键(in list)的数据集合。 - */ - @PostMapping("/listByIds") - public ResponseResult> listByIds( - @RequestParam Set areaCodeIds, @RequestParam Boolean withDict) { - return super.baseListByIds(areaCodeIds, withDict, null); - } - - /** - * 基于主键Id,获取远程对象,该方法主要用于微服务间远程数据调用。 - * - * @param areaId 主键Id。 - * @param withDict 该字段只是为了保证和其他对象接口一致,在这里没有实际用处。 - * @return 应答结果对象,包含主对象数据。 - */ - @GetMapping("/getById") - public ResponseResult getById(@RequestParam Long areaId, @RequestParam Boolean withDict) { - return super.baseGetById(areaId, withDict, null); - } - - /** - * 判断参数列表中指定的主键Id集合,是否全部存在。仅限于微服务间远程接口调用。 - * - * @param areaCodeIds 主键Id集合。 - * @return 应答结果对象,包含true全部存在,否则false。 - */ - @GetMapping("/existIds") - public ResponseResult existIds(@RequestParam Set areaCodeIds) { - return super.baseExistIds(areaCodeIds); - } - - /** - * 判断指定主键Id的对象是否存在,该方法主要用于微服务间远程数据调用。 - * - * @param areaId 主键Id。 - * @return 存在返回true,否则false。 - */ - @GetMapping("/existId") - public ResponseResult existId(@RequestParam Long areaId) { - return super.baseExistId(areaId); - } - - /** - * 复杂的查询调用,包括(in list)过滤,对象条件过滤,分组和排序等。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含符合查询过滤条件的对象结果集。 - */ - @PostMapping("/listBy") - public ResponseResult> listBy(@RequestBody MyQueryParam queryParam) { - return super.baseListBy(queryParam, null); - } - - /** - * 复杂的查询调用,仅返回单体记录。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含符合查询过滤条件的对象结果集。 - */ - @PostMapping("/getBy") - public ResponseResult getBy(@RequestBody MyQueryParam queryParam) { - return super.baseGetBy(queryParam, null); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/controller/CourseController.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/controller/CourseController.java deleted file mode 100644 index f3ce8755..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/controller/CourseController.java +++ /dev/null @@ -1,532 +0,0 @@ -package com.orangeforms.courseclassservice.controller; - -import cn.jimmyshi.beanquery.BeanQuery; -import cn.hutool.core.util.ReflectUtil; -import com.github.pagehelper.page.PageMethod; -import com.orangeforms.courseclassservice.model.*; -import com.orangeforms.courseclassservice.service.*; -import com.orangeforms.courseclassapi.dto.*; -import com.orangeforms.courseclassapi.vo.*; -import com.orangeforms.common.core.object.*; -import com.orangeforms.common.core.util.*; -import com.orangeforms.common.core.constant.*; -import com.orangeforms.common.core.base.controller.BaseController; -import com.orangeforms.common.core.base.service.IBaseService; -import com.orangeforms.common.core.annotation.MyRequestBody; -import com.orangeforms.common.core.upload.BaseUpDownloader; -import com.orangeforms.common.core.upload.UpDownloaderFactory; -import com.orangeforms.common.core.upload.UploadResponseInfo; -import com.orangeforms.common.core.upload.UploadStoreInfo; -import com.orangeforms.common.log.annotation.OperationLog; -import com.orangeforms.common.log.model.constant.SysOperationLogType; -import com.orangeforms.common.redis.cache.SessionCacheHelper; -import com.orangeforms.courseclassservice.config.ApplicationConfig; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; -import io.swagger.annotations.*; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import javax.servlet.http.HttpServletResponse; -import java.util.*; - -/** - * 课程数据操作控制器类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Api(tags = "课程数据管理接口") -@Slf4j -@RestController -@RequestMapping("/course") -public class CourseController extends BaseController { - - @Autowired - private CourseService courseService; - @Autowired - private ApplicationConfig appConfig; - @Autowired - private SessionCacheHelper cacheHelper; - @Autowired - private UpDownloaderFactory upDownloaderFactory; - - @Override - protected IBaseService service() { - return courseService; - } - - /** - * 新增课程数据数据。 - * - * @param courseDto 新增对象。 - * @return 应答结果对象,包含新增对象主键Id。 - */ - @ApiOperationSupport(ignoreParameters = { - "courseDto.courseId", - "courseDto.priceStart", - "courseDto.priceEnd", - "courseDto.classHourStart", - "courseDto.classHourEnd", - "courseDto.updateTimeStart", - "courseDto.updateTimeEnd"}) - @OperationLog(type = SysOperationLogType.ADD) - @PostMapping("/add") - public ResponseResult add(@MyRequestBody CourseDto courseDto) { - String errorMessage = MyCommonUtil.getModelValidationError(courseDto, false); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - Course course = MyModelUtil.copyTo(courseDto, Course.class); - // 验证关联Id的数据合法性 - CallResult callResult = courseService.verifyAllRelatedData(course, null); - if (!callResult.isSuccess()) { - return ResponseResult.errorFrom(callResult); - } - course = courseService.saveNew(course); - return ResponseResult.success(course.getCourseId()); - } - - /** - * 更新课程数据数据。 - * - * @param courseDto 更新对象。 - * @return 应答结果对象。 - */ - @ApiOperationSupport(ignoreParameters = { - "CourseDto.priceStart", - "CourseDto.priceEnd", - "CourseDto.classHourStart", - "CourseDto.classHourEnd", - "CourseDto.updateTimeStart", - "CourseDto.updateTimeEnd"}) - @OperationLog(type = SysOperationLogType.UPDATE) - @PostMapping("/update") - public ResponseResult update(@MyRequestBody CourseDto courseDto) { - String errorMessage = MyCommonUtil.getModelValidationError(courseDto, true); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - Course course = MyModelUtil.copyTo(courseDto, Course.class); - Course originalCourse = courseService.getById(course.getCourseId()); - if (originalCourse == null) { - // NOTE: 修改下面方括号中的话述 - errorMessage = "数据验证失败,当前 [数据] 并不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - // 验证关联Id的数据合法性 - CallResult callResult = courseService.verifyAllRelatedData(course, originalCourse); - if (!callResult.isSuccess()) { - return ResponseResult.errorFrom(callResult); - } - if (!courseService.update(course, originalCourse)) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - return ResponseResult.success(); - } - - /** - * 删除课程数据数据。 - * - * @param courseId 删除对象主键Id。 - * @return 应答结果对象。 - */ - @OperationLog(type = SysOperationLogType.DELETE) - @PostMapping("/delete") - public ResponseResult delete(@MyRequestBody Long courseId) { - String errorMessage; - if (MyCommonUtil.existBlankArgument(courseId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - return this.doDelete(courseId); - } - - /** - * 列出符合过滤条件的课程数据列表。 - * - * @param courseDtoFilter 过滤对象。 - * @param orderParam 排序参数。 - * @param pageParam 分页参数。 - * @return 应答结果对象,包含查询结果集。 - */ - @PostMapping("/list") - public ResponseResult> list( - @MyRequestBody CourseDto courseDtoFilter, - @MyRequestBody MyOrderParam orderParam, - @MyRequestBody MyPageParam pageParam) { - if (pageParam != null) { - PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - Course courseFilter = MyModelUtil.copyTo(courseDtoFilter, Course.class); - String orderBy = MyOrderParam.buildOrderBy(orderParam, Course.class); - List courseList = courseService.getCourseListWithRelation(courseFilter, orderBy); - return ResponseResult.success(MyPageUtil.makeResponseData(courseList, Course.INSTANCE)); - } - - /** - * 查看指定课程数据对象详情。 - * - * @param courseId 指定对象主键Id。 - * @return 应答结果对象,包含对象详情。 - */ - @GetMapping("/view") - public ResponseResult view(@RequestParam Long courseId) { - if (MyCommonUtil.existBlankArgument(courseId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - Course course = courseService.getByIdWithRelation(courseId, MyRelationParam.full()); - if (course == null) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - CourseVo courseVo = Course.INSTANCE.fromModel(course); - return ResponseResult.success(courseVo); - } - - /** - * 附件文件下载。 - * 这里将图片和其他类型的附件文件放到不同的父目录下,主要为了便于今后图片文件的迁移。 - * - * @param courseId 附件所在记录的主键Id。 - * @param fieldName 附件所属的字段名。 - * @param filename 文件名。如果没有提供该参数,就从当前记录的指定字段中读取。 - * @param asImage 下载文件是否为图片。 - * @param response Http 应答对象。 - */ - @OperationLog(type = SysOperationLogType.DOWNLOAD, saveResponse = false) - @GetMapping("/download") - public void download( - @RequestParam(required = false) Long courseId, - @RequestParam String fieldName, - @RequestParam String filename, - @RequestParam Boolean asImage, - HttpServletResponse response) { - if (MyCommonUtil.existBlankArgument(fieldName, filename, asImage)) { - response.setStatus(HttpServletResponse.SC_BAD_REQUEST); - return; - } - // 使用try来捕获异常,是为了保证一旦出现异常可以返回500的错误状态,便于调试。 - // 否则有可能给前端返回的是200的错误码。 - try { - // 如果请求参数中没有包含主键Id,就判断该文件是否为当前session上传的。 - if (courseId == null) { - if (!cacheHelper.existSessionUploadFile(filename)) { - ResponseResult.output(HttpServletResponse.SC_FORBIDDEN); - return; - } - } else { - Course course = courseService.getById(courseId); - if (course == null) { - ResponseResult.output(HttpServletResponse.SC_NOT_FOUND); - return; - } - String fieldJsonData = (String) ReflectUtil.getFieldValue(course, fieldName); - if (fieldJsonData == null) { - ResponseResult.output(HttpServletResponse.SC_BAD_REQUEST); - return; - } - if (!BaseUpDownloader.containFile(fieldJsonData, filename)) { - ResponseResult.output(HttpServletResponse.SC_FORBIDDEN); - return; - } - } - UploadStoreInfo storeInfo = MyModelUtil.getUploadStoreInfo(Course.class, fieldName); - if (!storeInfo.isSupportUpload()) { - ResponseResult.output(HttpServletResponse.SC_NOT_IMPLEMENTED, - ResponseResult.error(ErrorCodeEnum.INVALID_UPLOAD_FIELD)); - return; - } - BaseUpDownloader upDownloader = upDownloaderFactory.get(storeInfo.getStoreType()); - upDownloader.doDownload(appConfig.getUploadFileBaseDir(), - Course.class.getSimpleName(), fieldName, filename, asImage, response); - } catch (Exception e) { - response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); - log.error(e.getMessage(), e); - } - } - - /** - * 文件上传操作。 - * - * @param fieldName 上传文件名。 - * @param asImage 是否作为图片上传。如果是图片,今后下载的时候无需权限验证。否则就是附件上传,下载时需要权限验证。 - * @param uploadFile 上传文件对象。 - */ - @OperationLog(type = SysOperationLogType.UPLOAD, saveResponse = false) - @PostMapping("/upload") - public void upload( - @RequestParam String fieldName, - @RequestParam Boolean asImage, - @RequestParam("uploadFile") MultipartFile uploadFile) throws Exception { - UploadStoreInfo storeInfo = MyModelUtil.getUploadStoreInfo(Course.class, fieldName); - // 这里就会判断参数中指定的字段,是否支持上传操作。 - if (!storeInfo.isSupportUpload()) { - ResponseResult.output(HttpServletResponse.SC_FORBIDDEN, - ResponseResult.error(ErrorCodeEnum.INVALID_UPLOAD_FIELD)); - return; - } - // 根据字段注解中的存储类型,通过工厂方法获取匹配的上传下载实现类,从而解耦。 - BaseUpDownloader upDownloader = upDownloaderFactory.get(storeInfo.getStoreType()); - UploadResponseInfo responseInfo = upDownloader.doUpload(appConfig.getServiceContextPath(), - appConfig.getUploadFileBaseDir(), Course.class.getSimpleName(), fieldName, asImage, uploadFile); - if (responseInfo.getUploadFailed()) { - ResponseResult.output(HttpServletResponse.SC_FORBIDDEN, - ResponseResult.error(ErrorCodeEnum.UPLOAD_FAILED, responseInfo.getErrorMessage())); - return; - } - cacheHelper.putSessionUploadFile(responseInfo.getFilename()); - ResponseResult.output(ResponseResult.success(responseInfo)); - } - - /** - * 以字典形式返回全部课程数据数据集合。字典的键值为[courseId, courseName]。 - * 白名单接口,登录用户均可访问。 - * - * @param filter 过滤对象。 - * @return 应答结果对象,包含字典形式的数据集合。 - */ - @GetMapping("/listDict") - public ResponseResult>> listDict(Course filter) { - List resultList = courseService.getListByFilter(filter); - return ResponseResult.success( - BeanQuery.select("courseId as id", "courseName as name").executeFrom(resultList)); - } - - /** - * 根据字典Id集合,获取查询后的字典数据。 - * - * @param dictIds 字典Id集合。 - * @return 应答结果对象,包含字典形式的数据集合。 - */ - @PostMapping("/listDictByIds") - public ResponseResult>> listDictByIds( - @MyRequestBody(elementType = Long.class) List dictIds) { - List resultList = courseService.getInList(new HashSet<>(dictIds)); - return ResponseResult.success( - BeanQuery.select("courseId as id", "courseName as name").executeFrom(resultList)); - } - - /** - * 根据主键Id集合,获取数据对象集合。仅限于微服务间远程接口调用。 - * - * @param courseIds 主键Id集合。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象集合。 - */ - @ApiOperation(hidden = true, value = "listByIds") - @PostMapping("/listByIds") - public ResponseResult> listByIds( - @RequestParam Set courseIds, @RequestParam Boolean withDict) { - return super.baseListByIds(courseIds, withDict, Course.INSTANCE); - } - - /** - * 根据主键Id,获取数据对象。仅限于微服务间远程接口调用。 - * - * @param courseId 主键Id。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象数据。 - */ - @ApiOperation(hidden = true, value = "getById") - @PostMapping("/getById") - public ResponseResult getById( - @RequestParam Long courseId, @RequestParam Boolean withDict) { - return super.baseGetById(courseId, withDict, Course.INSTANCE); - } - - /** - * 判断参数列表中指定的主键Id集合,是否全部存在。仅限于微服务间远程接口调用。 - * - * @param courseIds 主键Id集合。 - * @return 应答结果对象,包含true全部存在,否则false。 - */ - @ApiOperation(hidden = true, value = "existIds") - @PostMapping("/existIds") - public ResponseResult existIds(@RequestParam Set courseIds) { - return super.baseExistIds(courseIds); - } - - /** - * 判断参数列表中指定的主键Id是否存在。仅限于微服务间远程接口调用。 - * - * @param courseId 主键Id。 - * @return 应答结果对象,包含true表示存在,否则false。 - */ - @ApiOperation(hidden = true, value = "existId") - @PostMapping("/existId") - public ResponseResult existId(@RequestParam Long courseId) { - return super.baseExistId(courseId); - } - - /** - * 保存或更新数据。 - * - * @param data 主键Id为null时表示新增数据,否则更新数据。 - * @return 应答结果对象,主键Id。 - */ - @ApiOperation(hidden = true, value = "saveNewOrUpdate") - @PostMapping("/saveNewOrUpdate") - public ResponseResult saveNewOrUpdate(@RequestBody CourseDto data) { - Course course = MyModelUtil.copyTo(data, Course.class); - service().saveNewOrUpdate(course, courseService::saveNew, courseService::update); - return ResponseResult.success(Course.INSTANCE.fromModel(course)); - } - - /** - * 批量新增或保存数据列表。 - * - * @param dataList 数据列表。主键Id为null时表示新增数据,否则更新数据。 - * @return 应答结果对象。 - */ - @ApiOperation(hidden = true, value = "saveNewOrUpdateBatch") - @PostMapping("/saveNewOrUpdateBatch") - public ResponseResult saveNewOrUpdateBatch(@RequestBody List dataList) { - List courseList = MyModelUtil.copyCollectionTo(dataList, Course.class); - service().saveNewOrUpdateBatch(courseList, courseService::saveNewBatch, courseService::update); - return ResponseResult.success(); - } - - /** - * 根据最新对象列表和原有对象的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param data 数据对象。 - * 主键有值是视为更新操作的数据比对,因此仅当关联Id变化时才会验证。 - * 主键为空视为新增操作的数据比对,所有关联Id都会被验证。 - * @return 应答结果对象。 - */ - @ApiOperation(hidden = true, value = "verifyRelatedData") - @PostMapping("/verifyRelatedData") - public ResponseResult verifyRelatedData(@RequestBody CourseDto data) { - Course course = MyModelUtil.copyTo(data, Course.class); - return super.baseVerifyRelatedData(course, Course::getCourseId); - } - - /** - * 根据最新对象列表和原有对象列表的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param dataList 数据对象列表。 - * @return 应答结果对象。 - */ - @ApiOperation(hidden = true, value = "verifyRelatedDataList") - @PostMapping("/verifyRelatedDataList") - public ResponseResult verifyRelatedDataList(@RequestBody List dataList) { - List courseList = MyModelUtil.copyCollectionTo(dataList, Course.class); - return super.baseVerifyRelatedDataList(courseList, Course::getCourseId); - } - - /** - * 根据主键Id删除数据。 - * - * @param courseId 主键Id。 - * @return 删除数量。 - */ - @ApiOperation(hidden = true, value = "deleteById") - @PostMapping("/deleteById") - public ResponseResult deleteById(@RequestParam Long courseId) throws Exception { - Course filter = new Course(); - filter.setCourseId(courseId); - return super.baseDeleteBy(filter); - } - - /** - * 删除符合过滤条件的数据。 - * - * @param filter 过滤对象。 - * @return 删除数量。 - */ - @ApiOperation(hidden = true, value = "deleteBy") - @PostMapping("/deleteBy") - public ResponseResult deleteBy(@RequestBody CourseDto filter) throws Exception { - return super.baseDeleteBy(MyModelUtil.copyTo(filter, Course.class)); - } - - /** - * 复杂的查询调用,包括(in list)过滤,对象条件过滤,分页和排序等。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 分页数据集合对象。如MyQueryParam参数的分页属性为空,则不会执行分页操作,只是基于MyPageData对象返回数据结果。 - */ - @ApiOperation(hidden = true, value = "listBy") - @PostMapping("/listBy") - public ResponseResult> listBy(@RequestBody MyQueryParam queryParam) { - return super.baseListBy(queryParam, Course.INSTANCE); - } - - /** - * 复杂的查询调用,包括(in list)过滤,对象条件过滤,分页和排序等。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 分页数据集合对象。如MyQueryParam参数的分页属性为空,则不会执行分页操作,只是基于MyPageData对象返回数据结果。 - */ - @ApiOperation(hidden = true, value = "listMapBy") - @PostMapping("/listMapBy") - public ResponseResult>> listMapBy(@RequestBody MyQueryParam queryParam) { - return super.baseListMapBy(queryParam, Course.INSTANCE); - } - - /** - * 复杂的查询调用,仅返回单体记录。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含符合查询过滤条件的对象结果集。 - */ - @ApiOperation(hidden = true, value = "getBy") - @PostMapping("/getBy") - public ResponseResult getBy(@RequestBody MyQueryParam queryParam) { - return super.baseGetBy(queryParam, Course.INSTANCE); - } - - /** - * 获取远程主对象中符合查询条件的数据数量。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含结果数量。 - */ - @ApiOperation(hidden = true, value = "countBy") - @PostMapping("/countBy") - public ResponseResult countBy(@RequestBody MyQueryParam queryParam) { - return super.baseCountBy(queryParam); - } - - /** - * 获取远程对象中符合查询条件的分组聚合计算Map列表。 - * - * @param aggregationParam 聚合参数。 - * @return 应该结果对象,包含聚合计算后的分组Map列表。 - */ - @ApiOperation(hidden = true, value = "aggregateBy") - @PostMapping("/aggregateBy") - public ResponseResult>> aggregateBy(@RequestBody MyAggregationParam aggregationParam) { - return super.baseAggregateBy(aggregationParam); - } - - /** - * 根据过滤字段和过滤集合,返回不存在的数据。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 不存在的数据集合。 - */ - @ApiOperation(hidden = true, value = "notExist") - @PostMapping("/notExist") - public ResponseResult> notExist(@RequestBody MyQueryParam queryParam) { - List notExistIdSet = service().notExist( - queryParam.getInFilterField(), queryParam.getInFilterValues(), true); - return ResponseResult.success(notExistIdSet); - } - - private ResponseResult doDelete(Long courseId) { - String errorMessage; - // 验证关联Id的数据合法性 - Course originalCourse = courseService.getById(courseId); - if (originalCourse == null) { - // NOTE: 修改下面方括号中的话述 - errorMessage = "数据验证失败,当前 [对象] 并不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - if (!courseService.remove(courseId)) { - errorMessage = "数据操作失败,删除的对象不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - return ResponseResult.success(); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/controller/GradeController.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/controller/GradeController.java deleted file mode 100644 index 4813c714..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/controller/GradeController.java +++ /dev/null @@ -1,290 +0,0 @@ -package com.orangeforms.courseclassservice.controller; - -import com.alibaba.fastjson.JSONObject; -import cn.jimmyshi.beanquery.BeanQuery; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.extern.slf4j.Slf4j; -import com.orangeforms.common.core.base.controller.BaseController; -import com.orangeforms.common.core.base.service.IBaseDictService; -import com.orangeforms.common.core.object.*; -import com.orangeforms.common.core.annotation.MyRequestBody; -import com.orangeforms.common.core.constant.ErrorCodeEnum; -import com.orangeforms.common.core.util.MyModelUtil; -import com.orangeforms.common.core.util.MyCommonUtil; -import com.orangeforms.common.core.validator.UpdateGroup; -import com.orangeforms.common.log.annotation.OperationLog; -import com.orangeforms.common.log.model.constant.SysOperationLogType; -import com.orangeforms.courseclassapi.dto.GradeDto; -import com.orangeforms.courseclassapi.vo.GradeVo; -import com.orangeforms.courseclassservice.model.Grade; -import com.orangeforms.courseclassservice.service.GradeService; -import org.apache.commons.collections4.CollectionUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import javax.validation.groups.Default; -import java.util.*; - -/** - * 年级操作控制器类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Api(tags = "年级管理接口") -@Slf4j -@RestController -@RequestMapping("/grade") -public class GradeController extends BaseController { - - @Autowired - private GradeService gradeService; - - @Override - protected IBaseDictService service() { - return gradeService; - } - - /** - * 新增年级数据。 - * - * @param gradeDto 新增对象。 - * @return 应答结果对象,包含新增对象主键Id。 - */ - @ApiOperationSupport(ignoreParameters = {"gradeDto.gradeId"}) - @OperationLog(type = SysOperationLogType.ADD) - @PostMapping("/add") - public ResponseResult add(@MyRequestBody GradeDto gradeDto) { - String errorMessage = MyCommonUtil.getModelValidationError(gradeDto); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - Grade grade = MyModelUtil.copyTo(gradeDto, Grade.class); - grade = gradeService.saveNew(grade); - return ResponseResult.success(grade.getGradeId()); - } - - /** - * 更新年级数据。 - * - * @param gradeDto 更新对象。 - * @return 应答结果对象。 - */ - @OperationLog(type = SysOperationLogType.UPDATE) - @PostMapping("/update") - public ResponseResult update(@MyRequestBody GradeDto gradeDto) { - String errorMessage = MyCommonUtil.getModelValidationError(gradeDto, Default.class, UpdateGroup.class); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - Grade grade = MyModelUtil.copyTo(gradeDto, Grade.class); - Grade originalGrade = gradeService.getById(grade.getGradeId()); - if (originalGrade == null) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - if (!gradeService.update(grade, originalGrade)) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - return ResponseResult.success(); - } - - /** - * 删除年级数据。 - * - * @param gradeId 删除对象主键Id。 - * @return 应答结果对象。 - */ - @OperationLog(type = SysOperationLogType.DELETE) - @PostMapping("/delete") - public ResponseResult delete(@MyRequestBody Integer gradeId) { - if (MyCommonUtil.existBlankArgument(gradeId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - if (!gradeService.remove(gradeId)) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - return ResponseResult.success(); - } - - /** - * 查看指定年级对象详情。 - * - * @param gradeId 指定对象主键Id。 - * @return 应答结果对象,包含对象详情。 - */ - @GetMapping("/view") - public ResponseResult view(@RequestParam Integer gradeId) { - if (MyCommonUtil.existBlankArgument(gradeId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - Grade grade = gradeService.getById(gradeId); - if (grade == null) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - GradeVo gradeVo = MyModelUtil.copyTo(grade, GradeVo.class); - return ResponseResult.success(gradeVo); - } - - /** - * 白名单接口,登录用户均可访问。以字典形式返回全部年级数据集合。 - * 所有数据全部取自于缓存,对于数据库中存在,但是缓存中不存在的数据,不会返回。 - * - * @return 应答结果对象,包含字典形式的数据集合。 - */ - @GetMapping("/listDict") - public ResponseResult>> listDict() { - List resultList = gradeService.getAllListFromCache(); - if (CollectionUtils.isEmpty(resultList)) { - gradeService.reloadCachedData(true); - resultList = gradeService.getAllList(); - } - return ResponseResult.success(BeanQuery.select( - "gradeId as id", "gradeName as name").executeFrom(resultList)); - } - - /** - * 白名单接口,登录用户均可访问。以字典形式返回全部年级数据集合。 - * fullResultList中的字典列表全部取自于数据库,而cachedResultList全部取自于缓存,前端负责比对。 - * - * @return 应答结果对象,包含字典形式的数据集合。 - */ - @GetMapping("/listAll") - public ResponseResult listAll() { - JSONObject jsonObject = new JSONObject(); - jsonObject.put("fullResultList", BeanQuery.select( - "gradeId as id", "gradeName as name").executeFrom(gradeService.getAllList())); - jsonObject.put("cachedResultList", BeanQuery.select( - "gradeId as id", "gradeName as name").executeFrom(gradeService.getAllListFromCache())); - return ResponseResult.success(jsonObject); - } - - /** - * 根据字典Id集合,获取查询后的字典数据。 - * - * @param dictIds 字典Id集合。 - * @return 应答结果对象,包含字典形式的数据集合。 - */ - @PostMapping("/listDictByIds") - public ResponseResult>> listDictByIds( - @MyRequestBody(elementType = Integer.class) List dictIds) { - List resultList = gradeService.getInList(new HashSet<>(dictIds)); - return ResponseResult.success(BeanQuery.select( - "gradeId as id", "gradeName as name").executeFrom(resultList)); - } - - /** - * 根据主键Id集合,获取数据对象集合。仅限于微服务间远程接口调用。 - * - * @param gradeIds 主键Id集合。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象集合。 - */ - @ApiOperation(hidden = true, value = "listByIds") - @PostMapping("/listByIds") - public ResponseResult> listByIds( - @RequestParam Set gradeIds, @RequestParam Boolean withDict) { - return super.baseListByIds(gradeIds, withDict, null); - } - - /** - * 根据主键Id,获取数据对象。仅限于微服务间远程接口调用。 - * - * @param gradeId 主键Id。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象数据。 - */ - @ApiOperation(hidden = true, value = "getById") - @PostMapping("/getById") - public ResponseResult getById( - @RequestParam Integer gradeId, @RequestParam Boolean withDict) { - return super.baseGetById(gradeId, withDict, null); - } - - /** - * 判断参数列表中指定的主键Id集合,是否全部存在。主要用于微服务间远程过程调用。 - * - * @param gradeIds 主键Id集合。 - * @return 应答结果对象,包含true全部存在,否则false。 - */ - @ApiOperation(hidden = true, value = "existIds") - @PostMapping("/existIds") - public ResponseResult existIds(@RequestParam Set gradeIds) { - return super.baseExistIds(gradeIds); - } - - /** - * 判断参数列表中指定的主键Id集合,是否全部存在。主要用于微服务间远程过程调用。 - * - * @param gradeId 主键Id。 - * @return 应答结果对象,包含true全部存在,否则false。 - */ - @ApiOperation(hidden = true, value = "existId") - @PostMapping("/existId") - public ResponseResult existId(@RequestParam Integer gradeId) { - return super.baseExistId(gradeId); - } - - /** - * 根据主键Id删除数据。 - * - * @param gradeId 主键Id。 - * @return 删除数量。 - */ - @ApiOperation(hidden = true, value = "deleteById") - @PostMapping("/deleteById") - public ResponseResult deleteById(@RequestParam Integer gradeId) throws Exception { - Grade filter = new Grade(); - filter.setGradeId(gradeId); - return super.baseDeleteBy(filter); - } - - /** - * 删除符合过滤条件的数据。 - * - * @param filter 过滤对象。 - * @return 删除数量。 - */ - @ApiOperation(hidden = true, value = "deleteBy") - @PostMapping("/deleteBy") - public ResponseResult deleteBy(@RequestBody GradeDto filter) throws Exception { - return super.baseDeleteBy(MyModelUtil.copyTo(filter, Grade.class)); - } - - /** - * 复杂的查询调用,包括(in list)过滤,对象条件过滤,分组和排序等。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含符合查询过滤条件的对象结果集。 - */ - @ApiOperation(hidden = true, value = "listBy") - @PostMapping("/listBy") - public ResponseResult> listBy(@RequestBody MyQueryParam queryParam) { - return super.baseListBy(queryParam, null); - } - - /** - * 复杂的查询调用,仅返回单体记录。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含符合查询过滤条件的对象结果集。 - */ - @ApiOperation(hidden = true, value = "getBy") - @PostMapping("/getBy") - public ResponseResult getBy(@RequestBody MyQueryParam queryParam) { - return super.baseGetBy(queryParam, null); - } - - /** - * 将当前字典表的数据重新加载到缓存中。 - * 由于缓存的数据更新,在add/update/delete等接口均有同步处理。因此该接口仅当同步过程中出现问题时, - * 可手工调用,或者每天晚上定时同步一次。 - */ - @OperationLog(type = SysOperationLogType.RELOAD_CACHE) - @GetMapping("/reloadCachedData") - public ResponseResult reloadCachedData() { - gradeService.reloadCachedData(true); - return ResponseResult.success(true); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/controller/StudentClassController.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/controller/StudentClassController.java deleted file mode 100644 index 2c02c711..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/controller/StudentClassController.java +++ /dev/null @@ -1,643 +0,0 @@ -package com.orangeforms.courseclassservice.controller; - -import com.github.pagehelper.page.PageMethod; -import com.orangeforms.courseclassservice.model.*; -import com.orangeforms.courseclassservice.service.*; -import com.orangeforms.courseclassapi.dto.*; -import com.orangeforms.courseclassapi.vo.*; -import com.orangeforms.common.core.object.*; -import com.orangeforms.common.core.util.*; -import com.orangeforms.common.core.constant.*; -import com.orangeforms.common.core.base.controller.BaseController; -import com.orangeforms.common.core.base.service.IBaseService; -import com.orangeforms.common.core.annotation.MyRequestBody; -import com.orangeforms.common.log.annotation.OperationLog; -import com.orangeforms.common.log.model.constant.SysOperationLogType; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; -import io.swagger.annotations.*; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.*; -import java.util.stream.Collectors; - -/** - * 班级数据操作控制器类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Api(tags = "班级数据管理接口") -@Slf4j -@RestController -@RequestMapping("/studentClass") -public class StudentClassController extends BaseController { - - @Autowired - private StudentClassService studentClassService; - @Autowired - private CourseService courseService; - @Autowired - private StudentService studentService; - - @Override - protected IBaseService service() { - return studentClassService; - } - - /** - * 新增班级数据数据。 - * - * @param studentClassDto 新增对象。 - * @return 应答结果对象,包含新增对象主键Id。 - */ - @ApiOperationSupport(ignoreParameters = {"studentClassDto.classId"}) - @OperationLog(type = SysOperationLogType.ADD) - @PostMapping("/add") - public ResponseResult add(@MyRequestBody StudentClassDto studentClassDto) { - String errorMessage = MyCommonUtil.getModelValidationError(studentClassDto, false); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - StudentClass studentClass = MyModelUtil.copyTo(studentClassDto, StudentClass.class); - // 验证关联Id的数据合法性 - CallResult callResult = studentClassService.verifyAllRelatedData(studentClass, null); - if (!callResult.isSuccess()) { - return ResponseResult.errorFrom(callResult); - } - studentClass = studentClassService.saveNew(studentClass); - return ResponseResult.success(studentClass.getClassId()); - } - - /** - * 更新班级数据数据。 - * - * @param studentClassDto 更新对象。 - * @return 应答结果对象。 - */ - @OperationLog(type = SysOperationLogType.UPDATE) - @PostMapping("/update") - public ResponseResult update(@MyRequestBody StudentClassDto studentClassDto) { - String errorMessage = MyCommonUtil.getModelValidationError(studentClassDto, true); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - StudentClass studentClass = MyModelUtil.copyTo(studentClassDto, StudentClass.class); - StudentClass originalStudentClass = studentClassService.getById(studentClass.getClassId()); - if (originalStudentClass == null) { - // NOTE: 修改下面方括号中的话述 - errorMessage = "数据验证失败,当前 [数据] 并不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - // 验证关联Id的数据合法性 - CallResult callResult = studentClassService.verifyAllRelatedData(studentClass, originalStudentClass); - if (!callResult.isSuccess()) { - return ResponseResult.errorFrom(callResult); - } - if (!studentClassService.update(studentClass, originalStudentClass)) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - return ResponseResult.success(); - } - - /** - * 删除班级数据数据。 - * - * @param classId 删除对象主键Id。 - * @return 应答结果对象。 - */ - @OperationLog(type = SysOperationLogType.DELETE) - @PostMapping("/delete") - public ResponseResult delete(@MyRequestBody Long classId) { - String errorMessage; - if (MyCommonUtil.existBlankArgument(classId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - return this.doDelete(classId); - } - - /** - * 列出符合过滤条件的班级数据列表。 - * - * @param studentClassDtoFilter 过滤对象。 - * @param orderParam 排序参数。 - * @param pageParam 分页参数。 - * @return 应答结果对象,包含查询结果集。 - */ - @PostMapping("/list") - public ResponseResult> list( - @MyRequestBody StudentClassDto studentClassDtoFilter, - @MyRequestBody MyOrderParam orderParam, - @MyRequestBody MyPageParam pageParam) { - if (pageParam != null) { - PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - StudentClass studentClassFilter = MyModelUtil.copyTo(studentClassDtoFilter, StudentClass.class); - String orderBy = MyOrderParam.buildOrderBy(orderParam, StudentClass.class); - List studentClassList = - studentClassService.getStudentClassListWithRelation(studentClassFilter, orderBy); - return ResponseResult.success(MyPageUtil.makeResponseData(studentClassList, StudentClass.INSTANCE)); - } - - /** - * 查看指定班级数据对象详情。 - * - * @param classId 指定对象主键Id。 - * @return 应答结果对象,包含对象详情。 - */ - @GetMapping("/view") - public ResponseResult view(@RequestParam Long classId) { - if (MyCommonUtil.existBlankArgument(classId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - StudentClass studentClass = studentClassService.getByIdWithRelation(classId, MyRelationParam.full()); - if (studentClass == null) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - StudentClassVo studentClassVo = StudentClass.INSTANCE.fromModel(studentClass); - return ResponseResult.success(studentClassVo); - } - - /** - * 列出不与指定班级数据存在多对多关系的 [课程数据] 列表数据。 - * 通常用于查看添加新 [课程数据] 对象的候选列表。 - * - * @param classId 主表主键Id。 - * @param courseDtoFilter [课程数据] 过滤对象。 - * @param orderParam 排序参数。 - * @param pageParam 分页参数。 - * @return 应答结果对象,返回符合条件的数据列表。 - */ - @PostMapping("/listNotInClassCourse") - public ResponseResult> listNotInClassCourse( - @MyRequestBody Long classId, - @MyRequestBody CourseDto courseDtoFilter, - @MyRequestBody MyOrderParam orderParam, - @MyRequestBody MyPageParam pageParam) { - if (MyCommonUtil.isNotBlankOrNull(classId) && !studentClassService.existId(classId)) { - return ResponseResult.error(ErrorCodeEnum.INVALID_RELATED_RECORD_ID); - } - if (pageParam != null) { - PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - Course filter = MyModelUtil.copyTo(courseDtoFilter, Course.class); - String orderBy = MyOrderParam.buildOrderBy(orderParam, Course.class); - List courseList = - courseService.getNotInCourseListByClassId(classId, filter, orderBy); - return ResponseResult.success(MyPageUtil.makeResponseData(courseList, Course.INSTANCE)); - } - - /** - * 列出与指定班级数据存在多对多关系的 [课程数据] 列表数据。 - * - * @param classId 主表主键Id。 - * @param courseDtoFilter [课程数据] 过滤对象。 - * @param orderParam 排序参数。 - * @param pageParam 分页参数。 - * @return 应答结果对象,返回符合条件的数据列表。 - */ - @PostMapping("/listClassCourse") - public ResponseResult> listClassCourse( - @MyRequestBody(required = true) Long classId, - @MyRequestBody CourseDto courseDtoFilter, - @MyRequestBody MyOrderParam orderParam, - @MyRequestBody MyPageParam pageParam) { - if (!studentClassService.existId(classId)) { - return ResponseResult.error(ErrorCodeEnum.INVALID_RELATED_RECORD_ID); - } - if (pageParam != null) { - PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - Course filter = MyModelUtil.copyTo(courseDtoFilter, Course.class); - String orderBy = MyOrderParam.buildOrderBy(orderParam, Course.class); - List courseList = - courseService.getCourseListByClassId(classId, filter, orderBy); - return ResponseResult.success(MyPageUtil.makeResponseData(courseList, Course.INSTANCE)); - } - - /** - * 批量添加班级数据和 [课程数据] 对象的多对多关联关系数据。 - * - * @param classId 主表主键Id。 - * @param classCourseDtoList 关联对象列表。 - * @return 应答结果对象。 - */ - @OperationLog(type = SysOperationLogType.ADD_M2M) - @PostMapping("/addClassCourse") - public ResponseResult addClassCourse( - @MyRequestBody Long classId, - @MyRequestBody(elementType = ClassCourseDto.class) List classCourseDtoList) { - if (MyCommonUtil.existBlankArgument(classId, classCourseDtoList)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - String errorMessage = MyCommonUtil.getModelValidationError(classCourseDtoList); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - Set courseIdSet = - classCourseDtoList.stream().map(ClassCourseDto::getCourseId).collect(Collectors.toSet()); - if (!studentClassService.existId(classId) - || !courseService.existUniqueKeyList("courseId", courseIdSet)) { - return ResponseResult.error(ErrorCodeEnum.INVALID_RELATED_RECORD_ID); - } - List classCourseList = - MyModelUtil.copyCollectionTo(classCourseDtoList, ClassCourse.class); - studentClassService.addClassCourseList(classCourseList, classId); - return ResponseResult.success(); - } - - /** - * 更新指定班级数据和指定 [课程数据] 的多对多关联数据。 - * - * @param classCourseDto 对多对中间表对象。 - * @return 应答结果对象。 - */ - @OperationLog(type = SysOperationLogType.UPDATE) - @PostMapping("/updateClassCourse") - public ResponseResult updateClassCourse( - @MyRequestBody ClassCourseDto classCourseDto) { - String errorMessage = MyCommonUtil.getModelValidationError(classCourseDto); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - ClassCourse classCourse = MyModelUtil.copyTo(classCourseDto, ClassCourse.class); - if (!studentClassService.updateClassCourse(classCourse)) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - return ResponseResult.success(); - } - - /** - * 显示班级数据和指定 [课程数据] 的多对多关联详情数据。 - * - * @param classId 主表主键Id。 - * @param courseId 从表主键Id。 - * @return 应答结果对象,包括中间表详情。 - */ - @GetMapping("/viewClassCourse") - public ResponseResult viewClassCourse( - @RequestParam Long classId, @RequestParam Long courseId) { - if (MyCommonUtil.existBlankArgument(classId, courseId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - ClassCourse classCourse = studentClassService.getClassCourse(classId, courseId); - if (classCourse == null) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - ClassCourseVo classCourseVo = MyModelUtil.copyTo(classCourse, ClassCourseVo.class); - return ResponseResult.success(classCourseVo); - } - - /** - * 移除指定班级数据和指定 [课程数据] 的多对多关联关系。 - * - * @param classId 主表主键Id。 - * @param courseId 关联表主键Id。 - * @return 应答结果对象。 - */ - @OperationLog(type = SysOperationLogType.DELETE_M2M) - @PostMapping("/deleteClassCourse") - public ResponseResult deleteClassCourse( - @MyRequestBody Long classId, @MyRequestBody Long courseId) { - if (MyCommonUtil.existBlankArgument(classId, courseId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - if (!studentClassService.removeClassCourse(classId, courseId)) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - return ResponseResult.success(); - } - - /** - * 列出不与指定班级数据存在多对多关系的 [学生数据] 列表数据。 - * 通常用于查看添加新 [学生数据] 对象的候选列表。 - * - * @param classId 主表主键Id。 - * @param studentDtoFilter [学生数据] 过滤对象。 - * @param orderParam 排序参数。 - * @param pageParam 分页参数。 - * @return 应答结果对象,返回符合条件的数据列表。 - */ - @PostMapping("/listNotInClassStudent") - public ResponseResult> listNotInClassStudent( - @MyRequestBody Long classId, - @MyRequestBody StudentDto studentDtoFilter, - @MyRequestBody MyOrderParam orderParam, - @MyRequestBody MyPageParam pageParam) { - if (MyCommonUtil.isNotBlankOrNull(classId) && !studentClassService.existId(classId)) { - return ResponseResult.error(ErrorCodeEnum.INVALID_RELATED_RECORD_ID); - } - if (pageParam != null) { - PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - Student filter = MyModelUtil.copyTo(studentDtoFilter, Student.class); - String orderBy = MyOrderParam.buildOrderBy(orderParam, Student.class); - List studentList = - studentService.getNotInStudentListByClassId(classId, filter, orderBy); - return ResponseResult.success(MyPageUtil.makeResponseData(studentList, Student.INSTANCE)); - } - - /** - * 列出与指定班级数据存在多对多关系的 [学生数据] 列表数据。 - * - * @param classId 主表主键Id。 - * @param studentDtoFilter [学生数据] 过滤对象。 - * @param orderParam 排序参数。 - * @param pageParam 分页参数。 - * @return 应答结果对象,返回符合条件的数据列表。 - */ - @PostMapping("/listClassStudent") - public ResponseResult> listClassStudent( - @MyRequestBody(required = true) Long classId, - @MyRequestBody StudentDto studentDtoFilter, - @MyRequestBody MyOrderParam orderParam, - @MyRequestBody MyPageParam pageParam) { - if (!studentClassService.existId(classId)) { - return ResponseResult.error(ErrorCodeEnum.INVALID_RELATED_RECORD_ID); - } - if (pageParam != null) { - PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - Student filter = MyModelUtil.copyTo(studentDtoFilter, Student.class); - String orderBy = MyOrderParam.buildOrderBy(orderParam, Student.class); - List studentList = - studentService.getStudentListByClassId(classId, filter, orderBy); - return ResponseResult.success(MyPageUtil.makeResponseData(studentList, Student.INSTANCE)); - } - - /** - * 批量添加班级数据和 [学生数据] 对象的多对多关联关系数据。 - * - * @param classId 主表主键Id。 - * @param classStudentDtoList 关联对象列表。 - * @return 应答结果对象。 - */ - @OperationLog(type = SysOperationLogType.ADD_M2M) - @PostMapping("/addClassStudent") - public ResponseResult addClassStudent( - @MyRequestBody Long classId, - @MyRequestBody(elementType = ClassStudentDto.class) List classStudentDtoList) { - if (MyCommonUtil.existBlankArgument(classId, classStudentDtoList)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - String errorMessage = MyCommonUtil.getModelValidationError(classStudentDtoList); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - Set studentIdSet = - classStudentDtoList.stream().map(ClassStudentDto::getStudentId).collect(Collectors.toSet()); - if (!studentClassService.existId(classId) - || !studentService.existUniqueKeyList("studentId", studentIdSet)) { - return ResponseResult.error(ErrorCodeEnum.INVALID_RELATED_RECORD_ID); - } - List classStudentList = - MyModelUtil.copyCollectionTo(classStudentDtoList, ClassStudent.class); - studentClassService.addClassStudentList(classStudentList, classId); - return ResponseResult.success(); - } - - /** - * 移除指定班级数据和指定 [学生数据] 的多对多关联关系。 - * - * @param classId 主表主键Id。 - * @param studentId 关联表主键Id。 - * @return 应答结果对象。 - */ - @OperationLog(type = SysOperationLogType.DELETE_M2M) - @PostMapping("/deleteClassStudent") - public ResponseResult deleteClassStudent( - @MyRequestBody Long classId, @MyRequestBody Long studentId) { - if (MyCommonUtil.existBlankArgument(classId, studentId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - if (!studentClassService.removeClassStudent(classId, studentId)) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - return ResponseResult.success(); - } - - /** - * 根据主键Id集合,获取数据对象集合。仅限于微服务间远程接口调用。 - * - * @param classIds 主键Id集合。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象集合。 - */ - @ApiOperation(hidden = true, value = "listByIds") - @PostMapping("/listByIds") - public ResponseResult> listByIds( - @RequestParam Set classIds, @RequestParam Boolean withDict) { - return super.baseListByIds(classIds, withDict, StudentClass.INSTANCE); - } - - /** - * 根据主键Id,获取数据对象。仅限于微服务间远程接口调用。 - * - * @param classId 主键Id。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象数据。 - */ - @ApiOperation(hidden = true, value = "getById") - @PostMapping("/getById") - public ResponseResult getById( - @RequestParam Long classId, @RequestParam Boolean withDict) { - return super.baseGetById(classId, withDict, StudentClass.INSTANCE); - } - - /** - * 判断参数列表中指定的主键Id集合,是否全部存在。仅限于微服务间远程接口调用。 - * - * @param classIds 主键Id集合。 - * @return 应答结果对象,包含true全部存在,否则false。 - */ - @ApiOperation(hidden = true, value = "existIds") - @PostMapping("/existIds") - public ResponseResult existIds(@RequestParam Set classIds) { - return super.baseExistIds(classIds); - } - - /** - * 判断参数列表中指定的主键Id是否存在。仅限于微服务间远程接口调用。 - * - * @param classId 主键Id。 - * @return 应答结果对象,包含true表示存在,否则false。 - */ - @ApiOperation(hidden = true, value = "existId") - @PostMapping("/existId") - public ResponseResult existId(@RequestParam Long classId) { - return super.baseExistId(classId); - } - - /** - * 保存或更新数据。 - * - * @param data 主键Id为null时表示新增数据,否则更新数据。 - * @return 应答结果对象,主键Id。 - */ - @ApiOperation(hidden = true, value = "saveNewOrUpdate") - @PostMapping("/saveNewOrUpdate") - public ResponseResult saveNewOrUpdate(@RequestBody StudentClassDto data) { - StudentClass studentClass = MyModelUtil.copyTo(data, StudentClass.class); - service().saveNewOrUpdate(studentClass, studentClassService::saveNew, studentClassService::update); - return ResponseResult.success(StudentClass.INSTANCE.fromModel(studentClass)); - } - - /** - * 批量新增或保存数据列表。 - * - * @param dataList 数据列表。主键Id为null时表示新增数据,否则更新数据。 - * @return 应答结果对象。 - */ - @ApiOperation(hidden = true, value = "saveNewOrUpdateBatch") - @PostMapping("/saveNewOrUpdateBatch") - public ResponseResult saveNewOrUpdateBatch(@RequestBody List dataList) { - List studentClassList = MyModelUtil.copyCollectionTo(dataList, StudentClass.class); - service().saveNewOrUpdateBatch(studentClassList, studentClassService::saveNewBatch, studentClassService::update); - return ResponseResult.success(); - } - - /** - * 根据最新对象列表和原有对象的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param data 数据对象。 - * 主键有值是视为更新操作的数据比对,因此仅当关联Id变化时才会验证。 - * 主键为空视为新增操作的数据比对,所有关联Id都会被验证。 - * @return 应答结果对象。 - */ - @ApiOperation(hidden = true, value = "verifyRelatedData") - @PostMapping("/verifyRelatedData") - public ResponseResult verifyRelatedData(@RequestBody StudentClassDto data) { - StudentClass studentClass = MyModelUtil.copyTo(data, StudentClass.class); - return super.baseVerifyRelatedData(studentClass, StudentClass::getClassId); - } - - /** - * 根据最新对象列表和原有对象列表的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param dataList 数据对象列表。 - * @return 应答结果对象。 - */ - @ApiOperation(hidden = true, value = "verifyRelatedDataList") - @PostMapping("/verifyRelatedDataList") - public ResponseResult verifyRelatedDataList(@RequestBody List dataList) { - List studentClassList = MyModelUtil.copyCollectionTo(dataList, StudentClass.class); - return super.baseVerifyRelatedDataList(studentClassList, StudentClass::getClassId); - } - - /** - * 根据主键Id删除数据。 - * - * @param classId 主键Id。 - * @return 删除数量。 - */ - @ApiOperation(hidden = true, value = "deleteById") - @PostMapping("/deleteById") - public ResponseResult deleteById(@RequestParam Long classId) throws Exception { - StudentClass filter = new StudentClass(); - filter.setClassId(classId); - return super.baseDeleteBy(filter); - } - - /** - * 删除符合过滤条件的数据。 - * - * @param filter 过滤对象。 - * @return 删除数量。 - */ - @ApiOperation(hidden = true, value = "deleteBy") - @PostMapping("/deleteBy") - public ResponseResult deleteBy(@RequestBody StudentClassDto filter) throws Exception { - return super.baseDeleteBy(MyModelUtil.copyTo(filter, StudentClass.class)); - } - - /** - * 复杂的查询调用,包括(in list)过滤,对象条件过滤,分页和排序等。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 分页数据集合对象。如MyQueryParam参数的分页属性为空,则不会执行分页操作,只是基于MyPageData对象返回数据结果。 - */ - @ApiOperation(hidden = true, value = "listBy") - @PostMapping("/listBy") - public ResponseResult> listBy(@RequestBody MyQueryParam queryParam) { - return super.baseListBy(queryParam, StudentClass.INSTANCE); - } - - /** - * 复杂的查询调用,包括(in list)过滤,对象条件过滤,分页和排序等。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 分页数据集合对象。如MyQueryParam参数的分页属性为空,则不会执行分页操作,只是基于MyPageData对象返回数据结果。 - */ - @ApiOperation(hidden = true, value = "listMapBy") - @PostMapping("/listMapBy") - public ResponseResult>> listMapBy(@RequestBody MyQueryParam queryParam) { - return super.baseListMapBy(queryParam, StudentClass.INSTANCE); - } - - /** - * 复杂的查询调用,仅返回单体记录。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含符合查询过滤条件的对象结果集。 - */ - @ApiOperation(hidden = true, value = "getBy") - @PostMapping("/getBy") - public ResponseResult getBy(@RequestBody MyQueryParam queryParam) { - return super.baseGetBy(queryParam, StudentClass.INSTANCE); - } - - /** - * 获取远程主对象中符合查询条件的数据数量。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含结果数量。 - */ - @ApiOperation(hidden = true, value = "countBy") - @PostMapping("/countBy") - public ResponseResult countBy(@RequestBody MyQueryParam queryParam) { - return super.baseCountBy(queryParam); - } - - /** - * 获取远程对象中符合查询条件的分组聚合计算Map列表。 - * - * @param aggregationParam 聚合参数。 - * @return 应该结果对象,包含聚合计算后的分组Map列表。 - */ - @ApiOperation(hidden = true, value = "aggregateBy") - @PostMapping("/aggregateBy") - public ResponseResult>> aggregateBy(@RequestBody MyAggregationParam aggregationParam) { - return super.baseAggregateBy(aggregationParam); - } - - /** - * 根据过滤字段和过滤集合,返回不存在的数据。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 不存在的数据集合。 - */ - @ApiOperation(hidden = true, value = "notExist") - @PostMapping("/notExist") - public ResponseResult> notExist(@RequestBody MyQueryParam queryParam) { - List notExistIdSet = service().notExist( - queryParam.getInFilterField(), queryParam.getInFilterValues(), true); - return ResponseResult.success(notExistIdSet); - } - - private ResponseResult doDelete(Long classId) { - String errorMessage; - // 验证关联Id的数据合法性 - StudentClass originalStudentClass = studentClassService.getById(classId); - if (originalStudentClass == null) { - // NOTE: 修改下面方括号中的话述 - errorMessage = "数据验证失败,当前 [对象] 并不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - if (!studentClassService.remove(classId)) { - errorMessage = "数据操作失败,删除的对象不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - return ResponseResult.success(); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/controller/StudentController.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/controller/StudentController.java deleted file mode 100644 index b1e91e6f..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/controller/StudentController.java +++ /dev/null @@ -1,420 +0,0 @@ -package com.orangeforms.courseclassservice.controller; - -import cn.jimmyshi.beanquery.BeanQuery; -import com.github.pagehelper.page.PageMethod; -import com.orangeforms.courseclassservice.model.*; -import com.orangeforms.courseclassservice.service.*; -import com.orangeforms.courseclassapi.dto.*; -import com.orangeforms.courseclassapi.vo.*; -import com.orangeforms.common.core.object.*; -import com.orangeforms.common.core.util.*; -import com.orangeforms.common.core.constant.*; -import com.orangeforms.common.core.base.controller.BaseController; -import com.orangeforms.common.core.base.service.IBaseService; -import com.orangeforms.common.core.annotation.MyRequestBody; -import com.orangeforms.common.log.annotation.OperationLog; -import com.orangeforms.common.log.model.constant.SysOperationLogType; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; -import io.swagger.annotations.*; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.*; - -/** - * 学生数据操作控制器类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Api(tags = "学生数据管理接口") -@Slf4j -@RestController -@RequestMapping("/student") -public class StudentController extends BaseController { - - @Autowired - private StudentService studentService; - - @Override - protected IBaseService service() { - return studentService; - } - - /** - * 新增学生数据数据。 - * - * @param studentDto 新增对象。 - * @return 应答结果对象,包含新增对象主键Id。 - */ - @ApiOperationSupport(ignoreParameters = { - "studentDto.studentId", - "studentDto.searchString", - "studentDto.birthdayStart", - "studentDto.birthdayEnd", - "studentDto.registerTimeStart", - "studentDto.registerTimeEnd"}) - @OperationLog(type = SysOperationLogType.ADD) - @PostMapping("/add") - public ResponseResult add(@MyRequestBody StudentDto studentDto) { - String errorMessage = MyCommonUtil.getModelValidationError(studentDto, false); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - Student student = MyModelUtil.copyTo(studentDto, Student.class); - // 验证关联Id的数据合法性 - CallResult callResult = studentService.verifyAllRelatedData(student, null); - if (!callResult.isSuccess()) { - return ResponseResult.errorFrom(callResult); - } - student = studentService.saveNew(student); - return ResponseResult.success(student.getStudentId()); - } - - /** - * 更新学生数据数据。 - * - * @param studentDto 更新对象。 - * @return 应答结果对象。 - */ - @ApiOperationSupport(ignoreParameters = { - "StudentDto.searchString", - "StudentDto.birthdayStart", - "StudentDto.birthdayEnd", - "StudentDto.registerTimeStart", - "StudentDto.registerTimeEnd"}) - @OperationLog(type = SysOperationLogType.UPDATE) - @PostMapping("/update") - public ResponseResult update(@MyRequestBody StudentDto studentDto) { - String errorMessage = MyCommonUtil.getModelValidationError(studentDto, true); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - Student student = MyModelUtil.copyTo(studentDto, Student.class); - Student originalStudent = studentService.getById(student.getStudentId()); - if (originalStudent == null) { - // NOTE: 修改下面方括号中的话述 - errorMessage = "数据验证失败,当前 [数据] 并不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - // 验证关联Id的数据合法性 - CallResult callResult = studentService.verifyAllRelatedData(student, originalStudent); - if (!callResult.isSuccess()) { - return ResponseResult.errorFrom(callResult); - } - if (!studentService.update(student, originalStudent)) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - return ResponseResult.success(); - } - - /** - * 删除学生数据数据。 - * - * @param studentId 删除对象主键Id。 - * @return 应答结果对象。 - */ - @OperationLog(type = SysOperationLogType.DELETE) - @PostMapping("/delete") - public ResponseResult delete(@MyRequestBody Long studentId) { - String errorMessage; - if (MyCommonUtil.existBlankArgument(studentId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - return this.doDelete(studentId); - } - - /** - * 列出符合过滤条件的学生数据列表。 - * - * @param studentDtoFilter 过滤对象。 - * @param orderParam 排序参数。 - * @param pageParam 分页参数。 - * @return 应答结果对象,包含查询结果集。 - */ - @PostMapping("/list") - public ResponseResult> list( - @MyRequestBody StudentDto studentDtoFilter, - @MyRequestBody MyOrderParam orderParam, - @MyRequestBody MyPageParam pageParam) { - if (pageParam != null) { - PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - Student studentFilter = MyModelUtil.copyTo(studentDtoFilter, Student.class); - String orderBy = MyOrderParam.buildOrderBy(orderParam, Student.class); - List studentList = studentService.getStudentListWithRelation(studentFilter, orderBy); - return ResponseResult.success(MyPageUtil.makeResponseData(studentList, Student.INSTANCE)); - } - - /** - * 查看指定学生数据对象详情。 - * - * @param studentId 指定对象主键Id。 - * @return 应答结果对象,包含对象详情。 - */ - @GetMapping("/view") - public ResponseResult view(@RequestParam Long studentId) { - if (MyCommonUtil.existBlankArgument(studentId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - Student student = studentService.getByIdWithRelation(studentId, MyRelationParam.full()); - if (student == null) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - StudentVo studentVo = Student.INSTANCE.fromModel(student); - return ResponseResult.success(studentVo); - } - - /** - * 以字典形式返回全部学生数据数据集合。字典的键值为[studentId, studentName]。 - * 白名单接口,登录用户均可访问。 - * - * @param filter 过滤对象。 - * @return 应答结果对象,包含字典形式的数据集合。 - */ - @GetMapping("/listDict") - public ResponseResult>> listDict(Student filter) { - List resultList = studentService.getListByFilter(filter); - return ResponseResult.success( - BeanQuery.select("studentId as id", "studentName as name").executeFrom(resultList)); - } - - /** - * 根据字典Id集合,获取查询后的字典数据。 - * - * @param dictIds 字典Id集合。 - * @return 应答结果对象,包含字典形式的数据集合。 - */ - @PostMapping("/listDictByIds") - public ResponseResult>> listDictByIds( - @MyRequestBody(elementType = Long.class) List dictIds) { - List resultList = studentService.getInList(new HashSet<>(dictIds)); - return ResponseResult.success( - BeanQuery.select("studentId as id", "studentName as name").executeFrom(resultList)); - } - - /** - * 根据主键Id集合,获取数据对象集合。仅限于微服务间远程接口调用。 - * - * @param studentIds 主键Id集合。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象集合。 - */ - @ApiOperation(hidden = true, value = "listByIds") - @PostMapping("/listByIds") - public ResponseResult> listByIds( - @RequestParam Set studentIds, @RequestParam Boolean withDict) { - return super.baseListByIds(studentIds, withDict, Student.INSTANCE); - } - - /** - * 根据主键Id,获取数据对象。仅限于微服务间远程接口调用。 - * - * @param studentId 主键Id。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象数据。 - */ - @ApiOperation(hidden = true, value = "getById") - @PostMapping("/getById") - public ResponseResult getById( - @RequestParam Long studentId, @RequestParam Boolean withDict) { - return super.baseGetById(studentId, withDict, Student.INSTANCE); - } - - /** - * 判断参数列表中指定的主键Id集合,是否全部存在。仅限于微服务间远程接口调用。 - * - * @param studentIds 主键Id集合。 - * @return 应答结果对象,包含true全部存在,否则false。 - */ - @ApiOperation(hidden = true, value = "existIds") - @PostMapping("/existIds") - public ResponseResult existIds(@RequestParam Set studentIds) { - return super.baseExistIds(studentIds); - } - - /** - * 判断参数列表中指定的主键Id是否存在。仅限于微服务间远程接口调用。 - * - * @param studentId 主键Id。 - * @return 应答结果对象,包含true表示存在,否则false。 - */ - @ApiOperation(hidden = true, value = "existId") - @PostMapping("/existId") - public ResponseResult existId(@RequestParam Long studentId) { - return super.baseExistId(studentId); - } - - /** - * 保存或更新数据。 - * - * @param data 主键Id为null时表示新增数据,否则更新数据。 - * @return 应答结果对象,主键Id。 - */ - @ApiOperation(hidden = true, value = "saveNewOrUpdate") - @PostMapping("/saveNewOrUpdate") - public ResponseResult saveNewOrUpdate(@RequestBody StudentDto data) { - Student student = MyModelUtil.copyTo(data, Student.class); - service().saveNewOrUpdate(student, studentService::saveNew, studentService::update); - return ResponseResult.success(Student.INSTANCE.fromModel(student)); - } - - /** - * 批量新增或保存数据列表。 - * - * @param dataList 数据列表。主键Id为null时表示新增数据,否则更新数据。 - * @return 应答结果对象。 - */ - @ApiOperation(hidden = true, value = "saveNewOrUpdateBatch") - @PostMapping("/saveNewOrUpdateBatch") - public ResponseResult saveNewOrUpdateBatch(@RequestBody List dataList) { - List studentList = MyModelUtil.copyCollectionTo(dataList, Student.class); - service().saveNewOrUpdateBatch(studentList, studentService::saveNewBatch, studentService::update); - return ResponseResult.success(); - } - - /** - * 根据最新对象列表和原有对象的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param data 数据对象。 - * 主键有值是视为更新操作的数据比对,因此仅当关联Id变化时才会验证。 - * 主键为空视为新增操作的数据比对,所有关联Id都会被验证。 - * @return 应答结果对象。 - */ - @ApiOperation(hidden = true, value = "verifyRelatedData") - @PostMapping("/verifyRelatedData") - public ResponseResult verifyRelatedData(@RequestBody StudentDto data) { - Student student = MyModelUtil.copyTo(data, Student.class); - return super.baseVerifyRelatedData(student, Student::getStudentId); - } - - /** - * 根据最新对象列表和原有对象列表的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param dataList 数据对象列表。 - * @return 应答结果对象。 - */ - @ApiOperation(hidden = true, value = "verifyRelatedDataList") - @PostMapping("/verifyRelatedDataList") - public ResponseResult verifyRelatedDataList(@RequestBody List dataList) { - List studentList = MyModelUtil.copyCollectionTo(dataList, Student.class); - return super.baseVerifyRelatedDataList(studentList, Student::getStudentId); - } - - /** - * 根据主键Id删除数据。 - * - * @param studentId 主键Id。 - * @return 删除数量。 - */ - @ApiOperation(hidden = true, value = "deleteById") - @PostMapping("/deleteById") - public ResponseResult deleteById(@RequestParam Long studentId) throws Exception { - Student filter = new Student(); - filter.setStudentId(studentId); - return super.baseDeleteBy(filter); - } - - /** - * 删除符合过滤条件的数据。 - * - * @param filter 过滤对象。 - * @return 删除数量。 - */ - @ApiOperation(hidden = true, value = "deleteBy") - @PostMapping("/deleteBy") - public ResponseResult deleteBy(@RequestBody StudentDto filter) throws Exception { - return super.baseDeleteBy(MyModelUtil.copyTo(filter, Student.class)); - } - - /** - * 复杂的查询调用,包括(in list)过滤,对象条件过滤,分页和排序等。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 分页数据集合对象。如MyQueryParam参数的分页属性为空,则不会执行分页操作,只是基于MyPageData对象返回数据结果。 - */ - @ApiOperation(hidden = true, value = "listBy") - @PostMapping("/listBy") - public ResponseResult> listBy(@RequestBody MyQueryParam queryParam) { - return super.baseListBy(queryParam, Student.INSTANCE); - } - - /** - * 复杂的查询调用,包括(in list)过滤,对象条件过滤,分页和排序等。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 分页数据集合对象。如MyQueryParam参数的分页属性为空,则不会执行分页操作,只是基于MyPageData对象返回数据结果。 - */ - @ApiOperation(hidden = true, value = "listMapBy") - @PostMapping("/listMapBy") - public ResponseResult>> listMapBy(@RequestBody MyQueryParam queryParam) { - return super.baseListMapBy(queryParam, Student.INSTANCE); - } - - /** - * 复杂的查询调用,仅返回单体记录。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含符合查询过滤条件的对象结果集。 - */ - @ApiOperation(hidden = true, value = "getBy") - @PostMapping("/getBy") - public ResponseResult getBy(@RequestBody MyQueryParam queryParam) { - return super.baseGetBy(queryParam, Student.INSTANCE); - } - - /** - * 获取远程主对象中符合查询条件的数据数量。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含结果数量。 - */ - @ApiOperation(hidden = true, value = "countBy") - @PostMapping("/countBy") - public ResponseResult countBy(@RequestBody MyQueryParam queryParam) { - return super.baseCountBy(queryParam); - } - - /** - * 获取远程对象中符合查询条件的分组聚合计算Map列表。 - * - * @param aggregationParam 聚合参数。 - * @return 应该结果对象,包含聚合计算后的分组Map列表。 - */ - @ApiOperation(hidden = true, value = "aggregateBy") - @PostMapping("/aggregateBy") - public ResponseResult>> aggregateBy(@RequestBody MyAggregationParam aggregationParam) { - return super.baseAggregateBy(aggregationParam); - } - - /** - * 根据过滤字段和过滤集合,返回不存在的数据。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 不存在的数据集合。 - */ - @ApiOperation(hidden = true, value = "notExist") - @PostMapping("/notExist") - public ResponseResult> notExist(@RequestBody MyQueryParam queryParam) { - List notExistIdSet = service().notExist( - queryParam.getInFilterField(), queryParam.getInFilterValues(), true); - return ResponseResult.success(notExistIdSet); - } - - private ResponseResult doDelete(Long studentId) { - String errorMessage; - // 验证关联Id的数据合法性 - Student originalStudent = studentService.getById(studentId); - if (originalStudent == null) { - // NOTE: 修改下面方括号中的话述 - errorMessage = "数据验证失败,当前 [对象] 并不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - if (!studentService.remove(studentId)) { - errorMessage = "数据操作失败,删除的对象不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - return ResponseResult.success(); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/AreaCodeMapper.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/AreaCodeMapper.java deleted file mode 100644 index 4dd54588..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/AreaCodeMapper.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.orangeforms.courseclassservice.dao; - -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.courseclassservice.model.AreaCode; - -/** - * 行政区划数据操作访问接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface AreaCodeMapper extends BaseDaoMapper { -} \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/ClassCourseMapper.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/ClassCourseMapper.java deleted file mode 100644 index 03195920..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/ClassCourseMapper.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.orangeforms.courseclassservice.dao; - -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.courseclassservice.model.ClassCourse; - -import java.util.*; - -/** - * 数据操作访问接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface ClassCourseMapper extends BaseDaoMapper { - - /** - * 批量插入对象列表。 - * - * @param classCourseList 新增对象列表。 - */ - void insertList(List classCourseList); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/ClassStudentMapper.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/ClassStudentMapper.java deleted file mode 100644 index 3ed0ae7d..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/ClassStudentMapper.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.orangeforms.courseclassservice.dao; - -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.courseclassservice.model.ClassStudent; - -import java.util.*; - -/** - * 数据操作访问接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface ClassStudentMapper extends BaseDaoMapper { - - /** - * 批量插入对象列表。 - * - * @param classStudentList 新增对象列表。 - */ - void insertList(List classStudentList); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/CourseMapper.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/CourseMapper.java deleted file mode 100644 index 2f9eda3b..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/CourseMapper.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.orangeforms.courseclassservice.dao; - -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.courseclassservice.model.Course; -import org.apache.ibatis.annotations.Param; - -import java.util.*; - -/** - * 课程数据数据操作访问接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface CourseMapper extends BaseDaoMapper { - - /** - * 批量插入对象列表。 - * - * @param courseList 新增对象列表。 - */ - void insertList(List courseList); - - /** - * 获取过滤后的对象列表。 - * - * @param inFilterColumn 参与(In-list)过滤的数据表列。 - * @param inFilterValues 参与(In-list)过滤的数据表列值集合。 - * @param courseFilter 过滤对象。 - * @param orderBy 排序字符串,order by从句的参数。 - * @return 对象列表。 - */ - List getCourseList( - @Param("inFilterColumn") String inFilterColumn, - @Param("inFilterValues") Set inFilterValues, - @Param("courseFilter") Course courseFilter, - @Param("orderBy") String orderBy); - - /** - * 获取对象列表,过滤条件中包含like和between条件,以及指定属性的(in list)过滤条件。 - * - * @param inFilterColumn 参与(In-list)过滤的数据表列。 - * @param inFilterValues 参与(In-list)过滤的数据表列值集合。 - * @param courseFilter 过滤对象。 - * @return 对象列表。 - */ - Integer getCourseCount( - @Param("inFilterColumn") String inFilterColumn, - @Param("inFilterValues") Set inFilterValues, - @Param("courseFilter") Course courseFilter); - - /** - * 根据关联主表Id,获取关联从表数据列表。 - * - * @param classId 关联主表Id。 - * @param courseFilter 从表过滤对象。 - * @param orderBy 排序字符串,order by从句的参数。 - * @return 从表数据列表。 - */ - List getCourseListByClassId( - @Param("classId") Long classId, - @Param("courseFilter") Course courseFilter, - @Param("orderBy") String orderBy); - - /** - * 根据关联主表Id,获取关联从表中没有和主表建立关联关系的数据列表。 - * - * @param classId 关联主表Id。 - * @param courseFilter 过滤对象。 - * @param orderBy 排序字符串,order by从句的参数。 - * @return 与主表没有建立关联的从表数据列表。 - */ - List getNotInCourseListByClassId( - @Param("classId") Long classId, - @Param("courseFilter") Course courseFilter, - @Param("orderBy") String orderBy); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/GradeMapper.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/GradeMapper.java deleted file mode 100644 index b842b8bb..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/GradeMapper.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.orangeforms.courseclassservice.dao; - -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.courseclassservice.model.Grade; - -import java.util.*; - -/** - * 年级数据操作访问接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface GradeMapper extends BaseDaoMapper { - - /** - * 批量插入对象列表。 - * - * @param gradeList 新增对象列表。 - */ - void insertList(List gradeList); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/MaterialEditionMapper.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/MaterialEditionMapper.java deleted file mode 100644 index 3a6ee2b5..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/MaterialEditionMapper.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.orangeforms.courseclassservice.dao; - -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.courseclassservice.model.MaterialEdition; - -import java.util.*; - -/** - * 数据操作访问接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface MaterialEditionMapper extends BaseDaoMapper { - - /** - * 批量插入对象列表。 - * - * @param materialEditionList 新增对象列表。 - */ - void insertList(List materialEditionList); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/StudentClassMapper.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/StudentClassMapper.java deleted file mode 100644 index c293eff5..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/StudentClassMapper.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.orangeforms.courseclassservice.dao; - -import com.orangeforms.common.core.annotation.EnableDataPerm; -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.courseclassservice.model.StudentClass; -import org.apache.ibatis.annotations.Param; - -import java.util.*; - -/** - * 班级数据数据操作访问接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -@EnableDataPerm -public interface StudentClassMapper extends BaseDaoMapper { - - /** - * 批量插入对象列表。 - * - * @param studentClassList 新增对象列表。 - */ - void insertList(List studentClassList); - - /** - * 获取过滤后的对象列表。 - * - * @param inFilterColumn 参与(In-list)过滤的数据表列。 - * @param inFilterValues 参与(In-list)过滤的数据表列值集合。 - * @param studentClassFilter 过滤对象。 - * @param orderBy 排序字符串,order by从句的参数。 - * @return 对象列表。 - */ - List getStudentClassList( - @Param("inFilterColumn") String inFilterColumn, - @Param("inFilterValues") Set inFilterValues, - @Param("studentClassFilter") StudentClass studentClassFilter, - @Param("orderBy") String orderBy); - - /** - * 获取对象列表,过滤条件中包含like和between条件,以及指定属性的(in list)过滤条件。 - * - * @param inFilterColumn 参与(In-list)过滤的数据表列。 - * @param inFilterValues 参与(In-list)过滤的数据表列值集合。 - * @param studentClassFilter 过滤对象。 - * @return 对象列表。 - */ - Integer getStudentClassCount( - @Param("inFilterColumn") String inFilterColumn, - @Param("inFilterValues") Set inFilterValues, - @Param("studentClassFilter") StudentClass studentClassFilter); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/StudentMapper.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/StudentMapper.java deleted file mode 100644 index 3c503352..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/StudentMapper.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.orangeforms.courseclassservice.dao; - -import com.orangeforms.common.core.annotation.EnableDataPerm; -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.courseclassservice.model.Student; -import org.apache.ibatis.annotations.Param; - -import java.util.*; - -/** - * 学生数据数据操作访问接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -@EnableDataPerm -public interface StudentMapper extends BaseDaoMapper { - - /** - * 批量插入对象列表。 - * - * @param studentList 新增对象列表。 - */ - void insertList(List studentList); - - /** - * 获取过滤后的对象列表。 - * - * @param inFilterColumn 参与(In-list)过滤的数据表列。 - * @param inFilterValues 参与(In-list)过滤的数据表列值集合。 - * @param studentFilter 过滤对象。 - * @param orderBy 排序字符串,order by从句的参数。 - * @return 对象列表。 - */ - List getStudentList( - @Param("inFilterColumn") String inFilterColumn, - @Param("inFilterValues") Set inFilterValues, - @Param("studentFilter") Student studentFilter, - @Param("orderBy") String orderBy); - - /** - * 获取对象列表,过滤条件中包含like和between条件,以及指定属性的(in list)过滤条件。 - * - * @param inFilterColumn 参与(In-list)过滤的数据表列。 - * @param inFilterValues 参与(In-list)过滤的数据表列值集合。 - * @param studentFilter 过滤对象。 - * @return 对象列表。 - */ - Integer getStudentCount( - @Param("inFilterColumn") String inFilterColumn, - @Param("inFilterValues") Set inFilterValues, - @Param("studentFilter") Student studentFilter); - - /** - * 根据关联主表Id,获取关联从表数据列表。 - * - * @param classId 关联主表Id。 - * @param studentFilter 从表过滤对象。 - * @param orderBy 排序字符串,order by从句的参数。 - * @return 从表数据列表。 - */ - List getStudentListByClassId( - @Param("classId") Long classId, - @Param("studentFilter") Student studentFilter, - @Param("orderBy") String orderBy); - - /** - * 根据关联主表Id,获取关联从表中没有和主表建立关联关系的数据列表。 - * - * @param classId 关联主表Id。 - * @param studentFilter 过滤对象。 - * @param orderBy 排序字符串,order by从句的参数。 - * @return 与主表没有建立关联的从表数据列表。 - */ - List getNotInStudentListByClassId( - @Param("classId") Long classId, - @Param("studentFilter") Student studentFilter, - @Param("orderBy") String orderBy); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/mapper/AreaCodeMapper.xml b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/mapper/AreaCodeMapper.xml deleted file mode 100644 index e98e1b3b..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/mapper/AreaCodeMapper.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/mapper/ClassCourseMapper.xml b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/mapper/ClassCourseMapper.xml deleted file mode 100644 index 1662a7ca..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/mapper/ClassCourseMapper.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - INSERT INTO zz_class_course - (class_id, - course_id, - course_order) - VALUES - - (#{item.classId}, - #{item.courseId}, - #{item.courseOrder}) - - - diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/mapper/ClassStudentMapper.xml b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/mapper/ClassStudentMapper.xml deleted file mode 100644 index c61749f2..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/mapper/ClassStudentMapper.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - INSERT INTO zz_class_student - (class_id, - student_id) - VALUES - - (#{item.classId}, - #{item.studentId}) - - - diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/mapper/CourseMapper.xml b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/mapper/CourseMapper.xml deleted file mode 100644 index e7e66b12..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/mapper/CourseMapper.xml +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - INSERT INTO zz_course - (course_id, - course_name, - price, - description, - difficulty, - grade_id, - subject_id, - class_hour, - picture_url, - create_user_id, - create_time, - update_time) - VALUES - - (#{item.courseId}, - #{item.courseName}, - #{item.price}, - #{item.description}, - #{item.difficulty}, - #{item.gradeId}, - #{item.subjectId}, - #{item.classHour}, - #{item.pictureUrl}, - #{item.createUserId}, - #{item.createTime}, - #{item.updateTime}) - - - - - - - - - - - - - - - AND zz_course.course_name LIKE #{safeCourseCourseName} - - - AND zz_course.price >= #{courseFilter.priceStart} - - - AND zz_course.price <= #{courseFilter.priceEnd} - - - AND zz_course.difficulty = #{courseFilter.difficulty} - - - AND zz_course.grade_id = #{courseFilter.gradeId} - - - AND zz_course.subject_id = #{courseFilter.subjectId} - - - AND zz_course.class_hour >= #{courseFilter.classHourStart} - - - AND zz_course.class_hour <= #{courseFilter.classHourEnd} - - - AND zz_course.update_time >= #{courseFilter.updateTimeStart} - - - AND zz_course.update_time <= #{courseFilter.updateTimeEnd} - - - - - - - - - - - - diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/mapper/GradeMapper.xml b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/mapper/GradeMapper.xml deleted file mode 100644 index 4f08cdbc..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/mapper/GradeMapper.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - INSERT INTO zz_grade - (grade_id, - grade_name, - status) - VALUES - - (#{item.gradeId}, - #{item.gradeName}, - #{item.status}) - - - diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/mapper/MaterialEditionMapper.xml b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/mapper/MaterialEditionMapper.xml deleted file mode 100644 index 20fccd91..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/mapper/MaterialEditionMapper.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - INSERT INTO zz_material_edition - (edition_id, - edition_name, - status) - VALUES - - (#{item.editionId}, - #{item.editionName}, - #{item.status}) - - - diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/mapper/StudentClassMapper.xml b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/mapper/StudentClassMapper.xml deleted file mode 100644 index 85543da4..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/mapper/StudentClassMapper.xml +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - - - - - - - - - - - INSERT INTO zz_class - (class_id, - class_name, - school_id, - leader_id, - finish_class_hour, - class_level, - create_user_id, - create_time, - status) - VALUES - - (#{item.classId}, - #{item.className}, - #{item.schoolId}, - #{item.leaderId}, - #{item.finishClassHour}, - #{item.classLevel}, - #{item.createUserId}, - #{item.createTime}, - #{item.status}) - - - - - - - - AND zz_class.status = ${@com.orangeforms.common.core.constant.GlobalDeletedFlag@NORMAL} - - - - - - - AND zz_class.class_name = #{studentClassFilter.className} - - - AND zz_class.school_id = #{studentClassFilter.schoolId} - - - AND zz_class.class_level = #{studentClassFilter.classLevel} - - - - - - - - diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/mapper/StudentMapper.xml b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/mapper/StudentMapper.xml deleted file mode 100644 index 60384987..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/dao/mapper/StudentMapper.xml +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - INSERT INTO zz_student - (student_id, - login_mobile, - student_name, - province_id, - city_id, - district_id, - gender, - birthday, - experience_level, - total_coin, - left_coin, - grade_id, - school_id, - register_time, - status) - VALUES - - (#{item.studentId}, - #{item.loginMobile}, - #{item.studentName}, - #{item.provinceId}, - #{item.cityId}, - #{item.districtId}, - #{item.gender}, - #{item.birthday}, - #{item.experienceLevel}, - #{item.totalCoin}, - #{item.leftCoin}, - #{item.gradeId}, - #{item.schoolId}, - #{item.registerTime}, - #{item.status}) - - - - - - - - - - - - - - AND zz_student.province_id = #{studentFilter.provinceId} - - - AND zz_student.city_id = #{studentFilter.cityId} - - - AND zz_student.district_id = #{studentFilter.districtId} - - - AND zz_student.birthday >= #{studentFilter.birthdayStart} - - - AND zz_student.birthday <= #{studentFilter.birthdayEnd} - - - AND zz_student.grade_id = #{studentFilter.gradeId} - - - AND zz_student.school_id = #{studentFilter.schoolId} - - - AND zz_student.register_time >= #{studentFilter.registerTimeStart} - - - AND zz_student.register_time <= #{studentFilter.registerTimeEnd} - - - AND zz_student.status = #{studentFilter.status} - - - - AND CONCAT(IFNULL(zz_student.login_mobile,''), IFNULL(zz_student.student_name,'')) LIKE #{safeStudentSearchString} - - - - - - - - - - - - diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/model/AreaCode.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/model/AreaCode.java deleted file mode 100644 index 1f2cda81..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/model/AreaCode.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.orangeforms.courseclassservice.model; - -import com.baomidou.mybatisplus.annotation.*; -import lombok.Data; - -/** - * 行政区划实体对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@TableName(value = "zz_area_code") -public class AreaCode { - - /** - * 行政区划主键Id - */ - @TableId(value = "area_id") - private Long areaId; - - /** - * 行政区划名称 - */ - @TableField(value = "area_name") - private String areaName; - - /** - * 行政区划级别 (1: 省级别 2: 市级别 3: 区级别) - */ - @TableField(value = "area_level") - private Integer areaLevel; - - /** - * 父级行政区划Id - */ - @TableField(value = "parent_id") - private Long parentId; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/model/ClassCourse.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/model/ClassCourse.java deleted file mode 100644 index 79f166ff..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/model/ClassCourse.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.orangeforms.courseclassservice.model; - -import com.baomidou.mybatisplus.annotation.*; -import lombok.Data; - -/** - * ClassCourse实体对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@TableName(value = "zz_class_course") -public class ClassCourse { - - /** - * 班级Id。 - */ - @TableField(value = "class_id") - private Long classId; - - /** - * 课程Id。 - */ - @TableField(value = "course_id") - private Long courseId; - - /** - * 课程顺序(数值越小越靠前)。 - */ - @TableField(value = "course_order") - private Integer courseOrder; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/model/ClassStudent.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/model/ClassStudent.java deleted file mode 100644 index 3dab89c3..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/model/ClassStudent.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.orangeforms.courseclassservice.model; - -import com.baomidou.mybatisplus.annotation.*; -import lombok.Data; - -/** - * ClassStudent实体对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@TableName(value = "zz_class_student") -public class ClassStudent { - - /** - * 班级Id。 - */ - @TableField(value = "class_id") - private Long classId; - - /** - * 学生Id。 - */ - @TableField(value = "student_id") - private Long studentId; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/model/Course.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/model/Course.java deleted file mode 100644 index 2f121721..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/model/Course.java +++ /dev/null @@ -1,183 +0,0 @@ -package com.orangeforms.courseclassservice.model; - -import com.baomidou.mybatisplus.annotation.*; -import com.orangeforms.courseclassapi.vo.CourseVo; -import com.orangeforms.courseclassapi.constant.CourseDifficult; -import com.orangeforms.application.common.constant.Subject; -import com.orangeforms.common.core.upload.UploadStoreTypeEnum; -import com.orangeforms.common.core.annotation.*; -import com.orangeforms.common.core.base.mapper.BaseModelMapper; -import lombok.Data; -import org.mapstruct.*; -import org.mapstruct.factory.Mappers; - -import java.math.BigDecimal; -import java.util.Date; -import java.util.Map; - -/** - * Course实体对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@TableName(value = "zz_course") -public class Course { - - /** - * 主键Id。 - */ - @TableId(value = "course_id") - private Long courseId; - - /** - * 课程名称。 - */ - @TableField(value = "course_name") - private String courseName; - - /** - * 课程价格。 - */ - private BigDecimal price; - - /** - * 课程描述。 - */ - private String description; - - /** - * 课程难度(0: 容易 1: 普通 2: 很难)。 - */ - private Integer difficulty; - - /** - * 年级Id。 - */ - @TableField(value = "grade_id") - private Integer gradeId; - - /** - * 学科Id。 - */ - @TableField(value = "subject_id") - private Integer subjectId; - - /** - * 课时数量。 - */ - @TableField(value = "class_hour") - private Integer classHour; - - /** - * 多张课程图片地址。 - */ - @UploadFlagColumn(storeType = UploadStoreTypeEnum.LOCAL_SYSTEM) - @TableField(value = "picture_url") - private String pictureUrl; - - /** - * 创建用户Id。 - */ - @TableField(value = "create_user_id") - private Long createUserId; - - /** - * 创建时间。 - */ - @TableField(value = "create_time") - private Date createTime; - - /** - * 最后修改时间。 - */ - @TableField(value = "update_time") - private Date updateTime; - - /** - * price 范围过滤起始值(>=)。 - */ - @TableField(exist = false) - private BigDecimal priceStart; - - /** - * price 范围过滤结束值(<=)。 - */ - @TableField(exist = false) - private BigDecimal priceEnd; - - /** - * classHour 范围过滤起始值(>=)。 - */ - @TableField(exist = false) - private Integer classHourStart; - - /** - * classHour 范围过滤结束值(<=)。 - */ - @TableField(exist = false) - private Integer classHourEnd; - - /** - * updateTime 范围过滤起始值(>=)。 - */ - @TableField(exist = false) - private String updateTimeStart; - - /** - * updateTime 范围过滤结束值(<=)。 - */ - @TableField(exist = false) - private String updateTimeEnd; - - /** - * courseId 的多对多关联表数据对象。 - */ - @TableField(exist = false) - private ClassCourse classCourse; - - @RelationDict( - masterIdField = "gradeId", - slaveServiceName = "gradeService", - slaveModelClass = Grade.class, - slaveIdField = "gradeId", - slaveNameField = "gradeName") - @TableField(exist = false) - private Map gradeIdDictMap; - - @RelationConstDict( - masterIdField = "difficulty", - constantDictClass = CourseDifficult.class) - @TableField(exist = false) - private Map difficultyDictMap; - - @RelationConstDict( - masterIdField = "subjectId", - constantDictClass = Subject.class) - @TableField(exist = false) - private Map subjectIdDictMap; - - @Mapper - public interface CourseModelMapper extends BaseModelMapper { - /** - * 转换Vo对象到实体对象。 - * - * @param courseVo 域对象。 - * @return 实体对象。 - */ - @Mapping(target = "classCourse", expression = "java(mapToBean(courseVo.getClassCourse(), com.orangeforms.courseclassservice.model.ClassCourse.class))") - @Override - Course toModel(CourseVo courseVo); - /** - * 转换实体对象到VO对象。 - * - * @param course 实体对象。 - * @return 域对象。 - */ - @Mapping(target = "classCourse", expression = "java(beanToMap(course.getClassCourse(), false))") - @Override - CourseVo fromModel(Course course); - } - public static final CourseModelMapper INSTANCE = Mappers.getMapper(CourseModelMapper.class); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/model/Grade.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/model/Grade.java deleted file mode 100644 index 484b3864..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/model/Grade.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.orangeforms.courseclassservice.model; - -import com.baomidou.mybatisplus.annotation.*; -import lombok.Data; - -/** - * Grade实体对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@TableName(value = "zz_grade") -public class Grade { - - /** - * 主键Id。 - */ - @TableId(value = "grade_id", type = IdType.AUTO) - private Integer gradeId; - - /** - * 年级名称。 - */ - @TableField(value = "grade_name") - private String gradeName; - - /** - * 逻辑删除标记字段(1: 正常 -1: 已删除)。 - */ - @TableLogic - private Integer status; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/model/MaterialEdition.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/model/MaterialEdition.java deleted file mode 100644 index 9a53696d..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/model/MaterialEdition.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.orangeforms.courseclassservice.model; - -import com.baomidou.mybatisplus.annotation.*; -import lombok.Data; - -/** - * MaterialEdition实体对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@TableName(value = "zz_material_edition") -public class MaterialEdition { - - /** - * 主键Id。 - */ - @TableId(value = "edition_id", type = IdType.AUTO) - private Integer editionId; - - /** - * 教材版本名称。 - */ - @TableField(value = "edition_name") - private String editionName; - - /** - * 是否正在使用(0:不是,1:是)。 - */ - private Integer status; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/model/Student.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/model/Student.java deleted file mode 100644 index 575f3ab9..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/model/Student.java +++ /dev/null @@ -1,235 +0,0 @@ -package com.orangeforms.courseclassservice.model; - -import com.baomidou.mybatisplus.annotation.*; -import com.orangeforms.courseclassapi.vo.StudentVo; -import com.orangeforms.upmsapi.client.SysDeptClient; -import com.orangeforms.upmsapi.vo.SysDeptVo; -import com.orangeforms.application.common.constant.Gender; -import com.orangeforms.application.common.constant.ExpLevel; -import com.orangeforms.application.common.constant.StudentStatus; -import com.orangeforms.common.core.annotation.*; -import com.orangeforms.common.core.base.mapper.BaseModelMapper; -import com.orangeforms.common.core.util.MyCommonUtil; -import lombok.Data; -import org.mapstruct.*; -import org.mapstruct.factory.Mappers; - -import java.util.Date; -import java.util.Map; - -/** - * Student实体对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@TableName(value = "zz_student") -public class Student { - - /** - * 学生Id。 - */ - @TableId(value = "student_id") - private Long studentId; - - /** - * 登录手机。 - */ - @TableField(value = "login_mobile") - private String loginMobile; - - /** - * 学生姓名。 - */ - @TableField(value = "student_name") - private String studentName; - - /** - * 所在省份Id。 - */ - @TableField(value = "province_id") - private Long provinceId; - - /** - * 所在城市Id。 - */ - @TableField(value = "city_id") - private Long cityId; - - /** - * 区县Id。 - */ - @TableField(value = "district_id") - private Long districtId; - - /** - * 学生性别 (0: 女生 1: 男生)。 - */ - private Integer gender; - - /** - * 生日。 - */ - private Date birthday; - - /** - * 经验等级 (0: 初级 1: 中级 2: 高级 3: 资深)。 - */ - @TableField(value = "experience_level") - private Integer experienceLevel; - - /** - * 总共充值学币数量。 - */ - @TableField(value = "total_coin") - private Integer totalCoin; - - /** - * 可用学币数量。 - */ - @TableField(value = "left_coin") - private Integer leftCoin; - - /** - * 年级Id。 - */ - @TableField(value = "grade_id") - private Integer gradeId; - - /** - * 校区Id。 - */ - @DeptFilterColumn - @TableField(value = "school_id") - private Long schoolId; - - /** - * 注册时间。 - */ - @TableField(value = "register_time") - private Date registerTime; - - /** - * 学生状态 (0: 正常 1: 锁定 2: 注销)。 - */ - private Integer status; - - /** - * birthday 范围过滤起始值(>=)。 - */ - @TableField(exist = false) - private String birthdayStart; - - /** - * birthday 范围过滤结束值(<=)。 - */ - @TableField(exist = false) - private String birthdayEnd; - - /** - * registerTime 范围过滤起始值(>=)。 - */ - @TableField(exist = false) - private String registerTimeStart; - - /** - * registerTime 范围过滤结束值(<=)。 - */ - @TableField(exist = false) - private String registerTimeEnd; - - /** - * true LIKE搜索字符串。 - */ - @TableField(exist = false) - private String searchString; - - public void setSearchString(String searchString) { - this.searchString = MyCommonUtil.replaceSqlWildcard(searchString); - } - - @RelationDict( - masterIdField = "schoolId", - slaveClientClass = SysDeptClient.class, - slaveModelClass = SysDeptVo.class, - slaveIdField = "deptId", - slaveNameField = "deptName") - @TableField(exist = false) - private Map schoolIdDictMap; - - @RelationDict( - masterIdField = "provinceId", - slaveServiceName = "areaCodeService", - slaveModelClass = AreaCode.class, - slaveIdField = "areaId", - slaveNameField = "areaName") - @TableField(exist = false) - private Map provinceIdDictMap; - - @RelationDict( - masterIdField = "cityId", - slaveServiceName = "areaCodeService", - slaveModelClass = AreaCode.class, - slaveIdField = "areaId", - slaveNameField = "areaName") - @TableField(exist = false) - private Map cityIdDictMap; - - @RelationDict( - masterIdField = "districtId", - slaveServiceName = "areaCodeService", - slaveModelClass = AreaCode.class, - slaveIdField = "areaId", - slaveNameField = "areaName") - @TableField(exist = false) - private Map districtIdDictMap; - - @RelationDict( - masterIdField = "gradeId", - slaveServiceName = "gradeService", - slaveModelClass = Grade.class, - slaveIdField = "gradeId", - slaveNameField = "gradeName") - @TableField(exist = false) - private Map gradeIdDictMap; - - @RelationConstDict( - masterIdField = "gender", - constantDictClass = Gender.class) - @TableField(exist = false) - private Map genderDictMap; - - @RelationConstDict( - masterIdField = "experienceLevel", - constantDictClass = ExpLevel.class) - @TableField(exist = false) - private Map experienceLevelDictMap; - - @RelationConstDict( - masterIdField = "status", - constantDictClass = StudentStatus.class) - @TableField(exist = false) - private Map statusDictMap; - - @Mapper - public interface StudentModelMapper extends BaseModelMapper { - /** - * 转换Vo对象到实体对象。 - * - * @param studentVo 域对象。 - * @return 实体对象。 - */ - @Override - Student toModel(StudentVo studentVo); - /** - * 转换实体对象到VO对象。 - * - * @param student 实体对象。 - * @return 域对象。 - */ - @Override - StudentVo fromModel(Student student); - } - public static final StudentModelMapper INSTANCE = Mappers.getMapper(StudentModelMapper.class); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/model/StudentClass.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/model/StudentClass.java deleted file mode 100644 index 91a9da1f..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/model/StudentClass.java +++ /dev/null @@ -1,127 +0,0 @@ -package com.orangeforms.courseclassservice.model; - -import com.baomidou.mybatisplus.annotation.*; -import com.orangeforms.courseclassapi.vo.StudentClassVo; -import com.orangeforms.upmsapi.client.SysDeptClient; -import com.orangeforms.upmsapi.vo.SysDeptVo; -import com.orangeforms.courseclassapi.constant.ClassLevel; -import com.orangeforms.common.core.annotation.*; -import com.orangeforms.common.core.base.mapper.BaseModelMapper; -import lombok.Data; -import org.mapstruct.*; -import org.mapstruct.factory.Mappers; - -import java.util.Date; -import java.util.Map; - -/** - * StudentClass实体对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@TableName(value = "zz_class") -public class StudentClass { - - /** - * 班级Id。 - */ - @TableId(value = "class_id") - private Long classId; - - /** - * 班级名称。 - */ - @TableField(value = "class_name") - private String className; - - /** - * 学校Id。 - */ - @DeptFilterColumn - @TableField(value = "school_id") - private Long schoolId; - - /** - * 学生班长Id。 - */ - @TableField(value = "leader_id") - private Long leaderId; - - /** - * 已完成课时数量。 - */ - @TableField(value = "finish_class_hour") - private Integer finishClassHour; - - /** - * 班级级别(0: 初级班 1: 培优班 2: 冲刺提分班 3: 竞赛班)。 - */ - @TableField(value = "class_level") - private Integer classLevel; - - /** - * 创建用户。 - */ - @UserFilterColumn - @TableField(value = "create_user_id") - private Long createUserId; - - /** - * 班级创建时间。 - */ - @TableField(value = "create_time") - private Date createTime; - - /** - * 逻辑删除标记字段(1: 正常 -1: 已删除)。 - */ - @TableLogic - private Integer status; - - @RelationDict( - masterIdField = "schoolId", - slaveClientClass = SysDeptClient.class, - slaveModelClass = SysDeptVo.class, - slaveIdField = "deptId", - slaveNameField = "deptName") - @TableField(exist = false) - private Map schoolIdDictMap; - - @RelationDict( - masterIdField = "leaderId", - slaveServiceName = "studentService", - slaveModelClass = Student.class, - slaveIdField = "studentId", - slaveNameField = "studentName") - @TableField(exist = false) - private Map leaderIdDictMap; - - @RelationConstDict( - masterIdField = "classLevel", - constantDictClass = ClassLevel.class) - @TableField(exist = false) - private Map classLevelDictMap; - - @Mapper - public interface StudentClassModelMapper extends BaseModelMapper { - /** - * 转换Vo对象到实体对象。 - * - * @param studentClassVo 域对象。 - * @return 实体对象。 - */ - @Override - StudentClass toModel(StudentClassVo studentClassVo); - /** - * 转换实体对象到VO对象。 - * - * @param studentClass 实体对象。 - * @return 域对象。 - */ - @Override - StudentClassVo fromModel(StudentClass studentClass); - } - public static final StudentClassModelMapper INSTANCE = Mappers.getMapper(StudentClassModelMapper.class); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/service/AreaCodeService.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/service/AreaCodeService.java deleted file mode 100644 index 51b44885..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/service/AreaCodeService.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.orangeforms.courseclassservice.service; - -import com.orangeforms.courseclassservice.model.AreaCode; -import com.orangeforms.common.core.base.service.IBaseDictService; - -import java.util.Collection; - -/** - * 行政区划的Service接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface AreaCodeService extends IBaseDictService { - - /** - * 根据上级行政区划Id,获取其下级行政区划列表。 - * - * @param parentId 上级行政区划Id。 - * @return 下级行政区划列表。 - */ - Collection getListByParentId(Long parentId); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/service/CourseService.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/service/CourseService.java deleted file mode 100644 index a53e2a0c..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/service/CourseService.java +++ /dev/null @@ -1,114 +0,0 @@ -package com.orangeforms.courseclassservice.service; - -import com.orangeforms.courseclassservice.model.*; -import com.orangeforms.common.core.base.service.IBaseService; - -import java.util.*; - -/** - * 课程数据数据操作服务接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface CourseService extends IBaseService { - - /** - * 保存新增对象。 - * - * @param course 新增对象。 - * @return 返回新增对象。 - */ - Course saveNew(Course course); - - /** - * 利用数据库的insertList语法,批量插入对象列表。 - * - * @param courseList 新增对象列表。 - */ - void saveNewBatch(List courseList); - - /** - * 更新数据对象。 - * - * @param course 更新的对象。 - * @param originalCourse 原有数据对象。 - * @return 成功返回true,否则false。 - */ - boolean update(Course course, Course originalCourse); - - /** - * 删除指定数据。 - * - * @param courseId 主键Id。 - * @return 成功返回true,否则false。 - */ - boolean remove(Long courseId); - - /** - * 获取单表查询结果。由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getCourseListWithRelation)方法。 - * - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - List getCourseList(Course filter, String orderBy); - - /** - * 获取主表的查询结果,查询条件中包括主表过滤对象和指定字段的(in list)过滤。 - * 由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getCourseListWithRelation)方法。 - * - * @param inFilterField (In-list)指定的字段(Java成员字段,而非数据列名)。 - * @param inFilterValues inFilterField指定字段的(In-list)数据列表。 - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - List getCourseList(String inFilterField, Set inFilterValues, Course filter, String orderBy); - - /** - * 获取主表的查询结果,以及主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 如果仅仅需要获取主表数据,请移步(getCourseList),以便获取更好的查询性能。 - * - * @param filter 主表过滤对象。 - * @param orderBy 排序对象。 - * @return 查询结果集。 - */ - List getCourseListWithRelation(Course filter, String orderBy); - - /** - * 获取主表的查询结果,查询条件中包括主表过滤对象和指定字段的(in list)过滤。 - * 同时还包含主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 如果仅仅需要获取主表数据,请移步(getCourseList),以便获取更好的查询性能。 - * - * @param inFilterField (In-list)指定的字段(Java成员字段,而非数据列名)。 - * @param inFilterValues inFilterField指定字段的(In-list)数据列表。 - * @param filter 主表过滤对象。 - * @param orderBy 排序对象。 - * @return 查询结果集。 - */ - List getCourseListWithRelation( - String inFilterField, Set inFilterValues, Course filter, String orderBy); - - /** - * 在多对多关系中,当前Service的数据表为从表,返回不与指定主表主键Id存在对多对关系的列表。 - * - * @param classId 主表的关联键Id。 - * @param filter 从表的过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - List getNotInCourseListByClassId(Long classId, Course filter, String orderBy); - - /** - * 在多对多关系中,当前Service的数据表为从表,返回与指定主表主键Id存在对多对关系的列表。 - * - * @param classId 主表的关联键Id。 - * @param filter 从表的过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - List getCourseListByClassId(Long classId, Course filter, String orderBy); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/service/GradeService.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/service/GradeService.java deleted file mode 100644 index 12738480..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/service/GradeService.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.orangeforms.courseclassservice.service; - -import com.orangeforms.common.core.base.service.IBaseDictService; -import com.orangeforms.courseclassservice.model.Grade; - -/** - * 年级字典数据操作服务接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface GradeService extends IBaseDictService { -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/service/StudentClassService.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/service/StudentClassService.java deleted file mode 100644 index d81db1b4..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/service/StudentClassService.java +++ /dev/null @@ -1,145 +0,0 @@ -package com.orangeforms.courseclassservice.service; - -import com.orangeforms.courseclassservice.model.*; -import com.orangeforms.common.core.base.service.IBaseService; - -import java.util.*; - -/** - * 班级数据数据操作服务接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface StudentClassService extends IBaseService { - - /** - * 保存新增对象。 - * - * @param studentClass 新增对象。 - * @return 返回新增对象。 - */ - StudentClass saveNew(StudentClass studentClass); - - /** - * 利用数据库的insertList语法,批量插入对象列表。 - * - * @param studentClassList 新增对象列表。 - */ - void saveNewBatch(List studentClassList); - - /** - * 更新数据对象。 - * - * @param studentClass 更新的对象。 - * @param originalStudentClass 原有数据对象。 - * @return 成功返回true,否则false。 - */ - boolean update(StudentClass studentClass, StudentClass originalStudentClass); - - /** - * 删除指定数据。 - * - * @param classId 主键Id。 - * @return 成功返回true,否则false。 - */ - boolean remove(Long classId); - - /** - * 获取单表查询结果。由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getStudentClassListWithRelation)方法。 - * - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - List getStudentClassList(StudentClass filter, String orderBy); - - /** - * 获取主表的查询结果,查询条件中包括主表过滤对象和指定字段的(in list)过滤。 - * 由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getStudentClassListWithRelation)方法。 - * - * @param inFilterField (In-list)指定的字段(Java成员字段,而非数据列名)。 - * @param inFilterValues inFilterField指定字段的(In-list)数据列表。 - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - List getStudentClassList(String inFilterField, Set inFilterValues, StudentClass filter, String orderBy); - - /** - * 获取主表的查询结果,以及主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 如果仅仅需要获取主表数据,请移步(getStudentClassList),以便获取更好的查询性能。 - * - * @param filter 主表过滤对象。 - * @param orderBy 排序对象。 - * @return 查询结果集。 - */ - List getStudentClassListWithRelation(StudentClass filter, String orderBy); - - /** - * 获取主表的查询结果,查询条件中包括主表过滤对象和指定字段的(in list)过滤。 - * 同时还包含主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 如果仅仅需要获取主表数据,请移步(getStudentClassList),以便获取更好的查询性能。 - * - * @param inFilterField (In-list)指定的字段(Java成员字段,而非数据列名)。 - * @param inFilterValues inFilterField指定字段的(In-list)数据列表。 - * @param filter 主表过滤对象。 - * @param orderBy 排序对象。 - * @return 查询结果集。 - */ - List getStudentClassListWithRelation( - String inFilterField, Set inFilterValues, StudentClass filter, String orderBy); - - /** - * 批量添加多对多关联关系。 - * - * @param classCourseList 多对多关联表对象集合。 - * @param classId 主表Id。 - */ - void addClassCourseList(List classCourseList, Long classId); - - /** - * 更新中间表数据。 - * - * @param classCourse 中间表对象。 - * @return 更新成功与否。 - */ - boolean updateClassCourse(ClassCourse classCourse); - - /** - * 获取中间表数据。 - * - * @param classId 主表Id。 - * @param courseId 从表Id。 - * @return 中间表对象。 - */ - ClassCourse getClassCourse(Long classId, Long courseId); - - /** - * 移除单条多对多关系。 - * - * @param classId 主表Id。 - * @param courseId 从表Id。 - * @return 成功返回true,否则false。 - */ - boolean removeClassCourse(Long classId, Long courseId); - - /** - * 批量添加多对多关联关系。 - * - * @param classStudentList 多对多关联表对象集合。 - * @param classId 主表Id。 - */ - void addClassStudentList(List classStudentList, Long classId); - - /** - * 移除单条多对多关系。 - * - * @param classId 主表Id。 - * @param studentId 从表Id。 - * @return 成功返回true,否则false。 - */ - boolean removeClassStudent(Long classId, Long studentId); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/service/StudentService.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/service/StudentService.java deleted file mode 100644 index b4cd660c..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/service/StudentService.java +++ /dev/null @@ -1,114 +0,0 @@ -package com.orangeforms.courseclassservice.service; - -import com.orangeforms.courseclassservice.model.*; -import com.orangeforms.common.core.base.service.IBaseService; - -import java.util.*; - -/** - * 学生数据数据操作服务接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface StudentService extends IBaseService { - - /** - * 保存新增对象。 - * - * @param student 新增对象。 - * @return 返回新增对象。 - */ - Student saveNew(Student student); - - /** - * 利用数据库的insertList语法,批量插入对象列表。 - * - * @param studentList 新增对象列表。 - */ - void saveNewBatch(List studentList); - - /** - * 更新数据对象。 - * - * @param student 更新的对象。 - * @param originalStudent 原有数据对象。 - * @return 成功返回true,否则false。 - */ - boolean update(Student student, Student originalStudent); - - /** - * 删除指定数据。 - * - * @param studentId 主键Id。 - * @return 成功返回true,否则false。 - */ - boolean remove(Long studentId); - - /** - * 获取单表查询结果。由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getStudentListWithRelation)方法。 - * - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - List getStudentList(Student filter, String orderBy); - - /** - * 获取主表的查询结果,查询条件中包括主表过滤对象和指定字段的(in list)过滤。 - * 由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getStudentListWithRelation)方法。 - * - * @param inFilterField (In-list)指定的字段(Java成员字段,而非数据列名)。 - * @param inFilterValues inFilterField指定字段的(In-list)数据列表。 - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - List getStudentList(String inFilterField, Set inFilterValues, Student filter, String orderBy); - - /** - * 获取主表的查询结果,以及主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 如果仅仅需要获取主表数据,请移步(getStudentList),以便获取更好的查询性能。 - * - * @param filter 主表过滤对象。 - * @param orderBy 排序对象。 - * @return 查询结果集。 - */ - List getStudentListWithRelation(Student filter, String orderBy); - - /** - * 获取主表的查询结果,查询条件中包括主表过滤对象和指定字段的(in list)过滤。 - * 同时还包含主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 如果仅仅需要获取主表数据,请移步(getStudentList),以便获取更好的查询性能。 - * - * @param inFilterField (In-list)指定的字段(Java成员字段,而非数据列名)。 - * @param inFilterValues inFilterField指定字段的(In-list)数据列表。 - * @param filter 主表过滤对象。 - * @param orderBy 排序对象。 - * @return 查询结果集。 - */ - List getStudentListWithRelation( - String inFilterField, Set inFilterValues, Student filter, String orderBy); - - /** - * 在多对多关系中,当前Service的数据表为从表,返回不与指定主表主键Id存在对多对关系的列表。 - * - * @param classId 主表的关联键Id。 - * @param filter 从表的过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - List getNotInStudentListByClassId(Long classId, Student filter, String orderBy); - - /** - * 在多对多关系中,当前Service的数据表为从表,返回与指定主表主键Id存在对多对关系的列表。 - * - * @param classId 主表的关联键Id。 - * @param filter 从表的过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - List getStudentListByClassId(Long classId, Student filter, String orderBy); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/service/impl/AreaCodeServiceImpl.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/service/impl/AreaCodeServiceImpl.java deleted file mode 100644 index 05fc61f7..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/service/impl/AreaCodeServiceImpl.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.orangeforms.courseclassservice.service.impl; - -import com.orangeforms.courseclassservice.service.AreaCodeService; -import com.orangeforms.courseclassservice.dao.AreaCodeMapper; -import com.orangeforms.courseclassservice.model.AreaCode; -import com.orangeforms.common.core.cache.MapTreeDictionaryCache; -import com.orangeforms.common.core.base.service.BaseDictService; -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import javax.annotation.PostConstruct; -import java.util.Collection; - -/** - * 行政区划的Service类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Service("areaCodeService") -public class AreaCodeServiceImpl extends BaseDictService implements AreaCodeService { - - @Autowired - private AreaCodeMapper areaCodeMapper; - - public AreaCodeServiceImpl() { - super(); - this.dictionaryCache = MapTreeDictionaryCache.create(AreaCode::getAreaId, AreaCode::getParentId); - } - - @PostConstruct - public void init() { - this.reloadCachedData(true); - } - - @Override - protected BaseDaoMapper mapper() { - return areaCodeMapper; - } - - /** - * 根据上级行政区划Id,获取其下级行政区划列表。 - * - * @param parentId 上级行政区划Id。 - * @return 下级行政区划列表。 - */ - @Override - public Collection getListByParentId(Long parentId) { - return ((MapTreeDictionaryCache) dictionaryCache).getListByParentId(parentId); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/service/impl/CourseServiceImpl.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/service/impl/CourseServiceImpl.java deleted file mode 100644 index 9b1e3630..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/service/impl/CourseServiceImpl.java +++ /dev/null @@ -1,253 +0,0 @@ -package com.orangeforms.courseclassservice.service.impl; - -import cn.hutool.core.collection.CollUtil; -import com.baomidou.mybatisplus.core.conditions.query.*; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; -import com.orangeforms.courseclassservice.service.*; -import com.orangeforms.courseclassservice.dao.*; -import com.orangeforms.courseclassservice.model.*; -import com.orangeforms.common.core.util.*; -import com.orangeforms.common.core.object.MyRelationParam; -import com.orangeforms.common.core.object.CallResult; -import com.orangeforms.common.core.object.TokenData; -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.common.core.base.service.BaseService; -import com.orangeforms.common.sequence.wrapper.IdGeneratorWrapper; -import lombok.extern.slf4j.Slf4j; -import com.github.pagehelper.Page; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.*; - -/** - * 课程数据数据操作服务类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -@Service("courseService") -public class CourseServiceImpl extends BaseService implements CourseService { - - @Autowired - private CourseMapper courseMapper; - @Autowired - private ClassCourseMapper classCourseMapper; - @Autowired - private GradeService gradeService; - @Autowired - private IdGeneratorWrapper idGenerator; - - /** - * 返回当前Service的主表Mapper对象。 - * - * @return 主表Mapper对象。 - */ - @Override - protected BaseDaoMapper mapper() { - return courseMapper; - } - - /** - * 保存新增对象。 - * - * @param course 新增对象。 - * @return 返回新增对象。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public Course saveNew(Course course) { - courseMapper.insert(this.buildDefaultValue(course)); - return course; - } - - /** - * 利用数据库的insertList语法,批量插入对象列表。 - * - * @param courseList 新增对象列表。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public void saveNewBatch(List courseList) { - if (CollUtil.isNotEmpty(courseList)) { - courseList.forEach(this::buildDefaultValue); - courseMapper.insertList(courseList); - } - } - - /** - * 更新数据对象。 - * - * @param course 更新的对象。 - * @param originalCourse 原有数据对象。 - * @return 成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public boolean update(Course course, Course originalCourse) { - course.setCreateUserId(originalCourse.getCreateUserId()); - course.setCreateTime(originalCourse.getCreateTime()); - course.setUpdateTime(new Date()); - // 这里重点提示,在执行主表数据更新之前,如果有哪些字段不支持修改操作,请用原有数据对象字段替换当前数据字段。 - UpdateWrapper uw = this.createUpdateQueryForNullValue(course, course.getCourseId()); - return courseMapper.update(course, uw) == 1; - } - - /** - * 删除指定数据。 - * - * @param courseId 主键Id。 - * @return 成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public boolean remove(Long courseId) { - if (courseMapper.deleteById(courseId) == 0) { - return false; - } - // 开始删除与本地多对多父表的关联 - ClassCourse classCourse = new ClassCourse(); - classCourse.setCourseId(courseId); - classCourseMapper.delete(new QueryWrapper<>(classCourse)); - return true; - } - - /** - * 获取单表查询结果。由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getCourseListWithRelation)方法。 - * - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - @Override - public List getCourseList(Course filter, String orderBy) { - return courseMapper.getCourseList(null, null, filter, orderBy); - } - - /** - * 获取主表的查询结果,查询条件中包括主表过滤对象和指定字段的(in list)过滤。 - * 由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getCourseListWithRelation)方法。 - * - * @param inFilterField (In-list)指定的字段(Java成员字段,而非数据列名)。 - * @param inFilterValues inFilterField指定字段的(In-list)数据列表。 - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - @Override - public List getCourseList( - String inFilterField, Set inFilterValues, Course filter, String orderBy) { - String inFilterColumn = MyModelUtil.mapToColumnName(inFilterField, Course.class); - return courseMapper.getCourseList(inFilterColumn, inFilterValues, filter, orderBy); - } - - /** - * 获取主表的查询结果,以及主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 该查询会涉及到一对一从表的关联过滤,或一对多从表的嵌套关联过滤,因此性能不如单表过滤。 - * 如果仅仅需要获取主表数据,请移步(getCourseList),以便获取更好的查询性能。 - * - * @param filter 主表过滤对象。 - * @param orderBy 排序对象。 - * @return 查询结果集。 - */ - @Override - public List getCourseListWithRelation(Course filter, String orderBy) { - List resultList = courseMapper.getCourseList(null, null, filter, orderBy); - // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 - // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 - int batchSize = resultList instanceof Page ? 0 : 1000; - this.buildRelationForDataList(resultList, MyRelationParam.normal(), batchSize); - return resultList; - } - - /** - * 获取主表的查询结果,查询条件中包括主表过滤对象和指定字段的(in list)过滤。 - * 同时还包含主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 如果仅仅需要获取主表数据,请移步(getCourseList),以便获取更好的查询性能。 - * - * @param inFilterField (In-list)指定的字段(Java成员字段,而非数据列名)。 - * @param inFilterValues inFilterField指定字段的(In-list)数据列表。 - * @param filter 主表过滤对象。 - * @param orderBy 排序对象。 - * @return 查询结果集。 - */ - @Override - public List getCourseListWithRelation( - String inFilterField, Set inFilterValues, Course filter, String orderBy) { - String inFilterColumn = MyModelUtil.mapToColumnName(inFilterField, Course.class); - List resultList = - courseMapper.getCourseList(inFilterColumn, inFilterValues, filter, orderBy); - // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 - // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 - int batchSize = resultList instanceof Page ? 0 : 1000; - this.buildRelationForDataList(resultList, MyRelationParam.dictOnly(), batchSize); - return resultList; - } - - /** - * 在多对多关系中,当前Service的数据表为从表,返回不与指定主表主键Id存在对多对关系的列表。 - * - * @param classId 主表的关联键Id。 - * @param filter 从表的过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - @Override - public List getNotInCourseListByClassId(Long classId, Course filter, String orderBy) { - List resultList; - if (classId != null) { - resultList = courseMapper.getNotInCourseListByClassId(classId, filter, orderBy); - } else { - resultList = getCourseList(filter, orderBy); - } - this.buildRelationForDataList(resultList, MyRelationParam.dictOnly()); - return resultList; - } - - /** - * 在多对多关系中,当前Service的数据表为从表,返回与指定主表主键Id存在对多对关系的列表。 - * - * @param classId 主表的关联键Id。 - * @param filter 从表的过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - @Override - public List getCourseListByClassId(Long classId, Course filter, String orderBy) { - List resultList = - courseMapper.getCourseListByClassId(classId, filter, orderBy); - this.buildRelationForDataList(resultList, MyRelationParam.dictOnly()); - return resultList; - } - - /** - * 根据最新对象和原有对象的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param course 最新数据对象。 - * @param originalCourse 原有数据对象。 - * @return 数据全部正确返回true,否则false,同时返回具体的错误信息。 - */ - @Override - public CallResult verifyRelatedData(Course course, Course originalCourse) { - String errorMessageFormat = "数据验证失败,关联的%s并不存在,请刷新后重试!"; - if (this.needToVerify(course, originalCourse, Course::getGradeId) - && !gradeService.existId(course.getGradeId())) { - return CallResult.error(String.format(errorMessageFormat, "所属年级")); - } - return CallResult.ok(); - } - - private Course buildDefaultValue(Course course) { - course.setCourseId(idGenerator.nextLongId()); - TokenData tokenData = TokenData.takeFromRequest(); - course.setCreateUserId(tokenData.getUserId()); - Date now = new Date(); - course.setCreateTime(now); - course.setUpdateTime(now); - return course; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/service/impl/GradeServiceImpl.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/service/impl/GradeServiceImpl.java deleted file mode 100644 index de295be3..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/service/impl/GradeServiceImpl.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.orangeforms.courseclassservice.service.impl; - -import com.orangeforms.common.redis.cache.RedisDictionaryCache; -import com.orangeforms.common.core.base.service.BaseDictService; -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.courseclassservice.service.GradeService; -import com.orangeforms.courseclassservice.dao.GradeMapper; -import com.orangeforms.courseclassservice.model.Grade; -import lombok.extern.slf4j.Slf4j; -import org.redisson.api.RedissonClient; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import javax.annotation.PostConstruct; - -/** - * 年级字典数据操作服务类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -@Service("gradeService") -public class GradeServiceImpl extends BaseDictService implements GradeService { - - @Autowired - private GradeMapper gradeMapper; - @Autowired - private RedissonClient redissonClient; - - public GradeServiceImpl() { - super(); - } - - @PostConstruct - public void init() { - this.dictionaryCache = RedisDictionaryCache.create( - redissonClient, "Grade", Grade.class, Grade::getGradeId); - } - - /** - * 返回当前Service的主表Mapper对象。 - * - * @return 主表Mapper对象。 - */ - @Override - protected BaseDaoMapper mapper() { - return gradeMapper; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/service/impl/StudentClassServiceImpl.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/service/impl/StudentClassServiceImpl.java deleted file mode 100644 index 136568fb..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/service/impl/StudentClassServiceImpl.java +++ /dev/null @@ -1,341 +0,0 @@ -package com.orangeforms.courseclassservice.service.impl; - -import cn.hutool.core.collection.CollUtil; -import com.baomidou.mybatisplus.core.conditions.query.*; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; -import com.orangeforms.courseclassservice.service.*; -import com.orangeforms.courseclassservice.dao.*; -import com.orangeforms.courseclassservice.model.*; -import com.orangeforms.upmsapi.client.SysDeptClient; -import com.orangeforms.common.core.util.*; -import com.orangeforms.common.core.object.MyRelationParam; -import com.orangeforms.common.core.object.ResponseResult; -import com.orangeforms.common.core.object.CallResult; -import com.orangeforms.common.core.object.TokenData; -import com.orangeforms.common.core.constant.GlobalDeletedFlag; -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.common.core.base.service.BaseService; -import com.orangeforms.common.sequence.wrapper.IdGeneratorWrapper; -import lombok.extern.slf4j.Slf4j; -import com.github.pagehelper.Page; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.*; - -/** - * 班级数据数据操作服务类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -@Service("studentClassService") -public class StudentClassServiceImpl extends BaseService implements StudentClassService { - - @Autowired - private StudentClassMapper studentClassMapper; - @Autowired - private ClassCourseMapper classCourseMapper; - @Autowired - private ClassStudentMapper classStudentMapper; - @Autowired - private StudentService studentService; - @Autowired - private SysDeptClient sysDeptClient; - @Autowired - private IdGeneratorWrapper idGenerator; - - /** - * 返回当前Service的主表Mapper对象。 - * - * @return 主表Mapper对象。 - */ - @Override - protected BaseDaoMapper mapper() { - return studentClassMapper; - } - - /** - * 保存新增对象。 - * - * @param studentClass 新增对象。 - * @return 返回新增对象。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public StudentClass saveNew(StudentClass studentClass) { - studentClassMapper.insert(this.buildDefaultValue(studentClass)); - return studentClass; - } - - /** - * 利用数据库的insertList语法,批量插入对象列表。 - * - * @param studentClassList 新增对象列表。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public void saveNewBatch(List studentClassList) { - if (CollUtil.isNotEmpty(studentClassList)) { - studentClassList.forEach(this::buildDefaultValue); - studentClassMapper.insertList(studentClassList); - } - } - - /** - * 更新数据对象。 - * - * @param studentClass 更新的对象。 - * @param originalStudentClass 原有数据对象。 - * @return 成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public boolean update(StudentClass studentClass, StudentClass originalStudentClass) { - studentClass.setCreateUserId(originalStudentClass.getCreateUserId()); - studentClass.setCreateTime(originalStudentClass.getCreateTime()); - // 这里重点提示,在执行主表数据更新之前,如果有哪些字段不支持修改操作,请用原有数据对象字段替换当前数据字段。 - UpdateWrapper uw = this.createUpdateQueryForNullValue(studentClass, studentClass.getClassId()); - return studentClassMapper.update(studentClass, uw) == 1; - } - - /** - * 删除指定数据。 - * - * @param classId 主键Id。 - * @return 成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public boolean remove(Long classId) { - if (studentClassMapper.deleteById(classId) == 0) { - return false; - } - // 开始删除多对多中间表的关联 - ClassCourse classCourse = new ClassCourse(); - classCourse.setClassId(classId); - classCourseMapper.delete(new QueryWrapper<>(classCourse)); - ClassStudent classStudent = new ClassStudent(); - classStudent.setClassId(classId); - classStudentMapper.delete(new QueryWrapper<>(classStudent)); - return true; - } - - /** - * 获取单表查询结果。由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getStudentClassListWithRelation)方法。 - * - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - @Override - public List getStudentClassList(StudentClass filter, String orderBy) { - return studentClassMapper.getStudentClassList(null, null, filter, orderBy); - } - - /** - * 获取主表的查询结果,查询条件中包括主表过滤对象和指定字段的(in list)过滤。 - * 由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getStudentClassListWithRelation)方法。 - * - * @param inFilterField (In-list)指定的字段(Java成员字段,而非数据列名)。 - * @param inFilterValues inFilterField指定字段的(In-list)数据列表。 - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - @Override - public List getStudentClassList( - String inFilterField, Set inFilterValues, StudentClass filter, String orderBy) { - String inFilterColumn = MyModelUtil.mapToColumnName(inFilterField, StudentClass.class); - return studentClassMapper.getStudentClassList(inFilterColumn, inFilterValues, filter, orderBy); - } - - /** - * 获取主表的查询结果,以及主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 该查询会涉及到一对一从表的关联过滤,或一对多从表的嵌套关联过滤,因此性能不如单表过滤。 - * 如果仅仅需要获取主表数据,请移步(getStudentClassList),以便获取更好的查询性能。 - * - * @param filter 主表过滤对象。 - * @param orderBy 排序对象。 - * @return 查询结果集。 - */ - @Override - public List getStudentClassListWithRelation(StudentClass filter, String orderBy) { - List resultList = studentClassMapper.getStudentClassList(null, null, filter, orderBy); - // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 - // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 - int batchSize = resultList instanceof Page ? 0 : 1000; - this.buildRelationForDataList(resultList, MyRelationParam.normal(), batchSize); - return resultList; - } - - /** - * 获取主表的查询结果,查询条件中包括主表过滤对象和指定字段的(in list)过滤。 - * 同时还包含主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 如果仅仅需要获取主表数据,请移步(getStudentClassList),以便获取更好的查询性能。 - * - * @param inFilterField (In-list)指定的字段(Java成员字段,而非数据列名)。 - * @param inFilterValues inFilterField指定字段的(In-list)数据列表。 - * @param filter 主表过滤对象。 - * @param orderBy 排序对象。 - * @return 查询结果集。 - */ - @Override - public List getStudentClassListWithRelation( - String inFilterField, Set inFilterValues, StudentClass filter, String orderBy) { - String inFilterColumn = MyModelUtil.mapToColumnName(inFilterField, StudentClass.class); - List resultList = - studentClassMapper.getStudentClassList(inFilterColumn, inFilterValues, filter, orderBy); - // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 - // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 - int batchSize = resultList instanceof Page ? 0 : 1000; - this.buildRelationForDataList(resultList, MyRelationParam.dictOnly(), batchSize); - return resultList; - } - - /** - * 批量添加多对多关联关系。 - * - * @param classCourseList 多对多关联表对象集合。 - * @param classId 主表Id。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public void addClassCourseList(List classCourseList, Long classId) { - for (ClassCourse classCourse : classCourseList) { - classCourse.setClassId(classId); - MyModelUtil.setDefaultValue(classCourse, "courseOrder", 0); - classCourseMapper.insert(classCourse); - } - } - - /** - * 更新中间表数据。 - * - * @param classCourse 中间表对象。 - * @return 更新成功与否。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public boolean updateClassCourse(ClassCourse classCourse) { - ClassCourse filter = new ClassCourse(); - filter.setClassId(classCourse.getClassId()); - filter.setCourseId(classCourse.getCourseId()); - UpdateWrapper uw = - BaseService.createUpdateQueryForNullValue(classCourse, ClassCourse.class); - uw.setEntity(filter); - return classCourseMapper.update(classCourse, uw) > 0; - } - - /** - * 获取中间表数据。 - * - * @param classId 主表Id。 - * @param courseId 从表Id。 - * @return 中间表对象。 - */ - @Override - public ClassCourse getClassCourse(Long classId, Long courseId) { - ClassCourse filter = new ClassCourse(); - filter.setClassId(classId); - filter.setCourseId(courseId); - return classCourseMapper.selectOne(new QueryWrapper<>(filter)); - } - - /** - * 移除单条多对多关系。 - * - * @param classId 主表Id。 - * @param courseId 从表Id。 - * @return 成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public boolean removeClassCourse(Long classId, Long courseId) { - ClassCourse filter = new ClassCourse(); - filter.setClassId(classId); - filter.setCourseId(courseId); - return classCourseMapper.delete(new QueryWrapper<>(filter)) > 0; - } - - /** - * 批量添加多对多关联关系。 - * - * @param classStudentList 多对多关联表对象集合。 - * @param classId 主表Id。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public void addClassStudentList(List classStudentList, Long classId) { - for (ClassStudent classStudent : classStudentList) { - classStudent.setClassId(classId); - classStudentMapper.insert(classStudent); - } - } - - /** - * 移除单条多对多关系。 - * - * @param classId 主表Id。 - * @param studentId 从表Id。 - * @return 成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public boolean removeClassStudent(Long classId, Long studentId) { - ClassStudent filter = new ClassStudent(); - filter.setClassId(classId); - filter.setStudentId(studentId); - return classStudentMapper.delete(new QueryWrapper<>(filter)) > 0; - } - - /** - * 根据最新对象和原有对象的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param studentClass 最新数据对象。 - * @param originalStudentClass 原有数据对象。 - * @return 数据全部正确返回true,否则false,同时返回具体的错误信息。 - */ - @Override - public CallResult verifyRelatedData(StudentClass studentClass, StudentClass originalStudentClass) { - String errorMessageFormat = "数据验证失败,关联的%s并不存在,请刷新后重试!"; - if (this.needToVerify(studentClass, originalStudentClass, StudentClass::getLeaderId) - && !studentService.existId(studentClass.getLeaderId())) { - return CallResult.error(String.format(errorMessageFormat, "班长")); - } - return CallResult.ok(); - } - - /** - * 根据最新对象和原有对象的数据对比,判断关联的远程字典数据和多对一主表数据是否都是合法数据。 - * - * @param studentClass 最新数据对象。 - * @param originalStudentClass 原有数据对象。 - * @return 数据全部正确返回true,否则false,同时返回具体的错误信息。 - */ - @Override - public CallResult verifyRemoteRelatedData(StudentClass studentClass, StudentClass originalStudentClass) { - String errorMessageFormat = "数据验证失败,关联的%s并不存在,请刷新后重试!"; - if (this.needToVerify(studentClass, originalStudentClass, StudentClass::getSchoolId)) { - ResponseResult responseResult = - sysDeptClient.existId(studentClass.getSchoolId()); - if (this.hasErrorOfVerifyRemoteRelatedData(responseResult)) { - return CallResult.error(String.format(errorMessageFormat, "所属校区")); - } - } - return CallResult.ok(); - } - - private StudentClass buildDefaultValue(StudentClass studentClass) { - studentClass.setClassId(idGenerator.nextLongId()); - TokenData tokenData = TokenData.takeFromRequest(); - studentClass.setCreateUserId(tokenData.getUserId()); - studentClass.setCreateTime(new Date()); - studentClass.setStatus(GlobalDeletedFlag.NORMAL); - return studentClass; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/service/impl/StudentServiceImpl.java b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/service/impl/StudentServiceImpl.java deleted file mode 100644 index 9adf6ab2..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/java/com/orangeforms/courseclassservice/service/impl/StudentServiceImpl.java +++ /dev/null @@ -1,286 +0,0 @@ -package com.orangeforms.courseclassservice.service.impl; - -import cn.hutool.core.collection.CollUtil; -import com.baomidou.mybatisplus.core.conditions.query.*; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; -import com.orangeforms.application.common.constant.StudentStatus; -import com.orangeforms.courseclassservice.service.*; -import com.orangeforms.courseclassservice.dao.*; -import com.orangeforms.courseclassservice.model.*; -import com.orangeforms.upmsapi.client.SysDeptClient; -import com.orangeforms.common.core.util.*; -import com.orangeforms.common.core.object.MyRelationParam; -import com.orangeforms.common.core.object.ResponseResult; -import com.orangeforms.common.core.object.CallResult; -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.common.core.base.service.BaseService; -import com.orangeforms.common.sequence.wrapper.IdGeneratorWrapper; -import lombok.extern.slf4j.Slf4j; -import com.github.pagehelper.Page; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.*; - -/** - * 学生数据数据操作服务类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -@Service("studentService") -public class StudentServiceImpl extends BaseService implements StudentService { - - @Autowired - private StudentMapper studentMapper; - @Autowired - private ClassStudentMapper classStudentMapper; - @Autowired - private AreaCodeService areaCodeService; - @Autowired - private GradeService gradeService; - @Autowired - private SysDeptClient sysDeptClient; - @Autowired - private IdGeneratorWrapper idGenerator; - - /** - * 返回当前Service的主表Mapper对象。 - * - * @return 主表Mapper对象。 - */ - @Override - protected BaseDaoMapper mapper() { - return studentMapper; - } - - /** - * 保存新增对象。 - * - * @param student 新增对象。 - * @return 返回新增对象。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public Student saveNew(Student student) { - studentMapper.insert(this.buildDefaultValue(student)); - return student; - } - - /** - * 利用数据库的insertList语法,批量插入对象列表。 - * - * @param studentList 新增对象列表。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public void saveNewBatch(List studentList) { - if (CollUtil.isNotEmpty(studentList)) { - studentList.forEach(this::buildDefaultValue); - studentMapper.insertList(studentList); - } - } - - /** - * 更新数据对象。 - * - * @param student 更新的对象。 - * @param originalStudent 原有数据对象。 - * @return 成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public boolean update(Student student, Student originalStudent) { - // 这里重点提示,在执行主表数据更新之前,如果有哪些字段不支持修改操作,请用原有数据对象字段替换当前数据字段。 - UpdateWrapper uw = this.createUpdateQueryForNullValue(student, student.getStudentId()); - return studentMapper.update(student, uw) == 1; - } - - /** - * 删除指定数据。 - * - * @param studentId 主键Id。 - * @return 成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public boolean remove(Long studentId) { - if (studentMapper.deleteById(studentId) == 0) { - return false; - } - // 开始删除与本地多对多父表的关联 - ClassStudent classStudent = new ClassStudent(); - classStudent.setStudentId(studentId); - classStudentMapper.delete(new QueryWrapper<>(classStudent)); - return true; - } - - /** - * 获取单表查询结果。由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getStudentListWithRelation)方法。 - * - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - @Override - public List getStudentList(Student filter, String orderBy) { - return studentMapper.getStudentList(null, null, filter, orderBy); - } - - /** - * 获取主表的查询结果,查询条件中包括主表过滤对象和指定字段的(in list)过滤。 - * 由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getStudentListWithRelation)方法。 - * - * @param inFilterField (In-list)指定的字段(Java成员字段,而非数据列名)。 - * @param inFilterValues inFilterField指定字段的(In-list)数据列表。 - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - @Override - public List getStudentList( - String inFilterField, Set inFilterValues, Student filter, String orderBy) { - String inFilterColumn = MyModelUtil.mapToColumnName(inFilterField, Student.class); - return studentMapper.getStudentList(inFilterColumn, inFilterValues, filter, orderBy); - } - - /** - * 获取主表的查询结果,以及主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 该查询会涉及到一对一从表的关联过滤,或一对多从表的嵌套关联过滤,因此性能不如单表过滤。 - * 如果仅仅需要获取主表数据,请移步(getStudentList),以便获取更好的查询性能。 - * - * @param filter 主表过滤对象。 - * @param orderBy 排序对象。 - * @return 查询结果集。 - */ - @Override - public List getStudentListWithRelation(Student filter, String orderBy) { - List resultList = studentMapper.getStudentList(null, null, filter, orderBy); - // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 - // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 - int batchSize = resultList instanceof Page ? 0 : 1000; - this.buildRelationForDataList(resultList, MyRelationParam.normal(), batchSize); - return resultList; - } - - /** - * 获取主表的查询结果,查询条件中包括主表过滤对象和指定字段的(in list)过滤。 - * 同时还包含主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 如果仅仅需要获取主表数据,请移步(getStudentList),以便获取更好的查询性能。 - * - * @param inFilterField (In-list)指定的字段(Java成员字段,而非数据列名)。 - * @param inFilterValues inFilterField指定字段的(In-list)数据列表。 - * @param filter 主表过滤对象。 - * @param orderBy 排序对象。 - * @return 查询结果集。 - */ - @Override - public List getStudentListWithRelation( - String inFilterField, Set inFilterValues, Student filter, String orderBy) { - String inFilterColumn = MyModelUtil.mapToColumnName(inFilterField, Student.class); - List resultList = - studentMapper.getStudentList(inFilterColumn, inFilterValues, filter, orderBy); - // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 - // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 - int batchSize = resultList instanceof Page ? 0 : 1000; - this.buildRelationForDataList(resultList, MyRelationParam.dictOnly(), batchSize); - return resultList; - } - - /** - * 在多对多关系中,当前Service的数据表为从表,返回不与指定主表主键Id存在对多对关系的列表。 - * - * @param classId 主表的关联键Id。 - * @param filter 从表的过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - @Override - public List getNotInStudentListByClassId(Long classId, Student filter, String orderBy) { - List resultList; - if (classId != null) { - resultList = studentMapper.getNotInStudentListByClassId(classId, filter, orderBy); - } else { - resultList = getStudentList(filter, orderBy); - } - this.buildRelationForDataList(resultList, MyRelationParam.dictOnly()); - return resultList; - } - - /** - * 在多对多关系中,当前Service的数据表为从表,返回与指定主表主键Id存在对多对关系的列表。 - * - * @param classId 主表的关联键Id。 - * @param filter 从表的过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - @Override - public List getStudentListByClassId(Long classId, Student filter, String orderBy) { - List resultList = - studentMapper.getStudentListByClassId(classId, filter, orderBy); - this.buildRelationForDataList(resultList, MyRelationParam.dictOnly()); - return resultList; - } - - /** - * 根据最新对象和原有对象的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param student 最新数据对象。 - * @param originalStudent 原有数据对象。 - * @return 数据全部正确返回true,否则false,同时返回具体的错误信息。 - */ - @Override - public CallResult verifyRelatedData(Student student, Student originalStudent) { - String errorMessageFormat = "数据验证失败,关联的%s并不存在,请刷新后重试!"; - if (this.needToVerify(student, originalStudent, Student::getProvinceId) - && !areaCodeService.existId(student.getProvinceId())) { - return CallResult.error(String.format(errorMessageFormat, "所在省份")); - } - if (this.needToVerify(student, originalStudent, Student::getCityId) - && !areaCodeService.existId(student.getCityId())) { - return CallResult.error(String.format(errorMessageFormat, "所在城市")); - } - if (this.needToVerify(student, originalStudent, Student::getDistrictId) - && !areaCodeService.existId(student.getDistrictId())) { - return CallResult.error(String.format(errorMessageFormat, "所在区县")); - } - if (this.needToVerify(student, originalStudent, Student::getGradeId) - && !gradeService.existId(student.getGradeId())) { - return CallResult.error(String.format(errorMessageFormat, "年级")); - } - return CallResult.ok(); - } - - /** - * 根据最新对象和原有对象的数据对比,判断关联的远程字典数据和多对一主表数据是否都是合法数据。 - * - * @param student 最新数据对象。 - * @param originalStudent 原有数据对象。 - * @return 数据全部正确返回true,否则false,同时返回具体的错误信息。 - */ - @Override - public CallResult verifyRemoteRelatedData(Student student, Student originalStudent) { - String errorMessageFormat = "数据验证失败,关联的%s并不存在,请刷新后重试!"; - if (this.needToVerify(student, originalStudent, Student::getSchoolId)) { - ResponseResult responseResult = - sysDeptClient.existId(student.getSchoolId()); - if (this.hasErrorOfVerifyRemoteRelatedData(responseResult)) { - return CallResult.error(String.format(errorMessageFormat, "所属校区")); - } - } - return CallResult.ok(); - } - - private Student buildDefaultValue(Student student) { - student.setStudentId(idGenerator.nextLongId()); - MyModelUtil.setDefaultValue(student, "totalCoin", 0); - MyModelUtil.setDefaultValue(student, "leftCoin", 0); - MyModelUtil.setDefaultValue(student, "status", StudentStatus.NORMAL); - return student; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/resources/bootstrap.yml b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/resources/bootstrap.yml deleted file mode 100644 index e256893f..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/resources/bootstrap.yml +++ /dev/null @@ -1,30 +0,0 @@ -spring: - application: - name: course-class - profiles: - active: dev - cloud: - nacos: - discovery: - server-addr: localhost:8848 - config: - server-addr: localhost:8848 - file-extension: yaml - # 共享配置文件,排序越高后,优先级越高。 - shared-configs: - - data-id: application-dev.yaml - group: DEFAULT_GROUP - refresh: true - sentinel: - eager: true - datasource: - ds1: - nacos: - server-addr: localhost:8848 - data-id: ${spring.application.name}-dev-sentinel - group-id: DEFAULT_GROUP - data-type: json - # 如果是降级服务,需要改为degrade - rule-type: flow - main: - allow-bean-definition-overriding: true diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/resources/log4j2.xml b/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/resources/log4j2.xml deleted file mode 100644 index 4de16038..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/course-class-service/src/main/resources/log4j2.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - - - - ./zzlogs/course-class - - ./zzlogs/course-class/backup - - info - - - - - - - - [%-5p] [%d{YYYY-MM-dd HH:mm:ss}] [%t] ==> %msg%n - - - - [%-5p] [%d{YYYY-MM-dd HH:mm:ss}] T:[%X{traceId}] S:[%X{sessionId}] U:[%X{userId}] [%t] ==> [%traceId] %msg%n - - - 31 - - 20M - - - - - - - localhost:9092 - 10000 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/application/course-class/pom.xml b/orange-demo-multi/orange-demo-multi-service/application/course-class/pom.xml deleted file mode 100644 index db06ff91..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/course-class/pom.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - com.orangeforms - application - 1.0.0 - - 4.0.0 - - course-class - pom - - - course-class-api - course-class-service - - diff --git a/orange-demo-multi/orange-demo-multi-service/application/gateway/pom.xml b/orange-demo-multi/orange-demo-multi-service/application/gateway/pom.xml deleted file mode 100644 index e301ed9a..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/gateway/pom.xml +++ /dev/null @@ -1,89 +0,0 @@ - - - - com.orangeforms - application - 1.0.0 - - 4.0.0 - - gateway - 1.0.0 - gateway - jar - - - - - com.github.xiaoymin - knife4j-spring-ui - ${knife4j.version} - - - io.springfox - springfox-swagger2 - ${springfox.version} - - - io.swagger - swagger-models - - - - - io.swagger - swagger-models - ${zz-swagger.version} - - - io.springfox - springfox-bean-validators - ${springfox.version} - - - - org.springframework.cloud - spring-cloud-starter-gateway - - - com.alibaba.csp - sentinel-spring-cloud-gateway-adapter - - - com.orangeforms - common-redis - 1.0.0 - - - - com.orangeforms - common-core - 1.0.0 - - - mysql-connector-java - mysql - - - druid-spring-boot-starter - com.alibaba - - - spring-boot-starter-web - org.springframework.boot - - - - - - - - - org.springframework.boot - spring-boot-maven-plugin - ${spring-boot.version} - - - - diff --git a/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/java/com/orangeforms/gateway/GatewayApplication.java b/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/java/com/orangeforms/gateway/GatewayApplication.java deleted file mode 100644 index 7e478100..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/java/com/orangeforms/gateway/GatewayApplication.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.orangeforms.gateway; - -import com.orangeforms.common.core.util.ApplicationContextHolder; -import com.orangeforms.gateway.filter.AuthenticationPostFilter; -import com.orangeforms.gateway.filter.AuthenticationPreFilter; -import com.orangeforms.gateway.filter.RequestLogFilter; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; -import org.springframework.cloud.client.discovery.EnableDiscoveryClient; -import org.springframework.context.annotation.Bean; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * 网关服务启动类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@EnableDiscoveryClient -@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) -public class GatewayApplication { - - @RestController - @RequestMapping("/fallback") - static class FallbackController { - @GetMapping("") - public String fallback() { - return "GATEWAY FALLBACK!!!"; - } - } - - @Bean - public AuthenticationPreFilter authenticationPreFilter() { - return new AuthenticationPreFilter(); - } - - @Bean - public AuthenticationPostFilter authenticationPostFilter() { - return new AuthenticationPostFilter(); - } - - @Bean - public RequestLogFilter requestLogPreFilter() { - return new RequestLogFilter(); - } - - @Bean - ApplicationContextHolder applicationContextHolder() { - return new ApplicationContextHolder(); - } - - public static void main(String[] args) { - SpringApplication.run(GatewayApplication.class, args); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/java/com/orangeforms/gateway/config/ApplicationConfig.java b/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/java/com/orangeforms/gateway/config/ApplicationConfig.java deleted file mode 100644 index ad2fa3ff..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/java/com/orangeforms/gateway/config/ApplicationConfig.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.orangeforms.gateway.config; - -import lombok.Data; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.cloud.context.config.annotation.RefreshScope; -import org.springframework.context.annotation.Configuration; - -import java.util.Set; - -/** - * 网关业务配置类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@RefreshScope -@Configuration -@ConfigurationProperties(prefix = "application") -public class ApplicationConfig { - - /** - * token加密用的密钥,该值的长度最少10个字符(过短会报错)。 - */ - private String tokenSigningKey; - /** - * 客户端或者浏览器在提交http请求时,携带token的header name,如 Authorization - */ - private String tokenHeaderKey; - /** - * 令牌Token在被刷新之后,服务器Http应答的header name,客户端或浏览器需要保存并替换原有的token,用于下次发送时携带 - */ - private String refreshedTokenHeaderKey; - /** - * 令牌的过期时间,单位毫秒 - */ - private Long expiration; - /** - * 授信ip列表,没有填写表示全部信任。多个ip之间逗号分隔,如: http://10.10.10.1:8080,http://10.10.10.2:8080 - */ - private String credentialIpList; - /** - * Session会话和用户权限在Redis中的过期时间(秒)。 - * 缺省值是 one day - */ - private int sessionExpiredSeconds = 86400; - /** - * 基于完全等于(equals)判定规则的白名单地址集合,过滤效率高于whitelistUrlPattern。 - */ - private Set whitelistUrl; - /** - * 基于Ant Pattern模式判定规则的白名单地址集合。如:/aa/**。 - */ - private Set whitelistUrlPattern; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/java/com/orangeforms/gateway/config/CorsConfig.java b/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/java/com/orangeforms/gateway/config/CorsConfig.java deleted file mode 100644 index 37d12a6b..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/java/com/orangeforms/gateway/config/CorsConfig.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.orangeforms.gateway.config; - -import org.apache.commons.lang3.StringUtils; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.web.cors.CorsConfiguration; -import org.springframework.web.cors.reactive.CorsWebFilter; -import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource; -import org.springframework.web.util.pattern.PathPatternParser; - -/** - * 跨域信任配置类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Configuration -public class CorsConfig { - - @Bean - public CorsWebFilter corsFilter(ApplicationConfig appConfig) { - UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource(new PathPatternParser()); - CorsConfiguration config = new CorsConfiguration(); - if (StringUtils.isNotBlank(appConfig.getCredentialIpList())) { - if ("*".equals(appConfig.getCredentialIpList())) { - config.addAllowedOriginPattern("*"); - } else { - String[] credentialIpList = StringUtils.split(appConfig.getCredentialIpList(), ","); - if (credentialIpList.length > 0) { - for (String ip : credentialIpList) { - config.addAllowedOrigin(ip); - } - } - } - config.addAllowedHeader("*"); - config.addAllowedMethod("*"); - config.addExposedHeader(appConfig.getRefreshedTokenHeaderKey()); - config.setAllowCredentials(true); - configSource.registerCorsConfiguration("/**", config); - } - return new CorsWebFilter(configSource); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/java/com/orangeforms/gateway/config/FilterConfig.java b/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/java/com/orangeforms/gateway/config/FilterConfig.java deleted file mode 100644 index 15c27fd9..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/java/com/orangeforms/gateway/config/FilterConfig.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.orangeforms.gateway.config; - -import org.springframework.boot.web.servlet.FilterRegistrationBean; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -import javax.servlet.Filter; -import java.nio.charset.StandardCharsets; - -/** - * Web通用过滤器配置类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Configuration -public class FilterConfig { - - @Bean - public FilterRegistrationBean characterEncodingFilterRegistration() { - FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean<>( - new org.springframework.web.filter.CharacterEncodingFilter()); - filterRegistrationBean.addUrlPatterns("/*"); - filterRegistrationBean.addInitParameter("encoding", StandardCharsets.UTF_8.name()); - // forceEncoding强制response也被编码,另外即使request中已经设置encoding,forceEncoding也会重新设置 - filterRegistrationBean.addInitParameter("forceEncoding", "true"); - filterRegistrationBean.setAsyncSupported(true); - return filterRegistrationBean; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/java/com/orangeforms/gateway/config/SentinelConfig.java b/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/java/com/orangeforms/gateway/config/SentinelConfig.java deleted file mode 100644 index ddd9f6c1..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/java/com/orangeforms/gateway/config/SentinelConfig.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.orangeforms.gateway.config; - -import com.alibaba.csp.sentinel.adapter.gateway.sc.SentinelGatewayFilter; -import com.alibaba.csp.sentinel.adapter.gateway.sc.exception.SentinelGatewayBlockExceptionHandler; -import org.springframework.beans.factory.ObjectProvider; -import org.springframework.cloud.gateway.filter.GlobalFilter; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.core.Ordered; -import org.springframework.core.annotation.Order; -import org.springframework.http.codec.ServerCodecConfigurer; -import org.springframework.web.reactive.result.view.ViewResolver; - -import java.util.*; - -/** - * Spring Cloud Gateway的Sentinel流控配置类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Configuration -public class SentinelConfig { - - private final List viewResolvers; - private final ServerCodecConfigurer serverCodecConfigurer; - - public SentinelConfig( - ObjectProvider> viewResolversProvider, - ServerCodecConfigurer serverCodecConfigurer) { - this.viewResolvers = viewResolversProvider.getIfAvailable(Collections::emptyList); - this.serverCodecConfigurer = serverCodecConfigurer; - } - - @Bean - @Order(Ordered.HIGHEST_PRECEDENCE) - public SentinelGatewayBlockExceptionHandler sentinelGatewayBlockExceptionHandler() { - // Register the block exception handler for Spring Cloud Gateway. - return new SentinelGatewayBlockExceptionHandler(viewResolvers, serverCodecConfigurer); - } - - @Bean - @Order(Ordered.HIGHEST_PRECEDENCE) - public GlobalFilter sentinelGatewayFilter() { - return new SentinelGatewayFilter(); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/java/com/orangeforms/gateway/config/SwaggerResourceConfig.java b/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/java/com/orangeforms/gateway/config/SwaggerResourceConfig.java deleted file mode 100644 index 3d09cdb2..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/java/com/orangeforms/gateway/config/SwaggerResourceConfig.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.orangeforms.gateway.config; - -import lombok.AllArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.cloud.gateway.config.GatewayProperties; -import org.springframework.cloud.gateway.route.RouteLocator; -import org.springframework.cloud.gateway.support.NameUtils; -import org.springframework.context.annotation.Primary; -import org.springframework.stereotype.Component; -import springfox.documentation.swagger.web.SwaggerResource; -import springfox.documentation.swagger.web.SwaggerResourcesProvider; - -import java.util.ArrayList; -import java.util.List; - -/*** - * 返回Swagger UI需要读取的资源数据,这里是微服务的路由数据。 - * - * @author Knife4j Team。 - * @date 2020-08-08 - */ -@Slf4j -@Component -@Primary -@AllArgsConstructor -public class SwaggerResourceConfig implements SwaggerResourcesProvider { - - private final RouteLocator routeLocator; - private final GatewayProperties gatewayProperties; - - @Override - public List get() { - List resources = new ArrayList<>(); - List routes = new ArrayList<>(); - routeLocator.getRoutes().subscribe(route -> { - if (!"upms-captcha".equals(route.getId())) { - routes.add(route.getId()); - } - }); - gatewayProperties.getRoutes().stream().filter(routeDefinition -> routes.contains(routeDefinition.getId())) - .forEach(route -> route.getPredicates().stream() - .filter(predicateDefinition -> ("Path").equalsIgnoreCase(predicateDefinition.getName())) - .forEach(predicateDefinition -> resources.add(swaggerResource(route.getId(), - predicateDefinition.getArgs().get(NameUtils.GENERATED_NAME_PREFIX + "0") - .replace("**", "v2/api-docs"))))); - return resources; - } - - private SwaggerResource swaggerResource(String name, String location) { - SwaggerResource swaggerResource = new SwaggerResource(); - swaggerResource.setName(name); - swaggerResource.setLocation(location); - swaggerResource.setSwaggerVersion("2.0"); - return swaggerResource; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/java/com/orangeforms/gateway/constant/GatewayConstant.java b/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/java/com/orangeforms/gateway/constant/GatewayConstant.java deleted file mode 100644 index 3008ac35..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/java/com/orangeforms/gateway/constant/GatewayConstant.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.orangeforms.gateway.constant; - -/** - * 网关业务相关的常量对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -public final class GatewayConstant { - - /** - * 请求进入网关的开始时间。 - */ - public static final String START_TIME_ATTRIBUTE = "startTime"; - - /** - * 登录URL。 - */ - public static final String ADMIN_LOGIN_URL = "/admin/upms/login/doLogin"; - - /** - * 登出URL。 - */ - public static final String ADMIN_LOGOUT_URL = "/admin/upms/login/doLogout"; - - /** - * sessionId的键名称。 - */ - public static final String SESSION_ID_KEY_NAME = "sessionId"; - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private GatewayConstant() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/java/com/orangeforms/gateway/filter/AuthenticationPostFilter.java b/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/java/com/orangeforms/gateway/filter/AuthenticationPostFilter.java deleted file mode 100644 index 7161d1c1..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/java/com/orangeforms/gateway/filter/AuthenticationPostFilter.java +++ /dev/null @@ -1,231 +0,0 @@ -package com.orangeforms.gateway.filter; - -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import com.alibaba.fastjson.serializer.SerializerFeature; -import com.orangeforms.common.core.constant.ErrorCodeEnum; -import com.orangeforms.common.core.object.ResponseResult; -import com.orangeforms.common.core.object.TokenData; -import com.orangeforms.common.core.util.JwtUtil; -import com.orangeforms.common.core.util.MyCommonUtil; -import com.orangeforms.common.core.util.RedisKeyUtil; -import com.orangeforms.gateway.config.ApplicationConfig; -import com.orangeforms.gateway.constant.GatewayConstant; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.reactivestreams.Publisher; -import org.redisson.api.RBucket; -import org.redisson.api.RSet; -import org.redisson.api.RedissonClient; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cloud.gateway.filter.GatewayFilterChain; -import org.springframework.cloud.gateway.filter.GlobalFilter; -import org.springframework.core.Ordered; -import org.springframework.core.io.buffer.DataBuffer; -import org.springframework.core.io.buffer.DataBufferFactory; -import org.springframework.core.io.buffer.DataBufferUtils; -import org.springframework.http.HttpStatus; -import org.springframework.http.MediaType; -import org.springframework.http.server.reactive.ServerHttpRequest; -import org.springframework.http.server.reactive.ServerHttpResponse; -import org.springframework.http.server.reactive.ServerHttpResponseDecorator; -import org.springframework.lang.NonNull; -import org.springframework.web.server.ServerWebExchange; -import reactor.core.publisher.Flux; -import reactor.core.publisher.Mono; - -import java.nio.charset.StandardCharsets; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.concurrent.TimeUnit; -import java.util.stream.Collectors; - -/** - * 全局后处理过滤器。主要用于将用户的会话信息存到缓存服务器,以及在登出时清除缓存中的会话数据。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -public class AuthenticationPostFilter implements GlobalFilter, Ordered { - - @Autowired - private ApplicationConfig appConfig; - @Autowired - private RedissonClient redissonClient; - - @Override - public Mono filter(ServerWebExchange exchange, GatewayFilterChain chain) { - ServerHttpRequest originalRequest = exchange.getRequest(); - ServerHttpResponse originalResponse = exchange.getResponse(); - String refreshedToken = - (String) exchange.getAttributes().get(appConfig.getRefreshedTokenHeaderKey()); - if (refreshedToken != null) { - originalResponse.getHeaders().add(appConfig.getRefreshedTokenHeaderKey(), refreshedToken); - } - if (!originalRequest.getURI().getPath().equals(GatewayConstant.ADMIN_LOGIN_URL) - && !originalRequest.getURI().getPath().equals(GatewayConstant.ADMIN_LOGOUT_URL)) { - return chain.filter(exchange); - } - DataBufferFactory bufferFactory = originalResponse.bufferFactory(); - ServerHttpResponseDecorator decoratedResponse = new ServerHttpResponseDecorator(originalResponse) { - @SuppressWarnings("unchecked") - @Override - public Mono writeWith(@NonNull Publisher bodyData) { - StringBuilder sb = new StringBuilder(128); - sb.append("url: ") - .append(originalRequest.getURI().getPath()) - .append(" -- status: ") - .append(getStatusCode()); - if (getStatusCode() != HttpStatus.OK) { - log.error(sb.toString()); - return super.writeWith(bodyData); - } - if (!(bodyData instanceof Flux)) { - return super.writeWith(bodyData); - } - Flux fluxBody = (Flux) bodyData; - return super.writeWith(fluxBody.buffer().map(dataBuffers -> { - // 读取完整的服务应答消息体。 - String responseBody = readResponseBody(dataBuffers); - originalResponse.getHeaders().setContentType(MediaType.APPLICATION_JSON); - // 先判断body中是否包含数据。 - if (StringUtils.isBlank(responseBody)) { - sb.append(" -- Internal Error, no RESPONSE DATA returns !!"); - log.error(sb.toString()); - String errorMessage = "后台服务没有任何数据返回!"; - responseBody = JSON.toJSONString( - ResponseResult.error(ErrorCodeEnum.SERVER_INTERNAL_ERROR, errorMessage)); - byte[] uppedContent = new String(responseBody.getBytes(), StandardCharsets.UTF_8).getBytes(); - originalResponse.getHeaders().setContentLength(uppedContent.length); - return bufferFactory.wrap(uppedContent); - } - // 处理登录和登出请求。 - String result; - try { - result = doProcess(exchange, responseBody); - } catch (Exception e) { - setStatusCode(HttpStatus.BAD_REQUEST); - String errorMsg = "Server Internal Error"; - sb.append(errorMsg); - log.error(sb.toString(), e); - result = JSON.toJSONString( - ResponseResult.error(ErrorCodeEnum.SERVER_INTERNAL_ERROR, errorMsg)); - } - byte[] uppedContent = new String(result.getBytes(), StandardCharsets.UTF_8).getBytes(); - originalResponse.getHeaders().setContentLength(uppedContent.length); - return bufferFactory.wrap(uppedContent); - })); - } - }; - return chain.filter(exchange.mutate().response(decoratedResponse).build()); - } - - /** - * 返回过滤器在在调用链上的优先级。 - * - * @return 数值越低,优先级越高。 - */ - @Override - public int getOrder() { - // -1 is response write filter, must be called before that - return -2; - } - - private String readResponseBody(List dataBuffers) { - int dataCount = 0; - for (DataBuffer dataBuffer : dataBuffers) { - dataCount += dataBuffer.readableByteCount(); - } - byte[] allBytes = new byte[dataCount]; - int offset = 0; - for (DataBuffer dataBuffer : dataBuffers) { - int length = dataBuffer.readableByteCount(); - dataBuffer.read(allBytes, offset, length); - DataBufferUtils.release(dataBuffer); - offset += length; - } - return new String(allBytes, StandardCharsets.UTF_8); - } - - @SuppressWarnings("unchecked") - private String doProcess(ServerWebExchange exchange, String responseBody) { - // 这个解析出来的就是upms登录或登出接口返回的ResponseResult对象。 - ServerHttpRequest originalRequest = exchange.getRequest(); - if (originalRequest.getURI().getPath().equals(GatewayConstant.ADMIN_LOGIN_URL)) { - // 处理登录服务的消息体,同时重构该消息体,并最终返回前端。 - ResponseResult result = processLoginResponse(responseBody); - return JSON.toJSONString(result); - } - if (originalRequest.getURI().getPath().equals(GatewayConstant.ADMIN_LOGOUT_URL)) { - ResponseResult result = JSON.parseObject(responseBody, ResponseResult.class); - if (result.isSuccess()) { - String sessionId = (String) exchange.getAttributes().get(GatewayConstant.SESSION_ID_KEY_NAME); - redissonClient.getBucket(RedisKeyUtil.makeSessionIdKey(sessionId)).deleteAsync(); - redissonClient.getSet(RedisKeyUtil.makeSessionPermIdKey(sessionId)).deleteAsync(); - } - return responseBody; - } - return null; - } - - @SuppressWarnings("unchecked") - private ResponseResult processLoginResponse(String responseBody) { - ResponseResult responseResult = JSON.parseObject(responseBody, ResponseResult.class); - if (!responseResult.isSuccess()) { - return responseResult; - } - JSONObject loginData = responseResult.getData(); - // 1. 先验证登陆服务器返回的应答数据是否正确 - JSONObject tokenData = loginData.getJSONObject(TokenData.REQUEST_ATTRIBUTE_NAME); - ErrorCodeEnum errorCode = ErrorCodeEnum.SERVER_INTERNAL_ERROR; - if (tokenData == null) { - return ResponseResult.error(errorCode, "内部错误,用户登录令牌对象没有正确返回!"); - } - Long userId = tokenData.getLong("userId"); - if (MyCommonUtil.isBlankOrNull(userId)) { - return ResponseResult.error(errorCode, "内部错误,用户Id没有正确返回!"); - } - Boolean isAdmin = tokenData.getBoolean("isAdmin"); - if (isAdmin == null) { - return ResponseResult.error(errorCode, "内部错误,是否为管理员标记没有正确返回!"); - } - String showName = tokenData.getString("showName"); - if (StringUtils.isBlank(showName)) { - return ResponseResult.error(errorCode, "内部错误,用户显示名没有正确返回!"); - } - String loginName = tokenData.getString("loginName"); - if (StringUtils.isBlank(loginName)) { - return ResponseResult.error(errorCode, "内部错误,用户登录名没有正确返回!"); - } - String sessionId = tokenData.getString("sessionId"); - if (StringUtils.isBlank(sessionId)) { - return ResponseResult.error(errorCode, "内部错误,SESSION_ID没有正确返回!"); - } - // 2. 生成sessionId并存放到token中 - Map claims = new HashMap<>(1); - claims.put(GatewayConstant.SESSION_ID_KEY_NAME, sessionId); - String token = JwtUtil.generateToken(claims, appConfig.getExpiration(), appConfig.getTokenSigningKey()); - // 3. 更新缓存 - String sessionIdKey = RedisKeyUtil.makeSessionIdKey(sessionId); - String sessionData = JSON.toJSONString(tokenData, SerializerFeature.WriteNonStringValueAsString); - RBucket bucket = redissonClient.getBucket(sessionIdKey); - bucket.set(sessionData); - bucket.expire(appConfig.getSessionExpiredSeconds(), TimeUnit.SECONDS); - // 3.2 sessionId -> permList 是set结构的缓存 - JSONArray permSet = loginData.getJSONArray("permSet"); - if (permSet != null) { - String sessionPermKey = RedisKeyUtil.makeSessionPermIdKey(sessionId); - RSet redisPermSet = redissonClient.getSet(sessionPermKey); - redisPermSet.addAll(permSet.stream().map(Object::toString).collect(Collectors.toSet())); - redisPermSet.expire(appConfig.getSessionExpiredSeconds(), TimeUnit.SECONDS); - } - // 4. 构造返回给用户的应答,将加密后的令牌返回给前端。 - loginData.put(TokenData.REQUEST_ATTRIBUTE_NAME, token); - // 5. 这里需要移除权限资源集合的数据,验证在后端进行,无需返回给前端。 - loginData.remove("permSet"); - return ResponseResult.success(loginData); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/java/com/orangeforms/gateway/filter/AuthenticationPreFilter.java b/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/java/com/orangeforms/gateway/filter/AuthenticationPreFilter.java deleted file mode 100644 index 82eec7f7..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/java/com/orangeforms/gateway/filter/AuthenticationPreFilter.java +++ /dev/null @@ -1,195 +0,0 @@ -package com.orangeforms.gateway.filter; - -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; -import com.orangeforms.common.core.constant.ErrorCodeEnum; -import com.orangeforms.common.core.object.ResponseResult; -import com.orangeforms.common.core.object.TokenData; -import com.orangeforms.common.core.util.JwtUtil; -import com.orangeforms.common.core.util.RedisKeyUtil; -import com.orangeforms.common.core.util.IpUtil; -import com.orangeforms.gateway.config.ApplicationConfig; -import com.orangeforms.gateway.constant.GatewayConstant; -import io.jsonwebtoken.Claims; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.redisson.api.RBucket; -import org.redisson.api.RedissonClient; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cloud.gateway.filter.GatewayFilterChain; -import org.springframework.cloud.gateway.filter.GlobalFilter; -import org.springframework.core.Ordered; -import org.springframework.http.HttpStatus; -import org.springframework.http.MediaType; -import org.springframework.http.server.reactive.ServerHttpRequest; -import org.springframework.http.server.reactive.ServerHttpResponse; -import org.springframework.util.AntPathMatcher; -import org.springframework.web.server.ServerWebExchange; -import reactor.core.publisher.Flux; -import reactor.core.publisher.Mono; - -import java.io.UnsupportedEncodingException; -import java.net.URLEncoder; -import java.nio.charset.StandardCharsets; - -/** - * 全局前处理过滤器。主要用于用户操作权限验证。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -public class AuthenticationPreFilter implements GlobalFilter, Ordered { - - @Autowired - private ApplicationConfig appConfig; - @Autowired - private RedissonClient redissonClient; - /** - * Ant Pattern模式的白名单地址匹配器。 - */ - private final AntPathMatcher antMatcher = new AntPathMatcher(); - - @Override - public Mono filter(ServerWebExchange exchange, GatewayFilterChain chain) { - ServerHttpRequest request = exchange.getRequest(); - ServerHttpResponse response = exchange.getResponse(); - String url = request.getURI().getPath(); - String token = this.getTokenFromRequest(request); - boolean noLoginUrl = false; - // 判断是否为白名单请求,以及一些内置不需要验证的请求。(登录请求也包含其中)。 - // 如果当前请求中包含token令牌不为空的时候,也会继续验证Token的合法性,这样就能保证 - // Token中的用户信息被业务接口正常访问到了。而如果当token为空的时候,白名单的接口可以 - // 被网关直接转发,无需登录验证。当然被转发的接口,也无法获取到用户的token身份数据了。 - if (this.shouldNotFilter(url)) { - noLoginUrl = true; - if (StringUtils.isBlank(token)) { - return chain.filter(exchange); - } - } - Claims c = JwtUtil.parseToken(token, appConfig.getTokenSigningKey()); - if (JwtUtil.isNullOrExpired(c)) { - log.warn("EXPIRED request [{}] from REMOTE-IP [{}].", url, IpUtil.getRemoteIpAddress(request)); - response.setStatusCode(HttpStatus.UNAUTHORIZED); - response.getHeaders().setContentType(MediaType.APPLICATION_JSON); - byte[] responseBody = JSON.toJSONString(ResponseResult.error(ErrorCodeEnum.UNAUTHORIZED_LOGIN, - "用户登录已过期或尚未登录,请重新登录!")).getBytes(StandardCharsets.UTF_8); - return response.writeWith(Flux.just(response.bufferFactory().wrap(responseBody))); - } - // 这里判断是否需要定时刷新token - if (JwtUtil.needToRefresh(c)) { - exchange.getAttributes().put(appConfig.getRefreshedTokenHeaderKey(), - JwtUtil.generateToken(c, appConfig.getExpiration(), appConfig.getTokenSigningKey())); - } - // 先基于sessionId获取userInfo - String sessionId = (String) c.get(GatewayConstant.SESSION_ID_KEY_NAME); - String sessionIdKey = RedisKeyUtil.makeSessionIdKey(sessionId); - RBucket sessionData = redissonClient.getBucket(sessionIdKey); - JSONObject tokenData = null; - if (sessionData.isExists()) { - tokenData = JSON.parseObject(sessionData.get()); - } - if (tokenData == null) { - log.warn("UNAUTHORIZED request [{}] from REMOTE-IP [{}] because no sessionId exists in redis.", - url, IpUtil.getRemoteIpAddress(request)); - response.setStatusCode(HttpStatus.UNAUTHORIZED); - response.getHeaders().setContentType(MediaType.APPLICATION_JSON); - byte[] responseBody = JSON.toJSONString(ResponseResult.error(ErrorCodeEnum.UNAUTHORIZED_LOGIN, - "用户会话已失效,请重新登录!")).getBytes(StandardCharsets.UTF_8); - return response.writeWith(Flux.just(response.bufferFactory().wrap(responseBody))); - } - String userId = tokenData.getString("userId"); - if (StringUtils.isBlank(userId)) { - log.warn("UNAUTHORIZED request [{}] from REMOTE-IP [{}] because userId is empty in redis.", - url, IpUtil.getRemoteIpAddress(request)); - response.setStatusCode(HttpStatus.UNAUTHORIZED); - response.getHeaders().setContentType(MediaType.APPLICATION_JSON); - byte[] responseBody = JSON.toJSONString(ResponseResult.error(ErrorCodeEnum.UNAUTHORIZED_LOGIN, - "用户登录验证信息已过期,请重新登录!")).getBytes(StandardCharsets.UTF_8); - return response.writeWith(Flux.just(response.bufferFactory().wrap(responseBody))); - } - String showName = tokenData.getString("showName"); - // 因为http header中不支持中文传输,所以需要编码。 - try { - showName = URLEncoder.encode(showName, StandardCharsets.UTF_8.name()); - tokenData.put("showName", showName); - } catch (UnsupportedEncodingException e) { - log.error("Failed to call AuthenticationPreFilter.filter.", e); - } - boolean isAdmin = tokenData.getBoolean("isAdmin"); - if (!noLoginUrl && Boolean.FALSE.equals(isAdmin) && !this.hasPermission(redissonClient, sessionId, url)) { - log.warn("FORBIDDEN request [{}] from REMOTE-IP [{}] for USER [{} -- {}] no perm!", - url, IpUtil.getRemoteIpAddress(request), userId, showName); - response.setStatusCode(HttpStatus.FORBIDDEN); - response.getHeaders().setContentType(MediaType.APPLICATION_JSON); - byte[] responseBody = JSON.toJSONString(ResponseResult.error(ErrorCodeEnum.NO_OPERATION_PERMISSION, - "用户对该URL没有访问权限,请核对!")).getBytes(StandardCharsets.UTF_8); - return response.writeWith(Flux.just(response.bufferFactory().wrap(responseBody))); - } - // 将session中关联的用户信息,添加到当前的Request中。转发后,业务服务可以根据需要自定读取。 - tokenData.put("sessionId", sessionId); - exchange.getAttributes().put(GatewayConstant.SESSION_ID_KEY_NAME, sessionId); - ServerHttpRequest mutableReq = exchange.getRequest().mutate().header( - TokenData.REQUEST_ATTRIBUTE_NAME, tokenData.toJSONString()).build(); - ServerWebExchange mutableExchange = exchange.mutate().request(mutableReq).build(); - return chain.filter(mutableExchange); - } - - /** - * 返回过滤器在在调用链上的优先级。 - * - * @return 数值越低,优先级越高。 - */ - @Override - public int getOrder() { - return HIGHEST_PRECEDENCE + 10000; - } - - private String getTokenFromRequest(ServerHttpRequest request) { - String token = request.getHeaders().getFirst(appConfig.getTokenHeaderKey()); - if (StringUtils.isBlank(token)) { - token = request.getQueryParams().getFirst(appConfig.getTokenHeaderKey()); - } - return token; - } - - private boolean hasPermission(RedissonClient redissonClient, String sessionId, String url) { - // 对于退出登录操作,不需要进行权限验证,仅仅确认是已经登录的合法用户即可。 - if (url.equals(GatewayConstant.ADMIN_LOGOUT_URL)) { - return true; - } - String permKey = RedisKeyUtil.makeSessionPermIdKey(sessionId); - return redissonClient.getSet(permKey).contains(url); - } - - /** - * 判断当前请求的url是否为配置中的白名单地址。以及一些内置的不需要登录即可访问的url。 - * @param url 请求的url。 - * @return 是返回true,否则false。 - */ - private boolean shouldNotFilter(String url) { - // 这里过滤和swagger相关的url - if (url.endsWith("/v2/api-docs") || url.endsWith("/v2/api-docs-ext")) { - return true; - } - if (url.equals(GatewayConstant.ADMIN_LOGIN_URL) || url.startsWith("/captcha")) { - return true; - } - // 先过滤直接匹配的白名单url。 - if (CollectionUtils.isNotEmpty(appConfig.getWhitelistUrl())) { - if (appConfig.getWhitelistUrl().contains(url)) { - return true; - } - } - // 过滤ant pattern模式的白名单url。 - if (CollectionUtils.isNotEmpty(appConfig.getWhitelistUrlPattern())) { - for (String urlPattern : appConfig.getWhitelistUrlPattern()) { - if (antMatcher.match(urlPattern, url)) { - return true; - } - } - } - return false; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/java/com/orangeforms/gateway/filter/RequestLogFilter.java b/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/java/com/orangeforms/gateway/filter/RequestLogFilter.java deleted file mode 100644 index b62e3f35..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/java/com/orangeforms/gateway/filter/RequestLogFilter.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.orangeforms.gateway.filter; - -import com.orangeforms.common.core.constant.ApplicationConstant; -import com.orangeforms.common.core.util.MyCommonUtil; -import com.orangeforms.gateway.constant.GatewayConstant; -import lombok.extern.slf4j.Slf4j; -import org.slf4j.MDC; -import org.springframework.cloud.gateway.filter.GatewayFilterChain; -import org.springframework.cloud.gateway.filter.GlobalFilter; -import org.springframework.core.Ordered; -import org.springframework.http.server.reactive.ServerHttpRequest; -import org.springframework.http.server.reactive.ServerHttpResponse; -import org.springframework.web.server.ServerWebExchange; -import reactor.core.publisher.Mono; - -/** - * 链路日志前置过虑器。 - * 为整个链路生成唯一的traceId,并存储在Request Head中。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -public class RequestLogFilter implements GlobalFilter, Ordered { - - @Override - public Mono filter(ServerWebExchange exchange, GatewayFilterChain chain) { - final String traceId = MyCommonUtil.generateUuid(); - MDC.put(ApplicationConstant.HTTP_HEADER_TRACE_ID, traceId); - log.info("开始请求,app={gateway}, url={}", exchange.getRequest().getURI().getPath()); - // 分别记录traceId和执行开始时间。 - exchange.getAttributes().put(GatewayConstant.START_TIME_ATTRIBUTE, System.currentTimeMillis()); - ServerHttpRequest mutableReq = exchange.getRequest().mutate().header( - ApplicationConstant.HTTP_HEADER_TRACE_ID, traceId).build(); - ServerWebExchange mutableExchange = exchange.mutate().request(mutableReq).build(); - ServerHttpResponse response = mutableExchange.getResponse(); - response.beforeCommit(() -> { - response.getHeaders().set(ApplicationConstant.HTTP_HEADER_TRACE_ID, traceId); - return Mono.empty(); - }); - return chain.filter(mutableExchange).then(Mono.fromRunnable(() -> { - Long startTime = exchange.getAttribute(GatewayConstant.START_TIME_ATTRIBUTE); - MDC.put(ApplicationConstant.HTTP_HEADER_TRACE_ID, traceId); - long elapse = 0; - if (startTime != null) { - elapse = System.currentTimeMillis() - startTime; - } - log.info("请求完成, app={gateway}, url={},elapse={}", exchange.getRequest().getURI().getPath(), elapse); - })); - } - - /** - * 返回过滤器在在调用链上的优先级。 - * - * @return 数值越低,优先级越高。 - */ - @Override - public int getOrder() { - return HIGHEST_PRECEDENCE + 9900; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/java/com/orangeforms/gateway/handler/SwaggerHandler.java b/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/java/com/orangeforms/gateway/handler/SwaggerHandler.java deleted file mode 100644 index e2fc52d3..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/java/com/orangeforms/gateway/handler/SwaggerHandler.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.orangeforms.gateway.handler; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; -import reactor.core.publisher.Mono; -import springfox.documentation.swagger.web.*; - -import java.util.Optional; - -/** - * Swagger的资源请求处理器。 - * - * @author Knife4j Team。 - * @date 2020-08-08 - */ -@RestController -public class SwaggerHandler { - - @Autowired(required = false) - private SecurityConfiguration securityConfiguration; - - @Autowired(required = false) - private UiConfiguration uiConfiguration; - - private final SwaggerResourcesProvider swaggerResources; - - @Autowired - public SwaggerHandler(SwaggerResourcesProvider swaggerResources) { - this.swaggerResources = swaggerResources; - } - - @GetMapping("/swagger-resources/configuration/security") - public Mono> securityConfiguration() { - return Mono.just(new ResponseEntity<>( - Optional.ofNullable(securityConfiguration) - .orElse(SecurityConfigurationBuilder.builder().build()), HttpStatus.OK)); - } - - @GetMapping("/swagger-resources/configuration/ui") - public Mono> uiConfiguration() { - return Mono.just(new ResponseEntity<>( - Optional.ofNullable(uiConfiguration) - .orElse(UiConfigurationBuilder.builder().build()), HttpStatus.OK)); - } - - @GetMapping("/swagger-resources") - public Mono swaggerResources() { - return Mono.just((new ResponseEntity<>(swaggerResources.get(), HttpStatus.OK))); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/resources/bootstrap.yml b/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/resources/bootstrap.yml deleted file mode 100644 index b5b28ebe..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/resources/bootstrap.yml +++ /dev/null @@ -1,19 +0,0 @@ -spring: - application: - name: gateway - profiles: - active: dev - cloud: - nacos: - discovery: - server-addr: localhost:8848 - config: - server-addr: localhost:8848 - file-extension: yaml - # 共享配置文件,排序越高后,优先级越高。 - shared-configs: - - data-id: application-dev.yaml - group: DEFAULT_GROUP - refresh: true - main: - allow-bean-definition-overriding: true diff --git a/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/resources/log4j2.xml b/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/resources/log4j2.xml deleted file mode 100644 index c637836f..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/gateway/src/main/resources/log4j2.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - ./zzlogs/gateway - - ./zzlogs/gateway/backup - - info - - - - - - - - [%-5p] [%d{YYYY-MM-dd HH:mm:ss}] [%t] ==> %msg%n - - - - [%-5p] [%d{YYYY-MM-dd HH:mm:ss}] T:[%X{traceId}] [%t] ==> [%traceId] %msg%n - - - 31 - - 20M - - - - - - - localhost:9092 - 10000 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/application/pom.xml b/orange-demo-multi/orange-demo-multi-service/application/pom.xml deleted file mode 100644 index 6c71c6b7..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/pom.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - OrangeMultiDemo - com.orangeforms - 1.0.0 - - 4.0.0 - - application - pom - - - application-common - gateway - course-class - stats - upms - - - - - - com.alibaba.cloud - spring-cloud-starter-alibaba-nacos-discovery - - - - com.alibaba.cloud - spring-cloud-starter-alibaba-sentinel - - - - com.alibaba.csp - sentinel-datasource-nacos - - - \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/pom.xml b/orange-demo-multi/orange-demo-multi-service/application/stats/pom.xml deleted file mode 100644 index e471a2f7..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/pom.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - com.orangeforms - application - 1.0.0 - - 4.0.0 - - stats - pom - - - stats-api - stats-service - - diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-api/pom.xml b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-api/pom.xml deleted file mode 100644 index fbf1b3e5..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-api/pom.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - com.orangeforms - stats - 1.0.0 - - 4.0.0 - - stats-api - 1.0.0 - stats-api - jar - - - - - com.orangeforms - application-common - 1.0.0 - - - - com.orangeforms - common-core - 1.0.0 - - - com.orangeforms - common-datafilter - 1.0.0 - - - - com.orangeforms - common-swagger - 1.0.0 - - - diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-api/src/main/java/com/orangeforms/statsapi/client/CourseTransStatsClient.java b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-api/src/main/java/com/orangeforms/statsapi/client/CourseTransStatsClient.java deleted file mode 100644 index 29a8d424..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-api/src/main/java/com/orangeforms/statsapi/client/CourseTransStatsClient.java +++ /dev/null @@ -1,188 +0,0 @@ -package com.orangeforms.statsapi.client; - -import com.orangeforms.common.core.base.client.BaseFallbackFactory; -import com.orangeforms.common.core.config.FeignConfig; -import com.orangeforms.common.core.base.client.BaseClient; -import com.orangeforms.common.core.object.*; -import com.orangeforms.statsapi.dto.CourseTransStatsDto; -import com.orangeforms.statsapi.vo.CourseTransStatsVo; -import lombok.extern.slf4j.Slf4j; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.stereotype.Component; -import org.springframework.web.bind.annotation.*; - -import java.util.*; - -/** - * 课程统计服务远程数据操作访问接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -@FeignClient( - name = "stats", - configuration = FeignConfig.class, - fallbackFactory = CourseTransStatsClient.CourseTransStatsClientFallbackFactory.class) -public interface CourseTransStatsClient extends BaseClient { - - /** - * 基于主键的(In-list)条件获取远程数据接口。 - * - * @param statsIds 主键Id集合。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象的数据集合。 - */ - @Override - @PostMapping("/courseTransStats/listByIds") - ResponseResult> listByIds( - @RequestParam("statsIds") Set statsIds, - @RequestParam("withDict") Boolean withDict); - - /** - * 基于主键Id,获取远程对象。 - * - * @param statsId 主键Id。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象数据。 - */ - @Override - @PostMapping("/courseTransStats/getById") - ResponseResult getById( - @RequestParam("statsId") Long statsId, - @RequestParam("withDict") Boolean withDict); - - /** - * 判断参数列表中指定的主键Id,是否都存在。 - * - * @param statsIds 主键Id集合。 - * @return 应答结果对象,包含true全部存在,否则false。 - */ - @Override - @PostMapping("/courseTransStats/existIds") - ResponseResult existIds(@RequestParam("statsIds") Set statsIds); - - /** - * 判断主键Id是否存在。 - * - * @param statsId 参数主键Id。 - * @return 应答结果对象,包含true表示存在,否则false。 - */ - @Override - @PostMapping("/courseTransStats/existId") - ResponseResult existId(@RequestParam("statsId") Long statsId); - - /** - * 根据最新对象和原有对象列表的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param data 数据对象。 - * 主键有值是视为更新操作的数据比对,因此仅当关联Id变化时才会验证。 - * 主键为空视为新增操作的数据比对,所有关联Id都会被验证。 - * @return 应答结果对象。 - */ - @Override - @PostMapping("/courseTransStats/verifyRelatedData") - ResponseResult verifyRelatedData(@RequestBody CourseTransStatsDto data); - - /** - * 根据最新对象列表和原有对象列表的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param dataList 数据对象列表。 - * @return 应答结果对象。 - */ - @Override - @PostMapping("/courseTransStats/verifyRelatedDataList") - ResponseResult verifyRelatedDataList(@RequestBody List dataList); - - /** - * 删除主键Id关联的对象。 - * - * @param statsId 主键Id。 - * @return 应答结果对象。 - */ - @Override - @PostMapping("/courseTransStats/deleteById") - ResponseResult deleteById(@RequestParam("statsId") Long statsId); - - /** - * 删除符合过滤条件的数据。 - * - * @param filter 过滤对象。 - * @return 应答结果对象,包含删除数量。 - */ - @Override - @PostMapping("/courseTransStats/deleteBy") - ResponseResult deleteBy(@RequestBody CourseTransStatsDto filter); - - /** - * 获取远程主对象中符合查询条件的数据列表。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含实体对象集合。 - */ - @Override - @PostMapping("/courseTransStats/listBy") - ResponseResult> listBy(@RequestBody MyQueryParam queryParam); - - /** - * 获取远程主对象中符合查询条件的单条数据对象。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含实体对象。 - */ - @Override - @PostMapping("/courseTransStats/getBy") - ResponseResult getBy(@RequestBody MyQueryParam queryParam); - - /** - * 获取远程主对象中符合查询条件的数据列表。 - * 和listBy接口相比,以Map列表的方式返回的主要目的是,降低服务之间的耦合度。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含主对象集合。 - */ - @Override - @PostMapping("/courseTransStats/listMapBy") - ResponseResult>> listMapBy(@RequestBody MyQueryParam queryParam); - - /** - * 获取远程主对象中符合查询条件的数据数量。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含结果数量。 - */ - @Override - @PostMapping("/courseTransStats/countBy") - ResponseResult countBy(@RequestBody MyQueryParam queryParam); - - /** - * 获取远程对象中符合查询条件的分组聚合计算Map列表。 - * - * @param aggregationParam 聚合参数。 - * @return 应该结果对象,包含聚合计算后的分组Map列表。 - */ - @Override - @PostMapping("/courseTransStats/aggregateBy") - ResponseResult>> aggregateBy(@RequestBody MyAggregationParam aggregationParam); - - /** - * 根据过滤字段和过滤集合,返回不存在的数据。 - * - * @param queryParam 查询参数。 - * @return filterSet中,在从表中不存在的数据集合。 - */ - @Override - @PostMapping("/courseTransStats/notExist") - ResponseResult> notExist(@RequestBody MyQueryParam queryParam); - - @Component("StatsCourseTransStatsClientFallbackFactory") - @Slf4j - class CourseTransStatsClientFallbackFactory - extends BaseFallbackFactory implements CourseTransStatsClient { - - @Override - public CourseTransStatsClient create(Throwable throwable) { - log.error("Exception For Feign Remote Call.", throwable); - return new CourseTransStatsClientFallbackFactory(); - } - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-api/src/main/java/com/orangeforms/statsapi/client/StudentActionStatsClient.java b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-api/src/main/java/com/orangeforms/statsapi/client/StudentActionStatsClient.java deleted file mode 100644 index 6d7e0a48..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-api/src/main/java/com/orangeforms/statsapi/client/StudentActionStatsClient.java +++ /dev/null @@ -1,188 +0,0 @@ -package com.orangeforms.statsapi.client; - -import com.orangeforms.common.core.base.client.BaseFallbackFactory; -import com.orangeforms.common.core.config.FeignConfig; -import com.orangeforms.common.core.base.client.BaseClient; -import com.orangeforms.common.core.object.*; -import com.orangeforms.statsapi.dto.StudentActionStatsDto; -import com.orangeforms.statsapi.vo.StudentActionStatsVo; -import lombok.extern.slf4j.Slf4j; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.stereotype.Component; -import org.springframework.web.bind.annotation.*; - -import java.util.*; - -/** - * 学生行为统计服务远程数据操作访问接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -@FeignClient( - name = "stats", - configuration = FeignConfig.class, - fallbackFactory = StudentActionStatsClient.StudentActionStatsClientFallbackFactory.class) -public interface StudentActionStatsClient extends BaseClient { - - /** - * 基于主键的(In-list)条件获取远程数据接口。 - * - * @param statsIds 主键Id集合。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象的数据集合。 - */ - @Override - @PostMapping("/studentActionStats/listByIds") - ResponseResult> listByIds( - @RequestParam("statsIds") Set statsIds, - @RequestParam("withDict") Boolean withDict); - - /** - * 基于主键Id,获取远程对象。 - * - * @param statsId 主键Id。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象数据。 - */ - @Override - @PostMapping("/studentActionStats/getById") - ResponseResult getById( - @RequestParam("statsId") Long statsId, - @RequestParam("withDict") Boolean withDict); - - /** - * 判断参数列表中指定的主键Id,是否都存在。 - * - * @param statsIds 主键Id集合。 - * @return 应答结果对象,包含true全部存在,否则false。 - */ - @Override - @PostMapping("/studentActionStats/existIds") - ResponseResult existIds(@RequestParam("statsIds") Set statsIds); - - /** - * 判断主键Id是否存在。 - * - * @param statsId 参数主键Id。 - * @return 应答结果对象,包含true表示存在,否则false。 - */ - @Override - @PostMapping("/studentActionStats/existId") - ResponseResult existId(@RequestParam("statsId") Long statsId); - - /** - * 根据最新对象和原有对象列表的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param data 数据对象。 - * 主键有值是视为更新操作的数据比对,因此仅当关联Id变化时才会验证。 - * 主键为空视为新增操作的数据比对,所有关联Id都会被验证。 - * @return 应答结果对象。 - */ - @Override - @PostMapping("/studentActionStats/verifyRelatedData") - ResponseResult verifyRelatedData(@RequestBody StudentActionStatsDto data); - - /** - * 根据最新对象列表和原有对象列表的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param dataList 数据对象列表。 - * @return 应答结果对象。 - */ - @Override - @PostMapping("/studentActionStats/verifyRelatedDataList") - ResponseResult verifyRelatedDataList(@RequestBody List dataList); - - /** - * 删除主键Id关联的对象。 - * - * @param statsId 主键Id。 - * @return 应答结果对象。 - */ - @Override - @PostMapping("/studentActionStats/deleteById") - ResponseResult deleteById(@RequestParam("statsId") Long statsId); - - /** - * 删除符合过滤条件的数据。 - * - * @param filter 过滤对象。 - * @return 应答结果对象,包含删除数量。 - */ - @Override - @PostMapping("/studentActionStats/deleteBy") - ResponseResult deleteBy(@RequestBody StudentActionStatsDto filter); - - /** - * 获取远程主对象中符合查询条件的数据列表。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含实体对象集合。 - */ - @Override - @PostMapping("/studentActionStats/listBy") - ResponseResult> listBy(@RequestBody MyQueryParam queryParam); - - /** - * 获取远程主对象中符合查询条件的单条数据对象。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含实体对象。 - */ - @Override - @PostMapping("/studentActionStats/getBy") - ResponseResult getBy(@RequestBody MyQueryParam queryParam); - - /** - * 获取远程主对象中符合查询条件的数据列表。 - * 和listBy接口相比,以Map列表的方式返回的主要目的是,降低服务之间的耦合度。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含主对象集合。 - */ - @Override - @PostMapping("/studentActionStats/listMapBy") - ResponseResult>> listMapBy(@RequestBody MyQueryParam queryParam); - - /** - * 获取远程主对象中符合查询条件的数据数量。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含结果数量。 - */ - @Override - @PostMapping("/studentActionStats/countBy") - ResponseResult countBy(@RequestBody MyQueryParam queryParam); - - /** - * 获取远程对象中符合查询条件的分组聚合计算Map列表。 - * - * @param aggregationParam 聚合参数。 - * @return 应该结果对象,包含聚合计算后的分组Map列表。 - */ - @Override - @PostMapping("/studentActionStats/aggregateBy") - ResponseResult>> aggregateBy(@RequestBody MyAggregationParam aggregationParam); - - /** - * 根据过滤字段和过滤集合,返回不存在的数据。 - * - * @param queryParam 查询参数。 - * @return filterSet中,在从表中不存在的数据集合。 - */ - @Override - @PostMapping("/studentActionStats/notExist") - ResponseResult> notExist(@RequestBody MyQueryParam queryParam); - - @Component("StatsStudentActionStatsClientFallbackFactory") - @Slf4j - class StudentActionStatsClientFallbackFactory - extends BaseFallbackFactory implements StudentActionStatsClient { - - @Override - public StudentActionStatsClient create(Throwable throwable) { - log.error("Exception For Feign Remote Call.", throwable); - return new StudentActionStatsClientFallbackFactory(); - } - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-api/src/main/java/com/orangeforms/statsapi/client/StudentActionTransClient.java b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-api/src/main/java/com/orangeforms/statsapi/client/StudentActionTransClient.java deleted file mode 100644 index 1f4abbf8..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-api/src/main/java/com/orangeforms/statsapi/client/StudentActionTransClient.java +++ /dev/null @@ -1,208 +0,0 @@ -package com.orangeforms.statsapi.client; - -import com.orangeforms.common.core.base.client.BaseFallbackFactory; -import com.orangeforms.common.core.config.FeignConfig; -import com.orangeforms.common.core.base.client.BaseClient; -import com.orangeforms.common.core.object.*; -import com.orangeforms.statsapi.dto.StudentActionTransDto; -import com.orangeforms.statsapi.vo.StudentActionTransVo; -import lombok.extern.slf4j.Slf4j; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.stereotype.Component; -import org.springframework.web.bind.annotation.*; - -import java.util.*; - -/** - * 学生行为流水服务远程数据操作访问接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -@FeignClient( - name = "stats", - configuration = FeignConfig.class, - fallbackFactory = StudentActionTransClient.StudentActionTransClientFallbackFactory.class) -public interface StudentActionTransClient extends BaseClient { - - /** - * 基于主键的(In-list)条件获取远程数据接口。 - * - * @param transIds 主键Id集合。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象的数据集合。 - */ - @Override - @PostMapping("/studentActionTrans/listByIds") - ResponseResult> listByIds( - @RequestParam("transIds") Set transIds, - @RequestParam("withDict") Boolean withDict); - - /** - * 基于主键Id,获取远程对象。 - * - * @param transId 主键Id。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象数据。 - */ - @Override - @PostMapping("/studentActionTrans/getById") - ResponseResult getById( - @RequestParam("transId") Long transId, - @RequestParam("withDict") Boolean withDict); - - /** - * 判断参数列表中指定的主键Id,是否都存在。 - * - * @param transIds 主键Id集合。 - * @return 应答结果对象,包含true全部存在,否则false。 - */ - @Override - @PostMapping("/studentActionTrans/existIds") - ResponseResult existIds(@RequestParam("transIds") Set transIds); - - /** - * 判断主键Id是否存在。 - * - * @param transId 参数主键Id。 - * @return 应答结果对象,包含true表示存在,否则false。 - */ - @Override - @PostMapping("/studentActionTrans/existId") - ResponseResult existId(@RequestParam("transId") Long transId); - - /** - * 保存或更新数据。 - * - * @param data 主键Id为null时表示新增数据,否则更新数据。 - * @return 应答结果对象,主键Id。 - */ - @Override - @PostMapping("/studentActionTrans/saveNewOrUpdate") - ResponseResult saveNewOrUpdate(@RequestBody StudentActionTransDto data); - - /** - * 批量新增或保存数据列表。 - * - * @param dataList 数据列表。主键Id为null时表示新增数据,否则更新数据。 - * @return 应答结果对象。 - */ - @Override - @PostMapping("/studentActionTrans/saveNewOrUpdateBatch") - ResponseResult saveNewOrUpdateBatch(@RequestBody List dataList); - - /** - * 根据最新对象和原有对象列表的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param data 数据对象。 - * 主键有值是视为更新操作的数据比对,因此仅当关联Id变化时才会验证。 - * 主键为空视为新增操作的数据比对,所有关联Id都会被验证。 - * @return 应答结果对象。 - */ - @Override - @PostMapping("/studentActionTrans/verifyRelatedData") - ResponseResult verifyRelatedData(@RequestBody StudentActionTransDto data); - - /** - * 根据最新对象列表和原有对象列表的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param dataList 数据对象列表。 - * @return 应答结果对象。 - */ - @Override - @PostMapping("/studentActionTrans/verifyRelatedDataList") - ResponseResult verifyRelatedDataList(@RequestBody List dataList); - - /** - * 删除主键Id关联的对象。 - * - * @param transId 主键Id。 - * @return 应答结果对象。 - */ - @Override - @PostMapping("/studentActionTrans/deleteById") - ResponseResult deleteById(@RequestParam("transId") Long transId); - - /** - * 删除符合过滤条件的数据。 - * - * @param filter 过滤对象。 - * @return 应答结果对象,包含删除数量。 - */ - @Override - @PostMapping("/studentActionTrans/deleteBy") - ResponseResult deleteBy(@RequestBody StudentActionTransDto filter); - - /** - * 获取远程主对象中符合查询条件的数据列表。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含实体对象集合。 - */ - @Override - @PostMapping("/studentActionTrans/listBy") - ResponseResult> listBy(@RequestBody MyQueryParam queryParam); - - /** - * 获取远程主对象中符合查询条件的单条数据对象。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含实体对象。 - */ - @Override - @PostMapping("/studentActionTrans/getBy") - ResponseResult getBy(@RequestBody MyQueryParam queryParam); - - /** - * 获取远程主对象中符合查询条件的数据列表。 - * 和listBy接口相比,以Map列表的方式返回的主要目的是,降低服务之间的耦合度。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含主对象集合。 - */ - @Override - @PostMapping("/studentActionTrans/listMapBy") - ResponseResult>> listMapBy(@RequestBody MyQueryParam queryParam); - - /** - * 获取远程主对象中符合查询条件的数据数量。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含结果数量。 - */ - @Override - @PostMapping("/studentActionTrans/countBy") - ResponseResult countBy(@RequestBody MyQueryParam queryParam); - - /** - * 获取远程对象中符合查询条件的分组聚合计算Map列表。 - * - * @param aggregationParam 聚合参数。 - * @return 应该结果对象,包含聚合计算后的分组Map列表。 - */ - @Override - @PostMapping("/studentActionTrans/aggregateBy") - ResponseResult>> aggregateBy(@RequestBody MyAggregationParam aggregationParam); - - /** - * 根据过滤字段和过滤集合,返回不存在的数据。 - * - * @param queryParam 查询参数。 - * @return filterSet中,在从表中不存在的数据集合。 - */ - @Override - @PostMapping("/studentActionTrans/notExist") - ResponseResult> notExist(@RequestBody MyQueryParam queryParam); - - @Component("StatsStudentActionTransClientFallbackFactory") - @Slf4j - class StudentActionTransClientFallbackFactory - extends BaseFallbackFactory implements StudentActionTransClient { - - @Override - public StudentActionTransClient create(Throwable throwable) { - log.error("Exception For Feign Remote Call.", throwable); - return new StudentActionTransClientFallbackFactory(); - } - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-api/src/main/java/com/orangeforms/statsapi/dto/CourseTransStatsDto.java b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-api/src/main/java/com/orangeforms/statsapi/dto/CourseTransStatsDto.java deleted file mode 100644 index 8b7767e1..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-api/src/main/java/com/orangeforms/statsapi/dto/CourseTransStatsDto.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.orangeforms.statsapi.dto; - -import com.orangeforms.common.core.validator.UpdateGroup; -import com.orangeforms.common.core.validator.ConstDictRef; -import com.orangeforms.application.common.constant.Subject; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.*; - -import java.util.Date; - -/** - * CourseTransStatsDto对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("CourseTransStatsDto对象") -@Data -public class CourseTransStatsDto { - - /** - * 主键Id。 - */ - @ApiModelProperty(value = "主键Id", required = true) - @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) - private Long statsId; - - /** - * 统计日期。 - */ - @ApiModelProperty(value = "统计日期", required = true) - @NotNull(message = "数据验证失败,统计日期不能为空!") - private Date statsDate; - - /** - * 科目Id。 - */ - @ApiModelProperty(value = "科目Id", required = true) - @NotNull(message = "数据验证失败,所属科目不能为空!") - @ConstDictRef(constDictClass = Subject.class, message = "数据验证失败,所属科目为无效值!") - private Integer subjectId; - - /** - * 年级Id。 - */ - @ApiModelProperty(value = "年级Id", required = true) - @NotNull(message = "数据验证失败,所属年级不能为空!") - private Integer gradeId; - - /** - * 年级名称。 - */ - @ApiModelProperty(value = "年级名称") - private String gradeName; - - /** - * 课程Id。 - */ - @ApiModelProperty(value = "课程Id", required = true) - @NotNull(message = "数据验证失败,课程ID不能为空!") - private Long courseId; - - /** - * 课程名称。 - */ - @ApiModelProperty(value = "课程名称") - private String courseName; - - /** - * 学生上课次数。 - */ - @ApiModelProperty(value = "学生上课次数", required = true) - @NotNull(message = "数据验证失败,上课次数不能为空!") - private Integer studentAttendCount; - - /** - * 学生献花数量。 - */ - @ApiModelProperty(value = "学生献花数量", required = true) - @NotNull(message = "数据验证失败,献花数量不能为空!") - private Integer studentFlowerAmount; - - /** - * 学生献花次数。 - */ - @ApiModelProperty(value = "学生献花次数", required = true) - @NotNull(message = "数据验证失败,献花次数不能为空!") - private Integer studentFlowerCount; - - /** - * statsDate 范围过滤起始值(>=)。 - */ - @ApiModelProperty(value = "statsDate 范围过滤起始值(>=)") - private String statsDateStart; - - /** - * statsDate 范围过滤结束值(<=)。 - */ - @ApiModelProperty(value = "statsDate 范围过滤结束值(<=)") - private String statsDateEnd; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-api/src/main/java/com/orangeforms/statsapi/dto/StudentActionStatsDto.java b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-api/src/main/java/com/orangeforms/statsapi/dto/StudentActionStatsDto.java deleted file mode 100644 index e007addf..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-api/src/main/java/com/orangeforms/statsapi/dto/StudentActionStatsDto.java +++ /dev/null @@ -1,180 +0,0 @@ -package com.orangeforms.statsapi.dto; - -import com.orangeforms.common.core.validator.UpdateGroup; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.*; - -import java.util.Date; - -/** - * StudentActionStatsDto对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("StudentActionStatsDto对象") -@Data -public class StudentActionStatsDto { - - /** - * 主键Id。 - */ - @ApiModelProperty(value = "主键Id", required = true) - @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) - private Long statsId; - - /** - * 统计日期。 - */ - @ApiModelProperty(value = "统计日期", required = true) - @NotNull(message = "数据验证失败,统计日期不能为空!") - private Date statsDate; - - /** - * 统计小时。 - */ - @ApiModelProperty(value = "统计小时") - private Date statsMonth; - - /** - * 年级Id。 - */ - @ApiModelProperty(value = "年级Id", required = true) - @NotNull(message = "数据验证失败,所属年级不能为空!") - private Integer gradeId; - - /** - * 学生所在省Id。 - */ - @ApiModelProperty(value = "学生所在省Id", required = true) - @NotNull(message = "数据验证失败,所在省份不能为空!") - private Long provinceId; - - /** - * 学生所在城市Id。 - */ - @ApiModelProperty(value = "学生所在城市Id", required = true) - @NotNull(message = "数据验证失败,所在城市不能为空!") - private Long cityId; - - /** - * 购课学币数量。 - */ - @ApiModelProperty(value = "购课学币数量", required = true) - @NotNull(message = "数据验证失败,购课学币数量不能为空!") - private Integer buyCourseAmount; - - /** - * 购买课程次数。 - */ - @ApiModelProperty(value = "购买课程次数", required = true) - @NotNull(message = "数据验证失败,购买课程次数不能为空!") - private Integer buyCourseCount; - - /** - * 购买视频学币数量。 - */ - @ApiModelProperty(value = "购买视频学币数量", required = true) - @NotNull(message = "数据验证失败,购买视频学币数量不能为空!") - private Integer buyVideoAmount; - - /** - * 购买视频次数。 - */ - @ApiModelProperty(value = "购买视频次数", required = true) - @NotNull(message = "数据验证失败,购买视频次数不能为空!") - private Integer buyVideoCount; - - /** - * 购买作业学币数量。 - */ - @ApiModelProperty(value = "购买作业学币数量", required = true) - @NotNull(message = "数据验证失败,购买作业学币数量不能为空!") - private Integer buyPaperAmount; - - /** - * 购买作业次数。 - */ - @ApiModelProperty(value = "购买作业次数", required = true) - @NotNull(message = "数据验证失败,购买作业次数不能为空!") - private Integer buyPaperCount; - - /** - * 购买献花数量。 - */ - @ApiModelProperty(value = "购买献花数量", required = true) - @NotNull(message = "数据验证失败,购买献花数量不能为空!") - private Integer buyFlowerAmount; - - /** - * 购买献花次数。 - */ - @ApiModelProperty(value = "购买献花次数", required = true) - @NotNull(message = "数据验证失败,购买献花次数不能为空!") - private Integer buyFlowerCount; - - /** - * 充值学币数量。 - */ - @ApiModelProperty(value = "充值学币数量", required = true) - @NotNull(message = "数据验证失败,充值学币数量不能为空!") - private Integer rechargeCoinAmount; - - /** - * 充值学币次数。 - */ - @ApiModelProperty(value = "充值学币次数", required = true) - @NotNull(message = "数据验证失败,充值学币次数不能为空!") - private Integer rechargeCoinCount; - - /** - * 线下课程上课次数。 - */ - @ApiModelProperty(value = "线下课程上课次数", required = true) - @NotNull(message = "数据验证失败,线下课程上课次数不能为空!") - private Integer doCourseCount; - - /** - * 观看视频次数。 - */ - @ApiModelProperty(value = "观看视频次数", required = true) - @NotNull(message = "数据验证失败,观看视频次数不能为空!") - private Integer watchVideoCount; - - /** - * 购买献花消费学币数量。 - */ - @ApiModelProperty(value = "购买献花消费学币数量", required = true) - @NotNull(message = "数据验证失败,购买献花消费学币数量不能为空!") - private Integer watchVideoTotalSecond; - - /** - * 做题数量。 - */ - @ApiModelProperty(value = "做题数量", required = true) - @NotNull(message = "数据验证失败,做题数量不能为空!") - private Integer doExerciseCount; - - /** - * 做题正确的数量。 - */ - @ApiModelProperty(value = "做题正确的数量", required = true) - @NotNull(message = "数据验证失败,做题正确的数量不能为空!") - private Integer doExerciseCorrectCount; - - /** - * statsDate 范围过滤起始值(>=)。 - */ - @ApiModelProperty(value = "statsDate 范围过滤起始值(>=)") - private String statsDateStart; - - /** - * statsDate 范围过滤结束值(<=)。 - */ - @ApiModelProperty(value = "statsDate 范围过滤结束值(<=)") - private String statsDateEnd; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-api/src/main/java/com/orangeforms/statsapi/dto/StudentActionTransDto.java b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-api/src/main/java/com/orangeforms/statsapi/dto/StudentActionTransDto.java deleted file mode 100644 index 104f9740..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-api/src/main/java/com/orangeforms/statsapi/dto/StudentActionTransDto.java +++ /dev/null @@ -1,136 +0,0 @@ -package com.orangeforms.statsapi.dto; - -import com.orangeforms.common.core.validator.UpdateGroup; -import com.orangeforms.common.core.validator.ConstDictRef; -import com.orangeforms.application.common.constant.StudentActionType; -import com.orangeforms.application.common.constant.DeviceType; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.*; - -import java.util.Date; - -/** - * StudentActionTransDto对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("StudentActionTransDto对象") -@Data -public class StudentActionTransDto { - - /** - * 主键Id。 - */ - @ApiModelProperty(value = "主键Id", required = true) - @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) - private Long transId; - - /** - * 学生Id。 - */ - @ApiModelProperty(value = "学生Id", required = true) - @NotNull(message = "数据验证失败,学生Id不能为空!") - private Long studentId; - - /** - * 学生名称。 - */ - @ApiModelProperty(value = "学生名称", required = true) - @NotBlank(message = "数据验证失败,学生名称不能为空!") - private String studentName; - - /** - * 学生校区。 - */ - @ApiModelProperty(value = "学生校区", required = true) - @NotNull(message = "数据验证失败,学生校区不能为空!") - private Long schoolId; - - /** - * 年级Id。 - */ - @ApiModelProperty(value = "年级Id", required = true) - @NotNull(message = "数据验证失败,所属年级不能为空!") - private Integer gradeId; - - /** - * 行为类型(0: 充值 1: 购课 2: 上课签到 3: 上课签退 4: 看视频课 5: 做作业 6: 刷题 7: 献花)。 - */ - @ApiModelProperty(value = "行为类型(0: 充值 1: 购课 2: 上课签到 3: 上课签退 4: 看视频课 5: 做作业 6: 刷题 7: 献花)", required = true) - @NotNull(message = "数据验证失败,行为类型不能为空!") - @ConstDictRef(constDictClass = StudentActionType.class, message = "数据验证失败,行为类型为无效值!") - private Integer actionType; - - /** - * 设备类型(0: iOS 1: Android 2: PC)。 - */ - @ApiModelProperty(value = "设备类型(0: iOS 1: Android 2: PC)", required = true) - @NotNull(message = "数据验证失败,设备类型不能为空!") - @ConstDictRef(constDictClass = DeviceType.class, message = "数据验证失败,设备类型为无效值!") - private Integer deviceType; - - /** - * 看视频秒数。 - */ - @ApiModelProperty(value = "看视频秒数") - private Integer watchVideoSeconds; - - /** - * 购买献花数量。 - */ - @ApiModelProperty(value = "购买献花数量") - private Integer flowerCount; - - /** - * 购买作业数量。 - */ - @ApiModelProperty(value = "购买作业数量") - private Integer paperCount; - - /** - * 购买视频数量。 - */ - @ApiModelProperty(value = "购买视频数量") - private Integer videoCount; - - /** - * 购买课程数量。 - */ - @ApiModelProperty(value = "购买课程数量") - private Integer courseCount; - - /** - * 充值学币数量。 - */ - @ApiModelProperty(value = "充值学币数量") - private Integer coinCount; - - /** - * 做题是否正确标记。 - */ - @ApiModelProperty(value = "做题是否正确标记") - private Integer exerciseCorrectFlag; - - /** - * 发生时间。 - */ - @ApiModelProperty(value = "发生时间") - private Date createTime; - - /** - * createTime 范围过滤起始值(>=)。 - */ - @ApiModelProperty(value = "createTime 范围过滤起始值(>=)") - private String createTimeStart; - - /** - * createTime 范围过滤结束值(<=)。 - */ - @ApiModelProperty(value = "createTime 范围过滤结束值(<=)") - private String createTimeEnd; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-api/src/main/java/com/orangeforms/statsapi/vo/CourseTransStatsVo.java b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-api/src/main/java/com/orangeforms/statsapi/vo/CourseTransStatsVo.java deleted file mode 100644 index 0edbc093..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-api/src/main/java/com/orangeforms/statsapi/vo/CourseTransStatsVo.java +++ /dev/null @@ -1,97 +0,0 @@ -package com.orangeforms.statsapi.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.util.Date; -import java.util.Map; - -/** - * CourseTransStatsVO视图对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("CourseTransStatsVO视图对象") -@Data -public class CourseTransStatsVo { - - /** - * 主键Id。 - */ - @ApiModelProperty(value = "主键Id") - private Long statsId; - - /** - * 统计日期。 - */ - @ApiModelProperty(value = "统计日期") - private Date statsDate; - - /** - * 科目Id。 - */ - @ApiModelProperty(value = "科目Id") - private Integer subjectId; - - /** - * 年级Id。 - */ - @ApiModelProperty(value = "年级Id") - private Integer gradeId; - - /** - * 年级名称。 - */ - @ApiModelProperty(value = "年级名称") - private String gradeName; - - /** - * 课程Id。 - */ - @ApiModelProperty(value = "课程Id") - private Long courseId; - - /** - * 课程名称。 - */ - @ApiModelProperty(value = "课程名称") - private String courseName; - - /** - * 学生上课次数。 - */ - @ApiModelProperty(value = "学生上课次数") - private Integer studentAttendCount; - - /** - * 学生献花数量。 - */ - @ApiModelProperty(value = "学生献花数量") - private Integer studentFlowerAmount; - - /** - * 学生献花次数。 - */ - @ApiModelProperty(value = "学生献花次数") - private Integer studentFlowerCount; - - /** - * gradeId 字典关联数据。 - */ - @ApiModelProperty(value = "gradeId 字典关联数据") - private Map gradeIdDictMap; - - /** - * courseId 字典关联数据。 - */ - @ApiModelProperty(value = "courseId 字典关联数据") - private Map courseIdDictMap; - - /** - * subjectId 常量字典关联数据。 - */ - @ApiModelProperty(value = "subjectId 常量字典关联数据") - private Map subjectIdDictMap; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-api/src/main/java/com/orangeforms/statsapi/vo/StudentActionStatsVo.java b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-api/src/main/java/com/orangeforms/statsapi/vo/StudentActionStatsVo.java deleted file mode 100644 index 20149213..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-api/src/main/java/com/orangeforms/statsapi/vo/StudentActionStatsVo.java +++ /dev/null @@ -1,163 +0,0 @@ -package com.orangeforms.statsapi.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.util.Date; -import java.util.Map; - -/** - * StudentActionStatsVO视图对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("StudentActionStatsVO视图对象") -@Data -public class StudentActionStatsVo { - - /** - * 主键Id。 - */ - @ApiModelProperty(value = "主键Id") - private Long statsId; - - /** - * 统计日期。 - */ - @ApiModelProperty(value = "统计日期") - private Date statsDate; - - /** - * 统计小时。 - */ - @ApiModelProperty(value = "统计小时") - private Date statsMonth; - - /** - * 年级Id。 - */ - @ApiModelProperty(value = "年级Id") - private Integer gradeId; - - /** - * 学生所在省Id。 - */ - @ApiModelProperty(value = "学生所在省Id") - private Long provinceId; - - /** - * 学生所在城市Id。 - */ - @ApiModelProperty(value = "学生所在城市Id") - private Long cityId; - - /** - * 购课学币数量。 - */ - @ApiModelProperty(value = "购课学币数量") - private Integer buyCourseAmount; - - /** - * 购买课程次数。 - */ - @ApiModelProperty(value = "购买课程次数") - private Integer buyCourseCount; - - /** - * 购买视频学币数量。 - */ - @ApiModelProperty(value = "购买视频学币数量") - private Integer buyVideoAmount; - - /** - * 购买视频次数。 - */ - @ApiModelProperty(value = "购买视频次数") - private Integer buyVideoCount; - - /** - * 购买作业学币数量。 - */ - @ApiModelProperty(value = "购买作业学币数量") - private Integer buyPaperAmount; - - /** - * 购买作业次数。 - */ - @ApiModelProperty(value = "购买作业次数") - private Integer buyPaperCount; - - /** - * 购买献花数量。 - */ - @ApiModelProperty(value = "购买献花数量") - private Integer buyFlowerAmount; - - /** - * 购买献花次数。 - */ - @ApiModelProperty(value = "购买献花次数") - private Integer buyFlowerCount; - - /** - * 充值学币数量。 - */ - @ApiModelProperty(value = "充值学币数量") - private Integer rechargeCoinAmount; - - /** - * 充值学币次数。 - */ - @ApiModelProperty(value = "充值学币次数") - private Integer rechargeCoinCount; - - /** - * 线下课程上课次数。 - */ - @ApiModelProperty(value = "线下课程上课次数") - private Integer doCourseCount; - - /** - * 观看视频次数。 - */ - @ApiModelProperty(value = "观看视频次数") - private Integer watchVideoCount; - - /** - * 购买献花消费学币数量。 - */ - @ApiModelProperty(value = "购买献花消费学币数量") - private Integer watchVideoTotalSecond; - - /** - * 做题数量。 - */ - @ApiModelProperty(value = "做题数量") - private Integer doExerciseCount; - - /** - * 做题正确的数量。 - */ - @ApiModelProperty(value = "做题正确的数量") - private Integer doExerciseCorrectCount; - - /** - * gradeId 字典关联数据。 - */ - @ApiModelProperty(value = "gradeId 字典关联数据") - private Map gradeIdDictMap; - - /** - * provinceId 字典关联数据。 - */ - @ApiModelProperty(value = "provinceId 字典关联数据") - private Map provinceIdDictMap; - - /** - * cityId 字典关联数据。 - */ - @ApiModelProperty(value = "cityId 字典关联数据") - private Map cityIdDictMap; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-api/src/main/java/com/orangeforms/statsapi/vo/StudentActionTransVo.java b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-api/src/main/java/com/orangeforms/statsapi/vo/StudentActionTransVo.java deleted file mode 100644 index 4ee32a02..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-api/src/main/java/com/orangeforms/statsapi/vo/StudentActionTransVo.java +++ /dev/null @@ -1,133 +0,0 @@ -package com.orangeforms.statsapi.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.util.Date; -import java.util.Map; - -/** - * StudentActionTransVO视图对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("StudentActionTransVO视图对象") -@Data -public class StudentActionTransVo { - - /** - * 主键Id。 - */ - @ApiModelProperty(value = "主键Id") - private Long transId; - - /** - * 学生Id。 - */ - @ApiModelProperty(value = "学生Id") - private Long studentId; - - /** - * 学生名称。 - */ - @ApiModelProperty(value = "学生名称") - private String studentName; - - /** - * 学生校区。 - */ - @ApiModelProperty(value = "学生校区") - private Long schoolId; - - /** - * 年级Id。 - */ - @ApiModelProperty(value = "年级Id") - private Integer gradeId; - - /** - * 行为类型(0: 充值 1: 购课 2: 上课签到 3: 上课签退 4: 看视频课 5: 做作业 6: 刷题 7: 献花)。 - */ - @ApiModelProperty(value = "行为类型(0: 充值 1: 购课 2: 上课签到 3: 上课签退 4: 看视频课 5: 做作业 6: 刷题 7: 献花)") - private Integer actionType; - - /** - * 设备类型(0: iOS 1: Android 2: PC)。 - */ - @ApiModelProperty(value = "设备类型(0: iOS 1: Android 2: PC)") - private Integer deviceType; - - /** - * 看视频秒数。 - */ - @ApiModelProperty(value = "看视频秒数") - private Integer watchVideoSeconds; - - /** - * 购买献花数量。 - */ - @ApiModelProperty(value = "购买献花数量") - private Integer flowerCount; - - /** - * 购买作业数量。 - */ - @ApiModelProperty(value = "购买作业数量") - private Integer paperCount; - - /** - * 购买视频数量。 - */ - @ApiModelProperty(value = "购买视频数量") - private Integer videoCount; - - /** - * 购买课程数量。 - */ - @ApiModelProperty(value = "购买课程数量") - private Integer courseCount; - - /** - * 充值学币数量。 - */ - @ApiModelProperty(value = "充值学币数量") - private Integer coinCount; - - /** - * 做题是否正确标记。 - */ - @ApiModelProperty(value = "做题是否正确标记") - private Integer exerciseCorrectFlag; - - /** - * 发生时间。 - */ - @ApiModelProperty(value = "发生时间") - private Date createTime; - - /** - * schoolId 字典关联数据。 - */ - @ApiModelProperty(value = "schoolId 字典关联数据") - private Map schoolIdDictMap; - - /** - * gradeId 字典关联数据。 - */ - @ApiModelProperty(value = "gradeId 字典关联数据") - private Map gradeIdDictMap; - - /** - * actionType 常量字典关联数据。 - */ - @ApiModelProperty(value = "actionType 常量字典关联数据") - private Map actionTypeDictMap; - - /** - * deviceType 常量字典关联数据。 - */ - @ApiModelProperty(value = "deviceType 常量字典关联数据") - private Map deviceTypeDictMap; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/pom.xml b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/pom.xml deleted file mode 100644 index 7fd9813d..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/pom.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - - com.orangeforms - stats - 1.0.0 - - 4.0.0 - - stats-service - 1.0.0 - stats-service - jar - - - - - com.orangeforms - stats-api - 1.0.0 - - - com.orangeforms - course-class-api - 1.0.0 - - - com.orangeforms - upms-api - 1.0.0 - - - com.orangeforms - common-log - 1.0.0 - - - com.orangeforms - common-redis - 1.0.0 - - - com.orangeforms - common-sequence - 1.0.0 - - - - - - - src/main/resources - - **/*.* - - false - - - src/main/java - - **/*.xml - - false - - - - - org.springframework.boot - spring-boot-maven-plugin - ${spring-boot.version} - - - - diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/StatsApplication.java b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/StatsApplication.java deleted file mode 100644 index 6de246dc..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/StatsApplication.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.orangeforms.statsservice; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.cloud.openfeign.EnableFeignClients; -import org.springframework.cloud.openfeign.EnableFeignClients; -import org.springframework.context.annotation.ComponentScan; - -/** - * stats服务启动类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ComponentScan("com.orangeforms") -@EnableFeignClients(basePackages = "com.orangeforms") -@SpringBootApplication -public class StatsApplication { - - public static void main(String[] args) { - SpringApplication.run(StatsApplication.class, args); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/config/ApplicationConfig.java b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/config/ApplicationConfig.java deleted file mode 100644 index 25d5b6f6..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/config/ApplicationConfig.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.orangeforms.statsservice.config; - -import lombok.Data; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.cloud.context.config.annotation.RefreshScope; -import org.springframework.context.annotation.Configuration; - -/** - * 应用程序自定义的程序属性配置文件。 - * 在yml格式的配置文件中,配置application开头应用配置信息,如: - * - * application: - * uploadFileBaseDir: /user/xxx/fileRoot/ - * defaultSomething: defaultValue - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@RefreshScope -@Configuration -@ConfigurationProperties(prefix = "application") -public class ApplicationConfig { - /** - * 上传文件的基础目录 - */ - private String uploadFileBaseDir; - /** - * 每个微服务的url目录上下文,如(/admin/upms),通常和网关的路由目录一致。 - */ - private String serviceContextPath; - /** - * 是否忽略远程调用中出现的任何错误,包括逻辑异常和系统异常。 - * 通常在调试和测试阶段设置为false,以便及时发现问题。 - */ - private Boolean ignoreRpcError; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/config/DataSourceConfig.java b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/config/DataSourceConfig.java deleted file mode 100644 index 817e1e0c..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/config/DataSourceConfig.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.orangeforms.statsservice.config; - -import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Primary; -import org.springframework.transaction.annotation.EnableTransactionManagement; -import org.mybatis.spring.annotation.MapperScan; - -import javax.sql.DataSource; - -/** - * 数据源配置Bean对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Configuration -@EnableTransactionManagement -@MapperScan(value = {"com.orangeforms.*.dao", "com.orangeforms.common.*.dao"}) -public class DataSourceConfig { - - @Bean(initMethod = "init", destroyMethod = "close") - @Primary - @ConfigurationProperties(prefix = "spring.datasource.druid") - public DataSource druidDataSource() { - return DruidDataSourceBuilder.create().build(); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/controller/CourseTransStatsController.java b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/controller/CourseTransStatsController.java deleted file mode 100644 index bdf00537..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/controller/CourseTransStatsController.java +++ /dev/null @@ -1,294 +0,0 @@ -package com.orangeforms.statsservice.controller; - -import com.github.pagehelper.page.PageMethod; -import com.orangeforms.statsservice.model.*; -import com.orangeforms.statsservice.service.*; -import com.orangeforms.statsapi.dto.*; -import com.orangeforms.statsapi.vo.*; -import com.orangeforms.common.core.object.*; -import com.orangeforms.common.core.util.*; -import com.orangeforms.common.core.constant.*; -import com.orangeforms.common.core.base.controller.BaseController; -import com.orangeforms.common.core.base.service.IBaseService; -import com.orangeforms.common.core.annotation.MyRequestBody; -import io.swagger.annotations.*; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.*; - -/** - * 课程统计操作控制器类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Api(tags = "课程统计管理接口") -@Slf4j -@RestController -@RequestMapping("/courseTransStats") -public class CourseTransStatsController extends BaseController { - - @Autowired - private CourseTransStatsService courseTransStatsService; - - @Override - protected IBaseService service() { - return courseTransStatsService; - } - - /** - * 列出符合过滤条件的课程统计列表。 - * - * @param courseTransStatsDtoFilter 过滤对象。 - * @param orderParam 排序参数。 - * @param pageParam 分页参数。 - * @return 应答结果对象,包含查询结果集。 - */ - @PostMapping("/list") - public ResponseResult> list( - @MyRequestBody CourseTransStatsDto courseTransStatsDtoFilter, - @MyRequestBody MyOrderParam orderParam, - @MyRequestBody MyPageParam pageParam) { - if (pageParam != null) { - PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - CourseTransStats courseTransStatsFilter = MyModelUtil.copyTo(courseTransStatsDtoFilter, CourseTransStats.class); - String orderBy = MyOrderParam.buildOrderBy(orderParam, CourseTransStats.class); - List courseTransStatsList = - courseTransStatsService.getCourseTransStatsListWithRelation(courseTransStatsFilter, orderBy); - return ResponseResult.success(MyPageUtil.makeResponseData(courseTransStatsList, CourseTransStats.INSTANCE)); - } - - /** - * 分组列出符合过滤条件的课程统计列表。 - * - * @param courseTransStatsDtoFilter 过滤对象。 - * @param groupParam 分组参数。 - * @param orderParam 排序参数。 - * @param pageParam 分页参数。 - * @return 应答结果对象,包含查询结果集。 - */ - @PostMapping("/listWithGroup") - public ResponseResult> listWithGroup( - @MyRequestBody CourseTransStatsDto courseTransStatsDtoFilter, - @MyRequestBody(required = true) MyGroupParam groupParam, - @MyRequestBody MyOrderParam orderParam, - @MyRequestBody MyPageParam pageParam) { - String orderBy = MyOrderParam.buildOrderBy(orderParam, CourseTransStats.class); - groupParam = MyGroupParam.buildGroupBy(groupParam, CourseTransStats.class); - if (groupParam == null) { - return ResponseResult.error( - ErrorCodeEnum.INVALID_ARGUMENT_FORMAT, "数据参数错误,分组参数不能为空!"); - } - if (pageParam != null) { - PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - CourseTransStats filter = MyModelUtil.copyTo(courseTransStatsDtoFilter, CourseTransStats.class); - MyGroupCriteria criteria = groupParam.getGroupCriteria(); - List resultList = courseTransStatsService.getGroupedCourseTransStatsListWithRelation( - filter, criteria.getGroupSelect(), criteria.getGroupBy(), orderBy); - // 分页连同对象数据转换copy工作,下面的方法一并完成。 - return ResponseResult.success(MyPageUtil.makeResponseData(resultList, CourseTransStats.INSTANCE)); - } - - /** - * 查看指定课程统计对象详情。 - * - * @param statsId 指定对象主键Id。 - * @return 应答结果对象,包含对象详情。 - */ - @GetMapping("/view") - public ResponseResult view(@RequestParam Long statsId) { - if (MyCommonUtil.existBlankArgument(statsId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - CourseTransStats courseTransStats = courseTransStatsService.getByIdWithRelation(statsId, MyRelationParam.full()); - if (courseTransStats == null) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - CourseTransStatsVo courseTransStatsVo = CourseTransStats.INSTANCE.fromModel(courseTransStats); - return ResponseResult.success(courseTransStatsVo); - } - - /** - * 根据主键Id集合,获取数据对象集合。仅限于微服务间远程接口调用。 - * - * @param statsIds 主键Id集合。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象集合。 - */ - @ApiOperation(hidden = true, value = "listByIds") - @PostMapping("/listByIds") - public ResponseResult> listByIds( - @RequestParam Set statsIds, @RequestParam Boolean withDict) { - return super.baseListByIds(statsIds, withDict, CourseTransStats.INSTANCE); - } - - /** - * 根据主键Id,获取数据对象。仅限于微服务间远程接口调用。 - * - * @param statsId 主键Id。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象数据。 - */ - @ApiOperation(hidden = true, value = "getById") - @PostMapping("/getById") - public ResponseResult getById( - @RequestParam Long statsId, @RequestParam Boolean withDict) { - return super.baseGetById(statsId, withDict, CourseTransStats.INSTANCE); - } - - /** - * 判断参数列表中指定的主键Id集合,是否全部存在。仅限于微服务间远程接口调用。 - * - * @param statsIds 主键Id集合。 - * @return 应答结果对象,包含true全部存在,否则false。 - */ - @ApiOperation(hidden = true, value = "existIds") - @PostMapping("/existIds") - public ResponseResult existIds(@RequestParam Set statsIds) { - return super.baseExistIds(statsIds); - } - - /** - * 判断参数列表中指定的主键Id是否存在。仅限于微服务间远程接口调用。 - * - * @param statsId 主键Id。 - * @return 应答结果对象,包含true表示存在,否则false。 - */ - @ApiOperation(hidden = true, value = "existId") - @PostMapping("/existId") - public ResponseResult existId(@RequestParam Long statsId) { - return super.baseExistId(statsId); - } - - /** - * 根据最新对象列表和原有对象的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param data 数据对象。 - * 主键有值是视为更新操作的数据比对,因此仅当关联Id变化时才会验证。 - * 主键为空视为新增操作的数据比对,所有关联Id都会被验证。 - * @return 应答结果对象。 - */ - @ApiOperation(hidden = true, value = "verifyRelatedData") - @PostMapping("/verifyRelatedData") - public ResponseResult verifyRelatedData(@RequestBody CourseTransStatsDto data) { - CourseTransStats courseTransStats = MyModelUtil.copyTo(data, CourseTransStats.class); - return super.baseVerifyRelatedData(courseTransStats, CourseTransStats::getStatsId); - } - - /** - * 根据最新对象列表和原有对象列表的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param dataList 数据对象列表。 - * @return 应答结果对象。 - */ - @ApiOperation(hidden = true, value = "verifyRelatedDataList") - @PostMapping("/verifyRelatedDataList") - public ResponseResult verifyRelatedDataList(@RequestBody List dataList) { - List courseTransStatsList = MyModelUtil.copyCollectionTo(dataList, CourseTransStats.class); - return super.baseVerifyRelatedDataList(courseTransStatsList, CourseTransStats::getStatsId); - } - - /** - * 根据主键Id删除数据。 - * - * @param statsId 主键Id。 - * @return 删除数量。 - */ - @ApiOperation(hidden = true, value = "deleteById") - @PostMapping("/deleteById") - public ResponseResult deleteById(@RequestParam Long statsId) throws Exception { - CourseTransStats filter = new CourseTransStats(); - filter.setStatsId(statsId); - return super.baseDeleteBy(filter); - } - - /** - * 删除符合过滤条件的数据。 - * - * @param filter 过滤对象。 - * @return 删除数量。 - */ - @ApiOperation(hidden = true, value = "deleteBy") - @PostMapping("/deleteBy") - public ResponseResult deleteBy(@RequestBody CourseTransStatsDto filter) throws Exception { - return super.baseDeleteBy(MyModelUtil.copyTo(filter, CourseTransStats.class)); - } - - /** - * 复杂的查询调用,包括(in list)过滤,对象条件过滤,分页和排序等。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 分页数据集合对象。如MyQueryParam参数的分页属性为空,则不会执行分页操作,只是基于MyPageData对象返回数据结果。 - */ - @ApiOperation(hidden = true, value = "listBy") - @PostMapping("/listBy") - public ResponseResult> listBy(@RequestBody MyQueryParam queryParam) { - return super.baseListBy(queryParam, CourseTransStats.INSTANCE); - } - - /** - * 复杂的查询调用,包括(in list)过滤,对象条件过滤,分页和排序等。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 分页数据集合对象。如MyQueryParam参数的分页属性为空,则不会执行分页操作,只是基于MyPageData对象返回数据结果。 - */ - @ApiOperation(hidden = true, value = "listMapBy") - @PostMapping("/listMapBy") - public ResponseResult>> listMapBy(@RequestBody MyQueryParam queryParam) { - return super.baseListMapBy(queryParam, CourseTransStats.INSTANCE); - } - - /** - * 复杂的查询调用,仅返回单体记录。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含符合查询过滤条件的对象结果集。 - */ - @ApiOperation(hidden = true, value = "getBy") - @PostMapping("/getBy") - public ResponseResult getBy(@RequestBody MyQueryParam queryParam) { - return super.baseGetBy(queryParam, CourseTransStats.INSTANCE); - } - - /** - * 获取远程主对象中符合查询条件的数据数量。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含结果数量。 - */ - @ApiOperation(hidden = true, value = "countBy") - @PostMapping("/countBy") - public ResponseResult countBy(@RequestBody MyQueryParam queryParam) { - return super.baseCountBy(queryParam); - } - - /** - * 获取远程对象中符合查询条件的分组聚合计算Map列表。 - * - * @param aggregationParam 聚合参数。 - * @return 应该结果对象,包含聚合计算后的分组Map列表。 - */ - @ApiOperation(hidden = true, value = "aggregateBy") - @PostMapping("/aggregateBy") - public ResponseResult>> aggregateBy(@RequestBody MyAggregationParam aggregationParam) { - return super.baseAggregateBy(aggregationParam); - } - - /** - * 根据过滤字段和过滤集合,返回不存在的数据。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 不存在的数据集合。 - */ - @ApiOperation(hidden = true, value = "notExist") - @PostMapping("/notExist") - public ResponseResult> notExist(@RequestBody MyQueryParam queryParam) { - List notExistIdSet = service().notExist( - queryParam.getInFilterField(), queryParam.getInFilterValues(), true); - return ResponseResult.success(notExistIdSet); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/controller/StudentActionStatsController.java b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/controller/StudentActionStatsController.java deleted file mode 100644 index 834e6d72..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/controller/StudentActionStatsController.java +++ /dev/null @@ -1,294 +0,0 @@ -package com.orangeforms.statsservice.controller; - -import com.github.pagehelper.page.PageMethod; -import com.orangeforms.statsservice.model.*; -import com.orangeforms.statsservice.service.*; -import com.orangeforms.statsapi.dto.*; -import com.orangeforms.statsapi.vo.*; -import com.orangeforms.common.core.object.*; -import com.orangeforms.common.core.util.*; -import com.orangeforms.common.core.constant.*; -import com.orangeforms.common.core.base.controller.BaseController; -import com.orangeforms.common.core.base.service.IBaseService; -import com.orangeforms.common.core.annotation.MyRequestBody; -import io.swagger.annotations.*; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.*; - -/** - * 学生行为统计操作控制器类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Api(tags = "学生行为统计管理接口") -@Slf4j -@RestController -@RequestMapping("/studentActionStats") -public class StudentActionStatsController extends BaseController { - - @Autowired - private StudentActionStatsService studentActionStatsService; - - @Override - protected IBaseService service() { - return studentActionStatsService; - } - - /** - * 列出符合过滤条件的学生行为统计列表。 - * - * @param studentActionStatsDtoFilter 过滤对象。 - * @param orderParam 排序参数。 - * @param pageParam 分页参数。 - * @return 应答结果对象,包含查询结果集。 - */ - @PostMapping("/list") - public ResponseResult> list( - @MyRequestBody StudentActionStatsDto studentActionStatsDtoFilter, - @MyRequestBody MyOrderParam orderParam, - @MyRequestBody MyPageParam pageParam) { - if (pageParam != null) { - PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - StudentActionStats studentActionStatsFilter = MyModelUtil.copyTo(studentActionStatsDtoFilter, StudentActionStats.class); - String orderBy = MyOrderParam.buildOrderBy(orderParam, StudentActionStats.class); - List studentActionStatsList = - studentActionStatsService.getStudentActionStatsListWithRelation(studentActionStatsFilter, orderBy); - return ResponseResult.success(MyPageUtil.makeResponseData(studentActionStatsList, StudentActionStats.INSTANCE)); - } - - /** - * 分组列出符合过滤条件的学生行为统计列表。 - * - * @param studentActionStatsDtoFilter 过滤对象。 - * @param groupParam 分组参数。 - * @param orderParam 排序参数。 - * @param pageParam 分页参数。 - * @return 应答结果对象,包含查询结果集。 - */ - @PostMapping("/listWithGroup") - public ResponseResult> listWithGroup( - @MyRequestBody StudentActionStatsDto studentActionStatsDtoFilter, - @MyRequestBody(required = true) MyGroupParam groupParam, - @MyRequestBody MyOrderParam orderParam, - @MyRequestBody MyPageParam pageParam) { - String orderBy = MyOrderParam.buildOrderBy(orderParam, StudentActionStats.class); - groupParam = MyGroupParam.buildGroupBy(groupParam, StudentActionStats.class); - if (groupParam == null) { - return ResponseResult.error( - ErrorCodeEnum.INVALID_ARGUMENT_FORMAT, "数据参数错误,分组参数不能为空!"); - } - if (pageParam != null) { - PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - StudentActionStats filter = MyModelUtil.copyTo(studentActionStatsDtoFilter, StudentActionStats.class); - MyGroupCriteria criteria = groupParam.getGroupCriteria(); - List resultList = studentActionStatsService.getGroupedStudentActionStatsListWithRelation( - filter, criteria.getGroupSelect(), criteria.getGroupBy(), orderBy); - // 分页连同对象数据转换copy工作,下面的方法一并完成。 - return ResponseResult.success(MyPageUtil.makeResponseData(resultList, StudentActionStats.INSTANCE)); - } - - /** - * 查看指定学生行为统计对象详情。 - * - * @param statsId 指定对象主键Id。 - * @return 应答结果对象,包含对象详情。 - */ - @GetMapping("/view") - public ResponseResult view(@RequestParam Long statsId) { - if (MyCommonUtil.existBlankArgument(statsId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - StudentActionStats studentActionStats = studentActionStatsService.getByIdWithRelation(statsId, MyRelationParam.full()); - if (studentActionStats == null) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - StudentActionStatsVo studentActionStatsVo = StudentActionStats.INSTANCE.fromModel(studentActionStats); - return ResponseResult.success(studentActionStatsVo); - } - - /** - * 根据主键Id集合,获取数据对象集合。仅限于微服务间远程接口调用。 - * - * @param statsIds 主键Id集合。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象集合。 - */ - @ApiOperation(hidden = true, value = "listByIds") - @PostMapping("/listByIds") - public ResponseResult> listByIds( - @RequestParam Set statsIds, @RequestParam Boolean withDict) { - return super.baseListByIds(statsIds, withDict, StudentActionStats.INSTANCE); - } - - /** - * 根据主键Id,获取数据对象。仅限于微服务间远程接口调用。 - * - * @param statsId 主键Id。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象数据。 - */ - @ApiOperation(hidden = true, value = "getById") - @PostMapping("/getById") - public ResponseResult getById( - @RequestParam Long statsId, @RequestParam Boolean withDict) { - return super.baseGetById(statsId, withDict, StudentActionStats.INSTANCE); - } - - /** - * 判断参数列表中指定的主键Id集合,是否全部存在。仅限于微服务间远程接口调用。 - * - * @param statsIds 主键Id集合。 - * @return 应答结果对象,包含true全部存在,否则false。 - */ - @ApiOperation(hidden = true, value = "existIds") - @PostMapping("/existIds") - public ResponseResult existIds(@RequestParam Set statsIds) { - return super.baseExistIds(statsIds); - } - - /** - * 判断参数列表中指定的主键Id是否存在。仅限于微服务间远程接口调用。 - * - * @param statsId 主键Id。 - * @return 应答结果对象,包含true表示存在,否则false。 - */ - @ApiOperation(hidden = true, value = "existId") - @PostMapping("/existId") - public ResponseResult existId(@RequestParam Long statsId) { - return super.baseExistId(statsId); - } - - /** - * 根据最新对象列表和原有对象的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param data 数据对象。 - * 主键有值是视为更新操作的数据比对,因此仅当关联Id变化时才会验证。 - * 主键为空视为新增操作的数据比对,所有关联Id都会被验证。 - * @return 应答结果对象。 - */ - @ApiOperation(hidden = true, value = "verifyRelatedData") - @PostMapping("/verifyRelatedData") - public ResponseResult verifyRelatedData(@RequestBody StudentActionStatsDto data) { - StudentActionStats studentActionStats = MyModelUtil.copyTo(data, StudentActionStats.class); - return super.baseVerifyRelatedData(studentActionStats, StudentActionStats::getStatsId); - } - - /** - * 根据最新对象列表和原有对象列表的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param dataList 数据对象列表。 - * @return 应答结果对象。 - */ - @ApiOperation(hidden = true, value = "verifyRelatedDataList") - @PostMapping("/verifyRelatedDataList") - public ResponseResult verifyRelatedDataList(@RequestBody List dataList) { - List studentActionStatsList = MyModelUtil.copyCollectionTo(dataList, StudentActionStats.class); - return super.baseVerifyRelatedDataList(studentActionStatsList, StudentActionStats::getStatsId); - } - - /** - * 根据主键Id删除数据。 - * - * @param statsId 主键Id。 - * @return 删除数量。 - */ - @ApiOperation(hidden = true, value = "deleteById") - @PostMapping("/deleteById") - public ResponseResult deleteById(@RequestParam Long statsId) throws Exception { - StudentActionStats filter = new StudentActionStats(); - filter.setStatsId(statsId); - return super.baseDeleteBy(filter); - } - - /** - * 删除符合过滤条件的数据。 - * - * @param filter 过滤对象。 - * @return 删除数量。 - */ - @ApiOperation(hidden = true, value = "deleteBy") - @PostMapping("/deleteBy") - public ResponseResult deleteBy(@RequestBody StudentActionStatsDto filter) throws Exception { - return super.baseDeleteBy(MyModelUtil.copyTo(filter, StudentActionStats.class)); - } - - /** - * 复杂的查询调用,包括(in list)过滤,对象条件过滤,分页和排序等。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 分页数据集合对象。如MyQueryParam参数的分页属性为空,则不会执行分页操作,只是基于MyPageData对象返回数据结果。 - */ - @ApiOperation(hidden = true, value = "listBy") - @PostMapping("/listBy") - public ResponseResult> listBy(@RequestBody MyQueryParam queryParam) { - return super.baseListBy(queryParam, StudentActionStats.INSTANCE); - } - - /** - * 复杂的查询调用,包括(in list)过滤,对象条件过滤,分页和排序等。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 分页数据集合对象。如MyQueryParam参数的分页属性为空,则不会执行分页操作,只是基于MyPageData对象返回数据结果。 - */ - @ApiOperation(hidden = true, value = "listMapBy") - @PostMapping("/listMapBy") - public ResponseResult>> listMapBy(@RequestBody MyQueryParam queryParam) { - return super.baseListMapBy(queryParam, StudentActionStats.INSTANCE); - } - - /** - * 复杂的查询调用,仅返回单体记录。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含符合查询过滤条件的对象结果集。 - */ - @ApiOperation(hidden = true, value = "getBy") - @PostMapping("/getBy") - public ResponseResult getBy(@RequestBody MyQueryParam queryParam) { - return super.baseGetBy(queryParam, StudentActionStats.INSTANCE); - } - - /** - * 获取远程主对象中符合查询条件的数据数量。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含结果数量。 - */ - @ApiOperation(hidden = true, value = "countBy") - @PostMapping("/countBy") - public ResponseResult countBy(@RequestBody MyQueryParam queryParam) { - return super.baseCountBy(queryParam); - } - - /** - * 获取远程对象中符合查询条件的分组聚合计算Map列表。 - * - * @param aggregationParam 聚合参数。 - * @return 应该结果对象,包含聚合计算后的分组Map列表。 - */ - @ApiOperation(hidden = true, value = "aggregateBy") - @PostMapping("/aggregateBy") - public ResponseResult>> aggregateBy(@RequestBody MyAggregationParam aggregationParam) { - return super.baseAggregateBy(aggregationParam); - } - - /** - * 根据过滤字段和过滤集合,返回不存在的数据。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 不存在的数据集合。 - */ - @ApiOperation(hidden = true, value = "notExist") - @PostMapping("/notExist") - public ResponseResult> notExist(@RequestBody MyQueryParam queryParam) { - List notExistIdSet = service().notExist( - queryParam.getInFilterField(), queryParam.getInFilterValues(), true); - return ResponseResult.success(notExistIdSet); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/controller/StudentActionTransController.java b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/controller/StudentActionTransController.java deleted file mode 100644 index 993826ec..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/controller/StudentActionTransController.java +++ /dev/null @@ -1,386 +0,0 @@ -package com.orangeforms.statsservice.controller; - -import com.github.pagehelper.page.PageMethod; -import com.orangeforms.statsservice.model.*; -import com.orangeforms.statsservice.service.*; -import com.orangeforms.statsapi.dto.*; -import com.orangeforms.statsapi.vo.*; -import com.orangeforms.common.core.object.*; -import com.orangeforms.common.core.util.*; -import com.orangeforms.common.core.constant.*; -import com.orangeforms.common.core.base.controller.BaseController; -import com.orangeforms.common.core.base.service.IBaseService; -import com.orangeforms.common.core.annotation.MyRequestBody; -import com.orangeforms.common.log.annotation.OperationLog; -import com.orangeforms.common.log.model.constant.SysOperationLogType; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; -import io.swagger.annotations.*; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.*; - -/** - * 学生行为流水操作控制器类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Api(tags = "学生行为流水管理接口") -@Slf4j -@RestController -@RequestMapping("/studentActionTrans") -public class StudentActionTransController extends BaseController { - - @Autowired - private StudentActionTransService studentActionTransService; - - @Override - protected IBaseService service() { - return studentActionTransService; - } - - /** - * 新增学生行为流水数据。 - * - * @param studentActionTransDto 新增对象。 - * @return 应答结果对象,包含新增对象主键Id。 - */ - @ApiOperationSupport(ignoreParameters = { - "studentActionTransDto.transId", - "studentActionTransDto.createTimeStart", - "studentActionTransDto.createTimeEnd"}) - @OperationLog(type = SysOperationLogType.ADD) - @PostMapping("/add") - public ResponseResult add(@MyRequestBody StudentActionTransDto studentActionTransDto) { - String errorMessage = MyCommonUtil.getModelValidationError(studentActionTransDto, false); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - StudentActionTrans studentActionTrans = MyModelUtil.copyTo(studentActionTransDto, StudentActionTrans.class); - // 验证关联Id的数据合法性 - CallResult callResult = studentActionTransService.verifyAllRelatedData(studentActionTrans, null); - if (!callResult.isSuccess()) { - return ResponseResult.errorFrom(callResult); - } - studentActionTrans = studentActionTransService.saveNew(studentActionTrans); - return ResponseResult.success(studentActionTrans.getTransId()); - } - - /** - * 更新学生行为流水数据。 - * - * @param studentActionTransDto 更新对象。 - * @return 应答结果对象。 - */ - @ApiOperationSupport(ignoreParameters = { - "StudentActionTransDto.createTimeStart", - "StudentActionTransDto.createTimeEnd"}) - @OperationLog(type = SysOperationLogType.UPDATE) - @PostMapping("/update") - public ResponseResult update(@MyRequestBody StudentActionTransDto studentActionTransDto) { - String errorMessage = MyCommonUtil.getModelValidationError(studentActionTransDto, true); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - StudentActionTrans studentActionTrans = MyModelUtil.copyTo(studentActionTransDto, StudentActionTrans.class); - StudentActionTrans originalStudentActionTrans = studentActionTransService.getById(studentActionTrans.getTransId()); - if (originalStudentActionTrans == null) { - // NOTE: 修改下面方括号中的话述 - errorMessage = "数据验证失败,当前 [数据] 并不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - // 验证关联Id的数据合法性 - CallResult callResult = studentActionTransService.verifyAllRelatedData(studentActionTrans, originalStudentActionTrans); - if (!callResult.isSuccess()) { - return ResponseResult.errorFrom(callResult); - } - if (!studentActionTransService.update(studentActionTrans, originalStudentActionTrans)) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - return ResponseResult.success(); - } - - /** - * 删除学生行为流水数据。 - * - * @param transId 删除对象主键Id。 - * @return 应答结果对象。 - */ - @OperationLog(type = SysOperationLogType.DELETE) - @PostMapping("/delete") - public ResponseResult delete(@MyRequestBody Long transId) { - String errorMessage; - if (MyCommonUtil.existBlankArgument(transId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - return this.doDelete(transId); - } - - /** - * 列出符合过滤条件的学生行为流水列表。 - * - * @param studentActionTransDtoFilter 过滤对象。 - * @param orderParam 排序参数。 - * @param pageParam 分页参数。 - * @return 应答结果对象,包含查询结果集。 - */ - @PostMapping("/list") - public ResponseResult> list( - @MyRequestBody StudentActionTransDto studentActionTransDtoFilter, - @MyRequestBody MyOrderParam orderParam, - @MyRequestBody MyPageParam pageParam) { - if (pageParam != null) { - PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - StudentActionTrans studentActionTransFilter = MyModelUtil.copyTo(studentActionTransDtoFilter, StudentActionTrans.class); - String orderBy = MyOrderParam.buildOrderBy(orderParam, StudentActionTrans.class); - List studentActionTransList = - studentActionTransService.getStudentActionTransListWithRelation(studentActionTransFilter, orderBy); - return ResponseResult.success(MyPageUtil.makeResponseData(studentActionTransList, StudentActionTrans.INSTANCE)); - } - - /** - * 查看指定学生行为流水对象详情。 - * - * @param transId 指定对象主键Id。 - * @return 应答结果对象,包含对象详情。 - */ - @GetMapping("/view") - public ResponseResult view(@RequestParam Long transId) { - if (MyCommonUtil.existBlankArgument(transId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - StudentActionTrans studentActionTrans = studentActionTransService.getByIdWithRelation(transId, MyRelationParam.full()); - if (studentActionTrans == null) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - StudentActionTransVo studentActionTransVo = StudentActionTrans.INSTANCE.fromModel(studentActionTrans); - return ResponseResult.success(studentActionTransVo); - } - - /** - * 根据主键Id集合,获取数据对象集合。仅限于微服务间远程接口调用。 - * - * @param transIds 主键Id集合。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象集合。 - */ - @ApiOperation(hidden = true, value = "listByIds") - @PostMapping("/listByIds") - public ResponseResult> listByIds( - @RequestParam Set transIds, @RequestParam Boolean withDict) { - return super.baseListByIds(transIds, withDict, StudentActionTrans.INSTANCE); - } - - /** - * 根据主键Id,获取数据对象。仅限于微服务间远程接口调用。 - * - * @param transId 主键Id。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象数据。 - */ - @ApiOperation(hidden = true, value = "getById") - @PostMapping("/getById") - public ResponseResult getById( - @RequestParam Long transId, @RequestParam Boolean withDict) { - return super.baseGetById(transId, withDict, StudentActionTrans.INSTANCE); - } - - /** - * 判断参数列表中指定的主键Id集合,是否全部存在。仅限于微服务间远程接口调用。 - * - * @param transIds 主键Id集合。 - * @return 应答结果对象,包含true全部存在,否则false。 - */ - @ApiOperation(hidden = true, value = "existIds") - @PostMapping("/existIds") - public ResponseResult existIds(@RequestParam Set transIds) { - return super.baseExistIds(transIds); - } - - /** - * 判断参数列表中指定的主键Id是否存在。仅限于微服务间远程接口调用。 - * - * @param transId 主键Id。 - * @return 应答结果对象,包含true表示存在,否则false。 - */ - @ApiOperation(hidden = true, value = "existId") - @PostMapping("/existId") - public ResponseResult existId(@RequestParam Long transId) { - return super.baseExistId(transId); - } - - /** - * 保存或更新数据。 - * - * @param data 主键Id为null时表示新增数据,否则更新数据。 - * @return 应答结果对象,主键Id。 - */ - @ApiOperation(hidden = true, value = "saveNewOrUpdate") - @PostMapping("/saveNewOrUpdate") - public ResponseResult saveNewOrUpdate(@RequestBody StudentActionTransDto data) { - StudentActionTrans studentActionTrans = MyModelUtil.copyTo(data, StudentActionTrans.class); - service().saveNewOrUpdate(studentActionTrans, studentActionTransService::saveNew, studentActionTransService::update); - return ResponseResult.success(StudentActionTrans.INSTANCE.fromModel(studentActionTrans)); - } - - /** - * 批量新增或保存数据列表。 - * - * @param dataList 数据列表。主键Id为null时表示新增数据,否则更新数据。 - * @return 应答结果对象。 - */ - @ApiOperation(hidden = true, value = "saveNewOrUpdateBatch") - @PostMapping("/saveNewOrUpdateBatch") - public ResponseResult saveNewOrUpdateBatch(@RequestBody List dataList) { - List studentActionTransList = MyModelUtil.copyCollectionTo(dataList, StudentActionTrans.class); - service().saveNewOrUpdateBatch(studentActionTransList, studentActionTransService::saveNewBatch, studentActionTransService::update); - return ResponseResult.success(); - } - - /** - * 根据最新对象列表和原有对象的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param data 数据对象。 - * 主键有值是视为更新操作的数据比对,因此仅当关联Id变化时才会验证。 - * 主键为空视为新增操作的数据比对,所有关联Id都会被验证。 - * @return 应答结果对象。 - */ - @ApiOperation(hidden = true, value = "verifyRelatedData") - @PostMapping("/verifyRelatedData") - public ResponseResult verifyRelatedData(@RequestBody StudentActionTransDto data) { - StudentActionTrans studentActionTrans = MyModelUtil.copyTo(data, StudentActionTrans.class); - return super.baseVerifyRelatedData(studentActionTrans, StudentActionTrans::getTransId); - } - - /** - * 根据最新对象列表和原有对象列表的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param dataList 数据对象列表。 - * @return 应答结果对象。 - */ - @ApiOperation(hidden = true, value = "verifyRelatedDataList") - @PostMapping("/verifyRelatedDataList") - public ResponseResult verifyRelatedDataList(@RequestBody List dataList) { - List studentActionTransList = MyModelUtil.copyCollectionTo(dataList, StudentActionTrans.class); - return super.baseVerifyRelatedDataList(studentActionTransList, StudentActionTrans::getTransId); - } - - /** - * 根据主键Id删除数据。 - * - * @param transId 主键Id。 - * @return 删除数量。 - */ - @ApiOperation(hidden = true, value = "deleteById") - @PostMapping("/deleteById") - public ResponseResult deleteById(@RequestParam Long transId) throws Exception { - StudentActionTrans filter = new StudentActionTrans(); - filter.setTransId(transId); - return super.baseDeleteBy(filter); - } - - /** - * 删除符合过滤条件的数据。 - * - * @param filter 过滤对象。 - * @return 删除数量。 - */ - @ApiOperation(hidden = true, value = "deleteBy") - @PostMapping("/deleteBy") - public ResponseResult deleteBy(@RequestBody StudentActionTransDto filter) throws Exception { - return super.baseDeleteBy(MyModelUtil.copyTo(filter, StudentActionTrans.class)); - } - - /** - * 复杂的查询调用,包括(in list)过滤,对象条件过滤,分页和排序等。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 分页数据集合对象。如MyQueryParam参数的分页属性为空,则不会执行分页操作,只是基于MyPageData对象返回数据结果。 - */ - @ApiOperation(hidden = true, value = "listBy") - @PostMapping("/listBy") - public ResponseResult> listBy(@RequestBody MyQueryParam queryParam) { - return super.baseListBy(queryParam, StudentActionTrans.INSTANCE); - } - - /** - * 复杂的查询调用,包括(in list)过滤,对象条件过滤,分页和排序等。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 分页数据集合对象。如MyQueryParam参数的分页属性为空,则不会执行分页操作,只是基于MyPageData对象返回数据结果。 - */ - @ApiOperation(hidden = true, value = "listMapBy") - @PostMapping("/listMapBy") - public ResponseResult>> listMapBy(@RequestBody MyQueryParam queryParam) { - return super.baseListMapBy(queryParam, StudentActionTrans.INSTANCE); - } - - /** - * 复杂的查询调用,仅返回单体记录。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含符合查询过滤条件的对象结果集。 - */ - @ApiOperation(hidden = true, value = "getBy") - @PostMapping("/getBy") - public ResponseResult getBy(@RequestBody MyQueryParam queryParam) { - return super.baseGetBy(queryParam, StudentActionTrans.INSTANCE); - } - - /** - * 获取远程主对象中符合查询条件的数据数量。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含结果数量。 - */ - @ApiOperation(hidden = true, value = "countBy") - @PostMapping("/countBy") - public ResponseResult countBy(@RequestBody MyQueryParam queryParam) { - return super.baseCountBy(queryParam); - } - - /** - * 获取远程对象中符合查询条件的分组聚合计算Map列表。 - * - * @param aggregationParam 聚合参数。 - * @return 应该结果对象,包含聚合计算后的分组Map列表。 - */ - @ApiOperation(hidden = true, value = "aggregateBy") - @PostMapping("/aggregateBy") - public ResponseResult>> aggregateBy(@RequestBody MyAggregationParam aggregationParam) { - return super.baseAggregateBy(aggregationParam); - } - - /** - * 根据过滤字段和过滤集合,返回不存在的数据。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 不存在的数据集合。 - */ - @ApiOperation(hidden = true, value = "notExist") - @PostMapping("/notExist") - public ResponseResult> notExist(@RequestBody MyQueryParam queryParam) { - List notExistIdSet = service().notExist( - queryParam.getInFilterField(), queryParam.getInFilterValues(), true); - return ResponseResult.success(notExistIdSet); - } - - private ResponseResult doDelete(Long transId) { - String errorMessage; - // 验证关联Id的数据合法性 - StudentActionTrans originalStudentActionTrans = studentActionTransService.getById(transId); - if (originalStudentActionTrans == null) { - // NOTE: 修改下面方括号中的话述 - errorMessage = "数据验证失败,当前 [对象] 并不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - if (!studentActionTransService.remove(transId)) { - errorMessage = "数据操作失败,删除的对象不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - return ResponseResult.success(); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/dao/CourseTransStatsMapper.java b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/dao/CourseTransStatsMapper.java deleted file mode 100644 index 1862e236..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/dao/CourseTransStatsMapper.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.orangeforms.statsservice.dao; - -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.statsservice.model.CourseTransStats; -import org.apache.ibatis.annotations.Param; - -import java.util.*; - -/** - * 课程统计数据操作访问接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface CourseTransStatsMapper extends BaseDaoMapper { - - /** - * 批量插入对象列表。 - * - * @param courseTransStatsList 新增对象列表。 - */ - void insertList(List courseTransStatsList); - - /** - * 获取分组计算后的数据对象列表。 - * - * @param courseTransStatsFilter 主表过滤对象。 - * @param groupSelect 分组显示字段列表字符串,SELECT从句的参数。 - * @param groupBy 分组字段列表字符串,GROUP BY从句的参数。 - * @param orderBy 排序字符串,ORDER BY从句的参数。 - * @return 对象列表。 - */ - List getGroupedCourseTransStatsList( - @Param("courseTransStatsFilter") CourseTransStats courseTransStatsFilter, - @Param("groupSelect") String groupSelect, - @Param("groupBy") String groupBy, - @Param("orderBy") String orderBy); - - /** - * 获取过滤后的对象列表。 - * - * @param inFilterColumn 参与(In-list)过滤的数据表列。 - * @param inFilterValues 参与(In-list)过滤的数据表列值集合。 - * @param courseTransStatsFilter 过滤对象。 - * @param orderBy 排序字符串,order by从句的参数。 - * @return 对象列表。 - */ - List getCourseTransStatsList( - @Param("inFilterColumn") String inFilterColumn, - @Param("inFilterValues") Set inFilterValues, - @Param("courseTransStatsFilter") CourseTransStats courseTransStatsFilter, - @Param("orderBy") String orderBy); - - /** - * 获取对象列表,过滤条件中包含like和between条件,以及指定属性的(in list)过滤条件。 - * - * @param inFilterColumn 参与(In-list)过滤的数据表列。 - * @param inFilterValues 参与(In-list)过滤的数据表列值集合。 - * @param courseTransStatsFilter 过滤对象。 - * @return 对象列表。 - */ - Integer getCourseTransStatsCount( - @Param("inFilterColumn") String inFilterColumn, - @Param("inFilterValues") Set inFilterValues, - @Param("courseTransStatsFilter") CourseTransStats courseTransStatsFilter); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/dao/GradeMapper.java b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/dao/GradeMapper.java deleted file mode 100644 index bdd4a855..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/dao/GradeMapper.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.orangeforms.statsservice.dao; - -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.statsservice.model.Grade; - -import java.util.*; - -/** - * 数据操作访问接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface GradeMapper extends BaseDaoMapper { - - /** - * 批量插入对象列表。 - * - * @param gradeList 新增对象列表。 - */ - void insertList(List gradeList); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/dao/StudentActionStatsMapper.java b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/dao/StudentActionStatsMapper.java deleted file mode 100644 index c1bdcce2..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/dao/StudentActionStatsMapper.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.orangeforms.statsservice.dao; - -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.statsservice.model.StudentActionStats; -import org.apache.ibatis.annotations.Param; - -import java.util.*; - -/** - * 学生行为统计数据操作访问接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface StudentActionStatsMapper extends BaseDaoMapper { - - /** - * 批量插入对象列表。 - * - * @param studentActionStatsList 新增对象列表。 - */ - void insertList(List studentActionStatsList); - - /** - * 获取分组计算后的数据对象列表。 - * - * @param studentActionStatsFilter 主表过滤对象。 - * @param groupSelect 分组显示字段列表字符串,SELECT从句的参数。 - * @param groupBy 分组字段列表字符串,GROUP BY从句的参数。 - * @param orderBy 排序字符串,ORDER BY从句的参数。 - * @return 对象列表。 - */ - List getGroupedStudentActionStatsList( - @Param("studentActionStatsFilter") StudentActionStats studentActionStatsFilter, - @Param("groupSelect") String groupSelect, - @Param("groupBy") String groupBy, - @Param("orderBy") String orderBy); - - /** - * 获取过滤后的对象列表。 - * - * @param inFilterColumn 参与(In-list)过滤的数据表列。 - * @param inFilterValues 参与(In-list)过滤的数据表列值集合。 - * @param studentActionStatsFilter 过滤对象。 - * @param orderBy 排序字符串,order by从句的参数。 - * @return 对象列表。 - */ - List getStudentActionStatsList( - @Param("inFilterColumn") String inFilterColumn, - @Param("inFilterValues") Set inFilterValues, - @Param("studentActionStatsFilter") StudentActionStats studentActionStatsFilter, - @Param("orderBy") String orderBy); - - /** - * 获取对象列表,过滤条件中包含like和between条件,以及指定属性的(in list)过滤条件。 - * - * @param inFilterColumn 参与(In-list)过滤的数据表列。 - * @param inFilterValues 参与(In-list)过滤的数据表列值集合。 - * @param studentActionStatsFilter 过滤对象。 - * @return 对象列表。 - */ - Integer getStudentActionStatsCount( - @Param("inFilterColumn") String inFilterColumn, - @Param("inFilterValues") Set inFilterValues, - @Param("studentActionStatsFilter") StudentActionStats studentActionStatsFilter); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/dao/StudentActionTransMapper.java b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/dao/StudentActionTransMapper.java deleted file mode 100644 index c6b71cd6..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/dao/StudentActionTransMapper.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.orangeforms.statsservice.dao; - -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.statsservice.model.StudentActionTrans; -import org.apache.ibatis.annotations.Param; - -import java.util.*; - -/** - * 学生行为流水数据操作访问接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface StudentActionTransMapper extends BaseDaoMapper { - - /** - * 批量插入对象列表。 - * - * @param studentActionTransList 新增对象列表。 - */ - void insertList(List studentActionTransList); - - /** - * 获取过滤后的对象列表。 - * - * @param inFilterColumn 参与(In-list)过滤的数据表列。 - * @param inFilterValues 参与(In-list)过滤的数据表列值集合。 - * @param studentActionTransFilter 过滤对象。 - * @param orderBy 排序字符串,order by从句的参数。 - * @return 对象列表。 - */ - List getStudentActionTransList( - @Param("inFilterColumn") String inFilterColumn, - @Param("inFilterValues") Set inFilterValues, - @Param("studentActionTransFilter") StudentActionTrans studentActionTransFilter, - @Param("orderBy") String orderBy); - - /** - * 获取对象列表,过滤条件中包含like和between条件,以及指定属性的(in list)过滤条件。 - * - * @param inFilterColumn 参与(In-list)过滤的数据表列。 - * @param inFilterValues 参与(In-list)过滤的数据表列值集合。 - * @param studentActionTransFilter 过滤对象。 - * @return 对象列表。 - */ - Integer getStudentActionTransCount( - @Param("inFilterColumn") String inFilterColumn, - @Param("inFilterValues") Set inFilterValues, - @Param("studentActionTransFilter") StudentActionTrans studentActionTransFilter); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/dao/mapper/CourseTransStatsMapper.xml b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/dao/mapper/CourseTransStatsMapper.xml deleted file mode 100644 index 7f4cb59d..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/dao/mapper/CourseTransStatsMapper.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - - - - - - INSERT INTO zz_course_trans_stats - (stats_id, - stats_date, - subject_id, - grade_id, - grade_name, - course_id, - course_name, - student_attend_count, - student_flower_amount, - student_flower_count) - VALUES - - (#{item.statsId}, - #{item.statsDate}, - #{item.subjectId}, - #{item.gradeId}, - #{item.gradeName}, - #{item.courseId}, - #{item.courseName}, - #{item.studentAttendCount}, - #{item.studentFlowerAmount}, - #{item.studentFlowerCount}) - - - - - - - - - - - - - - AND zz_course_trans_stats.stats_date >= #{courseTransStatsFilter.statsDateStart} - - - AND zz_course_trans_stats.stats_date <= #{courseTransStatsFilter.statsDateEnd} - - - AND zz_course_trans_stats.subject_id = #{courseTransStatsFilter.subjectId} - - - AND zz_course_trans_stats.grade_id = #{courseTransStatsFilter.gradeId} - - - - - - - - - - diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/dao/mapper/GradeMapper.xml b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/dao/mapper/GradeMapper.xml deleted file mode 100644 index a74dd03e..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/dao/mapper/GradeMapper.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - INSERT INTO zz_grade - (grade_id, - grade_name, - status) - VALUES - - (#{item.gradeId}, - #{item.gradeName}, - #{item.status}) - - - diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/dao/mapper/StudentActionStatsMapper.xml b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/dao/mapper/StudentActionStatsMapper.xml deleted file mode 100644 index 845c85ca..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/dao/mapper/StudentActionStatsMapper.xml +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - INSERT INTO zz_student_action_stats - (stats_id, - stats_date, - stats_month, - grade_id, - province_id, - city_id, - buy_course_amount, - buy_course_count, - buy_video_amount, - buy_video_count, - buy_paper_amount, - buy_paper_count, - buy_flower_amount, - buy_flower_count, - recharge_coin_amount, - recharge_coin_count, - do_course_count, - watch_video_count, - watch_video_total_second, - do_exercise_count, - do_exercise_correct_count) - VALUES - - (#{item.statsId}, - #{item.statsDate}, - #{item.statsMonth}, - #{item.gradeId}, - #{item.provinceId}, - #{item.cityId}, - #{item.buyCourseAmount}, - #{item.buyCourseCount}, - #{item.buyVideoAmount}, - #{item.buyVideoCount}, - #{item.buyPaperAmount}, - #{item.buyPaperCount}, - #{item.buyFlowerAmount}, - #{item.buyFlowerCount}, - #{item.rechargeCoinAmount}, - #{item.rechargeCoinCount}, - #{item.doCourseCount}, - #{item.watchVideoCount}, - #{item.watchVideoTotalSecond}, - #{item.doExerciseCount}, - #{item.doExerciseCorrectCount}) - - - - - - - - - - - - - - AND zz_student_action_stats.stats_date >= #{studentActionStatsFilter.statsDateStart} - - - AND zz_student_action_stats.stats_date <= #{studentActionStatsFilter.statsDateEnd} - - - AND zz_student_action_stats.grade_id = #{studentActionStatsFilter.gradeId} - - - AND zz_student_action_stats.province_id = #{studentActionStatsFilter.provinceId} - - - AND zz_student_action_stats.city_id = #{studentActionStatsFilter.cityId} - - - - - - - - - - diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/dao/mapper/StudentActionTransMapper.xml b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/dao/mapper/StudentActionTransMapper.xml deleted file mode 100644 index 5e6ba1c7..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/dao/mapper/StudentActionTransMapper.xml +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - INSERT INTO zz_student_action_trans - (trans_id, - student_id, - student_name, - school_id, - grade_id, - action_type, - device_type, - watch_video_seconds, - flower_count, - paper_count, - video_count, - course_count, - coin_count, - exercise_correct_flag, - create_time) - VALUES - - (#{item.transId}, - #{item.studentId}, - #{item.studentName}, - #{item.schoolId}, - #{item.gradeId}, - #{item.actionType}, - #{item.deviceType}, - #{item.watchVideoSeconds}, - #{item.flowerCount}, - #{item.paperCount}, - #{item.videoCount}, - #{item.courseCount}, - #{item.coinCount}, - #{item.exerciseCorrectFlag}, - #{item.createTime}) - - - - - - - - - - - - - - AND zz_student_action_trans.student_id = #{studentActionTransFilter.studentId} - - - AND zz_student_action_trans.school_id = #{studentActionTransFilter.schoolId} - - - AND zz_student_action_trans.grade_id = #{studentActionTransFilter.gradeId} - - - AND zz_student_action_trans.action_type = #{studentActionTransFilter.actionType} - - - AND zz_student_action_trans.device_type = #{studentActionTransFilter.deviceType} - - - AND zz_student_action_trans.create_time >= #{studentActionTransFilter.createTimeStart} - - - AND zz_student_action_trans.create_time <= #{studentActionTransFilter.createTimeEnd} - - - - - - - - diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/model/CourseTransStats.java b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/model/CourseTransStats.java deleted file mode 100644 index 60b97a25..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/model/CourseTransStats.java +++ /dev/null @@ -1,145 +0,0 @@ -package com.orangeforms.statsservice.model; - -import com.baomidou.mybatisplus.annotation.*; -import com.orangeforms.statsapi.vo.CourseTransStatsVo; -import com.orangeforms.courseclassapi.vo.CourseVo; -import com.orangeforms.courseclassapi.client.CourseClient; -import com.orangeforms.courseclassapi.vo.GradeVo; -import com.orangeforms.courseclassapi.client.GradeClient; -import com.orangeforms.application.common.constant.Subject; -import com.orangeforms.common.core.annotation.*; -import com.orangeforms.common.core.base.mapper.BaseModelMapper; -import lombok.Data; -import org.mapstruct.*; -import org.mapstruct.factory.Mappers; - -import java.util.Date; -import java.util.Map; - -/** - * CourseTransStats实体对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@TableName(value = "zz_course_trans_stats") -public class CourseTransStats { - - /** - * 主键Id。 - */ - @TableId(value = "stats_id", type = IdType.AUTO) - private Long statsId; - - /** - * 统计日期。 - */ - @TableField(value = "stats_date") - private Date statsDate; - - /** - * 科目Id。 - */ - @TableField(value = "subject_id") - private Integer subjectId; - - /** - * 年级Id。 - */ - @TableField(value = "grade_id") - private Integer gradeId; - - /** - * 年级名称。 - */ - @TableField(value = "grade_name") - private String gradeName; - - /** - * 课程Id。 - */ - @TableField(value = "course_id") - private Long courseId; - - /** - * 课程名称。 - */ - @TableField(value = "course_name") - private String courseName; - - /** - * 学生上课次数。 - */ - @TableField(value = "student_attend_count") - private Integer studentAttendCount; - - /** - * 学生献花数量。 - */ - @TableField(value = "student_flower_amount") - private Integer studentFlowerAmount; - - /** - * 学生献花次数。 - */ - @TableField(value = "student_flower_count") - private Integer studentFlowerCount; - - /** - * statsDate 范围过滤起始值(>=)。 - */ - @TableField(exist = false) - private String statsDateStart; - - /** - * statsDate 范围过滤结束值(<=)。 - */ - @TableField(exist = false) - private String statsDateEnd; - - @RelationDict( - masterIdField = "gradeId", - slaveClientClass = GradeClient.class, - slaveModelClass = GradeVo.class, - slaveIdField = "gradeId", - slaveNameField = "gradeName") - @TableField(exist = false) - private Map gradeIdDictMap; - - @RelationDict( - masterIdField = "courseId", - slaveClientClass = CourseClient.class, - slaveModelClass = CourseVo.class, - slaveIdField = "courseId", - slaveNameField = "courseName") - @TableField(exist = false) - private Map courseIdDictMap; - - @RelationConstDict( - masterIdField = "subjectId", - constantDictClass = Subject.class) - @TableField(exist = false) - private Map subjectIdDictMap; - - @Mapper - public interface CourseTransStatsModelMapper extends BaseModelMapper { - /** - * 转换Vo对象到实体对象。 - * - * @param courseTransStatsVo 域对象。 - * @return 实体对象。 - */ - @Override - CourseTransStats toModel(CourseTransStatsVo courseTransStatsVo); - /** - * 转换实体对象到VO对象。 - * - * @param courseTransStats 实体对象。 - * @return 域对象。 - */ - @Override - CourseTransStatsVo fromModel(CourseTransStats courseTransStats); - } - public static final CourseTransStatsModelMapper INSTANCE = Mappers.getMapper(CourseTransStatsModelMapper.class); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/model/Grade.java b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/model/Grade.java deleted file mode 100644 index 9c3caf0f..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/model/Grade.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.orangeforms.statsservice.model; - -import com.baomidou.mybatisplus.annotation.*; -import lombok.Data; - -/** - * Grade实体对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@TableName(value = "zz_grade") -public class Grade { - - /** - * 主键Id。 - */ - @TableId(value = "grade_id", type = IdType.AUTO) - private Integer gradeId; - - /** - * 年级名称。 - */ - @TableField(value = "grade_name") - private String gradeName; - - /** - * 逻辑删除标记字段(1: 正常 -1: 已删除)。 - */ - @TableLogic - private Integer status; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/model/StudentActionStats.java b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/model/StudentActionStats.java deleted file mode 100644 index 83580dd5..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/model/StudentActionStats.java +++ /dev/null @@ -1,213 +0,0 @@ -package com.orangeforms.statsservice.model; - -import com.baomidou.mybatisplus.annotation.*; -import com.orangeforms.statsapi.vo.StudentActionStatsVo; -import com.orangeforms.courseclassapi.vo.AreaCodeVo; -import com.orangeforms.courseclassapi.vo.GradeVo; -import com.orangeforms.courseclassapi.client.AreaCodeClient; -import com.orangeforms.courseclassapi.client.GradeClient; -import com.orangeforms.common.core.annotation.*; -import com.orangeforms.common.core.base.mapper.BaseModelMapper; -import lombok.Data; -import org.mapstruct.*; -import org.mapstruct.factory.Mappers; - -import java.util.Date; -import java.util.Map; - -/** - * StudentActionStats实体对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@TableName(value = "zz_student_action_stats") -public class StudentActionStats { - - /** - * 主键Id。 - */ - @TableId(value = "stats_id") - private Long statsId; - - /** - * 统计日期。 - */ - @TableField(value = "stats_date") - private Date statsDate; - - /** - * 统计小时。 - */ - @TableField(value = "stats_month") - private Date statsMonth; - - /** - * 年级Id。 - */ - @TableField(value = "grade_id") - private Integer gradeId; - - /** - * 学生所在省Id。 - */ - @TableField(value = "province_id") - private Long provinceId; - - /** - * 学生所在城市Id。 - */ - @TableField(value = "city_id") - private Long cityId; - - /** - * 购课学币数量。 - */ - @TableField(value = "buy_course_amount") - private Integer buyCourseAmount; - - /** - * 购买课程次数。 - */ - @TableField(value = "buy_course_count") - private Integer buyCourseCount; - - /** - * 购买视频学币数量。 - */ - @TableField(value = "buy_video_amount") - private Integer buyVideoAmount; - - /** - * 购买视频次数。 - */ - @TableField(value = "buy_video_count") - private Integer buyVideoCount; - - /** - * 购买作业学币数量。 - */ - @TableField(value = "buy_paper_amount") - private Integer buyPaperAmount; - - /** - * 购买作业次数。 - */ - @TableField(value = "buy_paper_count") - private Integer buyPaperCount; - - /** - * 购买献花数量。 - */ - @TableField(value = "buy_flower_amount") - private Integer buyFlowerAmount; - - /** - * 购买献花次数。 - */ - @TableField(value = "buy_flower_count") - private Integer buyFlowerCount; - - /** - * 充值学币数量。 - */ - @TableField(value = "recharge_coin_amount") - private Integer rechargeCoinAmount; - - /** - * 充值学币次数。 - */ - @TableField(value = "recharge_coin_count") - private Integer rechargeCoinCount; - - /** - * 线下课程上课次数。 - */ - @TableField(value = "do_course_count") - private Integer doCourseCount; - - /** - * 观看视频次数。 - */ - @TableField(value = "watch_video_count") - private Integer watchVideoCount; - - /** - * 购买献花消费学币数量。 - */ - @TableField(value = "watch_video_total_second") - private Integer watchVideoTotalSecond; - - /** - * 做题数量。 - */ - @TableField(value = "do_exercise_count") - private Integer doExerciseCount; - - /** - * 做题正确的数量。 - */ - @TableField(value = "do_exercise_correct_count") - private Integer doExerciseCorrectCount; - - /** - * statsDate 范围过滤起始值(>=)。 - */ - @TableField(exist = false) - private String statsDateStart; - - /** - * statsDate 范围过滤结束值(<=)。 - */ - @TableField(exist = false) - private String statsDateEnd; - - @RelationDict( - masterIdField = "gradeId", - slaveClientClass = GradeClient.class, - slaveModelClass = GradeVo.class, - slaveIdField = "gradeId", - slaveNameField = "gradeName") - @TableField(exist = false) - private Map gradeIdDictMap; - - @RelationDict( - masterIdField = "provinceId", - slaveClientClass = AreaCodeClient.class, - slaveModelClass = AreaCodeVo.class, - slaveIdField = "areaId", - slaveNameField = "areaName") - @TableField(exist = false) - private Map provinceIdDictMap; - - @RelationDict( - masterIdField = "cityId", - slaveClientClass = AreaCodeClient.class, - slaveModelClass = AreaCodeVo.class, - slaveIdField = "areaId", - slaveNameField = "areaName") - @TableField(exist = false) - private Map cityIdDictMap; - - @Mapper - public interface StudentActionStatsModelMapper extends BaseModelMapper { - /** - * 转换Vo对象到实体对象。 - * - * @param studentActionStatsVo 域对象。 - * @return 实体对象。 - */ - @Override - StudentActionStats toModel(StudentActionStatsVo studentActionStatsVo); - /** - * 转换实体对象到VO对象。 - * - * @param studentActionStats 实体对象。 - * @return 域对象。 - */ - @Override - StudentActionStatsVo fromModel(StudentActionStats studentActionStats); - } - public static final StudentActionStatsModelMapper INSTANCE = Mappers.getMapper(StudentActionStatsModelMapper.class); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/model/StudentActionTrans.java b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/model/StudentActionTrans.java deleted file mode 100644 index af1602a6..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/model/StudentActionTrans.java +++ /dev/null @@ -1,182 +0,0 @@ -package com.orangeforms.statsservice.model; - -import com.baomidou.mybatisplus.annotation.*; -import com.orangeforms.statsapi.vo.StudentActionTransVo; -import com.orangeforms.upmsapi.client.SysDeptClient; -import com.orangeforms.upmsapi.vo.SysDeptVo; -import com.orangeforms.courseclassapi.vo.GradeVo; -import com.orangeforms.courseclassapi.client.GradeClient; -import com.orangeforms.application.common.constant.StudentActionType; -import com.orangeforms.application.common.constant.DeviceType; -import com.orangeforms.common.core.annotation.*; -import com.orangeforms.common.core.base.mapper.BaseModelMapper; -import lombok.Data; -import org.mapstruct.*; -import org.mapstruct.factory.Mappers; - -import java.util.Date; -import java.util.Map; - -/** - * StudentActionTrans实体对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@TableName(value = "zz_student_action_trans") -public class StudentActionTrans { - - /** - * 主键Id。 - */ - @TableId(value = "trans_id") - private Long transId; - - /** - * 学生Id。 - */ - @TableField(value = "student_id") - private Long studentId; - - /** - * 学生名称。 - */ - @TableField(value = "student_name") - private String studentName; - - /** - * 学生校区。 - */ - @TableField(value = "school_id") - private Long schoolId; - - /** - * 年级Id。 - */ - @TableField(value = "grade_id") - private Integer gradeId; - - /** - * 行为类型(0: 充值 1: 购课 2: 上课签到 3: 上课签退 4: 看视频课 5: 做作业 6: 刷题 7: 献花)。 - */ - @TableField(value = "action_type") - private Integer actionType; - - /** - * 设备类型(0: iOS 1: Android 2: PC)。 - */ - @TableField(value = "device_type") - private Integer deviceType; - - /** - * 看视频秒数。 - */ - @TableField(value = "watch_video_seconds") - private Integer watchVideoSeconds; - - /** - * 购买献花数量。 - */ - @TableField(value = "flower_count") - private Integer flowerCount; - - /** - * 购买作业数量。 - */ - @TableField(value = "paper_count") - private Integer paperCount; - - /** - * 购买视频数量。 - */ - @TableField(value = "video_count") - private Integer videoCount; - - /** - * 购买课程数量。 - */ - @TableField(value = "course_count") - private Integer courseCount; - - /** - * 充值学币数量。 - */ - @TableField(value = "coin_count") - private Integer coinCount; - - /** - * 做题是否正确标记。 - */ - @TableField(value = "exercise_correct_flag") - private Integer exerciseCorrectFlag; - - /** - * 发生时间。 - */ - @TableField(value = "create_time") - private Date createTime; - - /** - * createTime 范围过滤起始值(>=)。 - */ - @TableField(exist = false) - private String createTimeStart; - - /** - * createTime 范围过滤结束值(<=)。 - */ - @TableField(exist = false) - private String createTimeEnd; - - @RelationDict( - masterIdField = "schoolId", - slaveClientClass = SysDeptClient.class, - slaveModelClass = SysDeptVo.class, - slaveIdField = "deptId", - slaveNameField = "deptName") - @TableField(exist = false) - private Map schoolIdDictMap; - - @RelationDict( - masterIdField = "gradeId", - slaveClientClass = GradeClient.class, - slaveModelClass = GradeVo.class, - slaveIdField = "gradeId", - slaveNameField = "gradeName") - @TableField(exist = false) - private Map gradeIdDictMap; - - @RelationConstDict( - masterIdField = "actionType", - constantDictClass = StudentActionType.class) - @TableField(exist = false) - private Map actionTypeDictMap; - - @RelationConstDict( - masterIdField = "deviceType", - constantDictClass = DeviceType.class) - @TableField(exist = false) - private Map deviceTypeDictMap; - - @Mapper - public interface StudentActionTransModelMapper extends BaseModelMapper { - /** - * 转换Vo对象到实体对象。 - * - * @param studentActionTransVo 域对象。 - * @return 实体对象。 - */ - @Override - StudentActionTrans toModel(StudentActionTransVo studentActionTransVo); - /** - * 转换实体对象到VO对象。 - * - * @param studentActionTrans 实体对象。 - * @return 域对象。 - */ - @Override - StudentActionTransVo fromModel(StudentActionTrans studentActionTrans); - } - public static final StudentActionTransModelMapper INSTANCE = Mappers.getMapper(StudentActionTransModelMapper.class); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/service/CourseTransStatsService.java b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/service/CourseTransStatsService.java deleted file mode 100644 index 6f91a932..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/service/CourseTransStatsService.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.orangeforms.statsservice.service; - -import com.orangeforms.statsservice.model.*; -import com.orangeforms.common.core.base.service.IBaseService; - -import java.util.*; - -/** - * 课程统计数据操作服务接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface CourseTransStatsService extends IBaseService { - - /** - * 获取单表查询结果。由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getCourseTransStatsListWithRelation)方法。 - * - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - List getCourseTransStatsList(CourseTransStats filter, String orderBy); - - /** - * 获取主表的查询结果,查询条件中包括主表过滤对象和指定字段的(in list)过滤。 - * 由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getCourseTransStatsListWithRelation)方法。 - * - * @param inFilterField (In-list)指定的字段(Java成员字段,而非数据列名)。 - * @param inFilterValues inFilterField指定字段的(In-list)数据列表。 - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - List getCourseTransStatsList(String inFilterField, Set inFilterValues, CourseTransStats filter, String orderBy); - - /** - * 获取主表的查询结果,以及主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 如果仅仅需要获取主表数据,请移步(getCourseTransStatsList),以便获取更好的查询性能。 - * - * @param filter 主表过滤对象。 - * @param orderBy 排序对象。 - * @return 查询结果集。 - */ - List getCourseTransStatsListWithRelation(CourseTransStats filter, String orderBy); - - /** - * 获取主表的查询结果,查询条件中包括主表过滤对象和指定字段的(in list)过滤。 - * 同时还包含主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 如果仅仅需要获取主表数据,请移步(getCourseTransStatsList),以便获取更好的查询性能。 - * - * @param inFilterField (In-list)指定的字段(Java成员字段,而非数据列名)。 - * @param inFilterValues inFilterField指定字段的(In-list)数据列表。 - * @param filter 主表过滤对象。 - * @param orderBy 排序对象。 - * @return 查询结果集。 - */ - List getCourseTransStatsListWithRelation( - String inFilterField, Set inFilterValues, CourseTransStats filter, String orderBy); - - /** - * 获取分组过滤后的数据查询结果,以及关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * - * @param filter 过滤对象。 - * @param groupSelect 分组显示列表参数。位于SQL语句SELECT的后面。 - * @param groupBy 分组参数。位于SQL语句的GROUP BY后面。 - * @param orderBy 排序字符串,ORDER BY从句的参数。 - * @return 分组过滤结果集。 - */ - List getGroupedCourseTransStatsListWithRelation( - CourseTransStats filter, String groupSelect, String groupBy, String orderBy); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/service/StudentActionStatsService.java b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/service/StudentActionStatsService.java deleted file mode 100644 index c2972e08..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/service/StudentActionStatsService.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.orangeforms.statsservice.service; - -import com.orangeforms.statsservice.model.*; -import com.orangeforms.common.core.base.service.IBaseService; - -import java.util.*; - -/** - * 学生行为统计数据操作服务接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface StudentActionStatsService extends IBaseService { - - /** - * 获取单表查询结果。由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getStudentActionStatsListWithRelation)方法。 - * - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - List getStudentActionStatsList(StudentActionStats filter, String orderBy); - - /** - * 获取主表的查询结果,查询条件中包括主表过滤对象和指定字段的(in list)过滤。 - * 由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getStudentActionStatsListWithRelation)方法。 - * - * @param inFilterField (In-list)指定的字段(Java成员字段,而非数据列名)。 - * @param inFilterValues inFilterField指定字段的(In-list)数据列表。 - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - List getStudentActionStatsList(String inFilterField, Set inFilterValues, StudentActionStats filter, String orderBy); - - /** - * 获取主表的查询结果,以及主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 如果仅仅需要获取主表数据,请移步(getStudentActionStatsList),以便获取更好的查询性能。 - * - * @param filter 主表过滤对象。 - * @param orderBy 排序对象。 - * @return 查询结果集。 - */ - List getStudentActionStatsListWithRelation(StudentActionStats filter, String orderBy); - - /** - * 获取主表的查询结果,查询条件中包括主表过滤对象和指定字段的(in list)过滤。 - * 同时还包含主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 如果仅仅需要获取主表数据,请移步(getStudentActionStatsList),以便获取更好的查询性能。 - * - * @param inFilterField (In-list)指定的字段(Java成员字段,而非数据列名)。 - * @param inFilterValues inFilterField指定字段的(In-list)数据列表。 - * @param filter 主表过滤对象。 - * @param orderBy 排序对象。 - * @return 查询结果集。 - */ - List getStudentActionStatsListWithRelation( - String inFilterField, Set inFilterValues, StudentActionStats filter, String orderBy); - - /** - * 获取分组过滤后的数据查询结果,以及关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * - * @param filter 过滤对象。 - * @param groupSelect 分组显示列表参数。位于SQL语句SELECT的后面。 - * @param groupBy 分组参数。位于SQL语句的GROUP BY后面。 - * @param orderBy 排序字符串,ORDER BY从句的参数。 - * @return 分组过滤结果集。 - */ - List getGroupedStudentActionStatsListWithRelation( - StudentActionStats filter, String groupSelect, String groupBy, String orderBy); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/service/StudentActionTransService.java b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/service/StudentActionTransService.java deleted file mode 100644 index 631aa41f..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/service/StudentActionTransService.java +++ /dev/null @@ -1,94 +0,0 @@ -package com.orangeforms.statsservice.service; - -import com.orangeforms.statsservice.model.*; -import com.orangeforms.common.core.base.service.IBaseService; - -import java.util.*; - -/** - * 学生行为流水数据操作服务接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface StudentActionTransService extends IBaseService { - - /** - * 保存新增对象。 - * - * @param studentActionTrans 新增对象。 - * @return 返回新增对象。 - */ - StudentActionTrans saveNew(StudentActionTrans studentActionTrans); - - /** - * 利用数据库的insertList语法,批量插入对象列表。 - * - * @param studentActionTransList 新增对象列表。 - */ - void saveNewBatch(List studentActionTransList); - - /** - * 更新数据对象。 - * - * @param studentActionTrans 更新的对象。 - * @param originalStudentActionTrans 原有数据对象。 - * @return 成功返回true,否则false。 - */ - boolean update(StudentActionTrans studentActionTrans, StudentActionTrans originalStudentActionTrans); - - /** - * 删除指定数据。 - * - * @param transId 主键Id。 - * @return 成功返回true,否则false。 - */ - boolean remove(Long transId); - - /** - * 获取单表查询结果。由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getStudentActionTransListWithRelation)方法。 - * - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - List getStudentActionTransList(StudentActionTrans filter, String orderBy); - - /** - * 获取主表的查询结果,查询条件中包括主表过滤对象和指定字段的(in list)过滤。 - * 由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getStudentActionTransListWithRelation)方法。 - * - * @param inFilterField (In-list)指定的字段(Java成员字段,而非数据列名)。 - * @param inFilterValues inFilterField指定字段的(In-list)数据列表。 - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - List getStudentActionTransList(String inFilterField, Set inFilterValues, StudentActionTrans filter, String orderBy); - - /** - * 获取主表的查询结果,以及主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 如果仅仅需要获取主表数据,请移步(getStudentActionTransList),以便获取更好的查询性能。 - * - * @param filter 主表过滤对象。 - * @param orderBy 排序对象。 - * @return 查询结果集。 - */ - List getStudentActionTransListWithRelation(StudentActionTrans filter, String orderBy); - - /** - * 获取主表的查询结果,查询条件中包括主表过滤对象和指定字段的(in list)过滤。 - * 同时还包含主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 如果仅仅需要获取主表数据,请移步(getStudentActionTransList),以便获取更好的查询性能。 - * - * @param inFilterField (In-list)指定的字段(Java成员字段,而非数据列名)。 - * @param inFilterValues inFilterField指定字段的(In-list)数据列表。 - * @param filter 主表过滤对象。 - * @param orderBy 排序对象。 - * @return 查询结果集。 - */ - List getStudentActionTransListWithRelation( - String inFilterField, Set inFilterValues, StudentActionTrans filter, String orderBy); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/service/impl/CourseTransStatsServiceImpl.java b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/service/impl/CourseTransStatsServiceImpl.java deleted file mode 100644 index 17af578c..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/service/impl/CourseTransStatsServiceImpl.java +++ /dev/null @@ -1,136 +0,0 @@ -package com.orangeforms.statsservice.service.impl; - -import com.orangeforms.statsservice.service.*; -import com.orangeforms.statsservice.dao.*; -import com.orangeforms.statsservice.model.*; -import com.orangeforms.common.core.util.*; -import com.orangeforms.common.core.object.MyRelationParam; -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.common.core.base.service.BaseService; -import lombok.extern.slf4j.Slf4j; -import com.github.pagehelper.Page; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.*; - -/** - * 课程统计数据操作服务类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -@Service("courseTransStatsService") -public class CourseTransStatsServiceImpl extends BaseService implements CourseTransStatsService { - - @Autowired - private CourseTransStatsMapper courseTransStatsMapper; - - /** - * 返回当前Service的主表Mapper对象。 - * - * @return 主表Mapper对象。 - */ - @Override - protected BaseDaoMapper mapper() { - return courseTransStatsMapper; - } - - /** - * 获取单表查询结果。由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getCourseTransStatsListWithRelation)方法。 - * - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - @Override - public List getCourseTransStatsList(CourseTransStats filter, String orderBy) { - return courseTransStatsMapper.getCourseTransStatsList(null, null, filter, orderBy); - } - - /** - * 获取主表的查询结果,查询条件中包括主表过滤对象和指定字段的(in list)过滤。 - * 由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getCourseTransStatsListWithRelation)方法。 - * - * @param inFilterField (In-list)指定的字段(Java成员字段,而非数据列名)。 - * @param inFilterValues inFilterField指定字段的(In-list)数据列表。 - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - @Override - public List getCourseTransStatsList( - String inFilterField, Set inFilterValues, CourseTransStats filter, String orderBy) { - String inFilterColumn = MyModelUtil.mapToColumnName(inFilterField, CourseTransStats.class); - return courseTransStatsMapper.getCourseTransStatsList(inFilterColumn, inFilterValues, filter, orderBy); - } - - /** - * 获取主表的查询结果,以及主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 该查询会涉及到一对一从表的关联过滤,或一对多从表的嵌套关联过滤,因此性能不如单表过滤。 - * 如果仅仅需要获取主表数据,请移步(getCourseTransStatsList),以便获取更好的查询性能。 - * - * @param filter 主表过滤对象。 - * @param orderBy 排序对象。 - * @return 查询结果集。 - */ - @Override - public List getCourseTransStatsListWithRelation(CourseTransStats filter, String orderBy) { - List resultList = courseTransStatsMapper.getCourseTransStatsList(null, null, filter, orderBy); - // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 - // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 - int batchSize = resultList instanceof Page ? 0 : 1000; - this.buildRelationForDataList(resultList, MyRelationParam.normal(), batchSize); - return resultList; - } - - /** - * 获取主表的查询结果,查询条件中包括主表过滤对象和指定字段的(in list)过滤。 - * 同时还包含主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 如果仅仅需要获取主表数据,请移步(getCourseTransStatsList),以便获取更好的查询性能。 - * - * @param inFilterField (In-list)指定的字段(Java成员字段,而非数据列名)。 - * @param inFilterValues inFilterField指定字段的(In-list)数据列表。 - * @param filter 主表过滤对象。 - * @param orderBy 排序对象。 - * @return 查询结果集。 - */ - @Override - public List getCourseTransStatsListWithRelation( - String inFilterField, Set inFilterValues, CourseTransStats filter, String orderBy) { - String inFilterColumn = MyModelUtil.mapToColumnName(inFilterField, CourseTransStats.class); - List resultList = - courseTransStatsMapper.getCourseTransStatsList(inFilterColumn, inFilterValues, filter, orderBy); - // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 - // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 - int batchSize = resultList instanceof Page ? 0 : 1000; - this.buildRelationForDataList(resultList, MyRelationParam.dictOnly(), batchSize); - return resultList; - } - - /** - * 获取分组过滤后的数据查询结果,以及关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * - * @param filter 过滤对象。 - * @param groupSelect 分组显示列表参数。位于SQL语句SELECT的后面。 - * @param groupBy 分组参数。位于SQL语句的GROUP BY后面。 - * @param orderBy 排序字符串,ORDER BY从句的参数。 - * @return 分组过滤结果集。 - */ - @Override - public List getGroupedCourseTransStatsListWithRelation( - CourseTransStats filter, String groupSelect, String groupBy, String orderBy) { - List resultList = - courseTransStatsMapper.getGroupedCourseTransStatsList(filter, groupSelect, groupBy, orderBy); - // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 - // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 - int batchSize = resultList instanceof Page ? 0 : 1000; - // NOTE: 这里只是包含了本地关联数据和远程关联数据,本地聚合计算数据和远程聚合计算数据没有包含。 - // 主要原因是,由于聚合字段通常被视为普通字段使用,不会在group by的从句中出现,语义上也不会在此关联。 - this.buildRelationForDataList(resultList, MyRelationParam.normal(), batchSize); - return resultList; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/service/impl/StudentActionStatsServiceImpl.java b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/service/impl/StudentActionStatsServiceImpl.java deleted file mode 100644 index f0d089c7..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/service/impl/StudentActionStatsServiceImpl.java +++ /dev/null @@ -1,136 +0,0 @@ -package com.orangeforms.statsservice.service.impl; - -import com.orangeforms.statsservice.service.*; -import com.orangeforms.statsservice.dao.*; -import com.orangeforms.statsservice.model.*; -import com.orangeforms.common.core.util.*; -import com.orangeforms.common.core.object.MyRelationParam; -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.common.core.base.service.BaseService; -import lombok.extern.slf4j.Slf4j; -import com.github.pagehelper.Page; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.*; - -/** - * 学生行为统计数据操作服务类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -@Service("studentActionStatsService") -public class StudentActionStatsServiceImpl extends BaseService implements StudentActionStatsService { - - @Autowired - private StudentActionStatsMapper studentActionStatsMapper; - - /** - * 返回当前Service的主表Mapper对象。 - * - * @return 主表Mapper对象。 - */ - @Override - protected BaseDaoMapper mapper() { - return studentActionStatsMapper; - } - - /** - * 获取单表查询结果。由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getStudentActionStatsListWithRelation)方法。 - * - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - @Override - public List getStudentActionStatsList(StudentActionStats filter, String orderBy) { - return studentActionStatsMapper.getStudentActionStatsList(null, null, filter, orderBy); - } - - /** - * 获取主表的查询结果,查询条件中包括主表过滤对象和指定字段的(in list)过滤。 - * 由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getStudentActionStatsListWithRelation)方法。 - * - * @param inFilterField (In-list)指定的字段(Java成员字段,而非数据列名)。 - * @param inFilterValues inFilterField指定字段的(In-list)数据列表。 - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - @Override - public List getStudentActionStatsList( - String inFilterField, Set inFilterValues, StudentActionStats filter, String orderBy) { - String inFilterColumn = MyModelUtil.mapToColumnName(inFilterField, StudentActionStats.class); - return studentActionStatsMapper.getStudentActionStatsList(inFilterColumn, inFilterValues, filter, orderBy); - } - - /** - * 获取主表的查询结果,以及主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 该查询会涉及到一对一从表的关联过滤,或一对多从表的嵌套关联过滤,因此性能不如单表过滤。 - * 如果仅仅需要获取主表数据,请移步(getStudentActionStatsList),以便获取更好的查询性能。 - * - * @param filter 主表过滤对象。 - * @param orderBy 排序对象。 - * @return 查询结果集。 - */ - @Override - public List getStudentActionStatsListWithRelation(StudentActionStats filter, String orderBy) { - List resultList = studentActionStatsMapper.getStudentActionStatsList(null, null, filter, orderBy); - // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 - // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 - int batchSize = resultList instanceof Page ? 0 : 1000; - this.buildRelationForDataList(resultList, MyRelationParam.normal(), batchSize); - return resultList; - } - - /** - * 获取主表的查询结果,查询条件中包括主表过滤对象和指定字段的(in list)过滤。 - * 同时还包含主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 如果仅仅需要获取主表数据,请移步(getStudentActionStatsList),以便获取更好的查询性能。 - * - * @param inFilterField (In-list)指定的字段(Java成员字段,而非数据列名)。 - * @param inFilterValues inFilterField指定字段的(In-list)数据列表。 - * @param filter 主表过滤对象。 - * @param orderBy 排序对象。 - * @return 查询结果集。 - */ - @Override - public List getStudentActionStatsListWithRelation( - String inFilterField, Set inFilterValues, StudentActionStats filter, String orderBy) { - String inFilterColumn = MyModelUtil.mapToColumnName(inFilterField, StudentActionStats.class); - List resultList = - studentActionStatsMapper.getStudentActionStatsList(inFilterColumn, inFilterValues, filter, orderBy); - // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 - // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 - int batchSize = resultList instanceof Page ? 0 : 1000; - this.buildRelationForDataList(resultList, MyRelationParam.dictOnly(), batchSize); - return resultList; - } - - /** - * 获取分组过滤后的数据查询结果,以及关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * - * @param filter 过滤对象。 - * @param groupSelect 分组显示列表参数。位于SQL语句SELECT的后面。 - * @param groupBy 分组参数。位于SQL语句的GROUP BY后面。 - * @param orderBy 排序字符串,ORDER BY从句的参数。 - * @return 分组过滤结果集。 - */ - @Override - public List getGroupedStudentActionStatsListWithRelation( - StudentActionStats filter, String groupSelect, String groupBy, String orderBy) { - List resultList = - studentActionStatsMapper.getGroupedStudentActionStatsList(filter, groupSelect, groupBy, orderBy); - // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 - // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 - int batchSize = resultList instanceof Page ? 0 : 1000; - // NOTE: 这里只是包含了本地关联数据和远程关联数据,本地聚合计算数据和远程聚合计算数据没有包含。 - // 主要原因是,由于聚合字段通常被视为普通字段使用,不会在group by的从句中出现,语义上也不会在此关联。 - this.buildRelationForDataList(resultList, MyRelationParam.normal(), batchSize); - return resultList; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/service/impl/StudentActionTransServiceImpl.java b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/service/impl/StudentActionTransServiceImpl.java deleted file mode 100644 index 4d589d23..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/java/com/orangeforms/statsservice/service/impl/StudentActionTransServiceImpl.java +++ /dev/null @@ -1,215 +0,0 @@ -package com.orangeforms.statsservice.service.impl; - -import cn.hutool.core.collection.CollUtil; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; -import com.orangeforms.statsservice.service.*; -import com.orangeforms.statsservice.dao.*; -import com.orangeforms.statsservice.model.*; -import com.orangeforms.upmsapi.client.SysDeptClient; -import com.orangeforms.courseclassapi.client.GradeClient; -import com.orangeforms.common.core.util.*; -import com.orangeforms.common.core.object.MyRelationParam; -import com.orangeforms.common.core.object.ResponseResult; -import com.orangeforms.common.core.object.CallResult; -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.common.core.base.service.BaseService; -import com.orangeforms.common.sequence.wrapper.IdGeneratorWrapper; -import lombok.extern.slf4j.Slf4j; -import com.github.pagehelper.Page; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.*; - -/** - * 学生行为流水数据操作服务类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -@Service("studentActionTransService") -public class StudentActionTransServiceImpl extends BaseService implements StudentActionTransService { - - @Autowired - private StudentActionTransMapper studentActionTransMapper; - @Autowired - private SysDeptClient sysDeptClient; - @Autowired - private GradeClient gradeClient; - @Autowired - private IdGeneratorWrapper idGenerator; - - /** - * 返回当前Service的主表Mapper对象。 - * - * @return 主表Mapper对象。 - */ - @Override - protected BaseDaoMapper mapper() { - return studentActionTransMapper; - } - - /** - * 保存新增对象。 - * - * @param studentActionTrans 新增对象。 - * @return 返回新增对象。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public StudentActionTrans saveNew(StudentActionTrans studentActionTrans) { - studentActionTransMapper.insert(this.buildDefaultValue(studentActionTrans)); - return studentActionTrans; - } - - /** - * 利用数据库的insertList语法,批量插入对象列表。 - * - * @param studentActionTransList 新增对象列表。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public void saveNewBatch(List studentActionTransList) { - if (CollUtil.isNotEmpty(studentActionTransList)) { - studentActionTransList.forEach(this::buildDefaultValue); - studentActionTransMapper.insertList(studentActionTransList); - } - } - - /** - * 更新数据对象。 - * - * @param studentActionTrans 更新的对象。 - * @param originalStudentActionTrans 原有数据对象。 - * @return 成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public boolean update(StudentActionTrans studentActionTrans, StudentActionTrans originalStudentActionTrans) { - studentActionTrans.setCreateTime(originalStudentActionTrans.getCreateTime()); - // 这里重点提示,在执行主表数据更新之前,如果有哪些字段不支持修改操作,请用原有数据对象字段替换当前数据字段。 - UpdateWrapper uw = this.createUpdateQueryForNullValue(studentActionTrans, studentActionTrans.getTransId()); - return studentActionTransMapper.update(studentActionTrans, uw) == 1; - } - - /** - * 删除指定数据。 - * - * @param transId 主键Id。 - * @return 成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public boolean remove(Long transId) { - return studentActionTransMapper.deleteById(transId) == 1; - } - - /** - * 获取单表查询结果。由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getStudentActionTransListWithRelation)方法。 - * - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - @Override - public List getStudentActionTransList(StudentActionTrans filter, String orderBy) { - return studentActionTransMapper.getStudentActionTransList(null, null, filter, orderBy); - } - - /** - * 获取主表的查询结果,查询条件中包括主表过滤对象和指定字段的(in list)过滤。 - * 由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getStudentActionTransListWithRelation)方法。 - * - * @param inFilterField (In-list)指定的字段(Java成员字段,而非数据列名)。 - * @param inFilterValues inFilterField指定字段的(In-list)数据列表。 - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - @Override - public List getStudentActionTransList( - String inFilterField, Set inFilterValues, StudentActionTrans filter, String orderBy) { - String inFilterColumn = MyModelUtil.mapToColumnName(inFilterField, StudentActionTrans.class); - return studentActionTransMapper.getStudentActionTransList(inFilterColumn, inFilterValues, filter, orderBy); - } - - /** - * 获取主表的查询结果,以及主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 该查询会涉及到一对一从表的关联过滤,或一对多从表的嵌套关联过滤,因此性能不如单表过滤。 - * 如果仅仅需要获取主表数据,请移步(getStudentActionTransList),以便获取更好的查询性能。 - * - * @param filter 主表过滤对象。 - * @param orderBy 排序对象。 - * @return 查询结果集。 - */ - @Override - public List getStudentActionTransListWithRelation(StudentActionTrans filter, String orderBy) { - List resultList = studentActionTransMapper.getStudentActionTransList(null, null, filter, orderBy); - // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 - // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 - int batchSize = resultList instanceof Page ? 0 : 1000; - this.buildRelationForDataList(resultList, MyRelationParam.normal(), batchSize); - return resultList; - } - - /** - * 获取主表的查询结果,查询条件中包括主表过滤对象和指定字段的(in list)过滤。 - * 同时还包含主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 如果仅仅需要获取主表数据,请移步(getStudentActionTransList),以便获取更好的查询性能。 - * - * @param inFilterField (In-list)指定的字段(Java成员字段,而非数据列名)。 - * @param inFilterValues inFilterField指定字段的(In-list)数据列表。 - * @param filter 主表过滤对象。 - * @param orderBy 排序对象。 - * @return 查询结果集。 - */ - @Override - public List getStudentActionTransListWithRelation( - String inFilterField, Set inFilterValues, StudentActionTrans filter, String orderBy) { - String inFilterColumn = MyModelUtil.mapToColumnName(inFilterField, StudentActionTrans.class); - List resultList = - studentActionTransMapper.getStudentActionTransList(inFilterColumn, inFilterValues, filter, orderBy); - // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 - // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 - int batchSize = resultList instanceof Page ? 0 : 1000; - this.buildRelationForDataList(resultList, MyRelationParam.dictOnly(), batchSize); - return resultList; - } - - /** - * 根据最新对象和原有对象的数据对比,判断关联的远程字典数据和多对一主表数据是否都是合法数据。 - * - * @param studentActionTrans 最新数据对象。 - * @param originalStudentActionTrans 原有数据对象。 - * @return 数据全部正确返回true,否则false,同时返回具体的错误信息。 - */ - @Override - public CallResult verifyRemoteRelatedData(StudentActionTrans studentActionTrans, StudentActionTrans originalStudentActionTrans) { - String errorMessageFormat = "数据验证失败,关联的%s并不存在,请刷新后重试!"; - if (this.needToVerify(studentActionTrans, originalStudentActionTrans, StudentActionTrans::getSchoolId)) { - ResponseResult responseResult = - sysDeptClient.existId(studentActionTrans.getSchoolId()); - if (this.hasErrorOfVerifyRemoteRelatedData(responseResult)) { - return CallResult.error(String.format(errorMessageFormat, "学生校区")); - } - } - if (this.needToVerify(studentActionTrans, originalStudentActionTrans, StudentActionTrans::getGradeId)) { - ResponseResult responseResult = - gradeClient.existId(studentActionTrans.getGradeId()); - if (this.hasErrorOfVerifyRemoteRelatedData(responseResult)) { - return CallResult.error(String.format(errorMessageFormat, "所属年级")); - } - } - return CallResult.ok(); - } - - private StudentActionTrans buildDefaultValue(StudentActionTrans studentActionTrans) { - studentActionTrans.setTransId(idGenerator.nextLongId()); - studentActionTrans.setCreateTime(new Date()); - return studentActionTrans; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/resources/bootstrap.yml b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/resources/bootstrap.yml deleted file mode 100644 index b572903a..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/resources/bootstrap.yml +++ /dev/null @@ -1,30 +0,0 @@ -spring: - application: - name: stats - profiles: - active: dev - cloud: - nacos: - discovery: - server-addr: localhost:8848 - config: - server-addr: localhost:8848 - file-extension: yaml - # 共享配置文件,排序越高后,优先级越高。 - shared-configs: - - data-id: application-dev.yaml - group: DEFAULT_GROUP - refresh: true - sentinel: - eager: true - datasource: - ds1: - nacos: - server-addr: localhost:8848 - data-id: ${spring.application.name}-dev-sentinel - group-id: DEFAULT_GROUP - data-type: json - # 如果是降级服务,需要改为degrade - rule-type: flow - main: - allow-bean-definition-overriding: true diff --git a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/resources/log4j2.xml b/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/resources/log4j2.xml deleted file mode 100644 index a65c063b..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/stats/stats-service/src/main/resources/log4j2.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - - - - ./zzlogs/stats - - ./zzlogs/stats/backup - - info - - - - - - - - [%-5p] [%d{YYYY-MM-dd HH:mm:ss}] [%t] ==> %msg%n - - - - [%-5p] [%d{YYYY-MM-dd HH:mm:ss}] T:[%X{traceId}] S:[%X{sessionId}] U:[%X{userId}] [%t] ==> [%traceId] %msg%n - - - 31 - - 20M - - - - - - - localhost:9092 - 10000 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/pom.xml b/orange-demo-multi/orange-demo-multi-service/application/upms/pom.xml deleted file mode 100644 index ef313dd2..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/pom.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - com.orangeforms - application - 1.0.0 - - 4.0.0 - - upms - pom - - - upms-api - upms-service - - diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/pom.xml b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/pom.xml deleted file mode 100644 index ef8c7bbd..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/pom.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - com.orangeforms - upms - 1.0.0 - - 4.0.0 - - upms-api - 1.0.0 - upms-api - jar - - - - com.orangeforms - common-core - 1.0.0 - - - com.orangeforms - common-datafilter - 1.0.0 - - - - com.orangeforms - application-common - 1.0.0 - - - - com.orangeforms - common-swagger - 1.0.0 - - - diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/client/SysDeptClient.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/client/SysDeptClient.java deleted file mode 100644 index af4cfe1b..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/client/SysDeptClient.java +++ /dev/null @@ -1,188 +0,0 @@ -package com.orangeforms.upmsapi.client; - -import com.orangeforms.common.core.base.client.BaseFallbackFactory; -import com.orangeforms.common.core.config.FeignConfig; -import com.orangeforms.common.core.base.client.BaseClient; -import com.orangeforms.common.core.object.*; -import com.orangeforms.upmsapi.dto.SysDeptDto; -import com.orangeforms.upmsapi.vo.SysDeptVo; -import lombok.extern.slf4j.Slf4j; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.stereotype.Component; -import org.springframework.web.bind.annotation.*; - -import java.util.*; - -/** - * 部门管理服务远程数据操作访问接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -@FeignClient( - name = "upms", - configuration = FeignConfig.class, - fallbackFactory = SysDeptClient.SysDeptClientFallbackFactory.class) -public interface SysDeptClient extends BaseClient { - - /** - * 基于主键的(In-list)条件获取远程数据接口。 - * - * @param deptIds 主键Id集合。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象的数据集合。 - */ - @Override - @PostMapping("/sysDept/listByIds") - ResponseResult> listByIds( - @RequestParam("deptIds") Set deptIds, - @RequestParam("withDict") Boolean withDict); - - /** - * 基于主键Id,获取远程对象。 - * - * @param deptId 主键Id。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象数据。 - */ - @Override - @PostMapping("/sysDept/getById") - ResponseResult getById( - @RequestParam("deptId") Long deptId, - @RequestParam("withDict") Boolean withDict); - - /** - * 判断参数列表中指定的主键Id,是否都存在。 - * - * @param deptIds 主键Id集合。 - * @return 应答结果对象,包含true全部存在,否则false。 - */ - @Override - @PostMapping("/sysDept/existIds") - ResponseResult existIds(@RequestParam("deptIds") Set deptIds); - - /** - * 判断主键Id是否存在。 - * - * @param deptId 参数主键Id。 - * @return 应答结果对象,包含true表示存在,否则false。 - */ - @Override - @PostMapping("/sysDept/existId") - ResponseResult existId(@RequestParam("deptId") Long deptId); - - /** - * 根据最新对象和原有对象列表的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param data 数据对象。 - * 主键有值是视为更新操作的数据比对,因此仅当关联Id变化时才会验证。 - * 主键为空视为新增操作的数据比对,所有关联Id都会被验证。 - * @return 应答结果对象。 - */ - @Override - @PostMapping("/sysDept/verifyRelatedData") - ResponseResult verifyRelatedData(@RequestBody SysDeptDto data); - - /** - * 根据最新对象列表和原有对象列表的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param dataList 数据对象列表。 - * @return 应答结果对象。 - */ - @Override - @PostMapping("/sysDept/verifyRelatedDataList") - ResponseResult verifyRelatedDataList(@RequestBody List dataList); - - /** - * 删除主键Id关联的对象。 - * - * @param deptId 主键Id。 - * @return 应答结果对象。 - */ - @Override - @PostMapping("/sysDept/deleteById") - ResponseResult deleteById(@RequestParam("deptId") Long deptId); - - /** - * 删除符合过滤条件的数据。 - * - * @param filter 过滤对象。 - * @return 应答结果对象,包含删除数量。 - */ - @Override - @PostMapping("/sysDept/deleteBy") - ResponseResult deleteBy(@RequestBody SysDeptDto filter); - - /** - * 获取远程主对象中符合查询条件的数据列表。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含实体对象集合。 - */ - @Override - @PostMapping("/sysDept/listBy") - ResponseResult> listBy(@RequestBody MyQueryParam queryParam); - - /** - * 获取远程主对象中符合查询条件的单条数据对象。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含实体对象。 - */ - @Override - @PostMapping("/sysDept/getBy") - ResponseResult getBy(@RequestBody MyQueryParam queryParam); - - /** - * 获取远程主对象中符合查询条件的数据列表。 - * 和listBy接口相比,以Map列表的方式返回的主要目的是,降低服务之间的耦合度。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含主对象集合。 - */ - @Override - @PostMapping("/sysDept/listMapBy") - ResponseResult>> listMapBy(@RequestBody MyQueryParam queryParam); - - /** - * 获取远程主对象中符合查询条件的数据数量。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含结果数量。 - */ - @Override - @PostMapping("/sysDept/countBy") - ResponseResult countBy(@RequestBody MyQueryParam queryParam); - - /** - * 获取远程对象中符合查询条件的分组聚合计算Map列表。 - * - * @param aggregationParam 聚合参数。 - * @return 应该结果对象,包含聚合计算后的分组Map列表。 - */ - @Override - @PostMapping("/sysDept/aggregateBy") - ResponseResult>> aggregateBy(@RequestBody MyAggregationParam aggregationParam); - - /** - * 根据过滤字段和过滤集合,返回不存在的数据。 - * - * @param queryParam 查询参数。 - * @return filterSet中,在从表中不存在的数据集合。 - */ - @Override - @PostMapping("/sysDept/notExist") - ResponseResult> notExist(@RequestBody MyQueryParam queryParam); - - @Component("UpmsSysDeptClientFallbackFactory") - @Slf4j - class SysDeptClientFallbackFactory - extends BaseFallbackFactory implements SysDeptClient { - - @Override - public SysDeptClient create(Throwable throwable) { - log.error("Exception For Feign Remote Call.", throwable); - return new SysDeptClientFallbackFactory(); - } - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/client/SysUserClient.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/client/SysUserClient.java deleted file mode 100644 index a59c3aec..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/client/SysUserClient.java +++ /dev/null @@ -1,220 +0,0 @@ -package com.orangeforms.upmsapi.client; - -import com.alibaba.fastjson.JSON; -import com.orangeforms.common.core.base.client.BaseFallbackFactory; -import com.orangeforms.common.core.config.FeignConfig; -import com.orangeforms.common.core.base.client.BaseClient; -import com.orangeforms.common.core.constant.ErrorCodeEnum; -import com.orangeforms.common.core.object.*; -import com.orangeforms.upmsapi.dto.SysUserDto; -import com.orangeforms.upmsapi.vo.SysUserVo; -import lombok.extern.slf4j.Slf4j; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.stereotype.Component; -import org.springframework.web.bind.annotation.*; - -import java.util.*; - -/** - * 用户管理服务远程数据操作访问接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -@FeignClient( - name = "upms", - configuration = FeignConfig.class, - fallbackFactory = SysUserClient.SysUserClientFallbackFactory.class) -public interface SysUserClient extends BaseClient { - - /** - * 基于主键的(In-list)条件获取远程数据接口。 - * - * @param userIds 主键Id集合。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象的数据集合。 - */ - @Override - @PostMapping("/sysUser/listByIds") - ResponseResult> listByIds( - @RequestParam("userIds") Set userIds, - @RequestParam("withDict") Boolean withDict); - - /** - * 基于主键Id,获取远程对象。 - * - * @param userId 主键Id。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象数据。 - */ - @Override - @PostMapping("/sysUser/getById") - ResponseResult getById( - @RequestParam("userId") Long userId, - @RequestParam("withDict") Boolean withDict); - - /** - * 判断参数列表中指定的主键Id,是否都存在。 - * - * @param userIds 主键Id集合。 - * @return 应答结果对象,包含true全部存在,否则false。 - */ - @Override - @PostMapping("/sysUser/existIds") - ResponseResult existIds(@RequestParam("userIds") Set userIds); - - /** - * 判断主键Id是否存在。 - * - * @param userId 参数主键Id。 - * @return 应答结果对象,包含true表示存在,否则false。 - */ - @Override - @PostMapping("/sysUser/existId") - ResponseResult existId(@RequestParam("userId") Long userId); - - /** - * 根据最新对象和原有对象列表的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param data 数据对象。 - * 主键有值是视为更新操作的数据比对,因此仅当关联Id变化时才会验证。 - * 主键为空视为新增操作的数据比对,所有关联Id都会被验证。 - * @return 应答结果对象。 - */ - @Override - @PostMapping("/sysUser/verifyRelatedData") - ResponseResult verifyRelatedData(@RequestBody SysUserDto data); - - /** - * 根据最新对象列表和原有对象列表的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param dataList 数据对象列表。 - * @return 应答结果对象。 - */ - @Override - @PostMapping("/sysUser/verifyRelatedDataList") - ResponseResult verifyRelatedDataList(@RequestBody List dataList); - - /** - * 删除主键Id关联的对象。 - * - * @param userId 主键Id。 - * @return 应答结果对象。 - */ - @Override - @PostMapping("/sysUser/deleteById") - ResponseResult deleteById(@RequestParam("userId") Long userId); - - /** - * 删除符合过滤条件的数据。 - * - * @param filter 过滤对象。 - * @return 应答结果对象,包含删除数量。 - */ - @Override - @PostMapping("/sysUser/deleteBy") - ResponseResult deleteBy(@RequestBody SysUserDto filter); - - /** - * 获取远程主对象中符合查询条件的数据列表。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含实体对象集合。 - */ - @Override - @PostMapping("/sysUser/listBy") - ResponseResult> listBy(@RequestBody MyQueryParam queryParam); - - /** - * 获取远程主对象中符合查询条件的单条数据对象。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含实体对象。 - */ - @Override - @PostMapping("/sysUser/getBy") - ResponseResult getBy(@RequestBody MyQueryParam queryParam); - - /** - * 获取远程主对象中符合查询条件的数据列表。 - * 和listBy接口相比,以Map列表的方式返回的主要目的是,降低服务之间的耦合度。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含主对象集合。 - */ - @Override - @PostMapping("/sysUser/listMapBy") - ResponseResult>> listMapBy(@RequestBody MyQueryParam queryParam); - - /** - * 获取远程主对象中符合查询条件的数据数量。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含结果数量。 - */ - @Override - @PostMapping("/sysUser/countBy") - ResponseResult countBy(@RequestBody MyQueryParam queryParam); - - /** - * 获取远程对象中符合查询条件的分组聚合计算Map列表。 - * - * @param aggregationParam 聚合参数。 - * @return 应该结果对象,包含聚合计算后的分组Map列表。 - */ - @Override - @PostMapping("/sysUser/aggregateBy") - ResponseResult>> aggregateBy(@RequestBody MyAggregationParam aggregationParam); - - /** - * 根据过滤字段和过滤集合,返回不存在的数据。 - * - * @param queryParam 查询参数。 - * @return filterSet中,在从表中不存在的数据集合。 - */ - @Override - @PostMapping("/sysUser/notExist") - ResponseResult> notExist(@RequestBody MyQueryParam queryParam); - - /** - * 获取指定角色Id集合的用户数据集合。 - * @param roleIds 角色Id集合。 - * @return 应该结果对象,包含查询后的用户列表。 - */ - @GetMapping("/sysUser/getSysUserListByRoleIds") - ResponseResult> getSysUserListByRoleIds(@RequestParam("roleIds") Set roleIds); - - /** - * 获取指定部门Id集合的用户数据集合。 - * @param deptIds 部门Id集合。 - * @return 应该结果对象,包含查询后的用户列表。 - */ - @GetMapping("/sysUser/getSysUserListByDeptIds") - ResponseResult> getSysUserListByDeptIds(@RequestParam("deptIds") Set deptIds); - - @Component("UpmsSysUserClientFallbackFactory") - @Slf4j - class SysUserClientFallbackFactory - extends BaseFallbackFactory implements SysUserClient { - - @Override - public SysUserClient create(Throwable throwable) { - log.error("Exception For Feign Remote Call.", throwable); - return new SysUserClientFallbackFactory(); - } - - @Override - public ResponseResult> getSysUserListByRoleIds(Set roleIds) { - log.error("Failed to Feign Remote call [getSysUserListByRoleIds] for roleIds {}", - JSON.toJSONString(roleIds)); - return ResponseResult.error(ErrorCodeEnum.RPC_DATA_ACCESS_FAILED); - } - - @Override - public ResponseResult> getSysUserListByDeptIds(Set deptIds) { - log.error("Failed to Feign Remote call [getSysUserListByDeptIds] for deptIds {}", - JSON.toJSONString(deptIds)); - return ResponseResult.error(ErrorCodeEnum.RPC_DATA_ACCESS_FAILED); - } - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/constant/SysMenuType.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/constant/SysMenuType.java deleted file mode 100644 index b744bb80..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/constant/SysMenuType.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.orangeforms.upmsapi.constant; - -import java.util.HashMap; -import java.util.Map; - -/** - * 菜单类型常量对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -public final class SysMenuType { - - /** - * 目录菜单。 - */ - public static final int TYPE_DIRECTORY = 0; - /** - * 普通菜单。 - */ - public static final int TYPE_MENU = 1; - /** - * 表单片段类型。 - */ - public static final int TYPE_UI_FRAGMENT = 2; - /** - * 按钮类型。 - */ - public static final int TYPE_BUTTON = 3; - - private static final Map DICT_MAP = new HashMap<>(4); - static { - DICT_MAP.put(TYPE_DIRECTORY, "目录菜单"); - DICT_MAP.put(TYPE_MENU, "普通菜单"); - DICT_MAP.put(TYPE_UI_FRAGMENT, "表单片段类型"); - DICT_MAP.put(TYPE_BUTTON, "按钮类型"); - } - - /** - * 判断参数是否为当前常量字典的合法值。 - * - * @param value 待验证的参数值。 - * @return 合法返回true,否则false。 - */ - public static boolean isValid(Integer value) { - return value != null && DICT_MAP.containsKey(value); - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private SysMenuType() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/constant/SysOnlineMenuPermType.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/constant/SysOnlineMenuPermType.java deleted file mode 100644 index 205b7d7c..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/constant/SysOnlineMenuPermType.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.orangeforms.upmsapi.constant; - -import java.util.HashMap; -import java.util.Map; - -/** - * 菜单关联在线表单的控制权限类型。 - * - * @author Jerry - * @date 2020-08-08 - */ -public final class SysOnlineMenuPermType { - - /** - * 查看。 - */ - public static final int TYPE_VIEW = 0; - /** - * 编辑。 - */ - public static final int TYPE_EDIT = 1; - - private static final Map DICT_MAP = new HashMap<>(4); - static { - DICT_MAP.put(TYPE_VIEW, "查看"); - DICT_MAP.put(TYPE_EDIT, "编辑"); - } - - /** - * 判断参数是否为当前常量字典的合法值。 - * - * @param value 待验证的参数值。 - * @return 合法返回true,否则false。 - */ - public static boolean isValid(Integer value) { - return value != null && DICT_MAP.containsKey(value); - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private SysOnlineMenuPermType() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/constant/SysPermCodeType.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/constant/SysPermCodeType.java deleted file mode 100644 index 56997c97..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/constant/SysPermCodeType.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.orangeforms.upmsapi.constant; - -import java.util.HashMap; -import java.util.Map; - -/** - * 权限字类型常量对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -public final class SysPermCodeType { - - /** - * 表单权限字。 - */ - public static final int TYPE_FORM = 0; - /** - * 表单片段布局权限字。 - */ - public static final int TYPE_FRAGMENT = 1; - /** - * 操作权限字。 - */ - public static final int TYPE_OPERATION = 2; - - private static final Map DICT_MAP = new HashMap<>(3); - static { - DICT_MAP.put(TYPE_FORM, "表单权限字"); - DICT_MAP.put(TYPE_FRAGMENT, "表单片段布局权限字"); - DICT_MAP.put(TYPE_OPERATION, "操作权限字"); - } - - /** - * 判断参数是否为当前常量字典的合法值。 - * - * @param value 待验证的参数值。 - * @return 合法返回true,否则false。 - */ - public static boolean isValid(Integer value) { - return value != null && DICT_MAP.containsKey(value); - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private SysPermCodeType() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/constant/SysPermModuleType.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/constant/SysPermModuleType.java deleted file mode 100644 index 23d57c45..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/constant/SysPermModuleType.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.orangeforms.upmsapi.constant; - -import java.util.HashMap; -import java.util.Map; - -/** - * 权限资源模块类型常量对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -public final class SysPermModuleType { - - /** - * 普通模块。 - */ - public static final int TYPE_NORMAL = 0; - /** - * controller接口模块。 - */ - public static final int TYPE_CONTROLLER = 1; - - private static final Map DICT_MAP = new HashMap<>(2); - static { - DICT_MAP.put(TYPE_NORMAL, "普通模块"); - DICT_MAP.put(TYPE_CONTROLLER, "controller接口模块"); - } - - /** - * 判断参数是否为当前常量字典的合法值。 - * - * @param value 待验证的参数值。 - * @return 合法返回true,否则false。 - */ - public static boolean isValid(Integer value) { - return value != null && DICT_MAP.containsKey(value); - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private SysPermModuleType() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/constant/SysUserStatus.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/constant/SysUserStatus.java deleted file mode 100644 index bb5e5de8..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/constant/SysUserStatus.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.orangeforms.upmsapi.constant; - -import java.util.HashMap; -import java.util.Map; - -/** - * 用户状态常量字典对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -public final class SysUserStatus { - - /** - * 正常状态。 - */ - public static final int STATUS_NORMAL = 0; - /** - * 锁定状态。 - */ - public static final int STATUS_LOCKED = 1; - - private static final Map DICT_MAP = new HashMap<>(2); - static { - DICT_MAP.put(STATUS_NORMAL, "正常状态"); - DICT_MAP.put(STATUS_LOCKED, "锁定状态"); - } - - /** - * 判断参数是否为当前常量字典的合法值。 - * - * @param value 待验证的参数值。 - * @return 合法返回true,否则false。 - */ - public static boolean isValid(Integer value) { - return value != null && DICT_MAP.containsKey(value); - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private SysUserStatus() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/constant/SysUserType.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/constant/SysUserType.java deleted file mode 100644 index bc74ab6d..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/constant/SysUserType.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.orangeforms.upmsapi.constant; - -import java.util.HashMap; -import java.util.Map; - -/** - * 用户类型常量字典对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -public final class SysUserType { - - /** - * 管理员。 - */ - public static final int TYPE_ADMIN = 0; - /** - * 系统操作员。 - */ - public static final int TYPE_SYSTEM = 1; - /** - * 普通操作员。 - */ - public static final int TYPE_OPERATOR = 2; - - private static final Map DICT_MAP = new HashMap<>(3); - static { - DICT_MAP.put(TYPE_ADMIN, "管理员"); - DICT_MAP.put(TYPE_SYSTEM, "系统操作员"); - DICT_MAP.put(TYPE_OPERATOR, "普通操作员"); - } - - /** - * 判断参数是否为当前常量字典的合法值。 - * - * @param value 待验证的参数值。 - * @return 合法返回true,否则false。 - */ - public static boolean isValid(Integer value) { - return value != null && DICT_MAP.containsKey(value); - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private SysUserType() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/dto/SysDataPermDeptDto.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/dto/SysDataPermDeptDto.java deleted file mode 100644 index 1efbdede..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/dto/SysDataPermDeptDto.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.orangeforms.upmsapi.dto; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * 数据权限与部门关联Dto。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("数据权限与部门关联Dto") -@Data -public class SysDataPermDeptDto { - - /** - * 数据权限Id。 - */ - @ApiModelProperty(value = "数据权限Id", required = true) - private Long dataPermId; - - /** - * 关联部门Id。 - */ - @ApiModelProperty(value = "关联部门Id", required = true) - private Long deptId; -} \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/dto/SysDataPermDto.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/dto/SysDataPermDto.java deleted file mode 100644 index d81593d6..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/dto/SysDataPermDto.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.orangeforms.upmsapi.dto; - -import com.orangeforms.common.core.validator.UpdateGroup; -import com.orangeforms.common.core.validator.ConstDictRef; -import com.orangeforms.common.datafilter.constant.DataPermRuleType; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.*; - -/** - * 数据权限Dto。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("数据权限Dto") -@Data -public class SysDataPermDto { - - /** - * 数据权限Id。 - */ - @ApiModelProperty(value = "数据权限Id", required = true) - @NotNull(message = "数据权限Id不能为空!", groups = {UpdateGroup.class}) - private Long dataPermId; - - /** - * 显示名称。 - */ - @ApiModelProperty(value = "显示名称", required = true) - @NotBlank(message = "数据权限名称不能为空!") - private String dataPermName; - - /** - * 数据权限规则类型(0: 全部可见 1: 只看自己 2: 只看本部门 3: 本部门及子部门 4: 多部门及子部门 5: 自定义部门列表)。 - */ - @ApiModelProperty(value = "数据权限规则类型", required = true) - @NotNull(message = "数据权限规则类型不能为空!") - @ConstDictRef(constDictClass = DataPermRuleType.class) - private Integer ruleType; - - /** - * 部门Id列表(逗号分隔)。 - */ - @ApiModelProperty(hidden = true) - private String deptIdListString; - - /** - * 搜索字符串。 - */ - @ApiModelProperty(value = "LIKE 模糊搜索字符串") - private String searchString; -} \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/dto/SysDeptDto.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/dto/SysDeptDto.java deleted file mode 100644 index 915a5f2d..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/dto/SysDeptDto.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.orangeforms.upmsapi.dto; - -import com.orangeforms.common.core.validator.UpdateGroup; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.*; - -import java.util.Date; - -/** - * SysDeptDto对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("SysDeptDto对象") -@Data -public class SysDeptDto { - - /** - * 部门Id。 - */ - @ApiModelProperty(value = "部门Id", required = true) - @NotNull(message = "数据验证失败,部门Id不能为空!", groups = {UpdateGroup.class}) - private Long deptId; - - /** - * 部门名称。 - */ - @ApiModelProperty(value = "部门名称", required = true) - @NotBlank(message = "数据验证失败,部门名称不能为空!") - private String deptName; - - /** - * 显示顺序。 - */ - @ApiModelProperty(value = "显示顺序", required = true) - @NotNull(message = "数据验证失败,显示顺序不能为空!") - private Integer showOrder; - - /** - * 父部门Id。 - */ - @ApiModelProperty(value = "父部门Id") - private Long parentId; - - /** - * 创建者Id。 - */ - @ApiModelProperty(value = "创建者Id") - private Long createUserId; - - /** - * 更新者Id。 - */ - @ApiModelProperty(value = "更新者Id") - private Long updateUserId; - - /** - * 创建时间。 - */ - @ApiModelProperty(value = "创建时间") - private Date createTime; - - /** - * 更新时间。 - */ - @ApiModelProperty(value = "更新时间") - private Date updateTime; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/dto/SysMenuDto.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/dto/SysMenuDto.java deleted file mode 100644 index d2e9c890..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/dto/SysMenuDto.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.orangeforms.upmsapi.dto; - -import com.orangeforms.common.core.validator.UpdateGroup; -import com.orangeforms.common.core.validator.ConstDictRef; -import com.orangeforms.upmsapi.constant.SysMenuType; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; - -/** - * 菜单Dto。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("菜单Dto") -@Data -public class SysMenuDto { - - /** - * 菜单Id。 - */ - @ApiModelProperty(value = "菜单Id", required = true) - @NotNull(message = "菜单Id不能为空!", groups = {UpdateGroup.class}) - private Long menuId; - - /** - * 父菜单Id,目录菜单的父菜单为null - */ - @ApiModelProperty(value = "父菜单Id") - private Long parentId; - - /** - * 菜单显示名称。 - */ - @ApiModelProperty(value = "菜单显示名称", required = true) - @NotBlank(message = "菜单显示名称不能为空!") - private String menuName; - - /** - * 菜单类型 (0: 目录 1: 菜单 2: 按钮 3: UI片段)。 - */ - @ApiModelProperty(value = "菜单类型", required = true) - @NotNull(message = "菜单类型不能为空!") - @ConstDictRef(constDictClass = SysMenuType.class, message = "数据验证失败,菜单类型为无效值!") - private Integer menuType; - - /** - * 前端表单路由名称,仅用于menu_type为1的菜单类型。 - */ - @ApiModelProperty(value = "前端表单路由名称") - private String formRouterName; - - /** - * 在线表单主键Id,仅用于在线表单绑定的菜单。 - */ - @ApiModelProperty(value = "在线表单主键Id") - private Long onlineFormId; - - /** - * 菜单显示顺序 (值越小,排序越靠前)。 - */ - @ApiModelProperty(value = "菜单显示顺序", required = true) - @NotNull(message = "菜单显示顺序不能为空!") - private Integer showOrder; - - /** - * 菜单图标。 - */ - @ApiModelProperty(value = "菜单显示顺序") - private String icon; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/dto/SysOperationLogDto.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/dto/SysOperationLogDto.java deleted file mode 100644 index 7b120ce6..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/dto/SysOperationLogDto.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.orangeforms.upmsapi.dto; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * 操作日志记录表 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("操作日志Dto") -@Data -public class SysOperationLogDto { - - /** - * 主键Id。 - */ - @ApiModelProperty(value = "主键Id") - private Long logId; - - /** - * 操作类型。 - * 常量值定义可参考SysOperationLogType对象。 - */ - @ApiModelProperty(value = "操作类型") - private Integer operationType; - - /** - * 每次请求的Id。 - * 对于微服务之间的调用,在同一个请求的调用链中,该值是相同的。 - */ - @ApiModelProperty(value = "每次请求的Id") - private String traceId; - - /** - * HTTP 请求地址。 - */ - @ApiModelProperty(value = "HTTP 请求地址") - private String requestUrl; - - /** - * 应答状态。 - */ - @ApiModelProperty(value = "应答状态") - private Boolean success; - - /** - * 操作员名称。 - */ - @ApiModelProperty(value = "操作员名称") - private String operatorName; - - /** - * 调用时长最小值。 - */ - @ApiModelProperty(value = "调用时长最小值") - private Long elapseMin; - - /** - * 调用时长最大值。 - */ - @ApiModelProperty(value = "调用时长最大值") - private Long elapseMax; - - /** - * 操作开始时间。 - */ - @ApiModelProperty(value = "操作开始时间") - private String operationTimeStart; - - /** - * 操作开始时间。 - */ - @ApiModelProperty(value = "操作开始时间") - private String operationTimeEnd; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/dto/SysPermCodeDto.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/dto/SysPermCodeDto.java deleted file mode 100644 index beae3a4d..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/dto/SysPermCodeDto.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.orangeforms.upmsapi.dto; - -import com.orangeforms.common.core.validator.ConstDictRef; -import com.orangeforms.common.core.validator.UpdateGroup; -import com.orangeforms.upmsapi.constant.SysPermCodeType; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; - -/** - * 权限字Dto。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("权限字Dto") -@Data -public class SysPermCodeDto { - - /** - * 权限字Id。 - */ - @ApiModelProperty(value = "权限字Id", required = true) - @NotNull(message = "权限字Id不能为空!", groups = {UpdateGroup.class}) - private Long permCodeId; - - /** - * 权限字标识(一般为有含义的英文字符串)。 - */ - @ApiModelProperty(value = "权限字标识", required = true) - @NotBlank(message = "权限字编码不能为空!") - private String permCode; - - /** - * 上级权限字Id。 - */ - @ApiModelProperty(value = "上级权限字Id") - private Long parentId; - - /** - * 权限字类型(0: 表单 1: UI片段 2: 操作)。 - */ - @ApiModelProperty(value = "权限字类型", required = true) - @NotNull(message = "权限字类型不能为空!") - @ConstDictRef(constDictClass = SysPermCodeType.class, message = "数据验证失败,权限类型为无效值!") - private Integer permCodeType; - - /** - * 显示名称。 - */ - @ApiModelProperty(value = "显示名称", required = true) - @NotBlank(message = "权限字显示名称不能为空!") - private String showName; - - /** - * 显示顺序(数值越小,越靠前)。 - */ - @ApiModelProperty(value = "显示顺序", required = true) - @NotNull(message = "权限字显示顺序不能为空!") - private Integer showOrder; -} \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/dto/SysPermDto.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/dto/SysPermDto.java deleted file mode 100644 index dfb26414..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/dto/SysPermDto.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.orangeforms.upmsapi.dto; - -import com.orangeforms.common.core.validator.UpdateGroup; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; - -/** - * 权限资源Dto。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("权限资源Dto") -@Data -public class SysPermDto { - - /** - * 权限资源Id。 - */ - @ApiModelProperty(value = "权限资源Id", required = true) - @NotNull(message = "权限Id不能为空!", groups = {UpdateGroup.class}) - private Long permId; - - /** - * 权限资源名称。 - */ - @ApiModelProperty(value = "权限资源名称", required = true) - @NotBlank(message = "权限资源名称不能为空!") - private String permName; - - /** - * shiro格式的权限字,如(upms:sysUser:add)。 - */ - @ApiModelProperty(value = "权限字") - private String permCode; - - /** - * 权限所在的权限模块Id。 - */ - @ApiModelProperty(value = "权限所在的权限模块Id") - @NotNull(message = "权限模块Id不能为空!") - private Long moduleId; - - /** - * 关联的URL。 - */ - @ApiModelProperty(value = "关联的URL", required = true) - @NotBlank(message = "权限关联的url不能为空!") - private String url; - - /** - * 权限在当前模块下的顺序,由小到大。 - */ - @ApiModelProperty(value = "显示顺序", required = true) - @NotNull(message = "权限显示顺序不能为空!") - private Integer showOrder; -} \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/dto/SysPermModuleDto.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/dto/SysPermModuleDto.java deleted file mode 100644 index 39674066..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/dto/SysPermModuleDto.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.orangeforms.upmsapi.dto; - -import com.orangeforms.common.core.validator.ConstDictRef; -import com.orangeforms.common.core.validator.UpdateGroup; -import com.orangeforms.upmsapi.constant.SysPermModuleType; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; - -/** - * 权限资源模块Dto。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("权限资源模块Dto") -@Data -public class SysPermModuleDto { - - /** - * 权限模块Id。 - */ - @ApiModelProperty(value = "权限模块Id", required = true) - @NotNull(message = "权限模块Id不能为空!", groups = {UpdateGroup.class}) - private Long moduleId; - - /** - * 权限模块名称。 - */ - @ApiModelProperty(value = "权限模块名称", required = true) - @NotBlank(message = "权限模块名称不能为空!") - private String moduleName; - - /** - * 上级权限模块Id。 - */ - @ApiModelProperty(value = "上级权限模块Id") - private Long parentId; - - /** - * 权限模块类型(0: 普通模块 1: Controller模块)。 - */ - @ApiModelProperty(value = "权限模块类型", required = true) - @NotNull(message = "模块类型不能为空!") - @ConstDictRef(constDictClass = SysPermModuleType.class, message = "数据验证失败,权限模块类型为无效值!") - private Integer moduleType; - - /** - * 权限模块在当前层级下的顺序,由小到大。 - */ - @ApiModelProperty(value = "显示顺序", required = true) - @NotNull(message = "权限模块显示顺序不能为空!") - private Integer showOrder; -} \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/dto/SysRoleDto.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/dto/SysRoleDto.java deleted file mode 100644 index 8761516b..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/dto/SysRoleDto.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.orangeforms.upmsapi.dto; - -import com.orangeforms.common.core.validator.UpdateGroup; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.*; - -/** - * 角色Dto。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("角色Dto") -@Data -public class SysRoleDto { - - /** - * 角色Id。 - */ - @ApiModelProperty(value = "角色Id", required = true) - @NotNull(message = "角色Id不能为空!", groups = {UpdateGroup.class}) - private Long roleId; - - /** - * 角色名称。 - */ - @ApiModelProperty(value = "角色名称", required = true) - @NotBlank(message = "角色名称不能为空!") - private String roleName; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/dto/SysUserDto.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/dto/SysUserDto.java deleted file mode 100644 index f75adf71..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/dto/SysUserDto.java +++ /dev/null @@ -1,119 +0,0 @@ -package com.orangeforms.upmsapi.dto; - -import com.orangeforms.common.core.validator.AddGroup; -import com.orangeforms.common.core.validator.UpdateGroup; -import com.orangeforms.common.core.validator.ConstDictRef; -import com.orangeforms.upmsapi.constant.SysUserType; -import com.orangeforms.upmsapi.constant.SysUserStatus; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.*; - -import java.util.Date; - -/** - * SysUserDto对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("SysUserDto对象") -@Data -public class SysUserDto { - - /** - * 用户Id。 - */ - @ApiModelProperty(value = "用户Id", required = true) - @NotNull(message = "数据验证失败,用户Id不能为空!", groups = {UpdateGroup.class}) - private Long userId; - - /** - * 登录用户名。 - */ - @ApiModelProperty(value = "登录用户名", required = true) - @NotBlank(message = "数据验证失败,登录用户名不能为空!") - private String loginName; - - /** - * 用户密码。 - */ - @ApiModelProperty(value = "用户密码", required = true) - @NotBlank(message = "数据验证失败,用户密码不能为空!", groups = {AddGroup.class}) - private String password; - - /** - * 用户显示名称。 - */ - @ApiModelProperty(value = "用户显示名称", required = true) - @NotBlank(message = "数据验证失败,用户显示名称不能为空!") - private String showName; - - /** - * 用户部门Id。 - */ - @ApiModelProperty(value = "用户部门Id", required = true) - @NotNull(message = "数据验证失败,用户部门Id不能为空!") - private Long deptId; - - /** - * 用户类型(0: 管理员 1: 系统管理用户 2: 系统业务用户)。 - */ - @ApiModelProperty(value = "用户类型(0: 管理员 1: 系统管理用户 2: 系统业务用户)", required = true) - @NotNull(message = "数据验证失败,用户类型(0: 管理员 1: 系统管理用户 2: 系统业务用户)不能为空!") - @ConstDictRef(constDictClass = SysUserType.class, message = "数据验证失败,用户类型(0: 管理员 1: 系统管理用户 2: 系统业务用户)为无效值!") - private Integer userType; - - /** - * 用户头像的Url。 - */ - @ApiModelProperty(value = "用户头像的Url") - private String headImageUrl; - - /** - * 用户状态(0: 正常 1: 锁定)。 - */ - @ApiModelProperty(value = "用户状态(0: 正常 1: 锁定)", required = true) - @NotNull(message = "数据验证失败,用户状态(0: 正常 1: 锁定)不能为空!") - @ConstDictRef(constDictClass = SysUserStatus.class, message = "数据验证失败,用户状态(0: 正常 1: 锁定)为无效值!") - private Integer userStatus; - - /** - * 创建用户Id。 - */ - @ApiModelProperty(value = "创建用户Id") - private Long createUserId; - - /** - * 更新者Id。 - */ - @ApiModelProperty(value = "更新者Id") - private Long updateUserId; - - /** - * 创建时间。 - */ - @ApiModelProperty(value = "创建时间") - private Date createTime; - - /** - * 更新时间。 - */ - @ApiModelProperty(value = "更新时间") - private Date updateTime; - - /** - * createTime 范围过滤起始值(>=)。 - */ - @ApiModelProperty(value = "createTime 范围过滤起始值(>=)") - private String createTimeStart; - - /** - * createTime 范围过滤结束值(<=)。 - */ - @ApiModelProperty(value = "createTime 范围过滤结束值(<=)") - private String createTimeEnd; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/vo/SysDataPermDeptVo.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/vo/SysDataPermDeptVo.java deleted file mode 100644 index b4b8211f..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/vo/SysDataPermDeptVo.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.orangeforms.upmsapi.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * 数据权限与部门关联VO。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("数据权限与部门关联VO") -@Data -public class SysDataPermDeptVo { - - /** - * 数据权限Id。 - */ - @ApiModelProperty(value = "数据权限Id") - private Long dataPermId; - - /** - * 关联部门Id。 - */ - @ApiModelProperty(value = "关联部门Id") - private Long deptId; -} \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/vo/SysDataPermVo.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/vo/SysDataPermVo.java deleted file mode 100644 index 3851ac91..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/vo/SysDataPermVo.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.orangeforms.upmsapi.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.util.*; - -/** - * 数据权限VO。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("数据权限VO") -@Data -public class SysDataPermVo { - - /** - * 数据权限Id。 - */ - @ApiModelProperty(value = "数据权限Id") - private Long dataPermId; - - /** - * 显示名称。 - */ - @ApiModelProperty(value = "显示名称") - private String dataPermName; - - /** - * 数据权限规则类型(0: 全部可见 1: 只看自己 2: 只看本部门 3: 本部门及子部门 4: 多部门及子部门 5: 自定义部门列表)。 - */ - @ApiModelProperty(value = "数据权限规则类型") - private Integer ruleType; - - /** - * 部门Id列表(逗号分隔)。 - */ - @ApiModelProperty(value = "部门Id列表") - private String deptIdListString; - - /** - * 创建者Id。 - */ - @ApiModelProperty(value = "创建者Id") - private Long createUserId; - - /** - * 创建时间。 - */ - @ApiModelProperty(value = "创建时间") - private Date createTime; - - /** - * 更新者Id。 - */ - @ApiModelProperty(value = "更新者Id") - private Long updateUserId; - - /** - * 更新时间。 - */ - @ApiModelProperty(value = "更新时间") - private Date updateTime; - - /** - * 数据权限与部门关联对象列表。 - */ - @ApiModelProperty(value = "数据权限与部门关联对象列表") - private List> dataPermDeptList; -} \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/vo/SysDeptVo.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/vo/SysDeptVo.java deleted file mode 100644 index 98879e9c..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/vo/SysDeptVo.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.orangeforms.upmsapi.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.util.Date; - -/** - * SysDeptVO视图对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("SysDeptVO视图对象") -@Data -public class SysDeptVo { - - /** - * 部门Id。 - */ - @ApiModelProperty(value = "部门Id") - private Long deptId; - - /** - * 部门名称。 - */ - @ApiModelProperty(value = "部门名称") - private String deptName; - - /** - * 显示顺序。 - */ - @ApiModelProperty(value = "显示顺序") - private Integer showOrder; - - /** - * 父部门Id。 - */ - @ApiModelProperty(value = "父部门Id") - private Long parentId; - - /** - * 创建者Id。 - */ - @ApiModelProperty(value = "创建者Id") - private Long createUserId; - - /** - * 更新者Id。 - */ - @ApiModelProperty(value = "更新者Id") - private Long updateUserId; - - /** - * 创建时间。 - */ - @ApiModelProperty(value = "创建时间") - private Date createTime; - - /** - * 更新时间。 - */ - @ApiModelProperty(value = "更新时间") - private Date updateTime; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/vo/SysMenuVo.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/vo/SysMenuVo.java deleted file mode 100644 index 788ad832..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/vo/SysMenuVo.java +++ /dev/null @@ -1,102 +0,0 @@ -package com.orangeforms.upmsapi.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.util.*; - -/** - * 菜单VO。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("菜单VO") -@Data -public class SysMenuVo { - - /** - * 菜单Id。 - */ - @ApiModelProperty(value = "菜单Id") - private Long menuId; - - /** - * 父菜单Id,目录菜单的父菜单为null - */ - @ApiModelProperty(value = "父菜单Id") - private Long parentId; - - /** - * 菜单显示名称。 - */ - @ApiModelProperty(value = "菜单显示名称") - private String menuName; - - /** - * 菜单类型 (0: 目录 1: 菜单 2: 按钮 3: UI片段)。 - */ - @ApiModelProperty(value = "菜单类型") - private Integer menuType; - - /** - * 前端表单路由名称,仅用于menu_type为1的菜单类型。 - */ - @ApiModelProperty(value = "前端表单路由名称") - private String formRouterName; - - /** - * 在线表单主键Id,仅用于在线表单绑定的菜单。 - */ - @ApiModelProperty(value = "在线表单主键Id") - private Long onlineFormId; - - /** - * 在线表单菜单的权限控制类型,具体值可参考SysOnlineMenuPermType常量对象。 - */ - @ApiModelProperty(value = "在线表单菜单的权限控制类型") - private Integer onlineMenuPermType; - - /** - * 菜单显示顺序 (值越小,排序越靠前)。 - */ - @ApiModelProperty(value = "菜单显示顺序") - private Integer showOrder; - - /** - * 菜单图标。 - */ - @ApiModelProperty(value = "菜单显示顺序") - private String icon; - - /** - * 创建者Id。 - */ - @ApiModelProperty(value = "创建者Id") - private Long createUserId; - - /** - * 创建时间。 - */ - @ApiModelProperty(value = "创建时间") - private Date createTime; - - /** - * 更新者Id。 - */ - @ApiModelProperty(value = "更新者Id") - private Long updateUserId; - - /** - * 更新时间。 - */ - @ApiModelProperty(value = "更新时间") - private Date updateTime; - - /** - * 菜单与权限字关联对象列表。 - */ - @ApiModelProperty(value = "菜单与权限字关联对象列表") - private List> sysMenuPermCodeList; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/vo/SysOperationLogVo.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/vo/SysOperationLogVo.java deleted file mode 100644 index 16cefab4..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/vo/SysOperationLogVo.java +++ /dev/null @@ -1,145 +0,0 @@ -package com.orangeforms.upmsapi.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.util.Date; - -/** - * 操作日志记录表 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("操作日志VO") -@Data -public class SysOperationLogVo { - - /** - * 操作日志主键Id。 - */ - @ApiModelProperty(value = "操作日志主键Id") - private Long logId; - - /** - * 日志描述。 - */ - @ApiModelProperty(value = "日志描述") - private String description; - - /** - * 操作类型。 - * 常量值定义可参考SysOperationLogType对象。 - */ - @ApiModelProperty(value = "操作类型") - private Integer operationType; - - /** - * 接口所在服务名称。 - * 通常为spring.application.name配置项的值。 - */ - @ApiModelProperty(value = "接口所在服务名称") - private String serviceName; - - /** - * 调用的controller全类名。 - * 之所以为独立字段,是为了便于查询和统计接口的调用频度。 - */ - @ApiModelProperty(value = "调用的controller全类名") - private String apiClass; - - /** - * 调用的controller中的方法。 - * 格式为:接口类名 + "." + 方法名。 - */ - @ApiModelProperty(value = "调用的controller中的方法") - private String apiMethod; - - /** - * 用户会话sessionId。 - * 主要是为了便于统计,以及跟踪查询定位问题。 - */ - @ApiModelProperty(value = "用户会话sessionId") - private String sessionId; - - /** - * 每次请求的Id。 - * 对于微服务之间的调用,在同一个请求的调用链中,该值是相同的。 - */ - @ApiModelProperty(value = "每次请求的Id") - private String traceId; - - /** - * 调用时长。 - */ - @ApiModelProperty(value = "调用时长") - private Long elapse; - - /** - * HTTP 请求方法,如GET。 - */ - @ApiModelProperty(value = "HTTP 请求方法") - private String requestMethod; - - /** - * HTTP 请求地址。 - */ - @ApiModelProperty(value = "HTTP 请求地址") - private String requestUrl; - - /** - * controller接口参数。 - */ - @ApiModelProperty(value = "controller接口参数") - private String requestArguments; - - /** - * controller应答结果。 - */ - @ApiModelProperty(value = "controller应答结果") - private String responseResult; - - /** - * 请求IP。 - */ - @ApiModelProperty(value = "请求IP") - private String requestIp; - - /** - * 应答状态。 - */ - @ApiModelProperty(value = "应答状态") - private Boolean success; - - /** - * 错误信息。 - */ - @ApiModelProperty(value = "错误信息") - private String errorMsg; - - /** - * 租户Id。 - * 仅用于多租户系统,是便于进行对租户的操作查询和统计分析。 - */ - @ApiModelProperty(value = "租户Id") - private Long tenantId; - - /** - * 操作员Id。 - */ - @ApiModelProperty(value = "操作员Id") - private Long operatorId; - - /** - * 操作员名称。 - */ - @ApiModelProperty(value = "操作员名称") - private String operatorName; - - /** - * 操作时间。 - */ - @ApiModelProperty(value = "操作时间") - private Date operationTime; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/vo/SysPermCodeVo.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/vo/SysPermCodeVo.java deleted file mode 100644 index eb6e7207..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/vo/SysPermCodeVo.java +++ /dev/null @@ -1,84 +0,0 @@ -package com.orangeforms.upmsapi.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.util.*; - -/** - * 权限字VO。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("权限字VO") -@Data -public class SysPermCodeVo { - - /** - * 权限字Id。 - */ - @ApiModelProperty(value = "权限字Id") - private Long permCodeId; - - /** - * 权限字标识(一般为有含义的英文字符串)。 - */ - @ApiModelProperty(value = "权限字标识") - private String permCode; - - /** - * 上级权限字Id。 - */ - @ApiModelProperty(value = "上级权限字Id") - private Long parentId; - - /** - * 权限字类型(0: 表单 1: UI片段 2: 操作)。 - */ - @ApiModelProperty(value = "权限字类型") - private Integer permCodeType; - - /** - * 显示名称。 - */ - @ApiModelProperty(value = "显示名称") - private String showName; - - /** - * 显示顺序(数值越小,越靠前)。 - */ - @ApiModelProperty(value = "显示顺序") - private Integer showOrder; - - /** - * 创建者Id。 - */ - @ApiModelProperty(value = "创建者Id") - private Long createUserId; - - /** - * 创建时间。 - */ - @ApiModelProperty(value = "创建时间") - private Date createTime; - - /** - * 更新者Id。 - */ - @ApiModelProperty(value = "更新者Id") - private Long updateUserId; - - /** - * 更新时间。 - */ - @ApiModelProperty(value = "更新时间") - private Date updateTime; - - /** - * 权限字与权限资源关联对象列表。 - */ - @ApiModelProperty(value = "权限字与权限资源关联对象列表") - private List> sysPermCodePermList; -} \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/vo/SysPermModuleVo.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/vo/SysPermModuleVo.java deleted file mode 100644 index b7d4c468..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/vo/SysPermModuleVo.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.orangeforms.upmsapi.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.util.*; - -/** - * 权限资源模块VO。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("权限资源模块VO") -@Data -public class SysPermModuleVo { - - /** - * 权限模块Id。 - */ - @ApiModelProperty(value = "权限模块Id") - private Long moduleId; - - /** - * 权限模块名称。 - */ - @ApiModelProperty(value = "权限模块名称") - private String moduleName; - - /** - * 上级权限模块Id。 - */ - @ApiModelProperty(value = "上级权限模块Id") - private Long parentId; - - /** - * 权限模块类型(0: 普通模块 1: Controller模块)。 - */ - @ApiModelProperty(value = "权限模块类型") - private Integer moduleType; - - /** - * 权限模块在当前层级下的顺序,由小到大。 - */ - @ApiModelProperty(value = "显示顺序") - private Integer showOrder; - - /** - * 创建者Id。 - */ - @ApiModelProperty(value = "创建者Id") - private Long createUserId; - - /** - * 创建时间。 - */ - @ApiModelProperty(value = "创建时间") - private Date createTime; - - /** - * 更新者Id。 - */ - @ApiModelProperty(value = "更新者Id") - private Long updateUserId; - - /** - * 更新时间。 - */ - @ApiModelProperty(value = "更新时间") - private Date updateTime; - - /** - * 权限资源对象列表。 - */ - @ApiModelProperty(value = "权限资源对象列表") - private List sysPermList; -} \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/vo/SysPermVo.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/vo/SysPermVo.java deleted file mode 100644 index fbf6f00a..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/vo/SysPermVo.java +++ /dev/null @@ -1,84 +0,0 @@ -package com.orangeforms.upmsapi.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.util.*; - -/** - * 权限资源VO。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("权限资源VO") -@Data -public class SysPermVo { - - /** - * 权限资源Id。 - */ - @ApiModelProperty(value = "权限资源Id") - private Long permId; - - /** - * 权限资源名称。 - */ - @ApiModelProperty(value = "权限资源名称") - private String permName; - - /** - * shiro格式的权限字,如(upms:sysUser:add)。 - */ - @ApiModelProperty(value = "权限字") - private String permCode; - - /** - * 权限所在的权限模块Id。 - */ - @ApiModelProperty(value = "权限所在的权限模块Id") - private Long moduleId; - - /** - * 关联的URL。 - */ - @ApiModelProperty(value = "关联的URL") - private String url; - - /** - * 权限在当前模块下的顺序,由小到大。 - */ - @ApiModelProperty(value = "显示顺序") - private Integer showOrder; - - /** - * 创建者Id。 - */ - @ApiModelProperty(value = "创建者Id") - private Long createUserId; - - /** - * 创建时间。 - */ - @ApiModelProperty(value = "创建时间") - private Date createTime; - - /** - * 更新者Id。 - */ - @ApiModelProperty(value = "更新者Id") - private Long updateUserId; - - /** - * 更新时间。 - */ - @ApiModelProperty(value = "更新时间") - private Date updateTime; - - /** - * 模块Id的字典关联数据。 - */ - @ApiModelProperty(value = "模块Id的字典关联数据") - private Map moduleIdDictMap; -} \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/vo/SysRoleVo.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/vo/SysRoleVo.java deleted file mode 100644 index 5243dace..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/vo/SysRoleVo.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.orangeforms.upmsapi.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.util.*; - -/** - * 角色VO。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("角色VO") -@Data -public class SysRoleVo { - - /** - * 角色Id。 - */ - @ApiModelProperty(value = "角色Id") - private Long roleId; - - /** - * 角色名称。 - */ - @ApiModelProperty(value = "角色名称") - private String roleName; - - /** - * 创建者Id。 - */ - @ApiModelProperty(value = "创建者Id") - private Long createUserId; - - /** - * 创建时间。 - */ - @ApiModelProperty(value = "创建时间") - private Date createTime; - - /** - * 更新者Id。 - */ - @ApiModelProperty(value = "更新者Id") - private Long updateUserId; - - /** - * 更新时间。 - */ - @ApiModelProperty(value = "更新时间") - private Date updateTime; - - /** - * 角色与菜单关联对象列表。 - */ - @ApiModelProperty(value = "角色与菜单关联对象列表") - private List> sysRoleMenuList; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/vo/SysUserVo.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/vo/SysUserVo.java deleted file mode 100644 index c35fa932..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-api/src/main/java/com/orangeforms/upmsapi/vo/SysUserVo.java +++ /dev/null @@ -1,116 +0,0 @@ -package com.orangeforms.upmsapi.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.util.Date; -import java.util.Map; -import java.util.List; - -/** - * SysUserVO视图对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiModel("SysUserVO视图对象") -@Data -public class SysUserVo { - - /** - * 用户Id。 - */ - @ApiModelProperty(value = "用户Id") - private Long userId; - - /** - * 登录用户名。 - */ - @ApiModelProperty(value = "登录用户名") - private String loginName; - - /** - * 用户显示名称。 - */ - @ApiModelProperty(value = "用户显示名称") - private String showName; - - /** - * 用户部门Id。 - */ - @ApiModelProperty(value = "用户部门Id") - private Long deptId; - - /** - * 用户类型(0: 管理员 1: 系统管理用户 2: 系统业务用户)。 - */ - @ApiModelProperty(value = "用户类型(0: 管理员 1: 系统管理用户 2: 系统业务用户)") - private Integer userType; - - /** - * 用户头像的Url。 - */ - @ApiModelProperty(value = "用户头像的Url") - private String headImageUrl; - - /** - * 用户状态(0: 正常 1: 锁定)。 - */ - @ApiModelProperty(value = "用户状态(0: 正常 1: 锁定)") - private Integer userStatus; - - /** - * 创建用户Id。 - */ - @ApiModelProperty(value = "创建用户Id") - private Long createUserId; - - /** - * 更新者Id。 - */ - @ApiModelProperty(value = "更新者Id") - private Long updateUserId; - - /** - * 创建时间。 - */ - @ApiModelProperty(value = "创建时间") - private Date createTime; - - /** - * 更新时间。 - */ - @ApiModelProperty(value = "更新时间") - private Date updateTime; - - /** - * 多对多用户角色数据集合。 - */ - @ApiModelProperty(value = "多对多用户角色数据集合") - private List> sysUserRoleList; - - /** - * 多对多用户数据权限数据集合。 - */ - @ApiModelProperty(value = "多对多用户数据权限数据集合") - private List> sysDataPermUserList; - - /** - * deptId 字典关联数据。 - */ - @ApiModelProperty(value = "deptId 字典关联数据") - private Map deptIdDictMap; - - /** - * userType 常量字典关联数据。 - */ - @ApiModelProperty(value = "userType 常量字典关联数据") - private Map userTypeDictMap; - - /** - * userStatus 常量字典关联数据。 - */ - @ApiModelProperty(value = "userStatus 常量字典关联数据") - private Map userStatusDictMap; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/pom.xml b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/pom.xml deleted file mode 100644 index 312f9a43..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/pom.xml +++ /dev/null @@ -1,81 +0,0 @@ - - - - com.orangeforms - upms - 1.0.0 - - 4.0.0 - - upms-service - 1.0.0 - upms-service - jar - - - - com.anji-plus - spring-boot-starter-captcha - ${ajcaptcha.version} - - - - org.springframework.boot - spring-boot-starter-data-redis - - - spring-boot-starter-logging - org.springframework.boot - - - - - - com.orangeforms - upms-api - 1.0.0 - - - com.orangeforms - common-log - 1.0.0 - - - com.orangeforms - common-redis - 1.0.0 - - - com.orangeforms - common-sequence - 1.0.0 - - - - - - - src/main/resources - - **/*.* - - false - - - src/main/java - - **/*.xml - - false - - - - - org.springframework.boot - spring-boot-maven-plugin - ${spring-boot.version} - - - - diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/UpmsApplication.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/UpmsApplication.java deleted file mode 100644 index 193c0cef..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/UpmsApplication.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.orangeforms.upmsservice; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; -import org.springframework.cloud.client.discovery.EnableDiscoveryClient; -import org.springframework.cloud.openfeign.EnableFeignClients; -import org.springframework.context.annotation.ComponentScan; - -/** - * Upms服务启动类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ComponentScan("com.orangeforms") -@EnableFeignClients(basePackages = "com.orangeforms") -@EnableDiscoveryClient -@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) -public class UpmsApplication { - - public static void main(String[] args) { - SpringApplication.run(UpmsApplication.class, args); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/config/ApplicationConfig.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/config/ApplicationConfig.java deleted file mode 100644 index c4806cf0..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/config/ApplicationConfig.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.orangeforms.upmsservice.config; - -import lombok.Data; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.cloud.context.config.annotation.RefreshScope; -import org.springframework.context.annotation.Configuration; - -/** - * 应用程序自定义的程序属性配置文件。 - * NOTE: 和multiDataSource相关的配置没有包含进来,因为涉及到条件属性,所以由其相关的配置对象自己处理。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@RefreshScope -@Configuration -@ConfigurationProperties(prefix = "application") -public class ApplicationConfig { - /** - * 用户密码被重置之后的缺省密码 - */ - private String defaultUserPassword; - /** - * 上传文件的基础目录 - */ - private String uploadFileBaseDir; - /** - * 每个微服务的url目录上下文,如(/admin/upms),通常和网关的路由目录一致。 - */ - private String serviceContextPath; - /** - * 是否忽略远程调用中出现的任何错误,包括逻辑异常和系统异常。 - * 通常在调试和测试阶段设置为false,以便及时发现问题。 - */ - private Boolean ignoreRpcError; - /** - * Session的数据权限缓存时长(单位:秒)。 - */ - private Integer dataPermExpiredSeconds; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/config/DataSourceType.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/config/DataSourceType.java deleted file mode 100644 index 4e852fb4..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/config/DataSourceType.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.orangeforms.upmsservice.config; - -import com.orangeforms.common.core.constant.ApplicationConstant; - -import java.util.HashMap; -import java.util.Map; - -/** - * 表示数据源类型的常量对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -public final class DataSourceType { - - public static final int MAIN = 0; - /** - * 对于多数据源服务,操作日志的数据源类型是固定值。如果有冲突,可以直接修改 - * ApplicationConstant.OPERATION_LOG_DATASOURCE_TYPE的值。 - * 如果保存SysOperationLog操作日志的数据和其他业务位于同库,为了便于今后的 - * 迁移,这里也尽量要给其配置单独的数据源类型,今后数据库拆分时,可以直接修改 - * 该值对应的配置项即可。 - */ - public static final int OPERATION_LOG = ApplicationConstant.OPERATION_LOG_DATASOURCE_TYPE; - - private static final Map TYPE_MAP = new HashMap<>(2); - static { - TYPE_MAP.put("main", MAIN); - TYPE_MAP.put("operation-log", OPERATION_LOG); - } - - /** - * 根据名称获取字典类型。 - * - * @param name 数据源在配置中的名称。 - * @return 返回可用于多数据源切换的数据源类型。 - */ - public static Integer getDataSourceTypeByName(String name) { - return TYPE_MAP.get(name); - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private DataSourceType() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/config/MultiDataSourceConfig.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/config/MultiDataSourceConfig.java deleted file mode 100644 index af17c2a9..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/config/MultiDataSourceConfig.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.orangeforms.upmsservice.config; - -import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder; -import com.orangeforms.common.core.config.DynamicDataSource; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Primary; -import org.springframework.transaction.annotation.EnableTransactionManagement; -import org.mybatis.spring.annotation.MapperScan; - -import javax.sql.DataSource; -import java.util.HashMap; -import java.util.Map; - -/** - * 多数据源配置对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Configuration -@EnableTransactionManagement -@MapperScan(value = {"com.orangeforms.*.dao", "com.orangeforms.common.*.dao"}) -public class MultiDataSourceConfig { - - @Bean(initMethod = "init", destroyMethod = "close") - @ConfigurationProperties(prefix = "spring.datasource.druid.main") - public DataSource mainDataSource() { - return DruidDataSourceBuilder.create().build(); - } - - /** - * 默认生成的用于保存操作日志的数据源,可根据需求修改。 - * 这里我们还是非常推荐给操作日志使用独立的数据源,这样便于今后的数据迁移。 - */ - @Bean(initMethod = "init", destroyMethod = "close") - @ConfigurationProperties(prefix = "spring.datasource.druid.operation-log") - public DataSource operationLogDataSource() { - return DruidDataSourceBuilder.create().build(); - } - - @Bean - @Primary - public DynamicDataSource dataSource() { - Map targetDataSources = new HashMap<>(1); - targetDataSources.put(DataSourceType.MAIN, mainDataSource()); - targetDataSources.put(DataSourceType.OPERATION_LOG, operationLogDataSource()); - // 如果当前工程支持在线表单,这里请务必保证upms数据表所在数据库为缺省数据源。 - DynamicDataSource dynamicDataSource = new DynamicDataSource(); - dynamicDataSource.setTargetDataSources(targetDataSources); - dynamicDataSource.setDefaultTargetDataSource(mainDataSource()); - return dynamicDataSource; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/controller/LoginController.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/controller/LoginController.java deleted file mode 100644 index 02b050fe..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/controller/LoginController.java +++ /dev/null @@ -1,334 +0,0 @@ -package com.orangeforms.upmsservice.controller; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.StrUtil; -import com.alibaba.fastjson.JSONObject; -import com.alibaba.fastjson.JSONArray; -import com.anji.captcha.model.common.ResponseModel; -import com.anji.captcha.model.vo.CaptchaVO; -import com.anji.captcha.service.CaptchaService; -import com.github.xiaoymin.knife4j.annotations.ApiSupport; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import lombok.extern.slf4j.Slf4j; -import com.orangeforms.common.core.annotation.MyRequestBody; -import com.orangeforms.common.core.constant.ErrorCodeEnum; -import com.orangeforms.common.core.constant.ApplicationConstant; -import com.orangeforms.common.core.object.*; -import com.orangeforms.common.core.util.*; -import com.orangeforms.common.core.upload.*; -import com.orangeforms.common.redis.cache.SessionCacheHelper; -import com.orangeforms.common.log.annotation.OperationLog; -import com.orangeforms.common.log.model.constant.SysOperationLogType; -import com.orangeforms.upmsapi.constant.SysUserStatus; -import com.orangeforms.upmsapi.constant.SysUserType; -import com.orangeforms.upmsservice.config.ApplicationConfig; -import com.orangeforms.upmsservice.model.*; -import com.orangeforms.upmsservice.service.*; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.redisson.api.RedissonClient; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.crypto.password.PasswordEncoder; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import javax.servlet.http.HttpServletResponse; -import java.net.URLDecoder; -import java.nio.charset.StandardCharsets; -import java.util.*; -import java.util.stream.Collectors; - -/** - * 登录接口控制器类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ApiSupport(order = 1) -@Api(tags = "登录接口") -@Slf4j -@RestController -@RequestMapping("/login") -public class LoginController { - - @Autowired - private SysUserService sysUserService; - @Autowired - private SysPermCodeService sysPermCodeService; - @Autowired - private SysPermService sysPermService; - @Autowired - private SysMenuService sysMenuService; - @Autowired - private SysRoleService sysRoleService; - @Autowired - private SysDataPermService sysDataPermService; - @Autowired - private SysPermWhitelistService sysPermWhitelistService; - @Autowired - private RedissonClient redissonClient; - @Autowired - private SessionCacheHelper cacheHelper; - @Autowired - private PasswordEncoder passwordEncoder; - @Autowired - private ApplicationConfig appConfig; - @Autowired - private CaptchaService captchaService; - @Autowired - private UpDownloaderFactory upDownloaderFactory; - - /** - * 登录接口。 - * - * @param loginName 登录名。 - * @param password 密码。 - * @param captchaVerification 验证码。 - * @return 应答结果对象,其中包括JWT的Token数据,以及菜单列表。 - */ - @ApiImplicitParams({ - // 这里包含密码密文,仅用于方便开发期间的接口测试,集成测试和发布阶段,需要将当前注解去掉。 - // 如果您重新生成了公钥和私钥,请替换password的缺省值。 - @ApiImplicitParam(name = "loginName", defaultValue = "admin"), - @ApiImplicitParam(name = "password", defaultValue = "IP3ccke3GhH45iGHB5qP9p7iZw6xUyj28Ju10rnBiPKOI35sc%2BjI7%2FdsjOkHWMfUwGYGfz8ik31HC2Ruk%2Fhkd9f6RPULTHj7VpFdNdde2P9M4mQQnFBAiPM7VT9iW3RyCtPlJexQ3nAiA09OqG%2F0sIf1kcyveSrulxembARDbDo%3D"), - @ApiImplicitParam(name = "captchaVerification", defaultValue = "为了方便测试,这里可以修改一下代码,hardcode一个每次都ok的验证码") - }) - @OperationLog(type = SysOperationLogType.LOGIN, saveResponse = false) - @PostMapping("/doLogin") - public ResponseResult doLogin( - @MyRequestBody String loginName, - @MyRequestBody String password, - @MyRequestBody String captchaVerification) throws Exception { - if (MyCommonUtil.existBlankArgument(loginName, password, captchaVerification)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - String errorMessage; - CaptchaVO captchaVO = new CaptchaVO(); - captchaVO.setCaptchaVerification(captchaVerification); - ResponseModel response = captchaService.verification(captchaVO); - if (!response.isSuccess()) { - //验证码校验失败,返回信息告诉前端 - //repCode 0000 无异常,代表成功 - //repCode 9999 服务器内部异常 - //repCode 0011 参数不能为空 - //repCode 6110 验证码已失效,请重新获取 - //repCode 6111 验证失败 - //repCode 6112 获取验证码失败,请联系管理员 - errorMessage = String.format("数据验证失败,验证码错误,错误码 [%s] 错误信息 [%s]", - response.getRepCode(), response.getRepMsg()); - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - SysUser user = sysUserService.getSysUserByLoginName(loginName); - if (user == null) { - return ResponseResult.error(ErrorCodeEnum.INVALID_USERNAME_PASSWORD); - } - password = URLDecoder.decode(password, StandardCharsets.UTF_8.name()); - // NOTE: 第一次使用时,请务必阅读ApplicationConstant.PRIVATE_KEY的代码注释。 - // 执行RsaUtil工具类中的main函数,可以生成新的公钥和私钥。 - password = RsaUtil.decrypt(password, ApplicationConstant.PRIVATE_KEY); - if (!passwordEncoder.matches(password, user.getPassword())) { - return ResponseResult.error(ErrorCodeEnum.INVALID_USERNAME_PASSWORD); - } - if (user.getUserStatus() == SysUserStatus.STATUS_LOCKED) { - errorMessage = "登录失败,用户账号被锁定!"; - return ResponseResult.error(ErrorCodeEnum.INVALID_USER_STATUS, errorMessage); - } - String patternKey = RedisKeyUtil.getSessionIdPrefix(user.getLoginName(), MyCommonUtil.getDeviceType()) + "*"; - redissonClient.getKeys().deleteByPatternAsync(patternKey); - JSONObject jsonData = this.buildLoginData(user); - return ResponseResult.success(jsonData); - } - - /** - * 登出操作。同时将Session相关的信息从缓存中删除。 - * - * @return 应答结果对象。 - */ - @OperationLog(type = SysOperationLogType.LOGOUT) - @PostMapping("/doLogout") - public ResponseResult doLogout() { - TokenData tokenData = TokenData.takeFromRequest(); - sysDataPermService.removeDataPermCache(tokenData.getSessionId()); - cacheHelper.removeAllSessionCache(tokenData.getSessionId()); - return ResponseResult.success(); - } - - /** - * 在登录之后,通过token再次获取登录信息。 - * 用于在当前浏览器登录系统后,在新tab页中可以免密登录。 - * - * @return 应答结果对象,其中包括JWT的Token数据,以及菜单列表。 - */ - @GetMapping("/getLoginInfo") - public ResponseResult getLoginInfo() { - TokenData tokenData = TokenData.takeFromRequest(); - // 这里解释一下为什么没有缓存menuList和permCodeList。 - // 1. 该操作和权限验证不同,属于低频操作。 - // 2. 第一次登录和再次获取登录信息之间,如果修改了用户的权限,那么本次获取的是最新权限。 - // 3. 上一个问题无法避免,因为即便缓存也是有过期时间的,过期之后还是要从数据库获取的。 - JSONObject jsonData = new JSONObject(); - jsonData.put("showName", tokenData.getShowName()); - jsonData.put("isAdmin", tokenData.getIsAdmin()); - if (StrUtil.isNotBlank(tokenData.getHeadImageUrl())) { - jsonData.put("headImageUrl", tokenData.getHeadImageUrl()); - } - Collection menuList; - Collection permCodeList; - if (tokenData.getIsAdmin()) { - menuList = sysMenuService.getAllMenuList(); - permCodeList = sysPermCodeService.getAllPermCodeList(); - } else { - menuList = sysMenuService.getMenuListByUserId(tokenData.getUserId()); - permCodeList = sysPermCodeService.getPermCodeListByUserId(tokenData.getUserId()); - } - jsonData.put("menuList", menuList); - jsonData.put("permCodeList", permCodeList); - return ResponseResult.success(jsonData); - } - - /** - * 用户修改自己的密码。 - * - * @param oldPass 原有密码。 - * @param newPass 新密码。 - * @return 应答结果对象。 - */ - @PostMapping("/changePassword") - public ResponseResult changePassword( - @MyRequestBody String oldPass, @MyRequestBody String newPass) throws Exception { - if (MyCommonUtil.existBlankArgument(newPass, oldPass)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - TokenData tokenData = TokenData.takeFromRequest(); - SysUser user = sysUserService.getById(tokenData.getUserId()); - oldPass = URLDecoder.decode(oldPass, StandardCharsets.UTF_8.name()); - // NOTE: 第一次使用时,请务必阅读ApplicationConstant.PRIVATE_KEY的代码注释。 - // 执行RsaUtil工具类中的main函数,可以生成新的公钥和私钥。 - oldPass = RsaUtil.decrypt(oldPass, ApplicationConstant.PRIVATE_KEY); - if (user == null || !passwordEncoder.matches(oldPass, user.getPassword())) { - return ResponseResult.error(ErrorCodeEnum.INVALID_USERNAME_PASSWORD); - } - newPass = URLDecoder.decode(newPass, StandardCharsets.UTF_8.name()); - newPass = RsaUtil.decrypt(newPass, ApplicationConstant.PRIVATE_KEY); - if (!sysUserService.changePassword(tokenData.getUserId(), newPass)) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - return ResponseResult.success(); - } - - /** - * 上传并修改用户头像。 - * - * @param uploadFile 上传的头像文件。 - */ - @PostMapping("/changeHeadImage") - public void changeHeadImage( - @RequestParam("uploadFile") MultipartFile uploadFile) throws Exception { - String fieldName = "headImageUrl"; - UploadStoreInfo storeInfo = MyModelUtil.getUploadStoreInfo(SysUser.class, fieldName); - BaseUpDownloader upDownloader = upDownloaderFactory.get(storeInfo.getStoreType()); - UploadResponseInfo responseInfo = upDownloader.doUpload(null, - appConfig.getUploadFileBaseDir(), SysUser.class.getSimpleName(), fieldName, true, uploadFile); - if (responseInfo.getUploadFailed()) { - ResponseResult.output(HttpServletResponse.SC_FORBIDDEN, - ResponseResult.error(ErrorCodeEnum.UPLOAD_FAILED, responseInfo.getErrorMessage())); - return; - } - responseInfo.setDownloadUri("/admin/upms/login/downloadHeadImage"); - String newHeadImage = JSONArray.toJSONString(CollUtil.newArrayList(responseInfo)); - if (!sysUserService.changeHeadImage(TokenData.takeFromRequest().getUserId(), newHeadImage)) { - ResponseResult.output(HttpServletResponse.SC_FORBIDDEN, - ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST)); - return; - } - ResponseResult.output(ResponseResult.success(responseInfo)); - } - - /** - * 下载用户头像。 - * - * @param filename 文件名。如果没有提供该参数,就从当前记录的指定字段中读取。 - * @param response Http 应答对象。 - */ - @GetMapping("/downloadHeadImage") - public void downloadHeadImage(String filename, HttpServletResponse response) { - try { - SysUser user = sysUserService.getById(TokenData.takeFromRequest().getUserId()); - if (user == null) { - ResponseResult.output(HttpServletResponse.SC_NOT_FOUND); - return; - } - if (StrUtil.isBlank(user.getHeadImageUrl())) { - ResponseResult.output(HttpServletResponse.SC_BAD_REQUEST); - return; - } - if (!BaseUpDownloader.containFile(user.getHeadImageUrl(), filename)) { - ResponseResult.output(HttpServletResponse.SC_FORBIDDEN); - return; - } - String fieldName = "headImageUrl"; - UploadStoreInfo storeInfo = MyModelUtil.getUploadStoreInfo(SysUser.class, fieldName); - BaseUpDownloader upDownloader = upDownloaderFactory.get(storeInfo.getStoreType()); - upDownloader.doDownload(appConfig.getUploadFileBaseDir(), - SysUser.class.getSimpleName(), fieldName, filename, true, response); - } catch (Exception e) { - response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); - log.error(e.getMessage(), e); - } - } - - private JSONObject buildLoginData(SysUser user) { - int deviceType = MyCommonUtil.getDeviceType(); - boolean isAdmin = user.getUserType() == SysUserType.TYPE_ADMIN; - String headImageUrl = user.getHeadImageUrl(); - TokenData tokenData = new TokenData(); - String sessionId = user.getLoginName() + "_" + deviceType + "_" + MyCommonUtil.generateUuid(); - tokenData.setUserId(user.getUserId()); - tokenData.setDeptId(user.getDeptId()); - tokenData.setIsAdmin(isAdmin); - tokenData.setLoginName(user.getLoginName()); - tokenData.setShowName(user.getShowName()); - tokenData.setSessionId(sessionId); - tokenData.setLoginIp(IpUtil.getRemoteIpAddress(ContextUtil.getHttpRequest())); - tokenData.setLoginTime(new Date()); - tokenData.setDeviceType(deviceType); - if (StrUtil.isNotBlank(headImageUrl)) { - tokenData.setHeadImageUrl(headImageUrl); - } - List userRoleList = sysRoleService.getSysUserRoleListByUserId(user.getUserId()); - if (CollectionUtils.isNotEmpty(userRoleList)) { - Set userRoleIdSet = userRoleList.stream().map(SysUserRole::getRoleId).collect(Collectors.toSet()); - tokenData.setRoleIds(StringUtils.join(userRoleIdSet, ",")); - } - // 这里手动将TokenData存入request,便于OperationLogAspect统一处理操作日志。 - TokenData.addToRequest(tokenData); - JSONObject jsonData = new JSONObject(); - jsonData.put(TokenData.REQUEST_ATTRIBUTE_NAME, tokenData); - jsonData.put("showName", user.getShowName()); - jsonData.put("isAdmin", isAdmin); - if (StrUtil.isNotBlank(headImageUrl)) { - jsonData.put("headImageUrl", headImageUrl); - } - Collection menuList; - Collection permCodeList; - if (isAdmin) { - menuList = sysMenuService.getAllMenuList(); - permCodeList = sysPermCodeService.getAllPermCodeList(); - } else { - menuList = sysMenuService.getMenuListByUserId(tokenData.getUserId()); - permCodeList = sysPermCodeService.getPermCodeListByUserId(user.getUserId()); - // 将白名单url列表合并到当前用户的权限资源列表中,便于网关一并处理。 - Collection permList = sysPermService.getPermListByUserId(user.getUserId()); - permList.addAll(sysPermWhitelistService.getWhitelistPermList()); - jsonData.put("permSet", permList); - } - jsonData.put("menuList", menuList); - jsonData.put("permCodeList", permCodeList); - if (user.getUserType() != SysUserType.TYPE_ADMIN) { - sysDataPermService.putDataPermCache(sessionId, user.getUserId(), user.getDeptId()); - } - return jsonData; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/controller/LoginUserController.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/controller/LoginUserController.java deleted file mode 100644 index bd5c38e1..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/controller/LoginUserController.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.orangeforms.upmsservice.controller; - -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.util.StrUtil; -import com.alibaba.fastjson.JSON; -import com.orangeforms.common.core.annotation.MyRequestBody; -import com.orangeforms.common.core.object.*; -import com.orangeforms.common.core.util.RedisKeyUtil; -import io.swagger.annotations.Api; -import lombok.extern.slf4j.Slf4j; -import org.redisson.api.RBucket; -import org.redisson.api.RedissonClient; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.*; - -/** - * 在线用户控制器对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Api(tags = "在线用户接口") -@Slf4j -@RestController -@RequestMapping("/loginUser") -public class LoginUserController { - - @Autowired - private RedissonClient redissonClient; - - /** - * 显示在线用户列表。 - * - * @param loginName 登录名过滤。 - * @param pageParam 分页参数。 - * @return 登录用户信息列表。 - */ - @PostMapping("/list") - public ResponseResult> list( - @MyRequestBody String loginName, @MyRequestBody MyPageParam pageParam) { - int queryCount = pageParam.getPageNum() * pageParam.getPageSize(); - int skipCount = (pageParam.getPageNum() - 1) * pageParam.getPageSize(); - String patternKey; - if (StrUtil.isBlank(loginName)) { - patternKey = RedisKeyUtil.getSessionIdPrefix() + "*"; - } else { - patternKey = RedisKeyUtil.getSessionIdPrefix(loginName) + "*"; - } - List loginUserInfoList = new LinkedList<>(); - Iterable keys = redissonClient.getKeys().getKeysByPattern(patternKey); - for (String key : keys) { - loginUserInfoList.add(this.buildTokenDataByRedisKey(key)); - } - loginUserInfoList.sort((o1, o2) -> (int) (o2.getLoginTime().getTime() - o1.getLoginTime().getTime())); - int toIndex = Math.min(skipCount + pageParam.getPageSize(), loginUserInfoList.size()); - List resultList = loginUserInfoList.subList(skipCount, toIndex); - return ResponseResult.success(new MyPageData<>(resultList, (long) loginUserInfoList.size())); - } - - /** - * 强制下线指定登录会话。 - * - * @param sessionId 待强制下线的SessionId。 - * @return 应答结果对象。 - */ - @PostMapping("/delete") - public ResponseResult delete(@MyRequestBody String sessionId) { - // 为了保证被剔除用户正在进行的操作不被干扰,这里只是删除sessionIdKey即可,这样可以使强制下线操作更加平滑。 - // 比如,如果删除操作权限或数据权限的redis session key,那么正在请求数据的操作就会报错。 - redissonClient.getBucket(RedisKeyUtil.makeSessionIdKey(sessionId)).delete(); - return ResponseResult.success(); - } - - private LoginUserInfo buildTokenDataByRedisKey(String key) { - RBucket sessionData = redissonClient.getBucket(key); - TokenData tokenData = JSON.parseObject(sessionData.get(), TokenData.class); - return BeanUtil.copyProperties(tokenData, LoginUserInfo.class); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/controller/SysDataPermController.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/controller/SysDataPermController.java deleted file mode 100644 index 5dfaafdd..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/controller/SysDataPermController.java +++ /dev/null @@ -1,303 +0,0 @@ -package com.orangeforms.upmsservice.controller; - -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; -import io.swagger.annotations.Api; -import com.alibaba.fastjson.TypeReference; -import com.github.pagehelper.Page; -import com.github.pagehelper.page.PageMethod; -import lombok.extern.slf4j.Slf4j; -import com.orangeforms.common.core.validator.UpdateGroup; -import com.orangeforms.common.core.constant.ErrorCodeEnum; -import com.orangeforms.common.core.object.*; -import com.orangeforms.common.core.util.MyModelUtil; -import com.orangeforms.common.core.util.MyCommonUtil; -import com.orangeforms.common.core.util.MyPageUtil; -import com.orangeforms.common.core.annotation.MyRequestBody; -import com.orangeforms.common.log.annotation.OperationLog; -import com.orangeforms.common.log.model.constant.SysOperationLogType; -import com.orangeforms.upmsapi.dto.SysDataPermDto; -import com.orangeforms.upmsapi.dto.SysUserDto; -import com.orangeforms.upmsapi.vo.SysDataPermVo; -import com.orangeforms.upmsapi.vo.SysUserVo; -import com.orangeforms.upmsservice.model.SysDataPerm; -import com.orangeforms.upmsservice.model.SysUser; -import com.orangeforms.upmsservice.service.SysDataPermService; -import com.orangeforms.upmsservice.service.SysUserService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import javax.validation.groups.Default; -import java.util.*; -import java.util.stream.Collectors; - -/** - * 数据权限接口控制器对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Api(tags = "数据权限管理接口") -@Slf4j -@RestController -@RequestMapping("/sysDataPerm") -public class SysDataPermController { - - @Autowired - private SysDataPermService sysDataPermService; - @Autowired - private SysUserService sysUserService; - - /** - * 添加新数据权限。 - * - * @param sysDataPermDto 新增对象。 - * @param deptIdListString 数据权限关联的部门Id列表,多个之间逗号分隔。 - * @return 应答结果对象。包含新增数据权限对象的主键Id。 - */ - @ApiOperationSupport(ignoreParameters = { - "sysDataPermDto.dataPermId", - "sysDataPermDto.createTimeStart", - "sysDataPermDto.createTimeEnd", - "sysDataPermDto.searchString"}) - @OperationLog(type = SysOperationLogType.ADD) - @PostMapping("/add") - public ResponseResult add( - @MyRequestBody SysDataPermDto sysDataPermDto, @MyRequestBody String deptIdListString) { - String errorMessage = MyCommonUtil.getModelValidationError(sysDataPermDto); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - SysDataPerm sysDataPerm = MyModelUtil.copyTo(sysDataPermDto, SysDataPerm.class); - CallResult result = sysDataPermService.verifyRelatedData(sysDataPerm, deptIdListString); - if (!result.isSuccess()) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, result.getErrorMessage()); - } - Set deptIdSet = null; - if (result.getData() != null) { - deptIdSet = result.getData().getObject("deptIdSet", new TypeReference>(){}); - } - sysDataPermService.saveNew(sysDataPerm, deptIdSet); - return ResponseResult.success(sysDataPerm.getDataPermId()); - } - - /** - * 更新数据权限。 - * - * @param sysDataPermDto 更新的数据权限对象。 - * @param deptIdListString 数据权限关联的部门Id列表,多个之间逗号分隔。 - * @return 应答结果对象。 - */ - @ApiOperationSupport(ignoreParameters = { - "sysDataPermDto.createTimeStart", - "sysDataPermDto.createTimeEnd", - "sysDataPermDto.searchString"}) - @OperationLog(type = SysOperationLogType.UPDATE) - @PostMapping("/update") - public ResponseResult update( - @MyRequestBody SysDataPermDto sysDataPermDto, @MyRequestBody String deptIdListString) { - String errorMessage = MyCommonUtil.getModelValidationError(sysDataPermDto, Default.class, UpdateGroup.class); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - SysDataPerm originalSysDataPerm = sysDataPermService.getById(sysDataPermDto.getDataPermId()); - if (originalSysDataPerm == null) { - errorMessage = "数据验证失败,当前数据权限并不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - SysDataPerm sysDataPerm = MyModelUtil.copyTo(sysDataPermDto, SysDataPerm.class); - CallResult result = sysDataPermService.verifyRelatedData(sysDataPerm, deptIdListString); - if (!result.isSuccess()) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, result.getErrorMessage()); - } - Set deptIdSet = null; - if (result.getData() != null) { - deptIdSet = result.getData().getObject("deptIdSet", new TypeReference>(){}); - } - if (!sysDataPermService.update(sysDataPerm, originalSysDataPerm, deptIdSet)) { - errorMessage = "更新失败,数据不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - return ResponseResult.success(); - } - - /** - * 删除数据权限。 - * - * @param dataPermId 待删除数据权限主键Id。 - * @return 应答数据结果。 - */ - @OperationLog(type = SysOperationLogType.DELETE) - @PostMapping("/delete") - public ResponseResult delete(@MyRequestBody Long dataPermId) { - if (MyCommonUtil.existBlankArgument(dataPermId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - if (!sysDataPermService.remove(dataPermId)) { - String errorMessage = "数据操作失败,数据权限不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - return ResponseResult.success(); - } - - /** - * 数据权限列表。 - * - * @param sysDataPermDtoFilter 数据权限查询过滤对象。 - * @param orderParam 排序参数。 - * @param pageParam 分页参数。 - * @return 应答结果对象。包含数据权限列表。 - */ - @PostMapping("/list") - public ResponseResult> list( - @MyRequestBody SysDataPermDto sysDataPermDtoFilter, - @MyRequestBody MyOrderParam orderParam, - @MyRequestBody MyPageParam pageParam) { - if (pageParam != null) { - PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - SysDataPerm filter = MyModelUtil.copyTo(sysDataPermDtoFilter, SysDataPerm.class); - String orderBy = MyOrderParam.buildOrderBy(orderParam, SysDataPerm.class); - List dataPermList = sysDataPermService.getSysDataPermList(filter, orderBy); - List dataPermVoList = MyModelUtil.copyCollectionTo(dataPermList, SysDataPermVo.class); - long totalCount = 0L; - if (dataPermList instanceof Page) { - totalCount = ((Page) dataPermList).getTotal(); - } - return ResponseResult.success(MyPageUtil.makeResponseData(dataPermVoList, totalCount)); - } - - /** - * 查看单条数据权限详情。 - * - * @param dataPermId 数据权限的主键Id。 - * @return 应答结果对象,包含数据权限的详情。 - */ - @GetMapping("/view") - public ResponseResult view(@RequestParam Long dataPermId) { - if (MyCommonUtil.existBlankArgument(dataPermId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - SysDataPerm sysDataPerm = - sysDataPermService.getByIdWithRelation(dataPermId, MyRelationParam.full()); - if (sysDataPerm == null) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - SysDataPermVo sysDataPermVo = MyModelUtil.copyTo(sysDataPerm, SysDataPermVo.class); - return ResponseResult.success(sysDataPermVo); - } - - /** - * 获取不包含指定数据权限Id的用户列表。 - * 用户和数据权限是多对多关系,当前接口将返回没有赋值指定DataPermId的用户列表。可用于给数据权限添加新用户。 - * - * @param dataPermId 数据权限主键Id。 - * @param sysUserDtoFilter 用户数据的过滤对象。 - * @param orderParam 排序参数。 - * @param pageParam 分页参数。 - * @return 应答结果对象,包含用户列表数据。 - */ - @PostMapping("/listNotInDataPermUser") - public ResponseResult> listNotInDataPermUser( - @MyRequestBody Long dataPermId, - @MyRequestBody SysUserDto sysUserDtoFilter, - @MyRequestBody MyOrderParam orderParam, - @MyRequestBody MyPageParam pageParam) { - ResponseResult verifyResult = this.doDataPermUserVerify(dataPermId); - if (!verifyResult.isSuccess()) { - return ResponseResult.errorFrom(verifyResult); - } - if (pageParam != null) { - PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - SysUser filter = MyModelUtil.copyTo(sysUserDtoFilter, SysUser.class); - String orderBy = MyOrderParam.buildOrderBy(orderParam, SysUser.class); - List userList = - sysUserService.getNotInSysUserListByDataPermId(dataPermId, filter, orderBy); - List userVoList = MyModelUtil.copyCollectionTo(userList, SysUserVo.class); - return ResponseResult.success(MyPageUtil.makeResponseData(userVoList)); - } - - /** - * 拥有指定数据权限的用户列表。 - * - * @param dataPermId 数据权限Id。 - * @param sysUserDtoFilter 用户过滤对象。 - * @param orderParam 排序参数。 - * @param pageParam 分页参数。 - * @return 应答结果对象,包含用户列表数据。 - */ - @PostMapping("/listDataPermUser") - public ResponseResult> listDataPermUser( - @MyRequestBody Long dataPermId, - @MyRequestBody SysUserDto sysUserDtoFilter, - @MyRequestBody MyOrderParam orderParam, - @MyRequestBody MyPageParam pageParam) { - ResponseResult verifyResult = this.doDataPermUserVerify(dataPermId); - if (!verifyResult.isSuccess()) { - return ResponseResult.errorFrom(verifyResult); - } - if (pageParam != null) { - PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - SysUser filter = MyModelUtil.copyTo(sysUserDtoFilter, SysUser.class); - String orderBy = MyOrderParam.buildOrderBy(orderParam, SysUser.class); - List userList = - sysUserService.getSysUserListByDataPermId(dataPermId, filter, orderBy); - List userVoList = MyModelUtil.copyCollectionTo(userList, SysUserVo.class); - return ResponseResult.success(MyPageUtil.makeResponseData(userVoList)); - } - - private ResponseResult doDataPermUserVerify(Long dataPermId) { - if (MyCommonUtil.existBlankArgument(dataPermId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - if (!sysDataPermService.existId(dataPermId)) { - return ResponseResult.error(ErrorCodeEnum.INVALID_RELATED_RECORD_ID); - } - return ResponseResult.success(); - } - - /** - * 为指定数据权限添加用户列表。该操作可同时给一批用户赋值数据权限,并在同一事务内完成。 - * - * @param dataPermId 数据权限主键Id。 - * @param userIdListString 逗号分隔的用户Id列表。 - * @return 应答结果对象。 - */ - @OperationLog(type = SysOperationLogType.ADD_M2M) - @PostMapping("/addDataPermUser") - public ResponseResult addDataPermUser( - @MyRequestBody Long dataPermId, @MyRequestBody String userIdListString) { - if (MyCommonUtil.existBlankArgument(dataPermId, userIdListString)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - Set userIdSet = - Arrays.stream(userIdListString.split(",")).map(Long::valueOf).collect(Collectors.toSet()); - if (!sysDataPermService.existId(dataPermId) - || !sysUserService.existUniqueKeyList("userId", userIdSet)) { - return ResponseResult.error(ErrorCodeEnum.INVALID_RELATED_RECORD_ID); - } - sysDataPermService.addDataPermUserList(dataPermId, userIdSet); - return ResponseResult.success(); - } - - /** - * 为指定用户移除指定数据权限。 - * - * @param dataPermId 指定数据权限主键Id。 - * @param userId 指定用户主键Id。 - * @return 应答数据结果。 - */ - @OperationLog(type = SysOperationLogType.DELETE_M2M) - @PostMapping("/deleteDataPermUser") - public ResponseResult deleteDataPermUser( - @MyRequestBody Long dataPermId, @MyRequestBody Long userId) { - if (MyCommonUtil.existBlankArgument(dataPermId, userId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - if (!sysDataPermService.removeDataPermUser(dataPermId, userId)) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - return ResponseResult.success(); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/controller/SysDeptController.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/controller/SysDeptController.java deleted file mode 100644 index 4ceace49..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/controller/SysDeptController.java +++ /dev/null @@ -1,412 +0,0 @@ -package com.orangeforms.upmsservice.controller; - -import cn.jimmyshi.beanquery.BeanQuery; -import com.github.pagehelper.page.PageMethod; -import com.orangeforms.upmsservice.model.*; -import com.orangeforms.upmsservice.service.*; -import com.orangeforms.upmsapi.dto.*; -import com.orangeforms.upmsapi.vo.*; -import com.orangeforms.common.core.object.*; -import com.orangeforms.common.core.util.*; -import com.orangeforms.common.core.constant.*; -import com.orangeforms.common.core.base.controller.BaseController; -import com.orangeforms.common.core.base.service.IBaseService; -import com.orangeforms.common.core.annotation.MyRequestBody; -import com.orangeforms.common.log.annotation.OperationLog; -import com.orangeforms.common.log.model.constant.SysOperationLogType; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; -import io.swagger.annotations.*; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.ObjectUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.*; - -/** - * 部门管理操作控制器类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Api(tags = "部门管理管理接口") -@Slf4j -@RestController -@RequestMapping("/sysDept") -public class SysDeptController extends BaseController { - - @Autowired - private SysDeptService sysDeptService; - - @Override - protected IBaseService service() { - return sysDeptService; - } - - /** - * 新增部门管理数据。 - * - * @param sysDeptDto 新增对象。 - * @return 应答结果对象,包含新增对象主键Id。 - */ - @ApiOperationSupport(ignoreParameters = {"sysDeptDto.deptId"}) - @OperationLog(type = SysOperationLogType.ADD) - @PostMapping("/add") - public ResponseResult add(@MyRequestBody SysDeptDto sysDeptDto) { - String errorMessage = MyCommonUtil.getModelValidationError(sysDeptDto, false); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - SysDept sysDept = MyModelUtil.copyTo(sysDeptDto, SysDept.class); - // 验证父Id的数据合法性 - SysDept parentSysDept = null; - if (MyCommonUtil.isNotBlankOrNull(sysDept.getParentId())) { - parentSysDept = sysDeptService.getById(sysDept.getParentId()); - if (parentSysDept == null) { - errorMessage = "数据验证失败,关联的父节点并不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_PARENT_ID_NOT_EXIST, errorMessage); - } - } - sysDept = sysDeptService.saveNew(sysDept, parentSysDept); - return ResponseResult.success(sysDept.getDeptId()); - } - - /** - * 更新部门管理数据。 - * - * @param sysDeptDto 更新对象。 - * @return 应答结果对象。 - */ - @OperationLog(type = SysOperationLogType.UPDATE) - @PostMapping("/update") - public ResponseResult update(@MyRequestBody SysDeptDto sysDeptDto) { - String errorMessage = MyCommonUtil.getModelValidationError(sysDeptDto, true); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - SysDept sysDept = MyModelUtil.copyTo(sysDeptDto, SysDept.class); - SysDept originalSysDept = sysDeptService.getById(sysDept.getDeptId()); - if (originalSysDept == null) { - // NOTE: 修改下面方括号中的话述 - errorMessage = "数据验证失败,当前 [数据] 并不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - // 验证父Id的数据合法性 - if (MyCommonUtil.isNotBlankOrNull(sysDept.getParentId()) - && ObjectUtils.notEqual(sysDept.getParentId(), originalSysDept.getParentId())) { - SysDept parentSysDept = sysDeptService.getById(sysDept.getParentId()); - if (parentSysDept == null) { - errorMessage = "数据验证失败,关联的父节点并不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_PARENT_ID_NOT_EXIST, errorMessage); - } - } - if (!sysDeptService.update(sysDept, originalSysDept)) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - return ResponseResult.success(); - } - - /** - * 删除部门管理数据。 - * - * @param deptId 删除对象主键Id。 - * @return 应答结果对象。 - */ - @OperationLog(type = SysOperationLogType.DELETE) - @PostMapping("/delete") - public ResponseResult delete(@MyRequestBody Long deptId) { - String errorMessage; - if (MyCommonUtil.existBlankArgument(deptId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - return this.doDelete(deptId); - } - - /** - * 列出符合过滤条件的部门管理列表。 - * - * @param sysDeptDtoFilter 过滤对象。 - * @param orderParam 排序参数。 - * @param pageParam 分页参数。 - * @return 应答结果对象,包含查询结果集。 - */ - @PostMapping("/list") - public ResponseResult> list( - @MyRequestBody SysDeptDto sysDeptDtoFilter, - @MyRequestBody MyOrderParam orderParam, - @MyRequestBody MyPageParam pageParam) { - if (pageParam != null) { - PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - SysDept sysDeptFilter = MyModelUtil.copyTo(sysDeptDtoFilter, SysDept.class); - String orderBy = MyOrderParam.buildOrderBy(orderParam, SysDept.class); - List sysDeptList = sysDeptService.getSysDeptListWithRelation(sysDeptFilter, orderBy); - return ResponseResult.success(MyPageUtil.makeResponseData(sysDeptList, SysDept.INSTANCE)); - } - - /** - * 查看指定部门管理对象详情。 - * - * @param deptId 指定对象主键Id。 - * @return 应答结果对象,包含对象详情。 - */ - @GetMapping("/view") - public ResponseResult view(@RequestParam Long deptId) { - if (MyCommonUtil.existBlankArgument(deptId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - SysDept sysDept = sysDeptService.getByIdWithRelation(deptId, MyRelationParam.full()); - if (sysDept == null) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - SysDeptVo sysDeptVo = SysDept.INSTANCE.fromModel(sysDept); - return ResponseResult.success(sysDeptVo); - } - - /** - * 以字典形式返回全部部门管理数据集合。字典的键值为[deptId, deptName]。 - * 白名单接口,登录用户均可访问。 - * - * @param filter 过滤对象。 - * @return 应答结果对象,包含字典形式的数据集合。 - */ - @GetMapping("/listDict") - public ResponseResult>> listDict(SysDept filter) { - List resultList = sysDeptService.getListByFilter(filter); - return ResponseResult.success( - BeanQuery.select("parentId as parentId", "deptId as id", "deptName as name").executeFrom(resultList)); - } - - /** - * 根据字典Id集合,获取查询后的字典数据。 - * - * @param dictIds 字典Id集合。 - * @return 应答结果对象,包含字典形式的数据集合。 - */ - @PostMapping("/listDictByIds") - public ResponseResult>> listDictByIds( - @MyRequestBody(elementType = Long.class) List dictIds) { - List resultList = sysDeptService.getInList(new HashSet<>(dictIds)); - return ResponseResult.success( - BeanQuery.select("parentId as parentId", "deptId as id", "deptName as name").executeFrom(resultList)); - } - - /** - * 根据父主键Id,以字典的形式返回其下级数据列表。 - * 白名单接口,登录用户均可访问。 - * - * @param parentId 父主键Id。 - * @return 按照字典的形式返回下级数据列表。 - */ - @GetMapping("/listDictByParentId") - public ResponseResult>> listDictByParentId(@RequestParam(required = false) Long parentId) { - List resultList = sysDeptService.getListByParentId("parentId", parentId); - return ResponseResult.success( - BeanQuery.select("parentId as parentId", "deptId as id", "deptName as name").executeFrom(resultList)); - } - - /** - * 根据主键Id集合,获取数据对象集合。仅限于微服务间远程接口调用。 - * - * @param deptIds 主键Id集合。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象集合。 - */ - @ApiOperation(hidden = true, value = "listByIds") - @PostMapping("/listByIds") - public ResponseResult> listByIds( - @RequestParam Set deptIds, @RequestParam Boolean withDict) { - return super.baseListByIds(deptIds, withDict, SysDept.INSTANCE); - } - - /** - * 根据主键Id,获取数据对象。仅限于微服务间远程接口调用。 - * - * @param deptId 主键Id。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象数据。 - */ - @ApiOperation(hidden = true, value = "getById") - @PostMapping("/getById") - public ResponseResult getById( - @RequestParam Long deptId, @RequestParam Boolean withDict) { - return super.baseGetById(deptId, withDict, SysDept.INSTANCE); - } - - /** - * 判断参数列表中指定的主键Id集合,是否全部存在。仅限于微服务间远程接口调用。 - * - * @param deptIds 主键Id集合。 - * @return 应答结果对象,包含true全部存在,否则false。 - */ - @ApiOperation(hidden = true, value = "existIds") - @PostMapping("/existIds") - public ResponseResult existIds(@RequestParam Set deptIds) { - return super.baseExistIds(deptIds); - } - - /** - * 判断参数列表中指定的主键Id是否存在。仅限于微服务间远程接口调用。 - * - * @param deptId 主键Id。 - * @return 应答结果对象,包含true表示存在,否则false。 - */ - @ApiOperation(hidden = true, value = "existId") - @PostMapping("/existId") - public ResponseResult existId(@RequestParam Long deptId) { - return super.baseExistId(deptId); - } - - /** - * 根据最新对象列表和原有对象的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param data 数据对象。 - * 主键有值是视为更新操作的数据比对,因此仅当关联Id变化时才会验证。 - * 主键为空视为新增操作的数据比对,所有关联Id都会被验证。 - * @return 应答结果对象。 - */ - @ApiOperation(hidden = true, value = "verifyRelatedData") - @PostMapping("/verifyRelatedData") - public ResponseResult verifyRelatedData(@RequestBody SysDeptDto data) { - SysDept sysDept = MyModelUtil.copyTo(data, SysDept.class); - return super.baseVerifyRelatedData(sysDept, SysDept::getDeptId); - } - - /** - * 根据最新对象列表和原有对象列表的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param dataList 数据对象列表。 - * @return 应答结果对象。 - */ - @ApiOperation(hidden = true, value = "verifyRelatedDataList") - @PostMapping("/verifyRelatedDataList") - public ResponseResult verifyRelatedDataList(@RequestBody List dataList) { - List sysDeptList = MyModelUtil.copyCollectionTo(dataList, SysDept.class); - return super.baseVerifyRelatedDataList(sysDeptList, SysDept::getDeptId); - } - - /** - * 根据主键Id删除数据。 - * - * @param deptId 主键Id。 - * @return 删除数量。 - */ - @ApiOperation(hidden = true, value = "deleteById") - @PostMapping("/deleteById") - public ResponseResult deleteById(@RequestParam Long deptId) throws Exception { - SysDept filter = new SysDept(); - filter.setDeptId(deptId); - return super.baseDeleteBy(filter); - } - - /** - * 删除符合过滤条件的数据。 - * - * @param filter 过滤对象。 - * @return 删除数量。 - */ - @ApiOperation(hidden = true, value = "deleteBy") - @PostMapping("/deleteBy") - public ResponseResult deleteBy(@RequestBody SysDeptDto filter) throws Exception { - return super.baseDeleteBy(MyModelUtil.copyTo(filter, SysDept.class)); - } - - /** - * 复杂的查询调用,包括(in list)过滤,对象条件过滤,分页和排序等。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 分页数据集合对象。如MyQueryParam参数的分页属性为空,则不会执行分页操作,只是基于MyPageData对象返回数据结果。 - */ - @ApiOperation(hidden = true, value = "listBy") - @PostMapping("/listBy") - public ResponseResult> listBy(@RequestBody MyQueryParam queryParam) { - return super.baseListBy(queryParam, SysDept.INSTANCE); - } - - /** - * 复杂的查询调用,包括(in list)过滤,对象条件过滤,分页和排序等。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 分页数据集合对象。如MyQueryParam参数的分页属性为空,则不会执行分页操作,只是基于MyPageData对象返回数据结果。 - */ - @ApiOperation(hidden = true, value = "listMapBy") - @PostMapping("/listMapBy") - public ResponseResult>> listMapBy(@RequestBody MyQueryParam queryParam) { - return super.baseListMapBy(queryParam, SysDept.INSTANCE); - } - - /** - * 复杂的查询调用,仅返回单体记录。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含符合查询过滤条件的对象结果集。 - */ - @ApiOperation(hidden = true, value = "getBy") - @PostMapping("/getBy") - public ResponseResult getBy(@RequestBody MyQueryParam queryParam) { - return super.baseGetBy(queryParam, SysDept.INSTANCE); - } - - /** - * 获取远程主对象中符合查询条件的数据数量。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含结果数量。 - */ - @ApiOperation(hidden = true, value = "countBy") - @PostMapping("/countBy") - public ResponseResult countBy(@RequestBody MyQueryParam queryParam) { - return super.baseCountBy(queryParam); - } - - /** - * 获取远程对象中符合查询条件的分组聚合计算Map列表。 - * - * @param aggregationParam 聚合参数。 - * @return 应该结果对象,包含聚合计算后的分组Map列表。 - */ - @ApiOperation(hidden = true, value = "aggregateBy") - @PostMapping("/aggregateBy") - public ResponseResult>> aggregateBy(@RequestBody MyAggregationParam aggregationParam) { - return super.baseAggregateBy(aggregationParam); - } - - /** - * 根据过滤字段和过滤集合,返回不存在的数据。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 不存在的数据集合。 - */ - @ApiOperation(hidden = true, value = "notExist") - @PostMapping("/notExist") - public ResponseResult> notExist(@RequestBody MyQueryParam queryParam) { - List notExistIdSet = service().notExist( - queryParam.getInFilterField(), queryParam.getInFilterValues(), true); - return ResponseResult.success(notExistIdSet); - } - - private ResponseResult doDelete(Long deptId) { - String errorMessage; - // 验证关联Id的数据合法性 - SysDept originalSysDept = sysDeptService.getById(deptId); - if (originalSysDept == null) { - // NOTE: 修改下面方括号中的话述 - errorMessage = "数据验证失败,当前 [对象] 并不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - if (sysDeptService.hasChildren(deptId)) { - // NOTE: 修改下面方括号中的话述 - errorMessage = "数据验证失败,当前 [对象存在子对象],请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.HAS_CHILDREN_DATA, errorMessage); - } - if (sysDeptService.hasChildrenUser(deptId)) { - errorMessage = "数据验证失败,请先移除部门用户数据后,再删除当前部门!"; - return ResponseResult.error(ErrorCodeEnum.HAS_CHILDREN_DATA, errorMessage); - } - if (!sysDeptService.remove(deptId)) { - errorMessage = "数据操作失败,删除的对象不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - return ResponseResult.success(); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/controller/SysMenuController.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/controller/SysMenuController.java deleted file mode 100644 index b3fdcdac..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/controller/SysMenuController.java +++ /dev/null @@ -1,225 +0,0 @@ -package com.orangeforms.upmsservice.controller; - -import cn.hutool.core.util.ObjectUtil; -import com.alibaba.fastjson.TypeReference; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; -import io.swagger.annotations.Api; -import lombok.extern.slf4j.Slf4j; -import com.orangeforms.common.core.constant.ErrorCodeEnum; -import com.orangeforms.common.core.object.*; -import com.orangeforms.common.core.util.MyModelUtil; -import com.orangeforms.common.core.util.MyCommonUtil; -import com.orangeforms.common.core.annotation.MyRequestBody; -import com.orangeforms.common.core.validator.UpdateGroup; -import com.orangeforms.common.log.annotation.OperationLog; -import com.orangeforms.common.log.model.constant.SysOperationLogType; -import com.orangeforms.upmsapi.dto.SysMenuDto; -import com.orangeforms.upmsapi.vo.SysMenuVo; -import com.orangeforms.upmsapi.constant.SysMenuType; -import com.orangeforms.upmsservice.model.SysMenu; -import com.orangeforms.upmsservice.service.SysMenuService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import javax.validation.groups.Default; -import java.util.*; - -/** - * 菜单管理接口控制器类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Api(tags = "菜单管理接口") -@Slf4j -@RestController -@RequestMapping("/sysMenu") -public class SysMenuController { - - @Autowired - private SysMenuService sysMenuService; - - /** - * 添加新菜单操作。 - * - * @param sysMenuDto 新菜单对象。 - * @param permCodeIdListString 与当前菜单Id绑定的权限Id列表,多个权限之间逗号分隔。 - * @return 应答结果对象,包含新增菜单的主键Id。 - */ - @ApiOperationSupport(ignoreParameters = {"sysMenuDto.menuId"}) - @OperationLog(type = SysOperationLogType.ADD) - @PostMapping("/add") - public ResponseResult add( - @MyRequestBody SysMenuDto sysMenuDto, @MyRequestBody String permCodeIdListString) { - String errorMessage = MyCommonUtil.getModelValidationError(sysMenuDto); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - SysMenu sysMenu = MyModelUtil.copyTo(sysMenuDto, SysMenu.class); - if (sysMenu.getParentId() != null) { - SysMenu parentSysMenu = sysMenuService.getById(sysMenu.getParentId()); - if (parentSysMenu == null) { - errorMessage = "数据验证失败,关联的父菜单不存在!"; - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - if (parentSysMenu.getOnlineFormId() != null) { - errorMessage = "数据验证失败,不能动态表单菜单添加父菜单!"; - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - } - CallResult result = sysMenuService.verifyRelatedData(sysMenu, null, permCodeIdListString); - if (!result.isSuccess()) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, result.getErrorMessage()); - } - Set permCodeIdSet = null; - if (result.getData() != null) { - permCodeIdSet = result.getData().getObject("permCodeIdSet", new TypeReference>(){}); - } - sysMenuService.saveNew(sysMenu, permCodeIdSet); - return ResponseResult.success(sysMenu.getMenuId()); - } - - /** - * 更新菜单数据操作。 - * - * @param sysMenuDto 更新菜单对象。 - * @param permCodeIdListString 与当前菜单Id绑定的权限Id列表,多个权限之间逗号分隔。 - * @return 应答结果对象。 - */ - @OperationLog(type = SysOperationLogType.UPDATE) - @PostMapping("/update") - public ResponseResult update( - @MyRequestBody SysMenuDto sysMenuDto, @MyRequestBody String permCodeIdListString) { - String errorMessage = MyCommonUtil.getModelValidationError(sysMenuDto, Default.class, UpdateGroup.class); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - SysMenu originalSysMenu = sysMenuService.getById(sysMenuDto.getMenuId()); - if (originalSysMenu == null) { - errorMessage = "数据验证失败,当前菜单并不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - SysMenu sysMenu = MyModelUtil.copyTo(sysMenuDto, SysMenu.class); - if (ObjectUtil.notEqual(originalSysMenu.getOnlineFormId(), sysMenu.getOnlineFormId())) { - if (originalSysMenu.getOnlineFormId() == null) { - errorMessage = "数据验证失败,不能为当前菜单添加在线表单Id属性!"; - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - if (sysMenu.getOnlineFormId() == null) { - errorMessage = "数据验证失败,不能去掉当前菜单的在线表单Id属性!"; - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - } - if (originalSysMenu.getOnlineFormId() != null - && originalSysMenu.getMenuType().equals(SysMenuType.TYPE_BUTTON)) { - errorMessage = "数据验证失败,在线表单的内置菜单不能编辑!"; - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - CallResult result = sysMenuService.verifyRelatedData(sysMenu, originalSysMenu, permCodeIdListString); - if (!result.isSuccess()) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, result.getErrorMessage()); - } - Set permCodeIdSet = null; - if (result.getData() != null) { - permCodeIdSet = result.getData().getObject("permCodeIdSet", new TypeReference>(){}); - } - if (!sysMenuService.update(sysMenu, originalSysMenu, permCodeIdSet)) { - errorMessage = "数据验证失败,当前权限字并不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - return ResponseResult.success(); - } - - /** - * 删除指定菜单操作。 - * - * @param menuId 指定菜单主键Id。 - * @return 应答结果对象。 - */ - @OperationLog(type = SysOperationLogType.DELETE) - @PostMapping("/delete") - public ResponseResult delete(@MyRequestBody Long menuId) { - if (MyCommonUtil.existBlankArgument(menuId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - String errorMessage; - SysMenu menu = sysMenuService.getById(menuId); - if (menu == null) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - if (menu.getOnlineFormId() != null && menu.getMenuType().equals(SysMenuType.TYPE_BUTTON)) { - errorMessage = "数据验证失败,在线表单的内置菜单不能删除!"; - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - // 对于在线表单,无需进行子菜单的验证,而是在删除的时候,连同子菜单一起删除。 - if (menu.getOnlineFormId() == null && sysMenuService.hasChildren(menuId)) { - errorMessage = "数据验证失败,当前菜单存在下级菜单!"; - return ResponseResult.error(ErrorCodeEnum.HAS_CHILDREN_DATA, errorMessage); - } - if (!sysMenuService.remove(menu)) { - errorMessage = "数据操作失败,菜单不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - return ResponseResult.success(); - } - - /** - * 获取全部菜单列表。 - * - * @return 应答结果对象,包含全部菜单数据列表。 - */ - @PostMapping("/list") - public ResponseResult> list() { - Collection sysMenuList = sysMenuService.getAllListByOrder("showOrder"); - return ResponseResult.success(MyModelUtil.copyCollectionTo(sysMenuList, SysMenuVo.class)); - } - - /** - * 查看指定菜单数据详情。 - * - * @param menuId 指定菜单主键Id。 - * @return 应答结果对象,包含菜单详情。 - */ - @GetMapping("/view") - public ResponseResult view(@RequestParam Long menuId) { - if (MyCommonUtil.existBlankArgument(menuId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - SysMenu sysMenu = sysMenuService.getByIdWithRelation(menuId, MyRelationParam.full()); - if (sysMenu == null) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - SysMenuVo sysMenuVo = MyModelUtil.copyTo(sysMenu, SysMenuVo.class); - return ResponseResult.success(sysMenuVo); - } - - /** - * 查询菜单的权限资源地址列表。同时返回详细的分配路径。 - * - * @param menuId 菜单Id。 - * @param url 权限资源地址过滤条件。 - * @return 应答对象,包含从菜单到权限资源的权限分配路径信息的查询结果列表。 - */ - @GetMapping("/listSysPermWithDetail") - public ResponseResult>> listSysPermWithDetail(Long menuId, String url) { - if (MyCommonUtil.isBlankOrNull(menuId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - return ResponseResult.success(sysMenuService.getSysPermListWithDetail(menuId, url)); - } - - /** - * 查询菜单的用户列表。同时返回详细的分配路径。 - * - * @param menuId 菜单Id。 - * @param loginName 登录名。 - * @return 应答对象,包含从菜单到用户的完整权限分配路径信息的查询结果列表。 - */ - @GetMapping("/listSysUserWithDetail") - public ResponseResult>> listSysUserWithDetail(Long menuId, String loginName) { - if (MyCommonUtil.isBlankOrNull(menuId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - return ResponseResult.success(sysMenuService.getSysUserListWithDetail(menuId, loginName)); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/controller/SysOperationLogController.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/controller/SysOperationLogController.java deleted file mode 100644 index e600be8b..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/controller/SysOperationLogController.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.orangeforms.upmsservice.controller; - -import com.github.pagehelper.Page; -import com.github.pagehelper.page.PageMethod; -import io.swagger.annotations.Api; -import com.orangeforms.common.core.annotation.MyRequestBody; -import com.orangeforms.common.core.object.*; -import com.orangeforms.common.core.util.MyModelUtil; -import com.orangeforms.common.core.util.MyPageUtil; -import com.orangeforms.common.log.model.SysOperationLog; -import com.orangeforms.common.log.service.SysOperationLogService; -import com.orangeforms.upmsapi.dto.SysOperationLogDto; -import com.orangeforms.upmsapi.vo.SysOperationLogVo; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -/** - * 操作日志接口控制器对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Api(tags = "操作日志接口") -@Slf4j -@RestController -@RequestMapping("/sysOperationLog") -public class SysOperationLogController { - - @Autowired - private SysOperationLogService operationLogService; - - /** - * 数据权限列表。 - * - * @param sysOperationLogDtoFilter 操作日志查询过滤对象。 - * @param orderParam 排序参数。 - * @param pageParam 分页参数。 - * @return 应答结果对象。包含操作日志列表。 - */ - @PostMapping("/list") - public ResponseResult> list( - @MyRequestBody SysOperationLogDto sysOperationLogDtoFilter, - @MyRequestBody MyOrderParam orderParam, - @MyRequestBody MyPageParam pageParam) { - if (pageParam != null) { - PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - SysOperationLog filter = MyModelUtil.copyTo(sysOperationLogDtoFilter, SysOperationLog.class); - String orderBy = MyOrderParam.buildOrderBy(orderParam, SysOperationLog.class); - List operationLogList = operationLogService.getSysOperationLogList(filter, orderBy); - List operationLogVoList = MyModelUtil.copyCollectionTo(operationLogList, SysOperationLogVo.class); - long totalCount = 0L; - if (operationLogList instanceof Page) { - totalCount = ((Page) operationLogList).getTotal(); - } - return ResponseResult.success(MyPageUtil.makeResponseData(operationLogVoList, totalCount)); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/controller/SysPermCodeController.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/controller/SysPermCodeController.java deleted file mode 100644 index cffc016a..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/controller/SysPermCodeController.java +++ /dev/null @@ -1,196 +0,0 @@ -package com.orangeforms.upmsservice.controller; - -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; -import io.swagger.annotations.Api; -import com.alibaba.fastjson.TypeReference; -import lombok.extern.slf4j.Slf4j; -import com.orangeforms.common.core.constant.ErrorCodeEnum; -import com.orangeforms.common.core.object.*; -import com.orangeforms.common.core.util.MyModelUtil; -import com.orangeforms.common.core.util.MyCommonUtil; -import com.orangeforms.common.core.annotation.MyRequestBody; -import com.orangeforms.common.core.validator.UpdateGroup; -import com.orangeforms.common.log.annotation.OperationLog; -import com.orangeforms.common.log.model.constant.SysOperationLogType; -import com.orangeforms.upmsapi.dto.SysPermCodeDto; -import com.orangeforms.upmsapi.vo.SysPermCodeVo; -import com.orangeforms.upmsservice.model.SysPermCode; -import com.orangeforms.upmsservice.service.SysPermCodeService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.dao.DuplicateKeyException; -import org.springframework.web.bind.annotation.*; - -import javax.validation.groups.Default; -import java.util.*; - -/** - * 权限字管理接口控制器类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Api(tags = "权限字管理接口") -@Slf4j -@RestController -@RequestMapping("/sysPermCode") -public class SysPermCodeController { - - @Autowired - private SysPermCodeService sysPermCodeService; - - /** - * 新增权限字操作。 - * - * @param sysPermCodeDto 新增权限字对象。 - * @param permIdListString 与当前权限Id绑定的权限资源Id列表,多个权限资源之间逗号分隔。 - * @return 应答结果对象,包含新增权限字的主键Id。 - */ - @ApiOperationSupport(ignoreParameters = {"sysPermCodeDto.permCodeId"}) - @OperationLog(type = SysOperationLogType.ADD) - @PostMapping("/add") - public ResponseResult add( - @MyRequestBody SysPermCodeDto sysPermCodeDto, @MyRequestBody String permIdListString) { - String errorMessage = MyCommonUtil.getModelValidationError(sysPermCodeDto); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED); - } - SysPermCode sysPermCode = MyModelUtil.copyTo(sysPermCodeDto, SysPermCode.class); - CallResult result = sysPermCodeService.verifyRelatedData(sysPermCode, null, permIdListString); - if (!result.isSuccess()) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, result.getErrorMessage()); - } - Set permIdSet = null; - if (result.getData() != null) { - permIdSet = result.getData().getObject("permIdSet", new TypeReference>(){}); - } - sysPermCode = sysPermCodeService.saveNew(sysPermCode, permIdSet); - return ResponseResult.success(sysPermCode.getPermCodeId()); - } - - /** - * 更新权限字操作。 - * - * @param sysPermCodeDto 更新权限字对象。 - * @param permIdListString 与当前权限Id绑定的权限资源Id列表,多个权限资源之间逗号分隔。 - * @return 应答结果对象。 - */ - @OperationLog(type = SysOperationLogType.UPDATE) - @PostMapping("/update") - public ResponseResult update( - @MyRequestBody SysPermCodeDto sysPermCodeDto, @MyRequestBody String permIdListString) { - String errorMessage = MyCommonUtil.getModelValidationError(sysPermCodeDto, Default.class, UpdateGroup.class); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - SysPermCode originalSysPermCode = sysPermCodeService.getById(sysPermCodeDto.getPermCodeId()); - if (originalSysPermCode == null) { - errorMessage = "数据验证失败,当前权限字并不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - SysPermCode sysPermCode = MyModelUtil.copyTo(sysPermCodeDto, SysPermCode.class); - CallResult result = sysPermCodeService.verifyRelatedData(sysPermCode, originalSysPermCode, permIdListString); - if (!result.isSuccess()) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, result.getErrorMessage()); - } - Set permIdSet = null; - if (result.getData() != null) { - permIdSet = result.getData().getObject("permIdSet", new TypeReference>(){}); - } - try { - if (!sysPermCodeService.update(sysPermCode, originalSysPermCode, permIdSet)) { - errorMessage = "数据验证失败,当前权限字并不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - } catch (DuplicateKeyException e) { - errorMessage = "数据操作失败,权限字编码已经存在!"; - return ResponseResult.error(ErrorCodeEnum.DUPLICATED_UNIQUE_KEY, errorMessage); - } - return ResponseResult.success(); - } - - /** - * 删除指定权限字操作。 - * - * @param permCodeId 指定的权限字主键Id。 - * @return 应答结果对象。 - */ - @OperationLog(type = SysOperationLogType.DELETE) - @PostMapping("/delete") - public ResponseResult delete(@MyRequestBody Long permCodeId) { - if (MyCommonUtil.existBlankArgument(permCodeId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - String errorMessage; - if (sysPermCodeService.hasChildren(permCodeId)) { - errorMessage = "数据验证失败,当前权限字存在下级权限字!"; - return ResponseResult.error(ErrorCodeEnum.HAS_CHILDREN_DATA, errorMessage); - } - if (!sysPermCodeService.remove(permCodeId)) { - errorMessage = "数据操作失败,权限字不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - return ResponseResult.success(); - } - - /** - * 查看权限字列表。 - * - * @return 应答结果对象,包含权限字列表。 - */ - @PostMapping("/list") - public ResponseResult> list() { - List sysPermCodeList = - sysPermCodeService.getAllListByOrder("permCodeType", "showOrder"); - return ResponseResult.success(MyModelUtil.copyCollectionTo(sysPermCodeList, SysPermCodeVo.class)); - } - - /** - * 查看权限字对象详情。 - * - * @param permCodeId 指定权限字主键Id。 - * @return 应答结果对象,包含权限字对象详情。 - */ - @GetMapping("/view") - public ResponseResult view(@RequestParam Long permCodeId) { - if (MyCommonUtil.existBlankArgument(permCodeId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - SysPermCode sysPermCode = - sysPermCodeService.getByIdWithRelation(permCodeId, MyRelationParam.full()); - if (sysPermCode == null) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - SysPermCodeVo sysPermCodeVo = MyModelUtil.copyTo(sysPermCode, SysPermCodeVo.class); - return ResponseResult.success(sysPermCodeVo); - } - - /** - * 查询权限字的用户列表。同时返回详细的分配路径。 - * - * @param permCodeId 权限字Id。 - * @param loginName 登录名。 - * @return 应答对象。包含从权限字到用户的完整权限分配路径信息的查询结果列表。 - */ - @GetMapping("/listSysUserWithDetail") - public ResponseResult>> listSysUserWithDetail(Long permCodeId, String loginName) { - if (MyCommonUtil.isBlankOrNull(permCodeId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - return ResponseResult.success(sysPermCodeService.getSysUserListWithDetail(permCodeId, loginName)); - } - - /** - * 查询权限字的角色列表。同时返回详细的分配路径。 - * - * @param permCodeId 权限字Id。 - * @param roleName 角色名。 - * @return 应答对象。包含从权限字到角色的权限分配路径信息的查询结果列表。 - */ - @GetMapping("/listSysRoleWithDetail") - public ResponseResult>> listSysRoleWithDetail(Long permCodeId, String roleName) { - if (MyCommonUtil.isBlankOrNull(permCodeId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - return ResponseResult.success(sysPermCodeService.getSysRoleListWithDetail(permCodeId, roleName)); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/controller/SysPermController.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/controller/SysPermController.java deleted file mode 100644 index 7f4d9f69..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/controller/SysPermController.java +++ /dev/null @@ -1,198 +0,0 @@ -package com.orangeforms.upmsservice.controller; - -import com.github.pagehelper.Page; -import com.github.pagehelper.page.PageMethod; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; -import io.swagger.annotations.Api; -import lombok.extern.slf4j.Slf4j; -import com.orangeforms.common.core.constant.ErrorCodeEnum; -import com.orangeforms.common.core.object.*; -import com.orangeforms.common.core.util.MyModelUtil; -import com.orangeforms.common.core.util.MyCommonUtil; -import com.orangeforms.common.core.util.MyPageUtil; -import com.orangeforms.common.core.annotation.MyRequestBody; -import com.orangeforms.common.core.validator.UpdateGroup; -import com.orangeforms.common.log.annotation.OperationLog; -import com.orangeforms.common.log.model.constant.SysOperationLogType; -import com.orangeforms.upmsapi.dto.SysPermDto; -import com.orangeforms.upmsapi.vo.SysPermVo; -import com.orangeforms.upmsservice.model.SysPerm; -import com.orangeforms.upmsservice.service.SysPermService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import javax.validation.groups.Default; -import java.util.List; -import java.util.Map; - -/** - * 权限资源管理接口控制器类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Api(tags = "权限资源管理接口") -@Slf4j -@RestController -@RequestMapping("/sysPerm") -public class SysPermController { - - @Autowired - private SysPermService sysPermService; - - /** - * 新增权限资源操作。 - * - * @param sysPermDto 新增权限资源对象。 - * @return 应答结果对象,包含新增权限资源的主键Id。 - */ - @ApiOperationSupport(ignoreParameters = {"sysPermDto.permId"}) - @OperationLog(type = SysOperationLogType.ADD) - @PostMapping("/add") - public ResponseResult add(@MyRequestBody SysPermDto sysPermDto) { - String errorMessage = MyCommonUtil.getModelValidationError(sysPermDto); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - SysPerm sysPerm = MyModelUtil.copyTo(sysPermDto, SysPerm.class); - CallResult result = sysPermService.verifyRelatedData(sysPerm, null); - if (!result.isSuccess()) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, result.getErrorMessage()); - } - sysPerm = sysPermService.saveNew(sysPerm); - return ResponseResult.success(sysPerm.getPermId()); - } - - /** - * 更新权限资源操作。 - * - * @param sysPermDto 更新权限资源对象。 - * @return 应答结果对象,包含更新权限资源的主键Id。 - */ - @OperationLog(type = SysOperationLogType.UPDATE) - @PostMapping("/update") - public ResponseResult update(@MyRequestBody SysPermDto sysPermDto) { - String errorMessage = MyCommonUtil.getModelValidationError(sysPermDto, Default.class, UpdateGroup.class); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - SysPerm originalPerm = sysPermService.getById(sysPermDto.getPermId()); - if (originalPerm == null) { - errorMessage = "数据验证失败,当前权限资源并不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - SysPerm sysPerm = MyModelUtil.copyTo(sysPermDto, SysPerm.class); - CallResult result = sysPermService.verifyRelatedData(sysPerm, originalPerm); - if (!result.isSuccess()) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, result.getErrorMessage()); - } - sysPermService.update(sysPerm, originalPerm); - return ResponseResult.success(); - } - - /** - * 删除指定权限资源操作。 - * - * @param permId 指定的权限资源主键Id。 - * @return 应答结果对象。 - */ - @OperationLog(type = SysOperationLogType.DELETE) - @PostMapping("/delete") - public ResponseResult delete(@MyRequestBody Long permId) { - if (MyCommonUtil.existBlankArgument(permId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - if (!sysPermService.remove(permId)) { - String errorMessage = "数据操作失败,权限不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - return ResponseResult.success(); - } - - /** - * 查看权限资源对象详情。 - * - * @param permId 指定权限资源主键Id。 - * @return 应答结果对象,包含权限资源对象详情。 - */ - @GetMapping("/view") - public ResponseResult view(@RequestParam Long permId) { - if (MyCommonUtil.existBlankArgument(permId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - SysPerm perm = sysPermService.getById(permId); - if (perm == null) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - SysPermVo permVo = MyModelUtil.copyTo(perm, SysPermVo.class); - return ResponseResult.success(permVo); - } - - /** - * 查看权限资源列表。 - * - * @param sysPermDtoFilter 过滤对象。 - * @param pageParam 分页参数。 - * @return 应答结果对象,包含权限资源列表。 - */ - @PostMapping("/list") - public ResponseResult> list( - @MyRequestBody SysPermDto sysPermDtoFilter, @MyRequestBody MyPageParam pageParam) { - if (pageParam != null) { - PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - SysPerm filter = MyModelUtil.copyTo(sysPermDtoFilter, SysPerm.class); - List permList = sysPermService.getPermListWithRelation(filter); - List permVoList = MyModelUtil.copyCollectionTo(permList, SysPermVo.class); - long totalCount = 0L; - if (permList instanceof Page) { - totalCount = ((Page) permList).getTotal(); - } - return ResponseResult.success(MyPageUtil.makeResponseData(permVoList, totalCount)); - } - - /** - * 查询权限资源地址的用户列表。同时返回详细的分配路径。 - * - * @param permId 权限资源Id。 - * @param loginName 登录名。 - * @return 应答对象。包含从权限资源到用户的完整权限分配路径信息的查询结果列表。 - */ - @GetMapping("/listSysUserWithDetail") - public ResponseResult>> listSysUserWithDetail(Long permId, String loginName) { - if (MyCommonUtil.isBlankOrNull(permId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - return ResponseResult.success(sysPermService.getSysUserListWithDetail(permId, loginName)); - } - - /** - * 查询权限资源地址的角色列表。同时返回详细的分配路径。 - * - * @param permId 权限资源Id。 - * @param roleName 角色名。 - * @return 应答对象。包含从权限资源到角色的权限分配路径信息的查询结果列表。 - */ - @GetMapping("/listSysRoleWithDetail") - public ResponseResult>> listSysRoleWithDetail(Long permId, String roleName) { - if (MyCommonUtil.isBlankOrNull(permId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - return ResponseResult.success(sysPermService.getSysRoleListWithDetail(permId, roleName)); - } - - /** - * 查询权限资源地址的菜单列表。同时返回详细的分配路径。 - * - * @param permId 权限资源Id。 - * @param menuName 菜单名。 - * @return 应答对象。包含从权限资源到菜单的权限分配路径信息的查询结果列表。 - */ - @GetMapping("/listSysMenuWithDetail") - public ResponseResult>> listSysMenuWithDetail(Long permId, String menuName) { - if (MyCommonUtil.isBlankOrNull(permId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - return ResponseResult.success(sysPermService.getSysMenuListWithDetail(permId, menuName)); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/controller/SysPermModuleController.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/controller/SysPermModuleController.java deleted file mode 100644 index cd1ac95f..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/controller/SysPermModuleController.java +++ /dev/null @@ -1,169 +0,0 @@ -package com.orangeforms.upmsservice.controller; - -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; -import io.swagger.annotations.Api; -import lombok.extern.slf4j.Slf4j; -import com.orangeforms.common.core.constant.ErrorCodeEnum; -import com.orangeforms.common.core.object.*; -import com.orangeforms.common.core.util.MyModelUtil; -import com.orangeforms.common.core.util.MyCommonUtil; -import com.orangeforms.common.core.annotation.MyRequestBody; -import com.orangeforms.common.core.validator.UpdateGroup; -import com.orangeforms.common.log.annotation.OperationLog; -import com.orangeforms.common.log.model.constant.SysOperationLogType; -import com.orangeforms.upmsapi.dto.SysPermModuleDto; -import com.orangeforms.upmsapi.vo.SysPermModuleVo; -import com.orangeforms.upmsservice.model.SysPerm; -import com.orangeforms.upmsservice.model.SysPermModule; -import com.orangeforms.upmsservice.service.SysPermModuleService; -import org.apache.commons.collections4.CollectionUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import javax.validation.groups.Default; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; - -/** - * 权限资源模块管理接口控制器类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Api(tags = "权限资源模块管理接口") -@Slf4j -@RestController -@RequestMapping("/sysPermModule") -public class SysPermModuleController { - - @Autowired - private SysPermModuleService sysPermModuleService; - - /** - * 新增权限资源模块操作。 - * - * @param sysPermModuleDto 新增权限资源模块对象。 - * @return 应答结果对象,包含新增权限资源模块的主键Id。 - */ - @ApiOperationSupport(ignoreParameters = {"sysPermModuleDto.moduleId"}) - @OperationLog(type = SysOperationLogType.ADD) - @PostMapping("/add") - public ResponseResult add(@MyRequestBody SysPermModuleDto sysPermModuleDto) { - String errorMessage = MyCommonUtil.getModelValidationError(sysPermModuleDto); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - SysPermModule sysPermModule = MyModelUtil.copyTo(sysPermModuleDto, SysPermModule.class); - if (sysPermModule.getParentId() != null - && sysPermModuleService.getById(sysPermModule.getParentId()) == null) { - errorMessage = "数据验证失败,关联的上级权限模块并不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_PARENT_ID_NOT_EXIST, errorMessage); - } - sysPermModule = sysPermModuleService.saveNew(sysPermModule); - return ResponseResult.success(sysPermModule.getModuleId()); - } - - /** - * 更新权限资源模块操作。 - * - * @param sysPermModuleDto 更新权限资源模块对象。 - * @return 应答结果对象,包含新增权限资源模块的主键Id。 - */ - @OperationLog(type = SysOperationLogType.UPDATE) - @PostMapping("/update") - public ResponseResult update(@MyRequestBody SysPermModuleDto sysPermModuleDto) { - String errorMessage = MyCommonUtil.getModelValidationError(sysPermModuleDto, Default.class, UpdateGroup.class); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - SysPermModule sysPermModule = MyModelUtil.copyTo(sysPermModuleDto, SysPermModule.class); - SysPermModule originalPermModule = sysPermModuleService.getById(sysPermModule.getModuleId()); - if (originalPermModule == null) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - if (sysPermModule.getParentId() != null - && !sysPermModule.getParentId().equals(originalPermModule.getParentId())) { - if (sysPermModuleService.getById(sysPermModule.getParentId()) == null) { - errorMessage = "数据验证失败,关联的上级权限模块并不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_PARENT_ID_NOT_EXIST, errorMessage); - } - } - if (!sysPermModuleService.update(sysPermModule, originalPermModule)) { - errorMessage = "数据验证失败,当前模块并不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - return ResponseResult.success(); - } - - /** - * 删除指定权限资源模块操作。 - * - * @param moduleId 指定的权限资源模块主键Id。 - * @return 应答结果对象。 - */ - @OperationLog(type = SysOperationLogType.DELETE) - @PostMapping("/delete") - public ResponseResult delete(@MyRequestBody Long moduleId) { - if (MyCommonUtil.existBlankArgument(moduleId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - String errorMessage; - if (sysPermModuleService.hasChildren(moduleId) - || sysPermModuleService.hasModulePerms(moduleId)) { - errorMessage = "数据验证失败,当前权限模块存在子模块或权限资源,请先删除关联数据!"; - return ResponseResult.error(ErrorCodeEnum.HAS_CHILDREN_DATA, errorMessage); - } - if (!sysPermModuleService.remove(moduleId)) { - errorMessage = "数据操作失败,权限模块不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - return ResponseResult.success(); - } - - /** - * 查看全部权限资源模块列表。 - * - * @return 应答结果对象,包含权限资源模块列表。 - */ - @PostMapping("/list") - public ResponseResult> list() { - List permModuleList = sysPermModuleService.getAllListByOrder("showOrder"); - return ResponseResult.success(MyModelUtil.copyCollectionTo(permModuleList, SysPermModuleVo.class)); - } - - /** - * 列出全部权限资源模块及其下级关联的权限资源列表。 - * - * @return 应答结果对象,包含树状列表, - */ - @PostMapping("/listAll") - public ResponseResult>> listAll() { - List sysPermModuleList = sysPermModuleService.getPermModuleAndPermList(); - List> resultList = new LinkedList<>(); - for (SysPermModule sysPermModule : sysPermModuleList) { - Map permModuleMap = new HashMap<>(5); - permModuleMap.put("id", sysPermModule.getModuleId()); - permModuleMap.put("name", sysPermModule.getModuleName()); - permModuleMap.put("type", sysPermModule.getModuleType()); - permModuleMap.put("isPerm", false); - if (MyCommonUtil.isNotBlankOrNull(sysPermModule.getParentId())) { - permModuleMap.put("parentId", sysPermModule.getParentId()); - } - resultList.add(permModuleMap); - if (CollectionUtils.isNotEmpty(sysPermModule.getSysPermList())) { - for (SysPerm sysPerm : sysPermModule.getSysPermList()) { - Map permMap = new HashMap<>(4); - permMap.put("id", sysPerm.getPermId()); - permMap.put("name", sysPerm.getPermName()); - permMap.put("isPerm", true); - permMap.put("url", sysPerm.getUrl()); - permMap.put("parentId", sysPermModule.getModuleId()); - resultList.add(permMap); - } - } - } - return ResponseResult.success(resultList); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/controller/SysRoleController.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/controller/SysRoleController.java deleted file mode 100644 index 2a2e5e76..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/controller/SysRoleController.java +++ /dev/null @@ -1,360 +0,0 @@ -package com.orangeforms.upmsservice.controller; - -import cn.jimmyshi.beanquery.BeanQuery; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; -import io.swagger.annotations.Api; -import com.alibaba.fastjson.TypeReference; -import com.github.pagehelper.Page; -import com.github.pagehelper.page.PageMethod; -import lombok.extern.slf4j.Slf4j; -import com.orangeforms.common.core.validator.UpdateGroup; -import com.orangeforms.common.core.constant.ErrorCodeEnum; -import com.orangeforms.common.core.object.*; -import com.orangeforms.common.core.util.MyCommonUtil; -import com.orangeforms.common.core.util.MyModelUtil; -import com.orangeforms.common.core.util.MyPageUtil; -import com.orangeforms.common.core.annotation.MyRequestBody; -import com.orangeforms.common.log.annotation.OperationLog; -import com.orangeforms.common.log.model.constant.SysOperationLogType; -import com.orangeforms.upmsapi.dto.SysRoleDto; -import com.orangeforms.upmsapi.dto.SysUserDto; -import com.orangeforms.upmsapi.vo.SysRoleVo; -import com.orangeforms.upmsapi.vo.SysUserVo; -import com.orangeforms.upmsservice.model.SysRole; -import com.orangeforms.upmsservice.model.SysUser; -import com.orangeforms.upmsservice.model.SysUserRole; -import com.orangeforms.upmsservice.service.SysRoleService; -import com.orangeforms.upmsservice.service.SysUserService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import javax.validation.groups.Default; -import java.util.*; -import java.util.stream.Collectors; - -/** - * 角色管理接口控制器类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Api(tags = "角色管理接口") -@Slf4j -@RestController -@RequestMapping("/sysRole") -public class SysRoleController { - - @Autowired - private SysRoleService sysRoleService; - @Autowired - private SysUserService sysUserService; - - /** - * 新增角色操作。 - * - * @param sysRoleDto 新增角色对象。 - * @param menuIdListString 与当前角色Id绑定的menuId列表,多个menuId之间逗号分隔。 - * @return 应答结果对象,包含新增角色的主键Id。 - */ - @ApiOperationSupport(ignoreParameters = {"sysRoleDto.roleId", "sysRoleDto.createTimeStart", "sysRoleDto.createTimeEnd"}) - @OperationLog(type = SysOperationLogType.ADD) - @PostMapping("/add") - public ResponseResult add( - @MyRequestBody SysRoleDto sysRoleDto, @MyRequestBody String menuIdListString) { - String errorMessage = MyCommonUtil.getModelValidationError(sysRoleDto); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - SysRole sysRole = MyModelUtil.copyTo(sysRoleDto, SysRole.class); - CallResult result = sysRoleService.verifyRelatedData(sysRole, null, menuIdListString); - if (!result.isSuccess()) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, result.getErrorMessage()); - } - Set menuIdSet = null; - if (result.getData() != null) { - menuIdSet = result.getData().getObject("menuIdSet", new TypeReference>(){}); - } - sysRoleService.saveNew(sysRole, menuIdSet); - return ResponseResult.success(sysRole.getRoleId()); - } - - /** - * 更新角色操作。 - * - * @param sysRoleDto 更新角色对象。 - * @param menuIdListString 与当前角色Id绑定的menuId列表,多个menuId之间逗号分隔。 - * @return 应答结果对象。 - */ - @ApiOperationSupport(ignoreParameters = {"sysRoleDto.createTimeStart", "sysRoleDto.createTimeEnd"}) - @OperationLog(type = SysOperationLogType.UPDATE) - @PostMapping("/update") - public ResponseResult update( - @MyRequestBody SysRoleDto sysRoleDto, @MyRequestBody String menuIdListString) { - String errorMessage = MyCommonUtil.getModelValidationError(sysRoleDto, Default.class, UpdateGroup.class); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - SysRole originalSysRole = sysRoleService.getById(sysRoleDto.getRoleId()); - if (originalSysRole == null) { - errorMessage = "数据验证失败,当前角色并不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - SysRole sysRole = MyModelUtil.copyTo(sysRoleDto, SysRole.class); - CallResult result = sysRoleService.verifyRelatedData(sysRole, originalSysRole, menuIdListString); - if (!result.isSuccess()) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, result.getErrorMessage()); - } - Set menuIdSet = null; - if (result.getData() != null) { - menuIdSet = result.getData().getObject("menuIdSet", new TypeReference>(){}); - } - if (!sysRoleService.update(sysRole, originalSysRole, menuIdSet)) { - errorMessage = "更新失败,数据不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - return ResponseResult.success(); - } - - /** - * 删除指定角色操作。 - * - * @param roleId 指定角色主键Id。 - * @return 应答结果对象。 - */ - @OperationLog(type = SysOperationLogType.DELETE) - @PostMapping("/delete") - public ResponseResult delete(@MyRequestBody Long roleId) { - if (MyCommonUtil.existBlankArgument(roleId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - if (!sysRoleService.remove(roleId)) { - String errorMessage = "数据操作失败,角色不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - return ResponseResult.success(); - } - - /** - * 查看角色列表。 - * - * @param sysRoleDtoFilter 角色过滤对象。 - * @param orderParam 排序参数。 - * @param pageParam 分页参数。 - * @return 应答结果对象,包含角色列表。 - */ - @PostMapping("/list") - public ResponseResult> list( - @MyRequestBody SysRoleDto sysRoleDtoFilter, - @MyRequestBody MyOrderParam orderParam, - @MyRequestBody MyPageParam pageParam) { - if (pageParam != null) { - PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - SysRole filter = MyModelUtil.copyTo(sysRoleDtoFilter, SysRole.class); - String orderBy = MyOrderParam.buildOrderBy(orderParam, SysRole.class); - List roleList = sysRoleService.getSysRoleList(filter, orderBy); - List roleVoList = MyModelUtil.copyCollectionTo(roleList, SysRoleVo.class); - long totalCount = 0L; - if (roleList instanceof Page) { - totalCount = ((Page) roleList).getTotal(); - } - return ResponseResult.success(MyPageUtil.makeResponseData(roleVoList, totalCount)); - } - - /** - * 查看角色详情。 - * - * @param roleId 指定角色主键Id。 - * @return 应答结果对象,包含角色详情对象。 - */ - @GetMapping("/view") - public ResponseResult view(@RequestParam Long roleId) { - if (MyCommonUtil.existBlankArgument(roleId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - SysRole sysRole = sysRoleService.getByIdWithRelation(roleId, MyRelationParam.full()); - if (sysRole == null) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - SysRoleVo sysRoleVo = MyModelUtil.copyTo(sysRole, SysRoleVo.class); - return ResponseResult.success(sysRoleVo); - } - - /** - * 获取不包含指定角色Id的用户列表。 - * 用户和角色是多对多关系,当前接口将返回没有赋值指定RoleId的用户列表。可用于给角色添加新用户。 - * - * @param roleId 角色主键Id。 - * @param sysUserDtoFilter 用户过滤对象。 - * @param orderParam 排序参数。 - * @param pageParam 分页参数。 - * @return 应答结果对象,包含用户列表数据。 - */ - @PostMapping("/listNotInUserRole") - public ResponseResult> listNotInUserRole( - @MyRequestBody Long roleId, - @MyRequestBody SysUserDto sysUserDtoFilter, - @MyRequestBody MyOrderParam orderParam, - @MyRequestBody MyPageParam pageParam) { - ResponseResult verifyResult = this.doRoleUserVerify(roleId); - if (!verifyResult.isSuccess()) { - return ResponseResult.errorFrom(verifyResult); - } - if (pageParam != null) { - PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - SysUser filter = MyModelUtil.copyTo(sysUserDtoFilter, SysUser.class); - String orderBy = MyOrderParam.buildOrderBy(orderParam, SysUser.class); - List userList = sysUserService.getNotInSysUserListByRoleId(roleId, filter, orderBy); - List userVoList = MyModelUtil.copyCollectionTo(userList, SysUserVo.class); - return ResponseResult.success(MyPageUtil.makeResponseData(userVoList)); - } - - /** - * 拥有指定角色的用户列表。 - * - * @param roleId 角色主键Id。 - * @param sysUserDtoFilter 用户过滤对象。 - * @param orderParam 排序参数。 - * @param pageParam 分页参数。 - * @return 应答结果对象,包含用户列表数据。 - */ - @PostMapping("/listUserRole") - public ResponseResult> listUserRole( - @MyRequestBody Long roleId, - @MyRequestBody SysUserDto sysUserDtoFilter, - @MyRequestBody MyOrderParam orderParam, - @MyRequestBody MyPageParam pageParam) { - ResponseResult verifyResult = this.doRoleUserVerify(roleId); - if (!verifyResult.isSuccess()) { - return ResponseResult.errorFrom(verifyResult); - } - if (pageParam != null) { - PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - SysUser filter = MyModelUtil.copyTo(sysUserDtoFilter, SysUser.class); - String orderBy = MyOrderParam.buildOrderBy(orderParam, SysUser.class); - List userList = sysUserService.getSysUserListByRoleId(roleId, filter, orderBy); - List userVoList = MyModelUtil.copyCollectionTo(userList, SysUserVo.class); - return ResponseResult.success(MyPageUtil.makeResponseData(userVoList)); - } - - private ResponseResult doRoleUserVerify(Long roleId) { - if (MyCommonUtil.existBlankArgument(roleId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - if (!sysRoleService.existId(roleId)) { - return ResponseResult.error(ErrorCodeEnum.INVALID_RELATED_RECORD_ID); - } - return ResponseResult.success(); - } - - /** - * 为指定角色添加用户列表。该操作可同时给一批用户赋值角色,并在同一事务内完成。 - * - * @param roleId 角色主键Id。 - * @param userIdListString 逗号分隔的用户Id列表。 - * @return 应答结果对象。 - */ - @OperationLog(type = SysOperationLogType.ADD_M2M) - @PostMapping("/addUserRole") - public ResponseResult addUserRole( - @MyRequestBody Long roleId, @MyRequestBody String userIdListString) { - if (MyCommonUtil.existBlankArgument(roleId, userIdListString)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - Set userIdSet = Arrays.stream( - userIdListString.split(",")).map(Long::valueOf).collect(Collectors.toSet()); - if (!sysRoleService.existId(roleId) - || !sysUserService.existUniqueKeyList("userId", userIdSet)) { - return ResponseResult.error(ErrorCodeEnum.INVALID_RELATED_RECORD_ID); - } - List userRoleList = new LinkedList<>(); - for (Long userId : userIdSet) { - SysUserRole userRole = new SysUserRole(); - userRole.setRoleId(roleId); - userRole.setUserId(userId); - userRoleList.add(userRole); - } - sysRoleService.addUserRoleList(userRoleList); - return ResponseResult.success(); - } - - /** - * 为指定用户移除指定角色。 - * - * @param roleId 指定角色主键Id。 - * @param userId 指定用户主键Id。 - * @return 应答数据结果。 - */ - @OperationLog(type = SysOperationLogType.DELETE_M2M) - @PostMapping("/deleteUserRole") - public ResponseResult deleteUserRole( - @MyRequestBody Long roleId, @MyRequestBody Long userId) { - if (MyCommonUtil.existBlankArgument(roleId, userId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - if (!sysRoleService.removeUserRole(roleId, userId)) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - return ResponseResult.success(); - } - - /** - * 以字典形式返回全部角色管理数据集合。字典的键值为[roleId, roleName]。 - * 白名单接口,登录用户均可访问。 - * - * @param filter 过滤对象。 - * @return 应答结果对象,包含的数据为 List>,map中包含两条记录,key的值分别是id和name,value对应具体数据。 - */ - @GetMapping("/listDict") - public ResponseResult>> listDict(SysRole filter) { - List resultList = sysRoleService.getListByFilter(filter); - return ResponseResult.success(BeanQuery.select( - "roleId as id", "roleName as name").executeFrom(resultList)); - } - - /** - * 根据字典Id集合,获取查询后的字典数据。 - * - * @param dictIds 字典Id集合。 - * @return 应答结果对象,包含字典形式的数据集合。 - */ - @PostMapping("/listDictByIds") - public ResponseResult>> listDictByIds( - @MyRequestBody(elementType = Long.class) List dictIds) { - List resultList = sysRoleService.getInList(new HashSet<>(dictIds)); - return ResponseResult.success(BeanQuery.select( - "roleId as id", "roleName as name").executeFrom(resultList)); - } - - /** - * 查询角色的权限资源地址列表。同时返回详细的分配路径。 - * - * @param roleId 角色Id。 - * @param url url过滤条件。 - * @return 应答对象,包含从角色到权限资源的完整权限分配路径信息的查询结果列表。 - */ - @GetMapping("/listSysPermWithDetail") - public ResponseResult>> listSysPermWithDetail(Long roleId, String url) { - if (MyCommonUtil.isBlankOrNull(roleId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - return ResponseResult.success(sysRoleService.getSysPermListWithDetail(roleId, url)); - } - - /** - * 查询角色的权限字列表。同时返回详细的分配路径。 - * - * @param roleId 角色Id。 - * @param permCode 权限字名称过滤条件。 - * @return 应答对象,包含从角色到权限字的权限分配路径信息的查询结果列表。 - */ - @GetMapping("/listSysPermCodeWithDetail") - public ResponseResult>> listSysPermCodeWithDetail(Long roleId, String permCode) { - if (MyCommonUtil.isBlankOrNull(roleId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - return ResponseResult.success(sysRoleService.getSysPermCodeListWithDetail(roleId, permCode)); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/controller/SysUserController.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/controller/SysUserController.java deleted file mode 100644 index 82d1e6cc..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/controller/SysUserController.java +++ /dev/null @@ -1,582 +0,0 @@ -package com.orangeforms.upmsservice.controller; - -import com.alibaba.fastjson.TypeReference; -import cn.hutool.core.util.ReflectUtil; -import cn.hutool.core.collection.CollUtil; -import com.github.pagehelper.page.PageMethod; -import com.orangeforms.upmsservice.model.*; -import com.orangeforms.upmsservice.service.*; -import com.orangeforms.upmsapi.dto.*; -import com.orangeforms.upmsapi.vo.*; -import com.orangeforms.common.core.object.*; -import com.orangeforms.common.core.util.*; -import com.orangeforms.common.core.constant.*; -import com.orangeforms.common.core.base.controller.BaseController; -import com.orangeforms.common.core.base.service.IBaseService; -import com.orangeforms.common.core.annotation.MyRequestBody; -import com.orangeforms.common.core.upload.BaseUpDownloader; -import com.orangeforms.common.core.upload.UpDownloaderFactory; -import com.orangeforms.common.core.upload.UploadResponseInfo; -import com.orangeforms.common.core.upload.UploadStoreInfo; -import com.orangeforms.common.log.annotation.OperationLog; -import com.orangeforms.common.log.model.constant.SysOperationLogType; -import com.orangeforms.common.redis.cache.SessionCacheHelper; -import com.orangeforms.upmsservice.config.ApplicationConfig; -import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; -import io.swagger.annotations.*; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import javax.servlet.http.HttpServletResponse; -import java.util.*; - -/** - * 用户管理操作控制器类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Api(tags = "用户管理管理接口") -@Slf4j -@RestController -@RequestMapping("/sysUser") -public class SysUserController extends BaseController { - - @Autowired - private SysUserService sysUserService; - @Autowired - private ApplicationConfig appConfig; - @Autowired - private SessionCacheHelper cacheHelper; - @Autowired - private UpDownloaderFactory upDownloaderFactory; - - @Override - protected IBaseService service() { - return sysUserService; - } - - /** - * 新增用户操作。 - * - * @param sysUserDto 新增用户对象。 - * @param dataPermIdListString 逗号分隔的数据权限Id列表。 - * @param roleIdListString 逗号分隔的角色Id列表。 - * @return 应答结果对象,包含新增用户的主键Id。 - */ - @ApiOperationSupport(ignoreParameters = { - "sysUserDto.userId", - "sysUserDto.createTimeStart", - "sysUserDto.createTimeEnd"}) - @OperationLog(type = SysOperationLogType.ADD) - @PostMapping("/add") - public ResponseResult add( - @MyRequestBody SysUserDto sysUserDto, - @MyRequestBody String dataPermIdListString, - @MyRequestBody String roleIdListString) { - String errorMessage = MyCommonUtil.getModelValidationError(sysUserDto, false); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - SysUser sysUser = MyModelUtil.copyTo(sysUserDto, SysUser.class); - CallResult result = sysUserService.verifyRelatedData( - sysUser, null, roleIdListString, dataPermIdListString); - if (!result.isSuccess()) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, result.getErrorMessage()); - } - Set roleIdSet = result.getData().getObject("roleIdSet", new TypeReference>() {}); - Set dataPermIdSet = result.getData().getObject("dataPermIdSet", new TypeReference>() {}); - sysUserService.saveNew(sysUser, roleIdSet, dataPermIdSet); - return ResponseResult.success(sysUser.getUserId()); - } - - /** - * 更新用户操作。 - * - * @param sysUserDto 更新用户对象。 - * @param dataPermIdListString 逗号分隔的数据权限Id列表。 - * @param roleIdListString 逗号分隔的角色Id列表。 - * @return 应答结果对象。 - */ - @ApiOperationSupport(ignoreParameters = { - "sysUserDto.createTimeStart", - "sysUserDto.createTimeEnd"}) - @OperationLog(type = SysOperationLogType.UPDATE) - @PostMapping("/update") - public ResponseResult update( - @MyRequestBody SysUserDto sysUserDto, - @MyRequestBody String dataPermIdListString, - @MyRequestBody String roleIdListString) { - String errorMessage = MyCommonUtil.getModelValidationError(sysUserDto, true); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage); - } - SysUser originalUser = sysUserService.getById(sysUserDto.getUserId()); - if (originalUser == null) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - SysUser sysUser = MyModelUtil.copyTo(sysUserDto, SysUser.class); - CallResult result = sysUserService.verifyRelatedData( - sysUser, originalUser, roleIdListString, dataPermIdListString); - if (!result.isSuccess()) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, result.getErrorMessage()); - } - Set roleIdSet = result.getData().getObject("roleIdSet", new TypeReference>() {}); - Set dataPermIdSet = result.getData().getObject("dataPermIdSet", new TypeReference>() {}); - if (!sysUserService.update(sysUser, originalUser, roleIdSet, dataPermIdSet)) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - return ResponseResult.success(); - } - - /** - * 重置密码操作。 - * - * @param userId 指定用户主键Id。 - * @return 应答结果对象。 - */ - @PostMapping("/resetPassword") - public ResponseResult resetPassword(@MyRequestBody Long userId) { - if (MyCommonUtil.existBlankArgument(userId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - if (!sysUserService.changePassword(userId, appConfig.getDefaultUserPassword())) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - return ResponseResult.success(); - } - - /** - * 删除用户管理数据。 - * - * @param userId 删除对象主键Id。 - * @return 应答结果对象。 - */ - @OperationLog(type = SysOperationLogType.DELETE) - @PostMapping("/delete") - public ResponseResult delete(@MyRequestBody Long userId) { - String errorMessage; - if (MyCommonUtil.existBlankArgument(userId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - return this.doDelete(userId); - } - - /** - * 列出符合过滤条件的用户管理列表。 - * - * @param sysUserDtoFilter 过滤对象。 - * @param orderParam 排序参数。 - * @param pageParam 分页参数。 - * @return 应答结果对象,包含查询结果集。 - */ - @PostMapping("/list") - public ResponseResult> list( - @MyRequestBody SysUserDto sysUserDtoFilter, - @MyRequestBody MyOrderParam orderParam, - @MyRequestBody MyPageParam pageParam) { - if (pageParam != null) { - PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - SysUser sysUserFilter = MyModelUtil.copyTo(sysUserDtoFilter, SysUser.class); - String orderBy = MyOrderParam.buildOrderBy(orderParam, SysUser.class); - List sysUserList = sysUserService.getSysUserListWithRelation(sysUserFilter, orderBy); - return ResponseResult.success(MyPageUtil.makeResponseData(sysUserList, SysUser.INSTANCE)); - } - - /** - * 查看指定用户管理对象详情。 - * - * @param userId 指定对象主键Id。 - * @return 应答结果对象,包含对象详情。 - */ - @GetMapping("/view") - public ResponseResult view(@RequestParam Long userId) { - if (MyCommonUtil.existBlankArgument(userId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - // 这里查看用户数据时候,需要把用户多对多关联的角色和数据权限Id一并查出。 - SysUser sysUser = sysUserService.getByIdWithRelation(userId, MyRelationParam.full()); - if (sysUser == null) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - SysUserVo sysUserVo = SysUser.INSTANCE.fromModel(sysUser); - return ResponseResult.success(sysUserVo); - } - - /** - * 附件文件下载。 - * 这里将图片和其他类型的附件文件放到不同的父目录下,主要为了便于今后图片文件的迁移。 - * - * @param userId 附件所在记录的主键Id。 - * @param fieldName 附件所属的字段名。 - * @param filename 文件名。如果没有提供该参数,就从当前记录的指定字段中读取。 - * @param asImage 下载文件是否为图片。 - * @param response Http 应答对象。 - */ - @OperationLog(type = SysOperationLogType.DOWNLOAD, saveResponse = false) - @GetMapping("/download") - public void download( - @RequestParam(required = false) Long userId, - @RequestParam String fieldName, - @RequestParam String filename, - @RequestParam Boolean asImage, - HttpServletResponse response) { - if (MyCommonUtil.existBlankArgument(fieldName, filename, asImage)) { - response.setStatus(HttpServletResponse.SC_BAD_REQUEST); - return; - } - // 使用try来捕获异常,是为了保证一旦出现异常可以返回500的错误状态,便于调试。 - // 否则有可能给前端返回的是200的错误码。 - try { - // 如果请求参数中没有包含主键Id,就判断该文件是否为当前session上传的。 - if (userId == null) { - if (!cacheHelper.existSessionUploadFile(filename)) { - ResponseResult.output(HttpServletResponse.SC_FORBIDDEN); - return; - } - } else { - SysUser sysUser = sysUserService.getById(userId); - if (sysUser == null) { - ResponseResult.output(HttpServletResponse.SC_NOT_FOUND); - return; - } - String fieldJsonData = (String) ReflectUtil.getFieldValue(sysUser, fieldName); - if (fieldJsonData == null) { - ResponseResult.output(HttpServletResponse.SC_BAD_REQUEST); - return; - } - if (!BaseUpDownloader.containFile(fieldJsonData, filename)) { - ResponseResult.output(HttpServletResponse.SC_FORBIDDEN); - return; - } - } - UploadStoreInfo storeInfo = MyModelUtil.getUploadStoreInfo(SysUser.class, fieldName); - if (!storeInfo.isSupportUpload()) { - ResponseResult.output(HttpServletResponse.SC_NOT_IMPLEMENTED, - ResponseResult.error(ErrorCodeEnum.INVALID_UPLOAD_FIELD)); - return; - } - BaseUpDownloader upDownloader = upDownloaderFactory.get(storeInfo.getStoreType()); - upDownloader.doDownload(appConfig.getUploadFileBaseDir(), - SysUser.class.getSimpleName(), fieldName, filename, asImage, response); - } catch (Exception e) { - response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); - log.error(e.getMessage(), e); - } - } - - /** - * 文件上传操作。 - * - * @param fieldName 上传文件名。 - * @param asImage 是否作为图片上传。如果是图片,今后下载的时候无需权限验证。否则就是附件上传,下载时需要权限验证。 - * @param uploadFile 上传文件对象。 - */ - @OperationLog(type = SysOperationLogType.UPLOAD, saveResponse = false) - @PostMapping("/upload") - public void upload( - @RequestParam String fieldName, - @RequestParam Boolean asImage, - @RequestParam("uploadFile") MultipartFile uploadFile) throws Exception { - UploadStoreInfo storeInfo = MyModelUtil.getUploadStoreInfo(SysUser.class, fieldName); - // 这里就会判断参数中指定的字段,是否支持上传操作。 - if (!storeInfo.isSupportUpload()) { - ResponseResult.output(HttpServletResponse.SC_FORBIDDEN, - ResponseResult.error(ErrorCodeEnum.INVALID_UPLOAD_FIELD)); - return; - } - // 根据字段注解中的存储类型,通过工厂方法获取匹配的上传下载实现类,从而解耦。 - BaseUpDownloader upDownloader = upDownloaderFactory.get(storeInfo.getStoreType()); - UploadResponseInfo responseInfo = upDownloader.doUpload(appConfig.getServiceContextPath(), - appConfig.getUploadFileBaseDir(), SysUser.class.getSimpleName(), fieldName, asImage, uploadFile); - if (responseInfo.getUploadFailed()) { - ResponseResult.output(HttpServletResponse.SC_FORBIDDEN, - ResponseResult.error(ErrorCodeEnum.UPLOAD_FAILED, responseInfo.getErrorMessage())); - return; - } - cacheHelper.putSessionUploadFile(responseInfo.getFilename()); - ResponseResult.output(ResponseResult.success(responseInfo)); - } - - /** - * 查询用户的权限资源地址列表。同时返回详细的分配路径。 - * - * @param userId 用户Id。 - * @param url url过滤条件。 - * @return 应答对象,包含从用户到权限资源的完整权限分配路径信息的查询结果列表。 - */ - @GetMapping("/listSysPermWithDetail") - public ResponseResult>> listSysPermWithDetail(Long userId, String url) { - if (MyCommonUtil.isBlankOrNull(userId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - return ResponseResult.success(sysUserService.getSysPermListWithDetail(userId, url)); - } - - /** - * 查询用户的权限字列表。同时返回详细的分配路径。 - * - * @param userId 用户Id。 - * @param permCode 权限字名称过滤条件。 - * @return 应答对象,包含从用户到权限字的权限分配路径信息的查询结果列表。 - */ - @GetMapping("/listSysPermCodeWithDetail") - public ResponseResult>> listSysPermCodeWithDetail(Long userId, String permCode) { - if (MyCommonUtil.isBlankOrNull(userId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - return ResponseResult.success(sysUserService.getSysPermCodeListWithDetail(userId, permCode)); - } - - /** - * 查询用户的菜单列表。同时返回详细的分配路径。 - * - * @param userId 用户Id。 - * @param menuName 菜单名称过滤条件。 - * @return 应答对象,包含从用户到菜单的权限分配路径信息的查询结果列表。 - */ - @GetMapping("/listSysMenuWithDetail") - public ResponseResult>> listSysMenuWithDetail(Long userId, String menuName) { - if (MyCommonUtil.isBlankOrNull(userId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - return ResponseResult.success(sysUserService.getSysMenuListWithDetail(userId, menuName)); - } - - /** - * 根据主键Id集合,获取数据对象集合。仅限于微服务间远程接口调用。 - * - * @param userIds 主键Id集合。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象集合。 - */ - @ApiOperation(hidden = true, value = "listByIds") - @PostMapping("/listByIds") - public ResponseResult> listByIds( - @RequestParam Set userIds, @RequestParam Boolean withDict) { - return super.baseListByIds(userIds, withDict, SysUser.INSTANCE); - } - - /** - * 根据主键Id,获取数据对象。仅限于微服务间远程接口调用。 - * - * @param userId 主键Id。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象数据。 - */ - @ApiOperation(hidden = true, value = "getById") - @PostMapping("/getById") - public ResponseResult getById( - @RequestParam Long userId, @RequestParam Boolean withDict) { - return super.baseGetById(userId, withDict, SysUser.INSTANCE); - } - - /** - * 判断参数列表中指定的主键Id集合,是否全部存在。仅限于微服务间远程接口调用。 - * - * @param userIds 主键Id集合。 - * @return 应答结果对象,包含true全部存在,否则false。 - */ - @ApiOperation(hidden = true, value = "existIds") - @PostMapping("/existIds") - public ResponseResult existIds(@RequestParam Set userIds) { - return super.baseExistIds(userIds); - } - - /** - * 判断参数列表中指定的主键Id是否存在。仅限于微服务间远程接口调用。 - * - * @param userId 主键Id。 - * @return 应答结果对象,包含true表示存在,否则false。 - */ - @ApiOperation(hidden = true, value = "existId") - @PostMapping("/existId") - public ResponseResult existId(@RequestParam Long userId) { - return super.baseExistId(userId); - } - - /** - * 根据最新对象列表和原有对象的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param data 数据对象。 - * 主键有值是视为更新操作的数据比对,因此仅当关联Id变化时才会验证。 - * 主键为空视为新增操作的数据比对,所有关联Id都会被验证。 - * @return 应答结果对象。 - */ - @ApiOperation(hidden = true, value = "verifyRelatedData") - @PostMapping("/verifyRelatedData") - public ResponseResult verifyRelatedData(@RequestBody SysUserDto data) { - SysUser sysUser = MyModelUtil.copyTo(data, SysUser.class); - return super.baseVerifyRelatedData(sysUser, SysUser::getUserId); - } - - /** - * 根据最新对象列表和原有对象列表的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param dataList 数据对象列表。 - * @return 应答结果对象。 - */ - @ApiOperation(hidden = true, value = "verifyRelatedDataList") - @PostMapping("/verifyRelatedDataList") - public ResponseResult verifyRelatedDataList(@RequestBody List dataList) { - List sysUserList = MyModelUtil.copyCollectionTo(dataList, SysUser.class); - return super.baseVerifyRelatedDataList(sysUserList, SysUser::getUserId); - } - - /** - * 根据主键Id删除数据。 - * - * @param userId 主键Id。 - * @return 删除数量。 - */ - @ApiOperation(hidden = true, value = "deleteById") - @PostMapping("/deleteById") - public ResponseResult deleteById(@RequestParam Long userId) throws Exception { - SysUser filter = new SysUser(); - filter.setUserId(userId); - return super.baseDeleteBy(filter); - } - - /** - * 删除符合过滤条件的数据。 - * - * @param filter 过滤对象。 - * @return 删除数量。 - */ - @ApiOperation(hidden = true, value = "deleteBy") - @PostMapping("/deleteBy") - public ResponseResult deleteBy(@RequestBody SysUserDto filter) throws Exception { - return super.baseDeleteBy(MyModelUtil.copyTo(filter, SysUser.class)); - } - - /** - * 复杂的查询调用,包括(in list)过滤,对象条件过滤,分页和排序等。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 分页数据集合对象。如MyQueryParam参数的分页属性为空,则不会执行分页操作,只是基于MyPageData对象返回数据结果。 - */ - @ApiOperation(hidden = true, value = "listBy") - @PostMapping("/listBy") - public ResponseResult> listBy(@RequestBody MyQueryParam queryParam) { - return super.baseListBy(queryParam, SysUser.INSTANCE); - } - - /** - * 复杂的查询调用,包括(in list)过滤,对象条件过滤,分页和排序等。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 分页数据集合对象。如MyQueryParam参数的分页属性为空,则不会执行分页操作,只是基于MyPageData对象返回数据结果。 - */ - @ApiOperation(hidden = true, value = "listMapBy") - @PostMapping("/listMapBy") - public ResponseResult>> listMapBy(@RequestBody MyQueryParam queryParam) { - return super.baseListMapBy(queryParam, SysUser.INSTANCE); - } - - /** - * 复杂的查询调用,仅返回单体记录。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含符合查询过滤条件的对象结果集。 - */ - @ApiOperation(hidden = true, value = "getBy") - @PostMapping("/getBy") - public ResponseResult getBy(@RequestBody MyQueryParam queryParam) { - return super.baseGetBy(queryParam, SysUser.INSTANCE); - } - - /** - * 获取远程主对象中符合查询条件的数据数量。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含结果数量。 - */ - @ApiOperation(hidden = true, value = "countBy") - @PostMapping("/countBy") - public ResponseResult countBy(@RequestBody MyQueryParam queryParam) { - return super.baseCountBy(queryParam); - } - - /** - * 获取远程对象中符合查询条件的分组聚合计算Map列表。 - * - * @param aggregationParam 聚合参数。 - * @return 应该结果对象,包含聚合计算后的分组Map列表。 - */ - @ApiOperation(hidden = true, value = "aggregateBy") - @PostMapping("/aggregateBy") - public ResponseResult>> aggregateBy(@RequestBody MyAggregationParam aggregationParam) { - return super.baseAggregateBy(aggregationParam); - } - - /** - * 根据过滤字段和过滤集合,返回不存在的数据。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 不存在的数据集合。 - */ - @ApiOperation(hidden = true, value = "notExist") - @PostMapping("/notExist") - public ResponseResult> notExist(@RequestBody MyQueryParam queryParam) { - List notExistIdSet = service().notExist( - queryParam.getInFilterField(), queryParam.getInFilterValues(), true); - return ResponseResult.success(notExistIdSet); - } - - /** - * 获取指定角色Id集合的用户数据集合。 - * @param roleIds 角色Id集合。 - * @return 应该结果对象,包含查询后的用户列表。 - */ - @ApiOperation(hidden = true, value = "getSysUserListByRoleIds") - @GetMapping("/getSysUserListByRoleIds") - public ResponseResult> getSysUserListByRoleIds(@RequestParam Set roleIds) { - List resultList = new LinkedList<>(); - for (Long roleId : roleIds) { - List userList = sysUserService.getSysUserListByRoleId(roleId, null, null); - if (CollUtil.isNotEmpty(userList)) { - resultList.addAll(SysUser.INSTANCE.fromModelList(userList)); - } - } - return ResponseResult.success(resultList); - } - - /** - * 获取指定部门Id集合的用户数据集合。 - * @param deptIds 部门Id集合。 - * @return 应该结果对象,包含查询后的用户列表。 - */ - @ApiOperation(hidden = true, value = "getSysUserListByDeptIds") - @GetMapping("/getSysUserListByDeptIds") - public ResponseResult> getSysUserListByDeptIds(@RequestParam Set deptIds) { - List resultList = new LinkedList<>(); - for (Long deptId : deptIds) { - SysUser filter = new SysUser(); - filter.setDeptId(deptId); - List userList = sysUserService.getSysUserList(filter, null); - if (CollUtil.isNotEmpty(userList)) { - resultList.addAll(SysUser.INSTANCE.fromModelList(userList)); - } - } - return ResponseResult.success(resultList); - } - - private ResponseResult doDelete(Long userId) { - String errorMessage; - // 验证关联Id的数据合法性 - SysUser originalSysUser = sysUserService.getById(userId); - if (originalSysUser == null) { - // NOTE: 修改下面方括号中的话述 - errorMessage = "数据验证失败,当前 [对象] 并不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - if (!sysUserService.remove(userId)) { - errorMessage = "数据操作失败,删除的对象不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - return ResponseResult.success(); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysDataPermDeptMapper.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysDataPermDeptMapper.java deleted file mode 100644 index 449d75cd..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysDataPermDeptMapper.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.orangeforms.upmsservice.dao; - -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.upmsservice.model.SysDataPermDept; - -/** - * 数据权限与部门关系数据访问操作接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface SysDataPermDeptMapper extends BaseDaoMapper { -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysDataPermMapper.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysDataPermMapper.java deleted file mode 100644 index 0007cdb1..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysDataPermMapper.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.orangeforms.upmsservice.dao; - -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.upmsservice.model.SysDataPerm; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * 数据权限数据访问操作接口。 - * NOTE: 该对象一定不能被 @EnableDataPerm 注解标注,否则会导致无限递归。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface SysDataPermMapper extends BaseDaoMapper { - - /** - * 获取数据权限列表。 - * - * @param sysDataPermFilter 过滤对象。 - * @param orderBy 排序字符串。 - * @return 过滤后的数据权限列表。 - */ - List getSysDataPermList( - @Param("sysDataPermFilter") SysDataPerm sysDataPermFilter, @Param("orderBy") String orderBy); - - /** - * 获取指定用户的数据权限列表。 - * - * @param userId 用户Id。 - * @return 数据权限列表。 - */ - List getSysDataPermListByUserId(@Param("userId") Long userId); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysDataPermUserMapper.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysDataPermUserMapper.java deleted file mode 100644 index b178bd4a..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysDataPermUserMapper.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.orangeforms.upmsservice.dao; - -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.upmsservice.model.SysDataPermUser; - -/** - * 数据权限与用户关系数据访问操作接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface SysDataPermUserMapper extends BaseDaoMapper { -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysDeptMapper.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysDeptMapper.java deleted file mode 100644 index 58813d74..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysDeptMapper.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.orangeforms.upmsservice.dao; - -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.upmsservice.model.SysDept; -import org.apache.ibatis.annotations.Param; - -import java.util.*; - -/** - * 部门管理数据操作访问接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface SysDeptMapper extends BaseDaoMapper { - - /** - * 批量插入对象列表。 - * - * @param sysDeptList 新增对象列表。 - */ - void insertList(List sysDeptList); - - /** - * 获取过滤后的对象列表。 - * - * @param inFilterColumn 参与(In-list)过滤的数据表列。 - * @param inFilterValues 参与(In-list)过滤的数据表列值集合。 - * @param sysDeptFilter 过滤对象。 - * @param orderBy 排序字符串,order by从句的参数。 - * @return 对象列表。 - */ - List getSysDeptList( - @Param("inFilterColumn") String inFilterColumn, - @Param("inFilterValues") Set inFilterValues, - @Param("sysDeptFilter") SysDept sysDeptFilter, - @Param("orderBy") String orderBy); - - /** - * 获取对象列表,过滤条件中包含like和between条件,以及指定属性的(in list)过滤条件。 - * - * @param inFilterColumn 参与(In-list)过滤的数据表列。 - * @param inFilterValues 参与(In-list)过滤的数据表列值集合。 - * @param sysDeptFilter 过滤对象。 - * @return 对象列表。 - */ - Integer getSysDeptCount( - @Param("inFilterColumn") String inFilterColumn, - @Param("inFilterValues") Set inFilterValues, - @Param("sysDeptFilter") SysDept sysDeptFilter); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysDeptRelationMapper.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysDeptRelationMapper.java deleted file mode 100644 index fc532007..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysDeptRelationMapper.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.orangeforms.upmsservice.dao; - -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.upmsservice.model.SysDeptRelation; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * 部门关系树关联关系表访问接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface SysDeptRelationMapper extends BaseDaoMapper { - - /** - * 将myDeptId的所有子部门,与其父部门parentDeptId解除关联关系。 - * - * @param parentDeptId myDeptId的父部门Id。 - * @param myDeptId 当前部门。 - */ - void removeBetweenChildrenAndParents( - @Param("parentDeptId") Long parentDeptId, @Param("myDeptId") Long myDeptId); - - /** - * 批量插入部门关联数据。 - * 由于目前版本(3.4.1)的Mybatis Plus没有提供真正的批量插入,为了保证效率需要自己实现。 - * 目前我们仅仅给出MySQL和PostgresSQL的insert list实现作为参考,其他数据库需要自行修改。 - * - * @param deptRelationList 部门关联关系数据列表。 - */ - void insertList(List deptRelationList); - - /** - * 批量插入当前部门的所有父部门列表,包括自己和自己的关系。 - * - * @param parentDeptId myDeptId的父部门Id。 - * @param myDeptId 当前部门。 - */ - void insertParentList(@Param("parentDeptId") Long parentDeptId, @Param("myDeptId") Long myDeptId); - -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysMenuMapper.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysMenuMapper.java deleted file mode 100644 index e5e7531d..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysMenuMapper.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.orangeforms.upmsservice.dao; - -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.upmsservice.model.SysMenu; -import org.apache.ibatis.annotations.Param; - -import java.util.*; - -/** - * 菜单数据访问操作接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface SysMenuMapper extends BaseDaoMapper { - - /** - * 获取登录用户的菜单列表。 - * - * @param userId 登录用户。 - * @return 菜单列表。 - */ - List getMenuListByUserId(@Param("userId") Long userId); - - /** - * 获取当前用户有权访问的在线表单菜单,仅返回类型为BUTTON的菜单。 - * - * @param userId 指定的用户。 - * @param menuType 菜单类型,NULL则返回全部类型。 - * @return 在线表单关联的菜单列表。 - */ - List getOnlineMenuListByUserId( - @Param("userId") Long userId, @Param("menuType") Integer menuType); - - /** - * 查询菜单的权限资源地址列表。同时返回详细的分配路径。 - * - * @param menuId 菜单Id。 - * @param url 权限资源地址过滤条件。 - * @return 包含从菜单到权限资源的权限分配路径信息的查询结果列表。 - */ - List> getSysPermListWithDetail( - @Param("menuId") Long menuId, @Param("url") String url); - - /** - * 查询菜单的用户列表。同时返回详细的分配路径。 - * - * @param menuId 菜单Id。 - * @param loginName 登录名。 - * @return 包含从菜单到用户的完整权限分配路径信息的查询结果列表。 - */ - List> getSysUserListWithDetail( - @Param("menuId") Long menuId, @Param("loginName") String loginName); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysMenuPermCodeMapper.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysMenuPermCodeMapper.java deleted file mode 100644 index b5afba6c..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysMenuPermCodeMapper.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.orangeforms.upmsservice.dao; - -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.upmsservice.model.SysMenuPermCode; - -/** - * 菜单与权限字关系数据访问操作接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface SysMenuPermCodeMapper extends BaseDaoMapper { -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysPermCodeMapper.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysPermCodeMapper.java deleted file mode 100644 index e5d779a7..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysPermCodeMapper.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.orangeforms.upmsservice.dao; - -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.upmsservice.model.SysPermCode; -import org.apache.ibatis.annotations.Param; - -import java.util.List; -import java.util.Map; - -/** - * 权限字数据访问操作接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface SysPermCodeMapper extends BaseDaoMapper { - - /** - * 获取用户的所有权限字列表。 - * - * @param userId 用户Id。 - * @return 该用户的权限字列表。 - */ - List getPermCodeListByUserId(@Param("userId") Long userId); - - /** - * 查询权限字的用户列表。同时返回详细的分配路径。 - * - * @param permCodeId 权限字Id。 - * @param loginName 登录名。 - * @return 包含从权限字到用户的完整权限分配路径信息的查询结果列表。 - */ - List> getSysUserListWithDetail( - @Param("permCodeId") Long permCodeId, @Param("loginName") String loginName); - - /** - * 查询权限字的角色列表。同时返回详细的分配路径。 - * - * @param permCodeId 权限字Id。 - * @param roleName 角色名。 - * @return 包含从权限字到角色的权限分配路径信息的查询结果列表。 - */ - List> getSysRoleListWithDetail( - @Param("permCodeId") Long permCodeId, @Param("roleName") String roleName); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysPermCodePermMapper.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysPermCodePermMapper.java deleted file mode 100644 index bf0a8997..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysPermCodePermMapper.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.orangeforms.upmsservice.dao; - -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.upmsservice.model.SysPermCodePerm; - -/** - * 权限字与权限资源关系数据访问操作接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface SysPermCodePermMapper extends BaseDaoMapper { -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysPermMapper.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysPermMapper.java deleted file mode 100644 index 467a40c2..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysPermMapper.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.orangeforms.upmsservice.dao; - -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.upmsservice.model.SysPerm; -import org.apache.ibatis.annotations.Param; - -import java.util.List; -import java.util.Map; - -/** - * 权限资源数据访问操作接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface SysPermMapper extends BaseDaoMapper { - - /** - * 获取用户的权限列表。 - * - * @param userId 用户Id。 - * @return 该用户的权限标识列表。 - */ - List getPermListByUserId(@Param("userId") Long userId); - - /** - * 查询权限资源地址的用户列表。同时返回详细的分配路径。 - * - * @param permId 权限资源Id。 - * @param loginName 登录名。 - * @return 包含从权限资源到用户的完整权限分配路径信息的查询结果列表。 - */ - List> getSysUserListWithDetail( - @Param("permId") Long permId, @Param("loginName") String loginName); - - /** - * 查询权限资源地址的角色列表。同时返回详细的分配路径。 - * - * @param permId 权限资源Id。 - * @param roleName 角色名。 - * @return 包含从权限资源到角色的权限分配路径信息的查询结果列表。 - */ - List> getSysRoleListWithDetail( - @Param("permId") Long permId, @Param("roleName") String roleName); - - /** - * 查询权限资源地址的菜单列表。同时返回详细的分配路径。 - * - * @param permId 权限资源Id。 - * @param menuName 菜单名。 - * @return 包含从权限资源到菜单的权限分配路径信息的查询结果列表。 - */ - List> getSysMenuListWithDetail( - @Param("permId") Long permId, @Param("menuName") String menuName); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysPermModuleMapper.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysPermModuleMapper.java deleted file mode 100644 index 121f79f7..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysPermModuleMapper.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.orangeforms.upmsservice.dao; - -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.upmsservice.model.SysPermModule; - -import java.util.List; - -/** - * 权限资源模块数据访问操作接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface SysPermModuleMapper extends BaseDaoMapper { - - /** - * 获取整个权限模块和权限关联后的全部数据。 - * - * @return 关联的权限模块和权限资源列表。 - */ - List getPermModuleAndPermList(); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysPermWhitelistMapper.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysPermWhitelistMapper.java deleted file mode 100644 index 3cff5601..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysPermWhitelistMapper.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.orangeforms.upmsservice.dao; - -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.upmsservice.model.SysPermWhitelist; - -/** - * 权限资源白名单数据访问操作接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface SysPermWhitelistMapper extends BaseDaoMapper { -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysRoleMapper.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysRoleMapper.java deleted file mode 100644 index cdb28704..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysRoleMapper.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.orangeforms.upmsservice.dao; - -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.upmsservice.model.SysRole; -import org.apache.ibatis.annotations.Param; - -import java.util.*; - -/** - * 角色数据访问操作接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface SysRoleMapper extends BaseDaoMapper { - - /** - * 获取对象列表,过滤条件中包含like和between条件。 - * - * @param sysRoleFilter 过滤对象。 - * @param orderBy 排序字符串,order by从句的参数。 - * @return 对象列表。 - */ - List getSysRoleList(@Param("sysRoleFilter") SysRole sysRoleFilter, @Param("orderBy") String orderBy); - - /** - * 查询角色的权限资源地址列表。同时返回详细的分配路径。 - * - * @param roleId 角色Id。 - * @param url url过滤条件。 - * @return 包含从角色到权限资源的完整权限分配路径信息的查询结果列表。 - */ - List> getSysPermListWithDetail( - @Param("roleId") Long roleId, @Param("url") String url); - - /** - * 查询角色的权限字列表。同时返回详细的分配路径。 - * - * @param roleId 角色Id。 - * @param permCode 权限字名称过滤条件。 - * @return 包含从角色到权限字的权限分配路径信息的查询结果列表。 - */ - List> getSysPermCodeListWithDetail( - @Param("roleId") Long roleId, @Param("permCode") String permCode); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysRoleMenuMapper.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysRoleMenuMapper.java deleted file mode 100644 index 57da3280..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysRoleMenuMapper.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.orangeforms.upmsservice.dao; - -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.upmsservice.model.SysRoleMenu; - -/** - * 角色与菜单操作关联关系数据访问操作接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface SysRoleMenuMapper extends BaseDaoMapper { -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysUserMapper.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysUserMapper.java deleted file mode 100644 index e64d73c1..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysUserMapper.java +++ /dev/null @@ -1,133 +0,0 @@ -package com.orangeforms.upmsservice.dao; - -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.upmsservice.model.SysUser; -import org.apache.ibatis.annotations.Param; - -import java.util.*; - -/** - * 用户管理数据操作访问接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface SysUserMapper extends BaseDaoMapper { - - /** - * 批量插入对象列表。 - * - * @param sysUserList 新增对象列表。 - */ - void insertList(List sysUserList); - - /** - * 获取过滤后的对象列表。 - * - * @param inFilterColumn 参与(In-list)过滤的数据表列。 - * @param inFilterValues 参与(In-list)过滤的数据表列值集合。 - * @param sysUserFilter 过滤对象。 - * @param orderBy 排序字符串,order by从句的参数。 - * @return 对象列表。 - */ - List getSysUserList( - @Param("inFilterColumn") String inFilterColumn, - @Param("inFilterValues") Set inFilterValues, - @Param("sysUserFilter") SysUser sysUserFilter, - @Param("orderBy") String orderBy); - - /** - * 获取对象列表,过滤条件中包含like和between条件,以及指定属性的(in list)过滤条件。 - * - * @param inFilterColumn 参与(In-list)过滤的数据表列。 - * @param inFilterValues 参与(In-list)过滤的数据表列值集合。 - * @param sysUserFilter 过滤对象。 - * @return 对象列表。 - */ - Integer getSysUserCount( - @Param("inFilterColumn") String inFilterColumn, - @Param("inFilterValues") Set inFilterValues, - @Param("sysUserFilter") SysUser sysUserFilter); - - /** - * 根据角色Id,获取关联的用户Id列表。 - * - * @param roleId 关联的角色Id。 - * @param sysUserFilter 用户过滤条件对象。 - * @param orderBy order by从句的参数。 - * @return 和RoleId关联的用户列表。 - */ - List getSysUserListByRoleId( - @Param("roleId") Long roleId, - @Param("sysUserFilter") SysUser sysUserFilter, - @Param("orderBy") String orderBy); - - /** - * 根据角色Id,获取和当前角色Id没有建立多对多关联关系的用户Id列表。 - * - * @param roleId 关联的角色Id。 - * @param sysUserFilter 用户过滤条件对象。 - * @param orderBy order by从句的参数。 - * @return 和RoleId没有建立关联关系的用户列表。 - */ - List getNotInSysUserListByRoleId( - @Param("roleId") Long roleId, - @Param("sysUserFilter") SysUser sysUserFilter, - @Param("orderBy") String orderBy); - - /** - * 根据数据权限Id,获取关联的用户Id列表。 - * - * @param dataPermId 关联的数据权限Id。 - * @param sysUserFilter 用户过滤条件对象。 - * @param orderBy order by从句的参数。 - * @return 和DataPermId关联的用户列表。 - */ - List getSysUserListByDataPermId( - @Param("dataPermId") Long dataPermId, - @Param("sysUserFilter") SysUser sysUserFilter, - @Param("orderBy") String orderBy); - - /** - * 根据数据权限Id,获取和当前数据权限Id没有建立多对多关联关系的用户Id列表。 - * - * @param dataPermId 关联的数据权限Id。 - * @param sysUserFilter 用户过滤条件对象。 - * @param orderBy order by从句的参数。 - * @return 和DataPermId没有建立关联关系的用户列表。 - */ - List getNotInSysUserListByDataPermId( - @Param("dataPermId") Long dataPermId, - @Param("sysUserFilter") SysUser sysUserFilter, - @Param("orderBy") String orderBy); - - /** - * 查询用户的权限资源地址列表。同时返回详细的分配路径。 - * - * @param userId 用户Id。 - * @param url url过滤条件。 - * @return 包含从用户到权限资源的完整权限分配路径信息的查询结果列表。 - */ - List> getSysPermListWithDetail( - @Param("userId") Long userId, @Param("url") String url); - - /** - * 查询用户的权限字列表。同时返回详细的分配路径。 - * - * @param userId 用户Id。 - * @param permCode 权限字名称过滤条件。 - * @return 包含从用户到权限字的权限分配路径信息的查询结果列表。 - */ - List> getSysPermCodeListWithDetail( - @Param("userId") Long userId, @Param("permCode") String permCode); - - /** - * 查询用户的菜单列表。同时返回详细的分配路径。 - * - * @param userId 用户Id。 - * @param menuName 菜单名称过滤条件。 - * @return 包含从用户到菜单的权限分配路径信息的查询结果列表。 - */ - List> getSysMenuListWithDetail( - @Param("userId") Long userId, @Param("menuName") String menuName); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysUserRoleMapper.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysUserRoleMapper.java deleted file mode 100644 index 51d21bb3..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/SysUserRoleMapper.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.orangeforms.upmsservice.dao; - -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.upmsservice.model.SysUserRole; - -/** - * 用户与角色关联关系数据访问操作接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface SysUserRoleMapper extends BaseDaoMapper { -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysDataPermDeptMapper.xml b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysDataPermDeptMapper.xml deleted file mode 100644 index 7477fb49..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysDataPermDeptMapper.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysDataPermMapper.xml b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysDataPermMapper.xml deleted file mode 100644 index b850b449..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysDataPermMapper.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - AND zz_sys_data_perm.rule_type = #{sysDataPermFilter.ruleType} - - - - AND IFNULL(zz_sys_data_perm.data_perm_name, '') LIKE #{safeSearchString} - - - - - - - - \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysDataPermUserMapper.xml b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysDataPermUserMapper.xml deleted file mode 100644 index fa19d626..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysDataPermUserMapper.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysDeptMapper.xml b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysDeptMapper.xml deleted file mode 100644 index 0a16958e..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysDeptMapper.xml +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - - - - - - - - - - - INSERT INTO zz_sys_dept - (dept_id, - dept_name, - show_order, - parent_id, - deleted_flag, - create_user_id, - update_user_id, - create_time, - update_time) - VALUES - - (#{item.deptId}, - #{item.deptName}, - #{item.showOrder}, - #{item.parentId}, - #{item.deletedFlag}, - #{item.createUserId}, - #{item.updateUserId}, - #{item.createTime}, - #{item.updateTime}) - - - - - - - - AND zz_sys_dept.deleted_flag = ${@com.orangeforms.common.core.constant.GlobalDeletedFlag@NORMAL} - - - - - - - - AND zz_sys_dept.dept_name LIKE #{safeSysDeptDeptName} - - - AND zz_sys_dept.parent_id = #{sysDeptFilter.parentId} - - - - - - - - diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysDeptRelationMapper.xml b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysDeptRelationMapper.xml deleted file mode 100644 index d6d5d4d4..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysDeptRelationMapper.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - DELETE a FROM zz_sys_dept_relation a - INNER JOIN zz_sys_dept_relation b ON a.dept_id = b.dept_id - WHERE a.parent_dept_id = #{parentDeptId} AND b.parent_dept_id = #{myDeptId} - - - - INSERT INTO zz_sys_dept_relation(parent_dept_id, dept_id) VALUES - - (#{item.parentDeptId}, #{item.deptId}) - - - - - INSERT INTO zz_sys_dept_relation(parent_dept_id, dept_id) - SELECT t.parent_dept_id, #{myDeptId} FROM zz_sys_dept_relation t - WHERE t.dept_id = #{parentDeptId} - UNION ALL - SELECT #{myDeptId}, #{myDeptId} - - diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysMenuMapper.xml b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysMenuMapper.xml deleted file mode 100644 index 7b4dd3ac..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysMenuMapper.xml +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysMenuPermCodeMapper.xml b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysMenuPermCodeMapper.xml deleted file mode 100644 index b78c80d1..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysMenuPermCodeMapper.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysPermCodeMapper.xml b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysPermCodeMapper.xml deleted file mode 100644 index 27a90c12..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysPermCodeMapper.xml +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysPermCodePermMapper.xml b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysPermCodePermMapper.xml deleted file mode 100644 index 733c1a54..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysPermCodePermMapper.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysPermMapper.xml b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysPermMapper.xml deleted file mode 100644 index d05586ce..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysPermMapper.xml +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysPermModuleMapper.xml b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysPermModuleMapper.xml deleted file mode 100644 index 590a713a..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysPermModuleMapper.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysPermWhitelistMapper.xml b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysPermWhitelistMapper.xml deleted file mode 100644 index c9f98f37..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysPermWhitelistMapper.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysRoleMapper.xml b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysRoleMapper.xml deleted file mode 100644 index b0fda15c..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysRoleMapper.xml +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - - - - - - - - - - - AND role_name LIKE #{safeRoleName} - - - - - - - - - - - diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysRoleMenuMapper.xml b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysRoleMenuMapper.xml deleted file mode 100644 index 35820eaa..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysRoleMenuMapper.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysUserMapper.xml b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysUserMapper.xml deleted file mode 100644 index 0f89275c..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysUserMapper.xml +++ /dev/null @@ -1,265 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - INSERT INTO zz_sys_user - (user_id, - login_name, - password, - show_name, - dept_id, - user_type, - head_image_url, - user_status, - deleted_flag, - create_user_id, - update_user_id, - create_time, - update_time) - VALUES - - (#{item.userId}, - #{item.loginName}, - #{item.password}, - #{item.showName}, - #{item.deptId}, - #{item.userType}, - #{item.headImageUrl}, - #{item.userStatus}, - #{item.deletedFlag}, - #{item.createUserId}, - #{item.updateUserId}, - #{item.createTime}, - #{item.updateTime}) - - - - - - - - AND zz_sys_user.deleted_flag = ${@com.orangeforms.common.core.constant.GlobalDeletedFlag@NORMAL} - - - - - - - - AND zz_sys_user.login_name LIKE #{safeSysUserLoginName} - - - - AND zz_sys_user.show_name LIKE #{safeSysUserShowName} - - - AND zz_sys_user.dept_id = #{sysUserFilter.deptId} - - - AND zz_sys_user.user_status = #{sysUserFilter.userStatus} - - - AND zz_sys_user.create_time >= #{sysUserFilter.createTimeStart} - - - AND zz_sys_user.create_time <= #{sysUserFilter.createTimeEnd} - - - - - - - - - - - - - - - - - - - - - - - diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysUserRoleMapper.xml b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysUserRoleMapper.xml deleted file mode 100644 index 42c9cbcc..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/dao/mapper/SysUserRoleMapper.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysDataPerm.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysDataPerm.java deleted file mode 100644 index 37d00a8b..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysDataPerm.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.orangeforms.upmsservice.model; - -import com.baomidou.mybatisplus.annotation.*; -import com.orangeforms.common.core.annotation.RelationManyToMany; -import com.orangeforms.common.core.base.model.BaseModel; -import com.orangeforms.common.core.base.mapper.BaseModelMapper; -import com.orangeforms.common.core.util.MyCommonUtil; -import com.orangeforms.upmsapi.vo.SysDataPermVo; -import lombok.Data; -import lombok.EqualsAndHashCode; -import org.mapstruct.Mapper; -import org.mapstruct.Mapping; -import org.mapstruct.factory.Mappers; - -import java.util.*; - -/** - * 数据权限实体对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@TableName(value = "zz_sys_data_perm") -public class SysDataPerm extends BaseModel { - - /** - * 主键Id。 - */ - @TableId(value = "data_perm_id") - private Long dataPermId; - - /** - * 显示名称。 - */ - @TableField(value = "data_perm_name") - private String dataPermName; - - /** - * 数据权限规则类型(0: 全部可见 1: 只看自己 2: 只看本部门 3: 本部门及子部门 4: 多部门及子部门 5: 自定义部门列表)。 - */ - @TableField(value = "rule_type") - private Integer ruleType; - - @TableField(exist = false) - private String deptIdListString; - - @RelationManyToMany( - relationMapperName = "sysDataPermDeptMapper", - relationMasterIdField = "dataPermId", - relationModelClass = SysDataPermDept.class) - @TableField(exist = false) - private List dataPermDeptList; - - @TableField(exist = false) - private String searchString; - - public void setSearchString(String searchString) { - this.searchString = MyCommonUtil.replaceSqlWildcard(searchString); - } - - @Mapper - public interface SysDataPermModelMapper extends BaseModelMapper { - /** - * 转换VO对象到实体对象。 - * - * @param sysDataPermVo 域对象。 - * @return 实体对象。 - */ - @Mapping(target = "dataPermDeptList", expression = "java(mapToBean(sysDataPermVo.getDataPermDeptList(), com.orangeforms.upmsservice.model.SysDataPermDept.class))") - @Override - SysDataPerm toModel(SysDataPermVo sysDataPermVo); - /** - * 转换实体对象到VO对象。 - * - * @param sysDataPerm 实体对象。 - * @return 域对象。 - */ - @Mapping(target = "dataPermDeptList", expression = "java(beanToMap(sysDataPerm.getDataPermDeptList(), false))") - @Override - SysDataPermVo fromModel(SysDataPerm sysDataPerm); - } - public static final SysDataPermModelMapper INSTANCE = Mappers.getMapper(SysDataPerm.SysDataPermModelMapper.class); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysDataPermDept.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysDataPermDept.java deleted file mode 100644 index 807e072b..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysDataPermDept.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.orangeforms.upmsservice.model; - -import com.baomidou.mybatisplus.annotation.*; -import lombok.Data; -import lombok.ToString; - -/** - * 数据权限与部门关联实体对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@ToString(of = {"deptId"}) -@TableName(value = "zz_sys_data_perm_dept") -public class SysDataPermDept { - - /** - * 数据权限Id。 - */ - @TableField(value = "data_perm_id") - private Long dataPermId; - - /** - * 关联部门Id。 - */ - @TableField(value = "dept_id") - private Long deptId; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysDataPermUser.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysDataPermUser.java deleted file mode 100644 index 154e03aa..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysDataPermUser.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.orangeforms.upmsservice.model; - -import com.baomidou.mybatisplus.annotation.*; -import lombok.Data; - -/** - * 数据权限与用户关联实体对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@TableName(value = "zz_sys_data_perm_user") -public class SysDataPermUser { - - /** - * 数据权限Id。 - */ - @TableField(value = "data_perm_id") - private Long dataPermId; - - /** - * 用户Id。 - */ - @TableField(value = "user_id") - private Long userId; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysDept.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysDept.java deleted file mode 100644 index 2af54008..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysDept.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.orangeforms.upmsservice.model; - -import com.baomidou.mybatisplus.annotation.*; -import com.orangeforms.upmsapi.vo.SysDeptVo; -import com.orangeforms.common.core.base.model.BaseModel; -import com.orangeforms.common.core.base.mapper.BaseModelMapper; -import lombok.Data; -import lombok.EqualsAndHashCode; -import org.mapstruct.*; -import org.mapstruct.factory.Mappers; - -/** - * SysDept实体对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@TableName(value = "zz_sys_dept") -public class SysDept extends BaseModel { - - /** - * 部门Id。 - */ - @TableId(value = "dept_id") - private Long deptId; - - /** - * 部门名称。 - */ - @TableField(value = "dept_name") - private String deptName; - - /** - * 显示顺序。 - */ - @TableField(value = "show_order") - private Integer showOrder; - - /** - * 父部门Id。 - */ - @TableField(value = "parent_id") - private Long parentId; - - /** - * 逻辑删除标记字段(1: 正常 -1: 已删除)。 - */ - @TableLogic - @TableField(value = "deleted_flag") - private Integer deletedFlag; - - @Mapper - public interface SysDeptModelMapper extends BaseModelMapper { - } - public static final SysDeptModelMapper INSTANCE = Mappers.getMapper(SysDeptModelMapper.class); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysDeptRelation.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysDeptRelation.java deleted file mode 100644 index 8cd9115c..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysDeptRelation.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.orangeforms.upmsservice.model; - -import com.baomidou.mybatisplus.annotation.*; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * 部门关联实体对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@TableName(value = "zz_sys_dept_relation") -public class SysDeptRelation { - - /** - * 上级部门Id。 - */ - @TableField(value = "parent_dept_id") - private Long parentDeptId; - - /** - * 部门Id。 - */ - @TableField(value = "dept_id") - private Long deptId; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysMenu.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysMenu.java deleted file mode 100644 index a2641383..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysMenu.java +++ /dev/null @@ -1,109 +0,0 @@ -package com.orangeforms.upmsservice.model; - -import com.baomidou.mybatisplus.annotation.*; -import com.orangeforms.common.core.annotation.RelationManyToMany; -import com.orangeforms.common.core.base.model.BaseModel; -import com.orangeforms.common.core.base.mapper.BaseModelMapper; -import com.orangeforms.upmsapi.vo.SysMenuVo; -import lombok.Data; -import lombok.EqualsAndHashCode; -import org.mapstruct.Mapper; -import org.mapstruct.Mapping; -import org.mapstruct.factory.Mappers; - -import java.util.*; - -/** - * 菜单实体对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@TableName(value = "zz_sys_menu") -public class SysMenu extends BaseModel { - - /** - * 主键Id。 - */ - @TableId(value = "menu_id") - private Long menuId; - - /** - * 父菜单Id,目录菜单的父菜单为null。 - */ - @TableField(value = "parent_id") - private Long parentId; - - /** - * 菜单显示名称。 - */ - @TableField(value = "menu_name") - private String menuName; - - /** - * 菜单类型(0: 目录 1: 菜单 2: 按钮 3: UI片段)。 - */ - @TableField(value = "menu_type") - private Integer menuType; - - /** - * 前端表单路由名称,仅用于menu_type为1的菜单类型。 - */ - @TableField(value = "form_router_name") - private String formRouterName; - - /** - * 在线表单主键Id,仅用于在线表单绑定的菜单。 - */ - @TableField(value = "online_form_id") - private Long onlineFormId; - - /** - * 在线表单菜单的权限控制类型,具体值可参考SysOnlineMenuPermType常量对象。 - */ - @TableField(value = "online_menu_perm_type") - private Integer onlineMenuPermType; - - /** - * 菜单显示顺序 (值越小,排序越靠前)。 - */ - @TableField(value = "show_order") - private Integer showOrder; - - /** - * 菜单图标。 - */ - private String icon; - - @RelationManyToMany( - relationMapperName = "sysMenuPermCodeMapper", - relationMasterIdField = "menuId", - relationModelClass = SysMenuPermCode.class) - @TableField(exist = false) - private List sysMenuPermCodeList; - - @Mapper - public interface SysMenuModelMapper extends BaseModelMapper { - /** - * 转换VO对象到实体对象。 - * - * @param sysMenuVo 域对象。 - * @return 实体对象。 - */ - @Mapping(target = "sysMenuPermCodeList", expression = "java(mapToBean(sysMenuVo.getSysMenuPermCodeList(), com.orangeforms.upmsservice.model.SysMenuPermCode.class))") - @Override - SysMenu toModel(SysMenuVo sysMenuVo); - /** - * 转换实体对象到VO对象。 - * - * @param sysMenu 实体对象。 - * @return 域对象。 - */ - @Mapping(target = "sysMenuPermCodeList", expression = "java(beanToMap(sysMenu.getSysMenuPermCodeList(), false))") - @Override - SysMenuVo fromModel(SysMenu sysMenu); - } - public static final SysMenuModelMapper INSTANCE = Mappers.getMapper(SysMenu.SysMenuModelMapper.class); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysMenuPermCode.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysMenuPermCode.java deleted file mode 100644 index 44fc8f13..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysMenuPermCode.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.orangeforms.upmsservice.model; - -import com.baomidou.mybatisplus.annotation.*; -import lombok.Data; - -/** - * 菜单与权限字关联实体对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@TableName(value = "zz_sys_menu_perm_code") -public class SysMenuPermCode { - - /** - * 关联菜单Id。 - */ - @TableField(value = "menu_id") - private Long menuId; - - /** - * 关联权限字Id。 - */ - @TableField(value = "perm_code_id") - private Long permCodeId; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysPerm.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysPerm.java deleted file mode 100644 index 2512e198..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysPerm.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.orangeforms.upmsservice.model; - -import com.baomidou.mybatisplus.annotation.*; -import com.orangeforms.common.core.base.model.BaseModel; -import com.orangeforms.common.core.annotation.RelationDict; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.util.*; - -/** - * 权限资源实体对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@TableName(value = "zz_sys_perm") -public class SysPerm extends BaseModel { - - /** - * 权限Id。 - */ - @TableId(value = "perm_id") - private Long permId; - - /** - * 权限所在的权限模块Id。 - */ - @TableField(value = "module_id") - private Long moduleId; - - /** - * 权限名称。 - */ - @TableField(value = "perm_name") - private String permName; - - /** - * 关联的URL。 - */ - private String url; - - /** - * 权限在当前模块下的顺序,由小到大。 - */ - @TableField(value = "show_order") - private Integer showOrder; - - @RelationDict( - masterIdField = "moduleId", - slaveServiceName = "SysPermModuleService", - slaveModelClass = SysPermModule.class, - slaveIdField = "moduleId", - slaveNameField = "moduleName") - @TableField(exist = false) - private Map moduleIdDictMap; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysPermCode.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysPermCode.java deleted file mode 100644 index 05b4ff0e..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysPermCode.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.orangeforms.upmsservice.model; - -import com.baomidou.mybatisplus.annotation.*; -import com.orangeforms.common.core.annotation.RelationManyToMany; -import com.orangeforms.common.core.base.model.BaseModel; -import com.orangeforms.common.core.base.mapper.BaseModelMapper; -import com.orangeforms.upmsapi.vo.SysPermCodeVo; -import lombok.Data; -import lombok.EqualsAndHashCode; -import org.mapstruct.Mapper; -import org.mapstruct.Mapping; -import org.mapstruct.factory.Mappers; - -import java.util.*; - -/** - * 权限字实体对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@TableName(value = "zz_sys_perm_code") -public class SysPermCode extends BaseModel { - - /** - * 主键Id。 - */ - @TableId(value = "perm_code_id") - private Long permCodeId; - - /** - * 上级权限字Id。 - */ - @TableField(value = "parent_id") - private Long parentId; - - /** - * 权限字标识(一般为有含义的英文字符串)。 - */ - @TableField(value = "perm_code") - private String permCode; - - /** - * 权限类型(0: 表单 1: UI片段 2: 操作)。 - */ - @TableField(value = "perm_code_type") - private Integer permCodeType; - - /** - * 显示名称。 - */ - @TableField(value = "show_name") - private String showName; - - /** - * 显示顺序(数值越小,越靠前)。 - */ - @TableField(value = "show_order") - private Integer showOrder; - - @RelationManyToMany( - relationMapperName = "sysPermCodePermMapper", - relationMasterIdField = "permCodeId", - relationModelClass = SysPermCodePerm.class) - @TableField(exist = false) - private List sysPermCodePermList; - - @Mapper - public interface SysPermCodeModelMapper extends BaseModelMapper { - /** - * 转换VO对象到实体对象。 - * - * @param sysPermCodeVo 域对象。 - * @return 实体对象。 - */ - @Mapping(target = "sysPermCodePermList", expression = "java(mapToBean(sysPermCodeVo.getSysPermCodePermList(), com.orangeforms.upmsservice.model.SysPermCodePerm.class))") - @Override - SysPermCode toModel(SysPermCodeVo sysPermCodeVo); - /** - * 转换实体对象到VO对象。 - * - * @param sysPermCode 实体对象。 - * @return 域对象。 - */ - @Mapping(target = "sysPermCodePermList", expression = "java(beanToMap(sysPermCode.getSysPermCodePermList(), false))") - @Override - SysPermCodeVo fromModel(SysPermCode sysPermCode); - } - public static final SysPermCodeModelMapper INSTANCE = Mappers.getMapper(SysPermCode.SysPermCodeModelMapper.class); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysPermCodePerm.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysPermCodePerm.java deleted file mode 100644 index f6570204..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysPermCodePerm.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.orangeforms.upmsservice.model; - -import com.baomidou.mybatisplus.annotation.*; -import lombok.Data; - -/** - * 权限字与权限资源关联实体对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@TableName(value = "zz_sys_perm_code_perm") -public class SysPermCodePerm { - - /** - * 权限字Id。 - */ - @TableField(value = "perm_code_id") - private Long permCodeId; - - /** - * 权限Id。 - */ - @TableField(value = "perm_id") - private Long permId; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysPermModule.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysPermModule.java deleted file mode 100644 index 928744be..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysPermModule.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.orangeforms.upmsservice.model; - -import com.baomidou.mybatisplus.annotation.*; -import com.orangeforms.common.core.base.model.BaseModel; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.util.*; - -/** - * 权限模块实体对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@TableName(value = "zz_sys_perm_module") -public class SysPermModule extends BaseModel { - - /** - * 权限模块Id。 - */ - @TableId(value = "module_id") - private Long moduleId; - - /** - * 上级权限模块Id。 - */ - @TableField(value = "parent_id") - private Long parentId; - - /** - * 权限模块名称。 - */ - @TableField(value = "module_name") - private String moduleName; - - /** - * 权限模块类型(0: 普通模块 1: Controller模块)。 - */ - @TableField(value = "module_type") - private Integer moduleType; - - /** - * 权限模块在当前层级下的顺序,由小到大。 - */ - @TableField(value = "show_order") - private Integer showOrder; - - @TableField(exist = false) - private List sysPermList; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysPermWhitelist.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysPermWhitelist.java deleted file mode 100644 index 9e7f6681..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysPermWhitelist.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.orangeforms.upmsservice.model; - -import com.baomidou.mybatisplus.annotation.*; -import lombok.Data; - -/** - * 白名单实体对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@TableName(value = "zz_sys_perm_whitelist") -public class SysPermWhitelist { - - /** - * 权限资源的URL。 - */ - @TableId(value = "perm_url") - private String permUrl; - - /** - * 权限资源所属模块名字(通常是Controller的名字)。 - */ - @TableField(value = "module_name") - private String moduleName; - - /** - * 权限的名称。 - */ - @TableField(value = "perm_name") - private String permName; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysRole.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysRole.java deleted file mode 100644 index 7d8b3a79..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysRole.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.orangeforms.upmsservice.model; - -import com.baomidou.mybatisplus.annotation.*; -import com.orangeforms.common.core.annotation.RelationManyToMany; -import com.orangeforms.common.core.base.model.BaseModel; -import com.orangeforms.common.core.base.mapper.BaseModelMapper; -import com.orangeforms.upmsapi.vo.SysRoleVo; -import lombok.Data; -import lombok.EqualsAndHashCode; -import org.mapstruct.Mapper; -import org.mapstruct.Mapping; -import org.mapstruct.factory.Mappers; - -import java.util.*; - -/** - * 角色实体对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@TableName(value = "zz_sys_role") -public class SysRole extends BaseModel { - - /** - * 主键Id。 - */ - @TableId(value = "role_id") - private Long roleId; - - /** - * 角色名称。 - */ - @TableField(value = "role_name") - private String roleName; - - @RelationManyToMany( - relationMapperName = "sysRoleMenuMapper", - relationMasterIdField = "roleId", - relationModelClass = SysRoleMenu.class) - @TableField(exist = false) - private List sysRoleMenuList; - - @Mapper - public interface SysRoleModelMapper extends BaseModelMapper { - /** - * 转换VO对象到实体对象。 - * - * @param sysRoleVo 域对象。 - * @return 实体对象。 - */ - @Mapping(target = "sysRoleMenuList", expression = "java(mapToBean(sysRoleVo.getSysRoleMenuList(), com.orangeforms.upmsservice.model.SysRoleMenu.class))") - @Override - SysRole toModel(SysRoleVo sysRoleVo); - /** - * 转换实体对象到VO对象。 - * - * @param sysRole 实体对象。 - * @return 域对象。 - */ - @Mapping(target = "sysRoleMenuList", expression = "java(beanToMap(sysRole.getSysRoleMenuList(), false))") - @Override - SysRoleVo fromModel(SysRole sysRole); - } - public static final SysRoleModelMapper INSTANCE = Mappers.getMapper(SysRole.SysRoleModelMapper.class); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysRoleMenu.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysRoleMenu.java deleted file mode 100644 index cefe78e5..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysRoleMenu.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.orangeforms.upmsservice.model; - -import com.baomidou.mybatisplus.annotation.*; -import lombok.Data; - -/** - * 角色菜单实体对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@TableName(value = "zz_sys_role_menu") -public class SysRoleMenu { - - /** - * 角色Id。 - */ - @TableField(value = "role_id") - private Long roleId; - - /** - * 菜单Id。 - */ - @TableField(value = "menu_id") - private Long menuId; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysUser.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysUser.java deleted file mode 100644 index bd0b3a22..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysUser.java +++ /dev/null @@ -1,162 +0,0 @@ -package com.orangeforms.upmsservice.model; - -import com.baomidou.mybatisplus.annotation.*; -import com.orangeforms.upmsapi.vo.SysUserVo; -import com.orangeforms.upmsapi.constant.SysUserType; -import com.orangeforms.upmsapi.constant.SysUserStatus; -import com.orangeforms.common.core.upload.UploadStoreTypeEnum; -import com.orangeforms.common.core.annotation.*; -import com.orangeforms.common.core.base.model.BaseModel; -import com.orangeforms.common.core.base.mapper.BaseModelMapper; -import lombok.Data; -import lombok.EqualsAndHashCode; -import org.mapstruct.*; -import org.mapstruct.factory.Mappers; - -import java.util.Map; -import java.util.List; - -/** - * SysUser实体对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@TableName(value = "zz_sys_user") -public class SysUser extends BaseModel { - - /** - * 用户Id。 - */ - @TableId(value = "user_id") - private Long userId; - - /** - * 登录用户名。 - */ - @TableField(value = "login_name") - private String loginName; - - /** - * 用户密码。 - */ - private String password; - - /** - * 用户显示名称。 - */ - @TableField(value = "show_name") - private String showName; - - /** - * 用户部门Id。 - */ - @TableField(value = "dept_id") - private Long deptId; - - /** - * 用户类型(0: 管理员 1: 系统管理用户 2: 系统业务用户)。 - */ - @TableField(value = "user_type") - private Integer userType; - - /** - * 用户头像的Url。 - */ - @UploadFlagColumn(storeType = UploadStoreTypeEnum.LOCAL_SYSTEM) - @TableField(value = "head_image_url") - private String headImageUrl; - - /** - * 用户状态(0: 正常 1: 锁定)。 - */ - @TableField(value = "user_status") - private Integer userStatus; - - /** - * 逻辑删除标记字段(1: 正常 -1: 已删除)。 - */ - @TableLogic - @TableField(value = "deleted_flag") - private Integer deletedFlag; - - /** - * createTime 范围过滤起始值(>=)。 - */ - @TableField(exist = false) - private String createTimeStart; - - /** - * createTime 范围过滤结束值(<=)。 - */ - @TableField(exist = false) - private String createTimeEnd; - - /** - * 多对多用户角色数据集合。 - */ - @RelationManyToMany( - relationMapperName = "sysUserRoleMapper", - relationMasterIdField = "userId", - relationModelClass = SysUserRole.class) - @TableField(exist = false) - private List sysUserRoleList; - - /** - * 多对多用户数据权限数据集合。 - */ - @RelationManyToMany( - relationMapperName = "sysDataPermUserMapper", - relationMasterIdField = "userId", - relationModelClass = SysDataPermUser.class) - @TableField(exist = false) - private List sysDataPermUserList; - - @RelationDict( - masterIdField = "deptId", - slaveServiceName = "sysDeptService", - slaveModelClass = SysDept.class, - slaveIdField = "deptId", - slaveNameField = "deptName") - @TableField(exist = false) - private Map deptIdDictMap; - - @RelationConstDict( - masterIdField = "userType", - constantDictClass = SysUserType.class) - @TableField(exist = false) - private Map userTypeDictMap; - - @RelationConstDict( - masterIdField = "userStatus", - constantDictClass = SysUserStatus.class) - @TableField(exist = false) - private Map userStatusDictMap; - - @Mapper - public interface SysUserModelMapper extends BaseModelMapper { - /** - * 转换Vo对象到实体对象。 - * - * @param sysUserVo 域对象。 - * @return 实体对象。 - */ - @Mapping(target = "sysUserRoleList", expression = "java(mapToBean(sysUserVo.getSysUserRoleList(), com.orangeforms.upmsservice.model.SysUserRole.class))") - @Mapping(target = "sysDataPermUserList", expression = "java(mapToBean(sysUserVo.getSysDataPermUserList(), com.orangeforms.upmsservice.model.SysDataPermUser.class))") - @Override - SysUser toModel(SysUserVo sysUserVo); - /** - * 转换实体对象到VO对象。 - * - * @param sysUser 实体对象。 - * @return 域对象。 - */ - @Mapping(target = "sysUserRoleList", expression = "java(beanToMap(sysUser.getSysUserRoleList(), false))") - @Mapping(target = "sysDataPermUserList", expression = "java(beanToMap(sysUser.getSysDataPermUserList(), false))") - @Override - SysUserVo fromModel(SysUser sysUser); - } - public static final SysUserModelMapper INSTANCE = Mappers.getMapper(SysUserModelMapper.class); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysUserRole.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysUserRole.java deleted file mode 100644 index c90a7318..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/model/SysUserRole.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.orangeforms.upmsservice.model; - -import com.baomidou.mybatisplus.annotation.*; -import lombok.Data; - -/** - * 用户角色实体对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@TableName(value = "zz_sys_user_role") -public class SysUserRole { - - /** - * 用户Id。 - */ - @TableField(value = "user_id") - private Long userId; - - /** - * 角色Id。 - */ - @TableField(value = "role_id") - private Long roleId; -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/SysDataPermService.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/SysDataPermService.java deleted file mode 100644 index 4bb6660d..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/SysDataPermService.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.orangeforms.upmsservice.service; - -import com.orangeforms.common.core.base.service.IBaseService; -import com.orangeforms.common.core.object.CallResult; -import com.orangeforms.upmsservice.model.*; - -import java.util.*; - -/** - * 数据权限数据服务接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface SysDataPermService extends IBaseService { - - /** - * 保存新增的数据权限对象。 - * - * @param dataPerm 新增的数据权限对象。 - * @param deptIdSet 关联的部门Id列表。 - * @return 新增后的数据权限对象。 - */ - SysDataPerm saveNew(SysDataPerm dataPerm, Set deptIdSet); - - /** - * 更新数据权限对象。 - * - * @param dataPerm 更新的数据权限对象。 - * @param originalDataPerm 原有的数据权限对象。 - * @param deptIdSet 关联的部门Id列表。 - * @return 更新成功返回true,否则false。 - */ - boolean update(SysDataPerm dataPerm, SysDataPerm originalDataPerm, Set deptIdSet); - - /** - * 删除指定数据权限。 - * - * @param dataPermId 数据权限主键Id。 - * @return 删除成功返回true,否则false。 - */ - boolean remove(Long dataPermId); - - /** - * 获取数据权限列表。 - * - * @param filter 数据权限过滤对象。 - * @param orderBy 排序参数。 - * @return 数据权限查询列表。 - */ - List getSysDataPermList(SysDataPerm filter, String orderBy); - - /** - * 将指定会话的数据权限集合从缓存中移除。 - * - * @param sessionId 会话Id。 - */ - void removeDataPermCache(String sessionId); - - /** - * 将指定用户的指定会话的数据权限集合存入缓存。 - * - * @param sessionId 会话Id。 - * @param userId 用户主键Id。 - * @param deptId 用户所属部门主键Id。 - * @return 查询并缓存后的数据权限集合。返回格式为,Map。 - */ - Map putDataPermCache(String sessionId, Long userId, Long deptId); - - /** - * 获取指定用户Id的数据权限列表。并基于权限规则类型进行了一级分组。 - * - * @param userId 指定的用户Id。 - * @param deptId 用户所属部门主键Id。 - * @return 合并优化后的数据权限列表。返回格式为,Map。 - */ - Map getSysDataPermListByUserId(Long userId, Long deptId); - - /** - * 添加用户和数据权限之间的多对多关联关系。 - * - * @param dataPermId 数据权限Id。 - * @param userIdSet 关联的用户Id列表。 - */ - void addDataPermUserList(Long dataPermId, Set userIdSet); - - /** - * 移除用户和数据权限之间的多对多关联关系。 - * - * @param dataPermId 数据权限主键Id。 - * @param userId 用户主键Id。 - * @return true移除成功,否则false。 - */ - boolean removeDataPermUser(Long dataPermId, Long userId); - - /** - * 验证数据权限对象关联菜单数据是否都合法。 - * - * @param dataPerm 与数据权限关联的菜单数据列表。 - * @param deptIdListString 与数据权限关联的部门Id列表。 - * @return 验证结果。 - */ - CallResult verifyRelatedData(SysDataPerm dataPerm, String deptIdListString); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/SysDeptService.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/SysDeptService.java deleted file mode 100644 index 214de2ee..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/SysDeptService.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.orangeforms.upmsservice.service; - -import com.orangeforms.upmsservice.model.*; -import com.orangeforms.common.core.base.service.IBaseService; - -import java.util.*; - -/** - * 部门管理数据操作服务接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface SysDeptService extends IBaseService { - - /** - * 保存新增的部门对象。 - * - * @param sysDept 新增的部门对象。 - * @param parentSysDept 上级部门对象。 - * @return 新增后的部门对象。 - */ - SysDept saveNew(SysDept sysDept, SysDept parentSysDept); - - /** - * 更新部门对象。 - * - * @param sysDept 更新的部门对象。 - * @param originalSysDept 原有的部门对象。 - * @return 更新成功返回true,否则false。 - */ - boolean update(SysDept sysDept, SysDept originalSysDept); - - /** - * 删除指定数据。 - * - * @param deptId 主键Id。 - * @return 成功返回true,否则false。 - */ - boolean remove(Long deptId); - - /** - * 获取单表查询结果。由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getSysDeptListWithRelation)方法。 - * - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - List getSysDeptList(SysDept filter, String orderBy); - - /** - * 获取主表的查询结果,查询条件中包括主表过滤对象和指定字段的(in list)过滤。 - * 由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getSysDeptListWithRelation)方法。 - * - * @param inFilterField (In-list)指定的字段(Java成员字段,而非数据列名)。 - * @param inFilterValues inFilterField指定字段的(In-list)数据列表。 - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - List getSysDeptList(String inFilterField, Set inFilterValues, SysDept filter, String orderBy); - - /** - * 获取主表的查询结果,以及主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 如果仅仅需要获取主表数据,请移步(getSysDeptList),以便获取更好的查询性能。 - * - * @param filter 主表过滤对象。 - * @param orderBy 排序对象。 - * @return 查询结果集。 - */ - List getSysDeptListWithRelation(SysDept filter, String orderBy); - - /** - * 获取主表的查询结果,查询条件中包括主表过滤对象和指定字段的(in list)过滤。 - * 同时还包含主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 如果仅仅需要获取主表数据,请移步(getSysDeptList),以便获取更好的查询性能。 - * - * @param inFilterField (In-list)指定的字段(Java成员字段,而非数据列名)。 - * @param inFilterValues inFilterField指定字段的(In-list)数据列表。 - * @param filter 主表过滤对象。 - * @param orderBy 排序对象。 - * @return 查询结果集。 - */ - List getSysDeptListWithRelation( - String inFilterField, Set inFilterValues, SysDept filter, String orderBy); - - /** - * 判断指定对象是否包含下级对象。 - * - * @param deptId 主键Id。 - * @return 存在返回true,否则false。 - */ - boolean hasChildren(Long deptId); - - /** - * 判断指定部门Id是否包含用户对象。 - * - * @param deptId 部门主键Id。 - * @return 存在返回true,否则false。 - */ - boolean hasChildrenUser(Long deptId); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/SysMenuService.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/SysMenuService.java deleted file mode 100644 index 13575c10..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/SysMenuService.java +++ /dev/null @@ -1,111 +0,0 @@ -package com.orangeforms.upmsservice.service; - -import com.orangeforms.common.core.base.service.IBaseService; -import com.orangeforms.common.core.object.CallResult; -import com.orangeforms.upmsservice.model.SysMenu; - -import java.util.*; - -/** - * 菜单数据服务接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface SysMenuService extends IBaseService { - - /** - * 保存新增的菜单对象。 - * - * @param sysMenu 新增的菜单对象。 - * @param permCodeIdSet 权限字Id列表。 - * @return 新增后的菜单对象。 - */ - SysMenu saveNew(SysMenu sysMenu, Set permCodeIdSet); - - /** - * 更新菜单对象。 - * - * @param sysMenu 更新的菜单对象。 - * @param originalSysMenu 原有的菜单对象。 - * @param permCodeIdSet 权限字Id列表。 - * @return 更新成功返回true,否则false。 - */ - boolean update(SysMenu sysMenu, SysMenu originalSysMenu, Set permCodeIdSet); - - /** - * 删除指定的菜单。 - * - * @param menu 菜单对象。 - * @return 删除成功返回true,否则false。 - */ - boolean remove(SysMenu menu); - - /** - * 获取全部菜单列表。 - * - * @return 全部菜单列表。 - */ - Collection getAllMenuList(); - - /** - * 获取指定用户Id的菜单列表,已去重。 - * - * @param userId 用户主键Id。 - * @return 用户关联的菜单列表。 - */ - Collection getMenuListByUserId(Long userId); - - /** - * 判断当前菜单是否存在子菜单。 - * - * @param menuId 菜单主键Id。 - * @return 存在返回true,否则false。 - */ - boolean hasChildren(Long menuId); - - /** - * 验证菜单对象关联的数据是否都合法。 - * - * @param sysMenu 当前操作的对象。 - * @param originalSysMenu 原有对象。 - * @param permCodeIdListString 逗号分隔的权限Id列表。 - * @return 验证结果。 - */ - CallResult verifyRelatedData(SysMenu sysMenu, SysMenu originalSysMenu, String permCodeIdListString); - - /** - * 查询菜单的权限资源地址列表。同时返回详细的分配路径。 - * - * @param menuId 菜单Id。 - * @param url 权限资源地址过滤条件。 - * @return 包含从菜单到权限资源的权限分配路径信息的查询结果列表。 - */ - List> getSysPermListWithDetail(Long menuId, String url); - - /** - * 查询菜单的用户列表。同时返回详细的分配路径。 - * - * @param menuId 菜单Id。 - * @param loginName 登录名。 - * @return 包含从菜单到用户的完整权限分配路径信息的查询结果列表。 - */ - List> getSysUserListWithDetail(Long menuId, String loginName); - - /** - * 获取指定类型的所有在线表单的菜单。 - * - * @param menuType 菜单类型,NULL则返回全部类型。 - * @return 在线表单关联的菜单列表。 - */ - List getAllOnlineMenuList(Integer menuType); - - /** - * 获取当前用户有权访问的在线表单菜单,仅返回类型为BUTTON的菜单。 - * - * @param userId 指定的用户。 - * @param menuType 菜单类型,NULL则返回全部类型。 - * @return 在线表单关联的菜单列表。 - */ - List getOnlineMenuListByUserId(Long userId, Integer menuType); -} \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/SysPermCodeService.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/SysPermCodeService.java deleted file mode 100644 index 29156a53..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/SysPermCodeService.java +++ /dev/null @@ -1,94 +0,0 @@ -package com.orangeforms.upmsservice.service; - -import com.orangeforms.common.core.base.service.IBaseService; -import com.orangeforms.common.core.object.CallResult; -import com.orangeforms.upmsservice.model.SysPermCode; - -import java.util.*; - -/** - * 权限字数据服务接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface SysPermCodeService extends IBaseService { - - /** - * 获取指定用户的权限字列表,已去重。 - * - * @param userId 用户主键Id。 - * @return 用户关联的权限字列表。 - */ - Collection getPermCodeListByUserId(Long userId); - - /** - * 获取所有权限字数据列表,已去重。 - * - * @return 全部权限字列表。 - */ - Collection getAllPermCodeList(); - - /** - * 保存新增的权限字对象。 - * - * @param sysPermCode 新增的权限字对象。 - * @param permIdSet 权限资源Id列表。 - * @return 新增后的权限字对象。 - */ - SysPermCode saveNew(SysPermCode sysPermCode, Set permIdSet); - - /** - * 更新权限字对象。 - * - * @param sysPermCode 更新的权限字对象。 - * @param originalSysPermCode 原有的权限字对象。 - * @param permIdSet 权限资源Id列表。 - * @return 更新成功返回true,否则false。 - */ - boolean update(SysPermCode sysPermCode, SysPermCode originalSysPermCode, Set permIdSet); - - /** - * 删除指定的权限字。 - * - * @param permCodeId 权限字主键Id。 - * @return 删除成功返回true,否则false。 - */ - boolean remove(Long permCodeId); - - /** - * 判断当前权限字是否存在下级权限字对象。 - * - * @param permCodeId 权限字主键Id。 - * @return 存在返回true,否则false。 - */ - boolean hasChildren(Long permCodeId); - - /** - * 验证权限字对象关联的数据是否都合法。 - * - * @param sysPermCode 当前操作的对象。 - * @param originalSysPermCode 原有对象。 - * @param permIdListString 逗号分隔的权限资源Id列表。 - * @return 验证结果。 - */ - CallResult verifyRelatedData(SysPermCode sysPermCode, SysPermCode originalSysPermCode, String permIdListString); - - /** - * 查询权限字的用户列表。同时返回详细的分配路径。 - * - * @param permCodeId 权限字Id。 - * @param loginName 登录名。 - * @return 包含从权限字到用户的完整权限分配路径信息的查询结果列表。 - */ - List> getSysUserListWithDetail(Long permCodeId, String loginName); - - /** - * 查询权限字的角色列表。同时返回详细的分配路径。 - * - * @param permCodeId 权限字Id。 - * @param roleName 角色名。 - * @return 包含从权限字到角色的权限分配路径信息的查询结果列表。 - */ - List> getSysRoleListWithDetail(Long permCodeId, String roleName); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/SysPermModuleService.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/SysPermModuleService.java deleted file mode 100644 index 7fba7160..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/SysPermModuleService.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.orangeforms.upmsservice.service; - -import com.orangeforms.common.core.base.service.IBaseService; -import com.orangeforms.upmsservice.model.SysPermModule; - -import java.util.*; - -/** - * 权限资源模块数据服务接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface SysPermModuleService extends IBaseService { - - /** - * 保存新增的权限资源模块对象。 - * - * @param sysPermModule 新增的权限资源模块对象。 - * @return 新增后的权限资源模块对象。 - */ - SysPermModule saveNew(SysPermModule sysPermModule); - - /** - * 更新权限资源模块对象。 - * - * @param sysPermModule 更新的权限资源模块对象。 - * @param originalSysPermModule 原有的权限资源模块对象。 - * @return 更新成功返回true,否则false - */ - boolean update(SysPermModule sysPermModule, SysPermModule originalSysPermModule); - - /** - * 删除指定的权限资源模块。 - * - * @param moduleId 权限资源模块主键Id。 - * @return 删除成功返回true,否则false。 - */ - boolean remove(Long moduleId); - - /** - * 获取权限模块资源及其关联的权限资源列表。 - * - * @return 权限资源模块及其关联的权限资源列表。 - */ - List getPermModuleAndPermList(); - - /** - * 判断是否存在下级权限资源模块。 - * - * @param moduleId 权限资源模块主键Id。 - * @return 存在返回true,否则false。 - */ - boolean hasChildren(Long moduleId); - - /** - * 判断是否存在权限数据。 - * - * @param moduleId 权限资源模块主键Id。 - * @return 存在返回true,否则false。 - */ - boolean hasModulePerms(Long moduleId); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/SysPermService.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/SysPermService.java deleted file mode 100644 index 09f3420e..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/SysPermService.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.orangeforms.upmsservice.service; - -import com.orangeforms.common.core.base.service.IBaseService; -import com.orangeforms.upmsservice.model.SysPerm; - -import java.util.*; - -/** - * 权限资源数据服务接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface SysPermService extends IBaseService { - - /** - * 保存新增的权限资源对象。 - * - * @param perm 新增的权限资源对象。 - * @return 新增后的权限资源对象。 - */ - SysPerm saveNew(SysPerm perm); - - /** - * 更新权限资源对象。 - * - * @param perm 更新的权限资源对象。 - * @param originalPerm 原有的权限资源对象。 - * @return 更新成功返回true,否则false。 - */ - boolean update(SysPerm perm, SysPerm originalPerm); - - /** - * 删除权限资源。 - * - * @param permId 权限资源主键Id。 - * @return 删除成功返回true,否则false。 - */ - boolean remove(Long permId); - - /** - * 获取权限数据列表。 - * - * @param sysPermFilter 过滤对象。 - * @return 权限列表。 - */ - List getPermListWithRelation(SysPerm sysPermFilter); - - /** - * 获取与指定用户关联的权限资源列表,已去重。 - * - * @param userId 关联的用户主键Id。 - * @return 与指定用户Id关联的权限资源URL列表。 - */ - Collection getPermListByUserId(Long userId); - - /** - * 查询权限资源地址的用户列表。同时返回详细的分配路径。 - * - * @param permId 权限资源Id。 - * @param loginName 登录名。 - * @return 包含从权限资源到用户的完整权限分配路径信息的查询结果列表。 - */ - List> getSysUserListWithDetail(Long permId, String loginName); - - /** - * 查询权限资源地址的角色列表。同时返回详细的分配路径。 - * - * @param permId 权限资源Id。 - * @param roleName 角色名。 - * @return 包含从权限资源到角色的权限分配路径信息的查询结果列表。 - */ - List> getSysRoleListWithDetail(Long permId, String roleName); - - /** - * 查询权限资源地址的菜单列表。同时返回详细的分配路径。 - * - * @param permId 权限资源Id。 - * @param menuName 菜单名。 - * @return 包含从权限资源到菜单的权限分配路径信息的查询结果列表。 - */ - List> getSysMenuListWithDetail(Long permId, String menuName); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/SysPermWhitelistService.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/SysPermWhitelistService.java deleted file mode 100644 index 9462646f..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/SysPermWhitelistService.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.orangeforms.upmsservice.service; - -import com.orangeforms.common.core.base.service.IBaseService; -import com.orangeforms.upmsservice.model.SysPermWhitelist; - -import java.util.List; - -/** - * 白名单数据服务接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface SysPermWhitelistService extends IBaseService { - - /** - * 获取白名单权限资源的列表。 - * - * @return 白名单权限资源地址列表。 - */ - List getWhitelistPermList(); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/SysRoleService.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/SysRoleService.java deleted file mode 100644 index e4a4b898..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/SysRoleService.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.orangeforms.upmsservice.service; - -import com.orangeforms.common.core.base.service.IBaseService; -import com.orangeforms.common.core.object.CallResult; -import com.orangeforms.upmsservice.model.SysRole; -import com.orangeforms.upmsservice.model.SysUserRole; - -import java.util.*; - -/** - * 角色数据服务接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface SysRoleService extends IBaseService { - - /** - * 保存新增的角色对象。 - * - * @param role 新增的角色对象。 - * @param menuIdSet 菜单Id列表。 - * @return 新增后的角色对象。 - */ - SysRole saveNew(SysRole role, Set menuIdSet); - - /** - * 更新角色对象。 - * - * @param role 更新的角色对象。 - * @param originalRole 原有的角色对象。 - * @param menuIdSet 菜单Id列表。 - * @return 更新成功返回true,否则false。 - */ - boolean update(SysRole role, SysRole originalRole, Set menuIdSet); - - /** - * 删除指定角色。 - * - * @param roleId 角色主键Id。 - * @return 删除成功返回true,否则false。 - */ - boolean remove(Long roleId); - - /** - * 获取用户的用户角色对象列表。 - * - * @param userId 用户Id。 - * @return 用户角色对象列表。 - */ - List getSysUserRoleListByUserId(Long userId); - - /** - * 获取角色列表。 - * - * @param filter 角色过滤对象。 - * @param orderBy 排序参数。 - * @return 角色列表。 - */ - List getSysRoleList(SysRole filter, String orderBy); - - /** - * 批量新增用户角色关联。 - * - * @param userRoleList 用户角色关系数据列表。 - */ - void addUserRoleList(List userRoleList); - - /** - * 移除指定用户和指定角色的关联关系。 - * - * @param roleId 角色主键Id。 - * @param userId 用户主键Id。 - * @return 移除成功返回true,否则false。 - */ - boolean removeUserRole(Long roleId, Long userId); - - /** - * 验证角色对象关联的数据是否都合法。 - * - * @param sysRole 当前操作的对象。 - * @param originalSysRole 原有对象。 - * @param menuIdListString 逗号分隔的menuId列表。 - * @return 验证结果。 - */ - CallResult verifyRelatedData(SysRole sysRole, SysRole originalSysRole, String menuIdListString); - - /** - * 查询角色的权限资源地址列表。同时返回详细的分配路径。 - * - * @param roleId 角色Id。 - * @param url url过滤条件。 - * @return 包含从角色到权限资源的完整权限分配路径信息的查询结果列表。 - */ - List> getSysPermListWithDetail(Long roleId, String url); - - /** - * 查询角色的权限字列表。同时返回详细的分配路径。 - * - * @param roleId 角色Id。 - * @param permCode 权限字名称过滤条件。 - * @return 包含从角色到权限字的权限分配路径信息的查询结果列表。 - */ - List> getSysPermCodeListWithDetail(Long roleId, String permCode); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/SysUserService.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/SysUserService.java deleted file mode 100644 index 033a9544..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/SysUserService.java +++ /dev/null @@ -1,197 +0,0 @@ -package com.orangeforms.upmsservice.service; - -import com.orangeforms.upmsservice.model.*; -import com.orangeforms.common.core.object.CallResult; -import com.orangeforms.common.core.base.service.IBaseService; - -import java.util.*; - -/** - * 用户管理数据操作服务接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface SysUserService extends IBaseService { - - /** - * 获取指定登录名的用户对象。 - * - * @param loginName 指定登录用户名。 - * @return 用户对象。 - */ - SysUser getSysUserByLoginName(String loginName); - - /** - * 保存新增的用户对象。 - * - * @param user 新增的用户对象。 - * @param roleIdSet 用户角色Id集合。 - * @param dataPermIdSet 数据权限Id集合。 - * @return 新增后的用户对象。 - */ - SysUser saveNew(SysUser user, Set roleIdSet, Set dataPermIdSet); - - /** - * 更新用户对象。 - * - * @param user 更新的用户对象。 - * @param originalUser 原有的用户对象。 - * @param roleIdSet 用户角色Id列表。 - * @param dataPermIdSet 数据权限Id集合。 - * @return 更新成功返回true,否则false。 - */ - boolean update(SysUser user, SysUser originalUser, Set roleIdSet, Set dataPermIdSet); - - /** - * 修改用户密码。 - * @param userId 用户主键Id。 - * @param newPass 新密码。 - * @return 成功返回true,否则false。 - */ - boolean changePassword(Long userId, String newPass); - - /** - * 修改用户头像。 - * - * @param userId 用户主键Id。 - * @param newHeadImage 新的头像信息。 - * @return 成功返回true,否则false。 - */ - boolean changeHeadImage(Long userId, String newHeadImage); - - /** - * 删除指定数据。 - * - * @param userId 主键Id。 - * @return 成功返回true,否则false。 - */ - boolean remove(Long userId); - - /** - * 获取单表查询结果。由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getSysUserListWithRelation)方法。 - * - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - List getSysUserList(SysUser filter, String orderBy); - - /** - * 获取主表的查询结果,查询条件中包括主表过滤对象和指定字段的(in list)过滤。 - * 由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getSysUserListWithRelation)方法。 - * - * @param inFilterField (In-list)指定的字段(Java成员字段,而非数据列名)。 - * @param inFilterValues inFilterField指定字段的(In-list)数据列表。 - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - List getSysUserList(String inFilterField, Set inFilterValues, SysUser filter, String orderBy); - - /** - * 获取主表的查询结果,以及主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 如果仅仅需要获取主表数据,请移步(getSysUserList),以便获取更好的查询性能。 - * - * @param filter 主表过滤对象。 - * @param orderBy 排序对象。 - * @return 查询结果集。 - */ - List getSysUserListWithRelation(SysUser filter, String orderBy); - - /** - * 获取主表的查询结果,查询条件中包括主表过滤对象和指定字段的(in list)过滤。 - * 同时还包含主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 如果仅仅需要获取主表数据,请移步(getSysUserList),以便获取更好的查询性能。 - * - * @param inFilterField (In-list)指定的字段(Java成员字段,而非数据列名)。 - * @param inFilterValues inFilterField指定字段的(In-list)数据列表。 - * @param filter 主表过滤对象。 - * @param orderBy 排序对象。 - * @return 查询结果集。 - */ - List getSysUserListWithRelation( - String inFilterField, Set inFilterValues, SysUser filter, String orderBy); - - /** - * 获取指定角色的用户列表。 - * - * @param roleId 角色主键Id。 - * @param filter 用户过滤对象。 - * @param orderBy 排序参数。 - * @return 用户列表。 - */ - List getSysUserListByRoleId(Long roleId, SysUser filter, String orderBy); - - /** - * 获取不属于指定角色的用户列表。 - * - * @param roleId 角色主键Id。 - * @param filter 用户过滤对象。 - * @param orderBy 排序参数。 - * @return 用户列表。 - */ - List getNotInSysUserListByRoleId(Long roleId, SysUser filter, String orderBy); - - /** - * 获取指定数据权限的用户列表。 - * - * @param dataPermId 数据权限主键Id。 - * @param filter 用户过滤对象。 - * @param orderBy 排序参数。 - * @return 用户列表。 - */ - List getSysUserListByDataPermId(Long dataPermId, SysUser filter, String orderBy); - - /** - * 获取不属于指定数据权限的用户列表。 - * - * @param dataPermId 数据权限主键Id。 - * @param filter 用户过滤对象。 - * @param orderBy 排序参数。 - * @return 用户列表。 - */ - List getNotInSysUserListByDataPermId(Long dataPermId, SysUser filter, String orderBy); - - - /** - * 查询用户的权限资源地址列表。同时返回详细的分配路径。 - * - * @param userId 用户Id。 - * @param url url过滤条件。 - * @return 包含从用户到权限资源的完整权限分配路径信息的查询结果列表。 - */ - List> getSysPermListWithDetail(Long userId, String url); - - /** - * 查询用户的权限字列表。同时返回详细的分配路径。 - * - * @param userId 用户Id。 - * @param permCode 权限字名称过滤条件。 - * @return 包含从用户到权限字的权限分配路径信息的查询结果列表。 - */ - List> getSysPermCodeListWithDetail(Long userId, String permCode); - - /** - * 查询用户的菜单列表。同时返回详细的分配路径。 - * - * @param userId 用户Id。 - * @param menuName 菜单名称过滤条件。 - * @return 包含从用户到菜单的权限分配路径信息的查询结果列表。 - */ - List> getSysMenuListWithDetail(Long userId, String menuName); - - /** - * 验证用户对象关联的数据是否都合法。 - * - * @param sysUser 当前操作的对象。 - * @param originalSysUser 原有对象。 - * @param roleIds 逗号分隔的角色Id列表字符串。 - * @param dataPermIds 逗号分隔的数据权限Id列表字符串。 - * @return 验证结果。 - */ - CallResult verifyRelatedData( - SysUser sysUser, SysUser originalSysUser, String roleIds, String dataPermIds); -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/impl/SysDataPermServiceImpl.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/impl/SysDataPermServiceImpl.java deleted file mode 100644 index fdc10e1e..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/impl/SysDataPermServiceImpl.java +++ /dev/null @@ -1,334 +0,0 @@ -package com.orangeforms.upmsservice.service.impl; - -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; -import com.orangeforms.common.core.base.service.BaseService; -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.common.core.object.CallResult; -import com.orangeforms.common.core.util.MyModelUtil; -import com.orangeforms.common.core.util.RedisKeyUtil; -import com.orangeforms.common.sequence.wrapper.IdGeneratorWrapper; -import com.orangeforms.common.datafilter.constant.DataPermRuleType; -import com.orangeforms.upmsservice.dao.SysDataPermDeptMapper; -import com.orangeforms.upmsservice.dao.SysDataPermMapper; -import com.orangeforms.upmsservice.dao.SysDataPermUserMapper; -import com.orangeforms.upmsservice.service.SysDataPermService; -import com.orangeforms.upmsservice.service.SysDeptService; -import com.orangeforms.upmsservice.model.*; -import com.orangeforms.upmsservice.config.ApplicationConfig; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.collections4.CollectionUtils; -import org.redisson.api.RBucket; -import org.redisson.api.RedissonClient; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.*; -import java.util.concurrent.TimeUnit; -import java.util.stream.Collectors; - -/** - * 数据权限数据服务类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -@Service("sysDataPermService") -public class SysDataPermServiceImpl extends BaseService implements SysDataPermService { - - @Autowired - private SysDataPermMapper sysDataPermMapper; - @Autowired - private SysDataPermDeptMapper sysDataPermDeptMapper; - @Autowired - private SysDataPermUserMapper sysDataPermUserMapper; - @Autowired - private SysDeptService sysDeptService; - @Autowired - private RedissonClient redissonClient; - @Autowired - private ApplicationConfig applicationConfig; - @Autowired - private IdGeneratorWrapper idGenerator; - - /** - * 返回主对象的Mapper对象。 - * - * @return 主对象的Mapper对象。 - */ - @Override - protected BaseDaoMapper mapper() { - return sysDataPermMapper; - } - - /** - * 保存新增的数据权限对象。 - * - * @param dataPerm 新增的数据权限对象。 - * @param deptIdSet 关联的部门Id列表。 - * @return 新增后的数据权限对象。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public SysDataPerm saveNew(SysDataPerm dataPerm, Set deptIdSet) { - dataPerm.setDataPermId(idGenerator.nextLongId()); - MyModelUtil.fillCommonsForInsert(dataPerm); - sysDataPermMapper.insert(dataPerm); - this.insertRelationData(dataPerm, deptIdSet); - return dataPerm; - } - - /** - * 更新数据权限对象。 - * - * @param dataPerm 更新的数据权限对象。 - * @param originalDataPerm 原有的数据权限对象。 - * @param deptIdSet 关联的部门Id列表。 - * @return 更新成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public boolean update(SysDataPerm dataPerm, SysDataPerm originalDataPerm, Set deptIdSet) { - MyModelUtil.fillCommonsForUpdate(dataPerm, originalDataPerm); - UpdateWrapper uw = this.createUpdateQueryForNullValue(dataPerm, dataPerm.getDataPermId()); - if (sysDataPermMapper.update(dataPerm, uw) != 1) { - return false; - } - SysDataPermDept dataPermDept = new SysDataPermDept(); - dataPermDept.setDataPermId(dataPerm.getDataPermId()); - sysDataPermDeptMapper.delete(new QueryWrapper<>(dataPermDept)); - this.insertRelationData(dataPerm, deptIdSet); - return true; - } - - /** - * 删除指定数据权限。 - * - * @param dataPermId 数据权限主键Id。 - * @return 删除成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public boolean remove(Long dataPermId) { - if (sysDataPermMapper.deleteById(dataPermId) != 1) { - return false; - } - SysDataPermDept dataPermDept = new SysDataPermDept(); - dataPermDept.setDataPermId(dataPermId); - sysDataPermDeptMapper.delete(new QueryWrapper<>(dataPermDept)); - SysDataPermUser dataPermUser = new SysDataPermUser(); - dataPermUser.setDataPermId(dataPermId); - sysDataPermUserMapper.delete(new QueryWrapper<>(dataPermUser)); - return true; - } - - /** - * 获取数据权限列表。 - * - * @param filter 数据权限过滤对象。 - * @param orderBy 排序参数。 - * @return 数据权限查询列表。 - */ - @Override - public List getSysDataPermList(SysDataPerm filter, String orderBy) { - return sysDataPermMapper.getSysDataPermList(filter, orderBy); - } - - /** - * 将指定会话的数据权限集合从缓存中移除。 - * - * @param sessionId 会话Id。 - */ - @Override - public void removeDataPermCache(String sessionId) { - String sessionPermKey = RedisKeyUtil.makeSessionDataPermIdKey(sessionId); - redissonClient.getBucket(sessionPermKey).deleteAsync(); - } - - /** - * 将指定用户的指定会话的数据权限集合存入缓存。 - * - * @param sessionId 会话Id。 - * @param userId 用户主键Id。 - * @param deptId 用户所属部门主键Id。 - * @return 查询并缓存后的数据权限集合。返回格式为,Map。 - */ - @Override - public Map putDataPermCache(String sessionId, Long userId, Long deptId) { - Map dataPermMap = this.getSysDataPermListByUserId(userId, deptId); - if (dataPermMap.size() > 0) { - String dataPermSessionKey = RedisKeyUtil.makeSessionDataPermIdKey(sessionId); - RBucket bucket = redissonClient.getBucket(dataPermSessionKey); - bucket.set(JSON.toJSONString(dataPermMap), - applicationConfig.getDataPermExpiredSeconds(), TimeUnit.SECONDS); - } - return dataPermMap; - } - - /** - * 获取指定用户Id的数据权限列表。并基于权限规则类型进行了一级分组。 - * - * @param userId 指定的用户Id。 - * @param deptId 用户所属部门主键Id。 - * @return 合并优化后的数据权限列表。返回格式为,Map。 - */ - @Override - public Map getSysDataPermListByUserId(Long userId, Long deptId) { - List dataPermList = sysDataPermMapper.getSysDataPermListByUserId(userId); - dataPermList.forEach(dataPerm -> { - if (CollectionUtils.isNotEmpty(dataPerm.getDataPermDeptList())) { - Set deptIdSet = dataPerm.getDataPermDeptList().stream() - .map(SysDataPermDept::getDeptId).collect(Collectors.toSet()); - dataPerm.setDeptIdListString(StringUtils.join(deptIdSet, ",")); - } - }); - // 为了更方便进行后续的合并优化处理,这里再基于规则类型进行分组。ruleMap的key是规则类型。 - Map> ruleMap = - dataPermList.stream().collect(Collectors.groupingBy(SysDataPerm::getRuleType)); - Map resultMap = new HashMap<>(ruleMap.size()); - // 如有有ALL存在,就可以直接退出了,没有必要在处理后续的规则了。 - if (ruleMap.containsKey(DataPermRuleType.TYPE_ALL)) { - resultMap.put(DataPermRuleType.TYPE_ALL, "null"); - return resultMap; - } - // 这里优先合并最复杂的多部门及子部门场景。 - String deptIds = processMultiDeptAndChildren(ruleMap, deptId); - if (deptIds != null) { - resultMap.put(DataPermRuleType.TYPE_MULTI_DEPT_AND_CHILD_DEPT, deptIds); - } - // 合并当前部门及子部门的优化 - if (ruleMap.get(DataPermRuleType.TYPE_DEPT_AND_CHILD_DEPT) != null) { - // 需要与仅仅当前部门规则进行合并。 - ruleMap.remove(DataPermRuleType.TYPE_DEPT_ONLY); - resultMap.put(DataPermRuleType.TYPE_DEPT_AND_CHILD_DEPT, "null"); - } - // 合并自定义部门了。 - deptIds = processMultiDept(ruleMap, deptId); - if (deptIds != null) { - resultMap.put(DataPermRuleType.TYPE_CUSTOM_DEPT_LIST, deptIds); - } - // 最后处理当前部门和当前用户。 - if (ruleMap.get(DataPermRuleType.TYPE_DEPT_ONLY) != null) { - resultMap.put(DataPermRuleType.TYPE_DEPT_ONLY, "null"); - } - if (ruleMap.get(DataPermRuleType.TYPE_USER_ONLY) != null) { - resultMap.put(DataPermRuleType.TYPE_USER_ONLY, "null"); - } - return resultMap; - } - - private String processMultiDeptAndChildren(Map> ruleMap, Long deptId) { - List parentDeptList = ruleMap.get(DataPermRuleType.TYPE_MULTI_DEPT_AND_CHILD_DEPT); - if (parentDeptList == null) { - return null; - } - Set deptIdSet = new HashSet<>(); - for (SysDataPerm parentDept : parentDeptList) { - deptIdSet.addAll(Arrays.stream(StringUtils.split( - parentDept.getDeptIdListString(), ",")).map(Long::valueOf).collect(Collectors.toSet())); - } - // 在合并所有的多父部门Id之后,需要判断是否有本部门及子部门的规则。如果有,就继续合并。 - if (ruleMap.containsKey(DataPermRuleType.TYPE_DEPT_AND_CHILD_DEPT)) { - // 如果多父部门列表中包含当前部门,那么可以直接删除该规则了,如果没包含,就加入到多部门的DEPT_ID的IN LIST中。 - deptIdSet.add(deptId); - ruleMap.remove(DataPermRuleType.TYPE_DEPT_AND_CHILD_DEPT); - } - // 需要与仅仅当前部门规则进行合并。 - if (ruleMap.containsKey(DataPermRuleType.TYPE_DEPT_ONLY)) { - if (deptIdSet.contains(deptId)) { - ruleMap.remove(DataPermRuleType.TYPE_DEPT_ONLY); - } - } - return StringUtils.join(deptIdSet, ','); - } - - private String processMultiDept(Map> ruleMap, Long deptId) { - List customDeptList = ruleMap.get(DataPermRuleType.TYPE_CUSTOM_DEPT_LIST); - if (customDeptList == null) { - return null; - } - Set deptIdSet = new HashSet<>(); - for (SysDataPerm customDept : customDeptList) { - deptIdSet.addAll(Arrays.stream(StringUtils.split( - customDept.getDeptIdListString(), ",")).map(Long::valueOf).collect(Collectors.toSet())); - } - if (ruleMap.containsKey(DataPermRuleType.TYPE_DEPT_ONLY)) { - deptIdSet.add(deptId); - ruleMap.remove(DataPermRuleType.TYPE_DEPT_ONLY); - } - return StringUtils.join(deptIdSet, ','); - } - - /** - * 添加用户和数据权限之间的多对多关联关系。 - * - * @param dataPermId 数据权限Id。 - * @param userIdSet 关联的用户Id列表。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public void addDataPermUserList(Long dataPermId, Set userIdSet) { - for (Long userId : userIdSet) { - SysDataPermUser dataPermUser = new SysDataPermUser(); - dataPermUser.setDataPermId(dataPermId); - dataPermUser.setUserId(userId); - sysDataPermUserMapper.insert(dataPermUser); - } - } - - /** - * 移除用户和数据权限之间的多对多关联关系。 - * - * @param dataPermId 数据权限主键Id。 - * @param userId 用户主键Id。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public boolean removeDataPermUser(Long dataPermId, Long userId) { - SysDataPermUser dataPermUser = new SysDataPermUser(); - dataPermUser.setDataPermId(dataPermId); - dataPermUser.setUserId(userId); - return sysDataPermUserMapper.delete(new QueryWrapper<>(dataPermUser)) == 1; - } - - /** - * 验证数据权限对象关联菜单数据是否都合法。 - * - * @param dataPerm 与数据权限关联的菜单数据列表。 - * @param deptIdListString 与数据权限关联的部门Id列表。 - * @return 验证结果。 - */ - @Override - public CallResult verifyRelatedData(SysDataPerm dataPerm, String deptIdListString) { - JSONObject jsonObject = new JSONObject(); - if (dataPerm.getRuleType() == DataPermRuleType.TYPE_MULTI_DEPT_AND_CHILD_DEPT - || dataPerm.getRuleType() == DataPermRuleType.TYPE_CUSTOM_DEPT_LIST) { - if (StringUtils.isBlank(deptIdListString)) { - return CallResult.error("数据验证失败,部门列表不能为空!"); - } - Set deptIdSet = Arrays.stream(StringUtils.split( - deptIdListString, ",")).map(Long::valueOf).collect(Collectors.toSet()); - if (!sysDeptService.existAllPrimaryKeys(deptIdSet)) { - return CallResult.error("数据验证失败,存在不合法的部门数据,请刷新后重试!"); - } - jsonObject.put("deptIdSet", deptIdSet); - } - return CallResult.ok(jsonObject); - } - - private void insertRelationData(SysDataPerm dataPerm, Set deptIdSet) { - if (CollectionUtils.isNotEmpty(deptIdSet)) { - for (Long deptId : deptIdSet) { - SysDataPermDept dataPermDept = new SysDataPermDept(); - dataPermDept.setDataPermId(dataPerm.getDataPermId()); - dataPermDept.setDeptId(deptId); - sysDataPermDeptMapper.insert(dataPermDept); - } - } - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/impl/SysDeptServiceImpl.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/impl/SysDeptServiceImpl.java deleted file mode 100644 index db0468cd..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/impl/SysDeptServiceImpl.java +++ /dev/null @@ -1,279 +0,0 @@ -package com.orangeforms.upmsservice.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.*; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; -import com.orangeforms.upmsservice.service.*; -import com.orangeforms.upmsservice.dao.*; -import com.orangeforms.upmsservice.model.*; -import com.orangeforms.common.core.util.*; -import com.orangeforms.common.core.object.MyRelationParam; -import com.orangeforms.common.core.constant.GlobalDeletedFlag; -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.common.core.base.service.BaseService; -import com.orangeforms.common.sequence.wrapper.IdGeneratorWrapper; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.ObjectUtils; -import com.github.pagehelper.Page; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.*; - -/** - * 部门管理数据操作服务类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -@Service("sysDeptService") -public class SysDeptServiceImpl extends BaseService implements SysDeptService { - - @Autowired - private SysDeptMapper sysDeptMapper; - @Autowired - private SysDeptRelationMapper sysDeptRelationMapper; - @Autowired - private SysUserService sysUserService; - @Autowired - private SysDataPermDeptMapper sysDataPermDeptMapper; - @Autowired - private IdGeneratorWrapper idGenerator; - - /** - * 返回当前Service的主表Mapper对象。 - * - * @return 主表Mapper对象。 - */ - @Override - protected BaseDaoMapper mapper() { - return sysDeptMapper; - } - - /** - * 保存新增的部门对象。 - * - * @param sysDept 新增的部门对象。 - * @param parentSysDept 上级部门对象。 - * @return 新增后的部门对象。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public SysDept saveNew(SysDept sysDept, SysDept parentSysDept) { - sysDept.setDeptId(idGenerator.nextLongId()); - sysDept.setDeletedFlag(GlobalDeletedFlag.NORMAL); - MyModelUtil.fillCommonsForInsert(sysDept); - sysDeptMapper.insert(sysDept); - // 同步插入部门关联关系数据 - if (parentSysDept == null) { - sysDeptRelationMapper.insert(new SysDeptRelation(sysDept.getDeptId(), sysDept.getDeptId())); - } else { - sysDeptRelationMapper.insertParentList(parentSysDept.getDeptId(), sysDept.getDeptId()); - } - return sysDept; - } - - /** - * 更新部门对象。 - * - * @param sysDept 更新的部门对象。 - * @param originalSysDept 原有的部门对象。 - * @return 更新成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public boolean update(SysDept sysDept, SysDept originalSysDept) { - MyModelUtil.fillCommonsForUpdate(sysDept, originalSysDept); - UpdateWrapper uw = this.createUpdateQueryForNullValue(sysDept, sysDept.getDeptId()); - if (sysDeptMapper.update(sysDept, uw) == 0) { - return false; - } - if (ObjectUtils.notEqual(sysDept.getParentId(), originalSysDept.getParentId())) { - this.updateParentRelation(sysDept, originalSysDept); - } - return true; - } - - private void updateParentRelation(SysDept sysDept, SysDept originalSysDept) { - // 1. 在删除当前部门与原有父部门的关联关系之前,先将原有的所有父部门Id缓存。 - List originalParentIdList = new LinkedList<>(); - if (originalSysDept.getParentId() != null) { - SysDept originalParentDept = getById(originalSysDept.getParentId()); - while (originalParentDept != null) { - originalParentIdList.add(originalParentDept.getDeptId()); - if (originalParentDept.getParentId() == null) { - break; - } - originalParentDept = getById(originalParentDept.getParentId()); - } - } - // 删除其子部门与其原有父部门之间的关联关系。 - for (Long parentDeptId : originalParentIdList) { - sysDeptRelationMapper.removeBetweenChildrenAndParents(parentDeptId, sysDept.getDeptId()); - } - // 2. 将当前部门与原有的父部门列表解除关系。 - SysDeptRelation filter = new SysDeptRelation(); - filter.setDeptId(sysDept.getDeptId()); - sysDeptRelationMapper.delete(new QueryWrapper<>(filter)); - // 3. 将当前部门和新的父部门列表建立关联关系。 - // 在插入与新父部门的关联关系 - List deptRelationList = new LinkedList<>(); - // 先插入自己和自己的关系。 - deptRelationList.add(new SysDeptRelation(sysDept.getDeptId(), sysDept.getDeptId())); - SysDept parentSysDept = null; - if (sysDept.getParentId() != null) { - parentSysDept = getById(sysDept.getParentId()); - } - List newParentIdList = new LinkedList<>(); - // 再插入直接父部门,以及父部门的父部门,并向上以此类推。 - while (parentSysDept != null) { - newParentIdList.add(parentSysDept.getDeptId()); - deptRelationList.add( - new SysDeptRelation(parentSysDept.getDeptId(), sysDept.getDeptId())); - if (parentSysDept.getParentId() == null) { - break; - } - parentSysDept = getById(parentSysDept.getParentId()); - } - sysDeptRelationMapper.insertList(deptRelationList); - // 4. 将当前部门的子部门与其新的父部门建立关联关系 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq(MyModelUtil.mapToColumnName("parentDeptId", SysDeptRelation.class), sysDept.getDeptId()); - queryWrapper.ne(MyModelUtil.mapToColumnName("deptId", SysDeptRelation.class), sysDept.getDeptId()); - List childRelationList = sysDeptRelationMapper.selectList(queryWrapper); - List newChildrenAndParentList = new LinkedList<>(); - for (Long newParentId : newParentIdList) { - for (SysDeptRelation childDeptRelation : childRelationList) { - newChildrenAndParentList.add(new SysDeptRelation(newParentId, childDeptRelation.getDeptId())); - } - } - if (CollectionUtils.isNotEmpty(newChildrenAndParentList)) { - sysDeptRelationMapper.insertList(newChildrenAndParentList); - } - } - - /** - * 删除指定数据。 - * - * @param deptId 主键Id。 - * @return 成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public boolean remove(Long deptId) { - if (sysDeptMapper.deleteById(deptId) == 0) { - return false; - } - // 这里删除当前部门及其父部门的关联关系。 - // 当前部门和子部门的关系无需在这里删除,因为包含子部门时不能删除父部门。 - SysDeptRelation deptRelation = new SysDeptRelation(); - deptRelation.setDeptId(deptId); - sysDeptRelationMapper.delete(new QueryWrapper<>(deptRelation)); - SysDataPermDept dataPermDept = new SysDataPermDept(); - dataPermDept.setDeptId(deptId); - sysDataPermDeptMapper.delete(new QueryWrapper<>(dataPermDept)); - return true; - } - - /** - * 获取单表查询结果。由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getSysDeptListWithRelation)方法。 - * - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - @Override - public List getSysDeptList(SysDept filter, String orderBy) { - return sysDeptMapper.getSysDeptList(null, null, filter, orderBy); - } - - /** - * 获取主表的查询结果,查询条件中包括主表过滤对象和指定字段的(in list)过滤。 - * 由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getSysDeptListWithRelation)方法。 - * - * @param inFilterField (In-list)指定的字段(Java成员字段,而非数据列名)。 - * @param inFilterValues inFilterField指定字段的(In-list)数据列表。 - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - @Override - public List getSysDeptList( - String inFilterField, Set inFilterValues, SysDept filter, String orderBy) { - String inFilterColumn = MyModelUtil.mapToColumnName(inFilterField, SysDept.class); - return sysDeptMapper.getSysDeptList(inFilterColumn, inFilterValues, filter, orderBy); - } - - /** - * 获取主表的查询结果,以及主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 该查询会涉及到一对一从表的关联过滤,或一对多从表的嵌套关联过滤,因此性能不如单表过滤。 - * 如果仅仅需要获取主表数据,请移步(getSysDeptList),以便获取更好的查询性能。 - * - * @param filter 主表过滤对象。 - * @param orderBy 排序对象。 - * @return 查询结果集。 - */ - @Override - public List getSysDeptListWithRelation(SysDept filter, String orderBy) { - List resultList = sysDeptMapper.getSysDeptList(null, null, filter, orderBy); - // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 - // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 - int batchSize = resultList instanceof Page ? 0 : 1000; - this.buildRelationForDataList(resultList, MyRelationParam.normal(), batchSize); - return resultList; - } - - /** - * 获取主表的查询结果,查询条件中包括主表过滤对象和指定字段的(in list)过滤。 - * 同时还包含主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 如果仅仅需要获取主表数据,请移步(getSysDeptList),以便获取更好的查询性能。 - * - * @param inFilterField (In-list)指定的字段(Java成员字段,而非数据列名)。 - * @param inFilterValues inFilterField指定字段的(In-list)数据列表。 - * @param filter 主表过滤对象。 - * @param orderBy 排序对象。 - * @return 查询结果集。 - */ - @Override - public List getSysDeptListWithRelation( - String inFilterField, Set inFilterValues, SysDept filter, String orderBy) { - String inFilterColumn = MyModelUtil.mapToColumnName(inFilterField, SysDept.class); - List resultList = - sysDeptMapper.getSysDeptList(inFilterColumn, inFilterValues, filter, orderBy); - // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 - // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 - int batchSize = resultList instanceof Page ? 0 : 1000; - this.buildRelationForDataList(resultList, MyRelationParam.dictOnly(), batchSize); - return resultList; - } - - /** - * 判断指定对象是否包含下级对象。 - * - * @param deptId 主键Id。 - * @return 存在返回true,否则false。 - */ - @Override - public boolean hasChildren(Long deptId) { - SysDept filter = new SysDept(); - filter.setParentId(deptId); - return getCountByFilter(filter) > 0; - } - - /** - * 判断指定部门Id是否包含用户对象。 - * - * @param deptId 部门主键Id。 - * @return 存在返回true,否则false。 - */ - @Override - public boolean hasChildrenUser(Long deptId) { - SysUser sysUser = new SysUser(); - sysUser.setDeptId(deptId); - return sysUserService.getCountByFilter(sysUser) > 0; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/impl/SysMenuServiceImpl.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/impl/SysMenuServiceImpl.java deleted file mode 100644 index 32867149..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/impl/SysMenuServiceImpl.java +++ /dev/null @@ -1,331 +0,0 @@ -package com.orangeforms.upmsservice.service.impl; - -import cn.hutool.core.util.ObjectUtil; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; -import com.orangeforms.common.core.base.service.BaseService; -import com.orangeforms.common.sequence.wrapper.IdGeneratorWrapper; -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.common.core.util.MyModelUtil; -import com.orangeforms.common.core.object.CallResult; -import com.orangeforms.upmsapi.constant.SysMenuType; -import com.orangeforms.upmsapi.constant.SysOnlineMenuPermType; -import com.orangeforms.upmsservice.service.SysMenuService; -import com.orangeforms.upmsservice.service.SysPermCodeService; -import com.orangeforms.upmsservice.dao.SysMenuPermCodeMapper; -import com.orangeforms.upmsservice.dao.SysRoleMenuMapper; -import com.orangeforms.upmsservice.dao.SysMenuMapper; -import com.orangeforms.upmsservice.model.SysMenu; -import com.orangeforms.upmsservice.model.SysMenuPermCode; -import com.orangeforms.upmsservice.model.SysRoleMenu; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.*; -import java.util.stream.Collectors; - -/** - * 菜单数据服务类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -@Service("sysMenuService") -public class SysMenuServiceImpl extends BaseService implements SysMenuService { - - @Autowired - private SysMenuMapper sysMenuMapper; - @Autowired - private SysRoleMenuMapper sysRoleMenuMapper; - @Autowired - private SysMenuPermCodeMapper sysMenuPermCodeMapper; - @Autowired - private SysPermCodeService sysPermCodeService; - @Autowired - private IdGeneratorWrapper idGenerator; - - /** - * 返回主对象的Mapper对象。 - * - * @return 主对象的Mapper对象。 - */ - @Override - protected BaseDaoMapper mapper() { - return sysMenuMapper; - } - - /** - * 保存新增的菜单对象。 - * - * @param sysMenu 新增的菜单对象。 - * @param permCodeIdSet 权限字Id列表。 - * @return 新增后的菜单对象。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public SysMenu saveNew(SysMenu sysMenu, Set permCodeIdSet) { - sysMenu.setMenuId(idGenerator.nextLongId()); - MyModelUtil.fillCommonsForInsert(sysMenu); - sysMenuMapper.insert(sysMenu); - if (permCodeIdSet != null) { - for (Long permCodeId : permCodeIdSet) { - SysMenuPermCode menuPermCode = new SysMenuPermCode(); - menuPermCode.setMenuId(sysMenu.getMenuId()); - menuPermCode.setPermCodeId(permCodeId); - sysMenuPermCodeMapper.insert(menuPermCode); - } - } - // 判断当前菜单是否为指向在线表单的菜单,并将根据约定,动态插入两个子菜单。 - if (sysMenu.getOnlineFormId() != null) { - SysMenu viewSubMenu = new SysMenu(); - viewSubMenu.setMenuId(idGenerator.nextLongId()); - viewSubMenu.setParentId(sysMenu.getMenuId()); - viewSubMenu.setMenuType(SysMenuType.TYPE_BUTTON); - viewSubMenu.setMenuName("查看"); - viewSubMenu.setShowOrder(0); - viewSubMenu.setOnlineFormId(sysMenu.getOnlineFormId()); - viewSubMenu.setOnlineMenuPermType(SysOnlineMenuPermType.TYPE_VIEW); - MyModelUtil.fillCommonsForInsert(viewSubMenu); - sysMenuMapper.insert(viewSubMenu); - SysMenu editSubMenu = new SysMenu(); - editSubMenu.setMenuId(idGenerator.nextLongId()); - editSubMenu.setParentId(sysMenu.getMenuId()); - editSubMenu.setMenuType(SysMenuType.TYPE_BUTTON); - editSubMenu.setMenuName("编辑"); - editSubMenu.setShowOrder(1); - editSubMenu.setOnlineFormId(sysMenu.getOnlineFormId()); - editSubMenu.setOnlineMenuPermType(SysOnlineMenuPermType.TYPE_EDIT); - MyModelUtil.fillCommonsForInsert(editSubMenu); - sysMenuMapper.insert(editSubMenu); - } - return sysMenu; - } - - /** - * 更新菜单对象。 - * - * @param sysMenu 更新的菜单对象。 - * @param originalSysMenu 原有的菜单对象。 - * @param permCodeIdSet 权限字Id列表。 - * @return 更新成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public boolean update(SysMenu sysMenu, SysMenu originalSysMenu, Set permCodeIdSet) { - MyModelUtil.fillCommonsForUpdate(sysMenu, originalSysMenu); - sysMenu.setMenuType(originalSysMenu.getMenuType()); - UpdateWrapper uw = this.createUpdateQueryForNullValue(sysMenu, sysMenu.getMenuId()); - if (sysMenuMapper.update(sysMenu, uw) != 1) { - return false; - } - SysMenuPermCode deletedMenuPermCode = new SysMenuPermCode(); - deletedMenuPermCode.setMenuId(sysMenu.getMenuId()); - sysMenuPermCodeMapper.delete(new QueryWrapper<>(deletedMenuPermCode)); - if (permCodeIdSet != null) { - for (Long permCodeId : permCodeIdSet) { - SysMenuPermCode menuPermCode = new SysMenuPermCode(); - menuPermCode.setMenuId(sysMenu.getMenuId()); - menuPermCode.setPermCodeId(permCodeId); - sysMenuPermCodeMapper.insert(menuPermCode); - } - } - // 如果当前菜单的在线表单Id变化了,就需要同步更新他的内置子菜单也同步更新。 - if (ObjectUtil.notEqual(originalSysMenu.getOnlineFormId(), sysMenu.getOnlineFormId())) { - SysMenu onlineSubMenu = new SysMenu(); - onlineSubMenu.setOnlineFormId(sysMenu.getOnlineFormId()); - sysMenuMapper.update(onlineSubMenu, - new QueryWrapper().lambda().eq(SysMenu::getParentId, sysMenu.getMenuId())); - } - return true; - } - - /** - * 删除指定的菜单。 - * - * @param menu 菜单对象。 - * @return 删除成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public boolean remove(SysMenu menu) { - Long menuId = menu.getMenuId(); - if (sysMenuMapper.deleteById(menuId) != 1) { - return false; - } - SysRoleMenu roleMenu = new SysRoleMenu(); - roleMenu.setMenuId(menuId); - sysRoleMenuMapper.delete(new QueryWrapper<>(roleMenu)); - SysMenuPermCode menuPermCode = new SysMenuPermCode(); - menuPermCode.setMenuId(menuId); - sysMenuPermCodeMapper.delete(new QueryWrapper<>(menuPermCode)); - // 如果为指向在线表单的菜单,则连同删除子菜单 - if (menu.getOnlineFormId() != null) { - sysMenuMapper.delete(new QueryWrapper().lambda().eq(SysMenu::getParentId, menuId)); - } - return true; - } - - /** - * 获取全部菜单列表。 - * - * @return 全部菜单列表。 - */ - @Override - public Collection getAllMenuList() { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.orderByAsc(this.safeMapToColumnName("showOrder")); - queryWrapper.in(this.safeMapToColumnName("menuType"), - Arrays.asList(SysMenuType.TYPE_MENU, SysMenuType.TYPE_DIRECTORY)); - return sysMenuMapper.selectList(queryWrapper); - } - - /** - * 获取指定用户Id的菜单列表,已去重。 - * - * @param userId 用户主键Id。 - * @return 用户关联的菜单列表。 - */ - @Override - public Collection getMenuListByUserId(Long userId) { - List menuList = sysMenuMapper.getMenuListByUserId(userId); - LinkedHashMap menuMap = new LinkedHashMap<>(); - for (SysMenu menu : menuList) { - menuMap.put(menu.getMenuId(), menu); - } - return menuMap.values(); - } - - /** - * 判断当前菜单是否存在子菜单。 - * - * @param menuId 菜单主键Id。 - * @return 存在返回true,否则false。 - */ - @Override - public boolean hasChildren(Long menuId) { - SysMenu menu = new SysMenu(); - menu.setParentId(menuId); - return this.getCountByFilter(menu) > 0; - } - - /** - * 验证菜单对象关联的数据是否都合法。 - * - * @param sysMenu 当前操作的对象。 - * @param originalSysMenu 原有对象。 - * @param permCodeIdListString 逗号分隔的权限Id列表。 - * @return 验证结果。 - */ - @Override - public CallResult verifyRelatedData(SysMenu sysMenu, SysMenu originalSysMenu, String permCodeIdListString) { - // menu、ui fragment和button类型的menu不能没有parentId - if (sysMenu.getParentId() == null) { - if (sysMenu.getMenuType() != SysMenuType.TYPE_DIRECTORY) { - return CallResult.error("数据验证失败,当前类型菜单项的上级菜单不能为空!"); - } - } - if (this.needToVerify(sysMenu, originalSysMenu, SysMenu::getParentId)) { - String errorMessage = checkErrorOfNonDirectoryMenu(sysMenu); - if (errorMessage != null) { - return CallResult.error(errorMessage); - } - } - JSONObject jsonObject = null; - if (StringUtils.isNotBlank(permCodeIdListString)) { - Set permCodeIdSet = Arrays.stream( - permCodeIdListString.split(",")).map(Long::valueOf).collect(Collectors.toSet()); - if (!sysPermCodeService.existAllPrimaryKeys(permCodeIdSet)) { - return CallResult.error("数据验证失败,存在不合法的权限字,请刷新后重试!"); - } - jsonObject = new JSONObject(); - jsonObject.put("permCodeIdSet", permCodeIdSet); - } - return CallResult.ok(jsonObject); - } - - /** - * 查询菜单的权限资源地址列表。同时返回详细的分配路径。 - * - * @param menuId 菜单Id。 - * @param url 权限资源地址过滤条件。 - * @return 包含从菜单到权限资源的权限分配路径信息的查询结果列表。 - */ - @Override - public List> getSysPermListWithDetail(Long menuId, String url) { - return sysMenuMapper.getSysPermListWithDetail(menuId, url); - } - - /** - * 查询菜单的用户列表。同时返回详细的分配路径。 - * - * @param menuId 菜单Id。 - * @param loginName 登录名。 - * @return 包含从菜单到用户的完整权限分配路径信息的查询结果列表。 - */ - @Override - public List> getSysUserListWithDetail(Long menuId, String loginName) { - return sysMenuMapper.getSysUserListWithDetail(menuId, loginName); - } - - /** - * 获取指定类型的所有在线表单的菜单。 - * - * @param menuType 菜单类型,NULL则返回全部类型。 - * @return 在线表单关联的菜单列表。 - */ - @Override - public List getAllOnlineMenuList(Integer menuType) { - LambdaQueryWrapper queryWrapper = - new QueryWrapper().lambda().isNotNull(SysMenu::getOnlineFormId); - if (menuType != null) { - queryWrapper.eq(SysMenu::getMenuType, menuType); - } - return sysMenuMapper.selectList(queryWrapper); - } - - /** - * 获取当前用户有权访问的在线表单菜单,仅返回类型为BUTTON的菜单。 - * - * @param userId 指定的用户。 - * @param menuType 菜单类型,NULL则返回全部类型。 - * @return 在线表单关联的菜单列表。 - */ - @Override - public List getOnlineMenuListByUserId(Long userId, Integer menuType) { - return sysMenuMapper.getOnlineMenuListByUserId(userId, menuType); - } - - private String checkErrorOfNonDirectoryMenu(SysMenu sysMenu) { - // 判断父节点是否存在 - SysMenu parentSysMenu = getById(sysMenu.getParentId()); - if (parentSysMenu == null) { - return "数据验证失败,关联的上级菜单并不存在,请刷新后重试!"; - } - // 逐个判断每种类型的菜单,他的父菜单的合法性,先从目录类型和菜单类型开始 - if (sysMenu.getMenuType() == SysMenuType.TYPE_DIRECTORY - || sysMenu.getMenuType() == SysMenuType.TYPE_MENU) { - // 他们的上级只能是目录 - if (parentSysMenu.getMenuType() != SysMenuType.TYPE_DIRECTORY) { - return "数据验证失败,当前类型菜单项的上级菜单只能是目录类型!"; - } - } else if (sysMenu.getMenuType() == SysMenuType.TYPE_UI_FRAGMENT) { - // ui fragment的上级只能是menu类型 - if (parentSysMenu.getMenuType() != SysMenuType.TYPE_MENU) { - return "数据验证失败,当前类型菜单项的上级菜单只能是菜单类型和按钮类型!"; - } - } else if (sysMenu.getMenuType() == SysMenuType.TYPE_BUTTON) { - // button的上级只能是menu和ui fragment - if (parentSysMenu.getMenuType() != SysMenuType.TYPE_MENU - && parentSysMenu.getMenuType() != SysMenuType.TYPE_UI_FRAGMENT) { - return "数据验证失败,当前类型菜单项的上级菜单只能是菜单类型和UI片段类型!"; - } - } - return null; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/impl/SysPermCodeServiceImpl.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/impl/SysPermCodeServiceImpl.java deleted file mode 100644 index 3177d045..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/impl/SysPermCodeServiceImpl.java +++ /dev/null @@ -1,224 +0,0 @@ -package com.orangeforms.upmsservice.service.impl; - -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; -import com.orangeforms.common.core.base.service.BaseService; -import com.orangeforms.common.sequence.wrapper.IdGeneratorWrapper; -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.common.core.util.MyModelUtil; -import com.orangeforms.common.core.object.CallResult; -import com.orangeforms.upmsservice.dao.SysMenuPermCodeMapper; -import com.orangeforms.upmsservice.dao.SysPermCodeMapper; -import com.orangeforms.upmsservice.dao.SysPermCodePermMapper; -import com.orangeforms.upmsservice.model.SysMenuPermCode; -import com.orangeforms.upmsservice.model.SysPermCode; -import com.orangeforms.upmsservice.model.SysPermCodePerm; -import com.orangeforms.upmsservice.service.SysPermCodeService; -import com.orangeforms.upmsservice.service.SysPermService; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.*; -import java.util.stream.Collectors; - -/** - * 权限字数据服务类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -@Service("sysPermCodeService") -public class SysPermCodeServiceImpl extends BaseService implements SysPermCodeService { - - @Autowired - private SysPermCodeMapper sysPermCodeMapper; - @Autowired - private SysPermCodePermMapper sysPermCodePermMapper; - @Autowired - private SysMenuPermCodeMapper sysMenuPermCodeMapper; - @Autowired - private SysPermService sysPermService; - @Autowired - private IdGeneratorWrapper idGenerator; - - /** - * 返回主对象的Mapper对象。 - * - * @return 主对象的Mapper对象。 - */ - @Override - protected BaseDaoMapper mapper() { - return sysPermCodeMapper; - } - - /** - * 获取指定用户的权限字列表,已去重。 - * - * @param userId 用户主键Id。 - * @return 用户关联的权限字列表。 - */ - @Override - public Collection getPermCodeListByUserId(Long userId) { - List permCodeList = sysPermCodeMapper.getPermCodeListByUserId(userId); - return new HashSet<>(permCodeList); - } - - /** - * 获取所有权限字数据列表,已去重。 - * - * @return 全部权限字列表。 - */ - @Override - public Collection getAllPermCodeList() { - List permCodeList = this.getAllList(); - return permCodeList.stream().map(SysPermCode::getPermCode).collect(Collectors.toSet()); - } - - /** - * 保存新增的权限字对象。 - * - * @param sysPermCode 新增的权限字对象。 - * @param permIdSet 权限资源Id列表。 - * @return 新增后的权限字对象。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public SysPermCode saveNew(SysPermCode sysPermCode, Set permIdSet) { - sysPermCode.setPermCodeId(idGenerator.nextLongId()); - MyModelUtil.fillCommonsForInsert(sysPermCode); - sysPermCodeMapper.insert(sysPermCode); - if (permIdSet != null) { - for (Long permId : permIdSet) { - SysPermCodePerm permCodePerm = new SysPermCodePerm(); - permCodePerm.setPermCodeId(sysPermCode.getPermCodeId()); - permCodePerm.setPermId(permId); - sysPermCodePermMapper.insert(permCodePerm); - } - } - return sysPermCode; - } - - /** - * 更新权限字对象。 - * - * @param sysPermCode 更新的权限字对象。 - * @param originalSysPermCode 原有的权限字对象。 - * @param permIdSet 权限资源Id列表。 - * @return 更新成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public boolean update(SysPermCode sysPermCode, SysPermCode originalSysPermCode, Set permIdSet) { - sysPermCode.setParentId(originalSysPermCode.getParentId()); - MyModelUtil.fillCommonsForUpdate(sysPermCode, originalSysPermCode); - UpdateWrapper uw = - this.createUpdateQueryForNullValue(sysPermCode, sysPermCode.getPermCodeId()); - if (sysPermCodeMapper.update(sysPermCode, uw) != 1) { - return false; - } - SysPermCodePerm deletedPermCodePerm = new SysPermCodePerm(); - deletedPermCodePerm.setPermCodeId(sysPermCode.getPermCodeId()); - sysPermCodePermMapper.delete(new QueryWrapper<>(deletedPermCodePerm)); - if (permIdSet != null) { - for (Long permId : permIdSet) { - SysPermCodePerm permCodePerm = new SysPermCodePerm(); - permCodePerm.setPermCodeId(sysPermCode.getPermCodeId()); - permCodePerm.setPermId(permId); - sysPermCodePermMapper.insert(permCodePerm); - } - } - return true; - } - - /** - * 删除指定的权限字。 - * - * @param permCodeId 权限字主键Id。 - * @return 删除成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public boolean remove(Long permCodeId) { - if (sysPermCodeMapper.deleteById(permCodeId) != 1) { - return false; - } - SysMenuPermCode menuPermCode = new SysMenuPermCode(); - menuPermCode.setPermCodeId(permCodeId); - sysMenuPermCodeMapper.delete(new QueryWrapper<>(menuPermCode)); - SysPermCodePerm permCodePerm = new SysPermCodePerm(); - permCodePerm.setPermCodeId(permCodeId); - sysPermCodePermMapper.delete(new QueryWrapper<>(permCodePerm)); - return true; - } - - /** - * 判断当前权限字是否存在下级权限字对象。 - * - * @param permCodeId 权限字主键Id。 - * @return 存在返回true,否则false。 - */ - @Override - public boolean hasChildren(Long permCodeId) { - SysPermCode permCode = new SysPermCode(); - permCode.setParentId(permCodeId); - return this.getCountByFilter(permCode) > 0; - } - - /** - * 验证权限字对象关联的数据是否都合法。 - * - * @param sysPermCode 当前操作的对象。 - * @param originalSysPermCode 原有对象。 - * @param permIdListString 逗号分隔的权限资源Id列表。 - * @return 验证结果。 - */ - @Override - public CallResult verifyRelatedData( - SysPermCode sysPermCode, SysPermCode originalSysPermCode, String permIdListString) { - if (this.needToVerify(sysPermCode, originalSysPermCode, SysPermCode::getParentId)) { - if (getById(sysPermCode.getParentId()) == null) { - return CallResult.error("数据验证失败,关联的上级权限字并不存在,请刷新后重试!"); - } - } - JSONObject jsonObject = null; - if (StringUtils.isNotBlank(permIdListString)) { - Set permIdSet = Arrays.stream( - permIdListString.split(",")).map(Long::valueOf).collect(Collectors.toSet()); - if (!sysPermService.existAllPrimaryKeys(permIdSet)) { - return CallResult.error("数据验证失败,存在不合法的权限资源,请刷新后重试!"); - } - jsonObject = new JSONObject(); - jsonObject.put("permIdSet", permIdSet); - } - return CallResult.ok(jsonObject); - } - - /** - * 查询权限字的用户列表。同时返回详细的分配路径。 - * - * @param permCodeId 权限字Id。 - * @param loginName 登录名。 - * @return 包含从权限字到用户的完整权限分配路径信息的查询结果列表。 - */ - @Override - public List> getSysUserListWithDetail(Long permCodeId, String loginName) { - return sysPermCodeMapper.getSysUserListWithDetail(permCodeId, loginName); - } - - /** - * 查询权限字的角色列表。同时返回详细的分配路径。 - * - * @param permCodeId 权限字Id。 - * @param roleName 角色名。 - * @return 包含从权限字到角色的权限分配路径信息的查询结果列表。 - */ - @Override - public List> getSysRoleListWithDetail(Long permCodeId, String roleName) { - return sysPermCodeMapper.getSysRoleListWithDetail(permCodeId, roleName); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/impl/SysPermModuleServiceImpl.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/impl/SysPermModuleServiceImpl.java deleted file mode 100644 index 85315771..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/impl/SysPermModuleServiceImpl.java +++ /dev/null @@ -1,122 +0,0 @@ -package com.orangeforms.upmsservice.service.impl; - -import com.orangeforms.common.core.base.service.BaseService; -import com.orangeforms.common.sequence.wrapper.IdGeneratorWrapper; -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.common.core.util.MyModelUtil; -import com.orangeforms.upmsservice.dao.SysPermModuleMapper; -import com.orangeforms.upmsservice.model.SysPerm; -import com.orangeforms.upmsservice.model.SysPermModule; -import com.orangeforms.upmsservice.service.SysPermModuleService; -import com.orangeforms.upmsservice.service.SysPermService; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -/** - * 权限资源模块数据服务类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -@Service("sysPermModuleService") -public class SysPermModuleServiceImpl extends BaseService implements SysPermModuleService { - - @Autowired - private SysPermModuleMapper sysPermModuleMapper; - @Autowired - private SysPermService sysPermService; - @Autowired - private IdGeneratorWrapper idGenerator; - - /** - * 返回主对象的Mapper对象。 - * - * @return 主对象的Mapper对象。 - */ - @Override - protected BaseDaoMapper mapper() { - return sysPermModuleMapper; - } - - /** - * 保存新增的权限资源模块对象。 - * - * @param sysPermModule 新增的权限资源模块对象。 - * @return 新增后的权限资源模块对象。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public SysPermModule saveNew(SysPermModule sysPermModule) { - sysPermModule.setModuleId(idGenerator.nextLongId()); - MyModelUtil.fillCommonsForInsert(sysPermModule); - sysPermModuleMapper.insert(sysPermModule); - return sysPermModule; - } - - /** - * 更新权限资源模块对象。 - * - * @param sysPermModule 更新的权限资源模块对象。 - * @param originalSysPermModule 原有的权限资源模块对象。 - * @return 更新成功返回true,否则false - */ - @Transactional(rollbackFor = Exception.class) - @Override - public boolean update(SysPermModule sysPermModule, SysPermModule originalSysPermModule) { - MyModelUtil.fillCommonsForUpdate(sysPermModule, originalSysPermModule); - return sysPermModuleMapper.updateById(sysPermModule) != 0; - } - - /** - * 删除指定的权限资源模块。 - * - * @param moduleId 权限资源模块主键Id。 - * @return 删除成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public boolean remove(Long moduleId) { - return sysPermModuleMapper.deleteById(moduleId) == 1; - } - - /** - * 获取权限模块资源及其关联的权限资源列表。 - * - * @return 权限资源模块及其关联的权限资源列表。 - */ - @Override - public List getPermModuleAndPermList() { - return sysPermModuleMapper.getPermModuleAndPermList(); - } - - /** - * 判断是否存在下级权限资源模块。 - * - * @param moduleId 权限资源模块主键Id。 - * @return 存在返回true,否则false。 - */ - @Override - public boolean hasChildren(Long moduleId) { - SysPermModule permModule = new SysPermModule(); - permModule.setParentId(moduleId); - return this.getCountByFilter(permModule) > 0; - } - - /** - * 判断是否存在权限数据。 - * - * @param moduleId 权限资源模块主键Id。 - * @return 存在返回true,否则false。 - */ - @Override - public boolean hasModulePerms(Long moduleId) { - SysPerm filter = new SysPerm(); - filter.setModuleId(moduleId); - return sysPermService.getCountByFilter(filter) > 0; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/impl/SysPermServiceImpl.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/impl/SysPermServiceImpl.java deleted file mode 100644 index 36f65738..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/impl/SysPermServiceImpl.java +++ /dev/null @@ -1,185 +0,0 @@ -package com.orangeforms.upmsservice.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import cn.hutool.core.util.ObjectUtil; -import com.orangeforms.common.core.base.service.BaseService; -import com.orangeforms.common.sequence.wrapper.IdGeneratorWrapper; -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.common.core.object.MyRelationParam; -import com.orangeforms.common.core.util.MyModelUtil; -import com.orangeforms.common.core.object.CallResult; -import com.orangeforms.upmsservice.dao.SysPermCodePermMapper; -import com.orangeforms.upmsservice.dao.SysPermMapper; -import com.orangeforms.upmsservice.model.SysPerm; -import com.orangeforms.upmsservice.model.SysPermCodePerm; -import com.orangeforms.upmsservice.model.SysPermModule; -import com.orangeforms.upmsservice.service.*; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.*; - -/** - * 权限资源数据服务类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -@Service("sysPermService") -public class SysPermServiceImpl extends BaseService implements SysPermService { - - @Autowired - private SysPermMapper sysPermMapper; - @Autowired - private SysPermCodePermMapper sysPermCodePermMapper; - @Autowired - private SysPermModuleService sysPermModuleService; - @Autowired - private IdGeneratorWrapper idGenerator; - - /** - * 返回主对象的Mapper对象。 - * - * @return 主对象的Mapper对象。 - */ - @Override - protected BaseDaoMapper mapper() { - return sysPermMapper; - } - - /** - * 保存新增的权限资源对象。 - * - * @param perm 新增的权限资源对象。 - * @return 新增后的权限资源对象。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public SysPerm saveNew(SysPerm perm) { - perm.setPermId(idGenerator.nextLongId()); - MyModelUtil.fillCommonsForInsert(perm); - sysPermMapper.insert(perm); - return perm; - } - - /** - * 更新权限资源对象。 - * - * @param perm 更新的权限资源对象。 - * @param originalPerm 原有的权限资源对象。 - * @return 更新成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public boolean update(SysPerm perm, SysPerm originalPerm) { - MyModelUtil.fillCommonsForUpdate(perm, originalPerm); - return sysPermMapper.updateById(perm) != 0; - } - - /** - * 删除权限资源。 - * - * @param permId 权限资源主键Id。 - * @return 删除成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public boolean remove(Long permId) { - if (sysPermMapper.deleteById(permId) != 1) { - return false; - } - SysPermCodePerm permCodePerm = new SysPermCodePerm(); - permCodePerm.setPermId(permId); - sysPermCodePermMapper.delete(new QueryWrapper<>(permCodePerm)); - return true; - } - - /** - * 获取权限数据列表。 - * - * @param sysPermFilter 过滤对象。 - * @return 权限列表。 - */ - @Override - public List getPermListWithRelation(SysPerm sysPermFilter) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.orderByAsc(this.safeMapToColumnName("showOrder")); - queryWrapper.eq(ObjectUtil.isNotNull(sysPermFilter.getModuleId()), - this.safeMapToColumnName("moduleId"), sysPermFilter.getModuleId()); - queryWrapper.like(ObjectUtil.isNotNull(sysPermFilter.getUrl()), - this.safeMapToColumnName("url"), "%" + sysPermFilter.getUrl() + "%"); - List permList = sysPermMapper.selectList(queryWrapper); - // 这里因为权限只有字典数据,所以仅仅做字典关联。 - this.buildRelationForDataList(permList, MyRelationParam.dictOnly()); - return permList; - } - - /** - * 获取与指定用户关联的权限资源列表,已去重。 - * - * @param userId 关联的用户主键Id。 - * @return 与指定用户Id关联的权限资源列表。 - */ - @Override - public Collection getPermListByUserId(Long userId) { - List urlList = sysPermMapper.getPermListByUserId(userId); - return new HashSet<>(urlList); - } - - /** - * 验证权限资源对象关联的数据是否都合法。 - * - * @param sysPerm 当前操作的对象。 - * @param originalSysPerm 原有对象。 - * @return 验证结果。 - */ - @Override - public CallResult verifyRelatedData(SysPerm sysPerm, SysPerm originalSysPerm) { - if (this.needToVerify(sysPerm, originalSysPerm, SysPerm::getModuleId)) { - SysPermModule permModule = sysPermModuleService.getById(sysPerm.getModuleId()); - if (permModule == null) { - return CallResult.error("数据验证失败,关联的权限模块Id并不存在,请刷新后重试!"); - } - } - return CallResult.ok(); - } - - /** - * 查询权限资源地址的用户列表。同时返回详细的分配路径。 - * - * @param permId 权限资源Id。 - * @param loginName 登录名。 - * @return 包含从权限资源到用户的完整权限分配路径信息的查询结果列表。 - */ - @Override - public List> getSysUserListWithDetail(Long permId, String loginName) { - return sysPermMapper.getSysUserListWithDetail(permId, loginName); - } - - /** - * 查询权限资源地址的角色列表。同时返回详细的分配路径。 - * - * @param permId 权限资源Id。 - * @param roleName 角色名。 - * @return 包含从权限资源到角色的权限分配路径信息的查询结果列表。 - */ - @Override - public List> getSysRoleListWithDetail(Long permId, String roleName) { - return sysPermMapper.getSysRoleListWithDetail(permId, roleName); - } - - /** - * 查询权限资源地址的菜单列表。同时返回详细的分配路径。 - * - * @param permId 权限资源Id。 - * @param menuName 菜单名。 - * @return 包含从权限资源到菜单的权限分配路径信息的查询结果列表。 - */ - @Override - public List> getSysMenuListWithDetail(Long permId, String menuName) { - return sysPermMapper.getSysMenuListWithDetail(permId, menuName); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/impl/SysPermWhitelistServiceImpl.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/impl/SysPermWhitelistServiceImpl.java deleted file mode 100644 index b491fa29..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/impl/SysPermWhitelistServiceImpl.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.orangeforms.upmsservice.service.impl; - -import com.orangeforms.common.core.base.service.BaseService; -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.upmsservice.dao.SysPermWhitelistMapper; -import com.orangeforms.upmsservice.model.SysPermWhitelist; -import com.orangeforms.upmsservice.service.SysPermWhitelistService; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.List; -import java.util.function.Function; -import java.util.stream.Collectors; - -/** - * 白名单数据服务类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -@Service("sysPermWhitelistService") -public class SysPermWhitelistServiceImpl extends BaseService implements SysPermWhitelistService { - - @Autowired - private SysPermWhitelistMapper sysPermWhitelistMapper; - - /** - * 返回主对象的Mapper对象。 - * - * @return 主对象的Mapper对象。 - */ - @Override - protected BaseDaoMapper mapper() { - return sysPermWhitelistMapper; - } - - /** - * 获取白名单权限资源的列表。 - * - * @return 白名单权限资源地址列表。 - */ - @Override - public List getWhitelistPermList() { - List dataList = this.getAllList(); - Function getterFunc = SysPermWhitelist::getPermUrl; - return dataList.stream() - .filter(x -> getterFunc.apply(x) != null).map(getterFunc).collect(Collectors.toList()); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/impl/SysRoleServiceImpl.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/impl/SysRoleServiceImpl.java deleted file mode 100644 index 16ee2713..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/impl/SysRoleServiceImpl.java +++ /dev/null @@ -1,226 +0,0 @@ -package com.orangeforms.upmsservice.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.alibaba.fastjson.JSONObject; -import com.orangeforms.common.core.base.service.BaseService; -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.common.sequence.wrapper.IdGeneratorWrapper; -import com.orangeforms.common.core.util.MyModelUtil; -import com.orangeforms.common.core.object.CallResult; -import com.orangeforms.upmsservice.dao.SysRoleMapper; -import com.orangeforms.upmsservice.dao.SysRoleMenuMapper; -import com.orangeforms.upmsservice.dao.SysUserRoleMapper; -import com.orangeforms.upmsservice.model.SysRole; -import com.orangeforms.upmsservice.model.SysRoleMenu; -import com.orangeforms.upmsservice.model.SysUserRole; -import com.orangeforms.upmsservice.service.SysMenuService; -import com.orangeforms.upmsservice.service.SysRoleService; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.*; -import java.util.stream.Collectors; - -/** - * 角色数据服务类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -@Service("sysRoleService") -public class SysRoleServiceImpl extends BaseService implements SysRoleService { - - @Autowired - private SysRoleMapper sysRoleMapper; - @Autowired - private SysRoleMenuMapper sysRoleMenuMapper; - @Autowired - private SysUserRoleMapper sysUserRoleMapper; - @Autowired - private SysMenuService sysMenuService; - @Autowired - private IdGeneratorWrapper idGenerator; - - /** - * 返回主对象的Mapper对象。 - * - * @return 主对象的Mapper对象。 - */ - @Override - protected BaseDaoMapper mapper() { - return sysRoleMapper; - } - - /** - * 保存新增的角色对象。 - * - * @param role 新增的角色对象。 - * @param menuIdSet 菜单Id列表。 - * @return 新增后的角色对象。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public SysRole saveNew(SysRole role, Set menuIdSet) { - role.setRoleId(idGenerator.nextLongId()); - MyModelUtil.fillCommonsForInsert(role); - sysRoleMapper.insert(role); - if (menuIdSet != null) { - for (Long menuId : menuIdSet) { - SysRoleMenu roleMenu = new SysRoleMenu(); - roleMenu.setRoleId(role.getRoleId()); - roleMenu.setMenuId(menuId); - sysRoleMenuMapper.insert(roleMenu); - } - } - return role; - } - - /** - * 更新角色对象。 - * - * @param role 更新的角色对象。 - * @param originalRole 原有的角色对象。 - * @param menuIdSet 菜单Id列表。 - * @return 更新成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public boolean update(SysRole role, SysRole originalRole, Set menuIdSet) { - MyModelUtil.fillCommonsForUpdate(role, originalRole); - if (sysRoleMapper.updateById(role) != 1) { - return false; - } - SysRoleMenu deletedRoleMenu = new SysRoleMenu(); - deletedRoleMenu.setRoleId(role.getRoleId()); - sysRoleMenuMapper.delete(new QueryWrapper<>(deletedRoleMenu)); - if (menuIdSet != null) { - for (Long menuId : menuIdSet) { - SysRoleMenu roleMenu = new SysRoleMenu(); - roleMenu.setRoleId(role.getRoleId()); - roleMenu.setMenuId(menuId); - sysRoleMenuMapper.insert(roleMenu); - } - } - return true; - } - - /** - * 删除指定角色。 - * - * @param roleId 角色主键Id。 - * @return 删除成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public boolean remove(Long roleId) { - if (sysRoleMapper.deleteById(roleId) != 1) { - return false; - } - SysRoleMenu roleMenu = new SysRoleMenu(); - roleMenu.setRoleId(roleId); - sysRoleMenuMapper.delete(new QueryWrapper<>(roleMenu)); - SysUserRole userRole = new SysUserRole(); - userRole.setRoleId(roleId); - sysUserRoleMapper.delete(new QueryWrapper<>(userRole)); - return true; - } - - /** - * 获取角色列表。 - * - * @param filter 角色过滤对象。 - * @param orderBy 排序参数。 - * @return 角色列表。 - */ - @Override - public List getSysRoleList(SysRole filter, String orderBy) { - return sysRoleMapper.getSysRoleList(filter, orderBy); - } - - @Override - public List getSysUserRoleListByUserId(Long userId) { - SysUserRole filter = new SysUserRole(); - filter.setUserId(userId); - return sysUserRoleMapper.selectList(new QueryWrapper<>(filter)); - } - - /** - * 批量新增用户角色关联。 - * - * @param userRoleList 用户角色关系数据列表。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public void addUserRoleList(List userRoleList) { - for (SysUserRole userRole : userRoleList) { - sysUserRoleMapper.insert(userRole); - } - } - - /** - * 移除指定用户和指定角色的关联关系。 - * - * @param roleId 角色主键Id。 - * @param userId 用户主键Id。 - * @return 移除成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public boolean removeUserRole(Long roleId, Long userId) { - SysUserRole userRole = new SysUserRole(); - userRole.setRoleId(roleId); - userRole.setUserId(userId); - return sysUserRoleMapper.delete(new QueryWrapper<>(userRole)) == 1; - } - - /** - * 验证角色对象关联的数据是否都合法。 - * - * @param sysRole 当前操作的对象。 - * @param originalSysRole 原有对象。 - * @param menuIdListString 逗号分隔的menuId列表。 - * @return 验证结果。 - */ - @Override - public CallResult verifyRelatedData(SysRole sysRole, SysRole originalSysRole, String menuIdListString) { - JSONObject jsonObject = null; - if (StringUtils.isNotBlank(menuIdListString)) { - Set menuIdSet = Arrays.stream( - menuIdListString.split(",")).map(Long::valueOf).collect(Collectors.toSet()); - if (!sysMenuService.existAllPrimaryKeys(menuIdSet)) { - return CallResult.error("数据验证失败,存在不合法的菜单权限,请刷新后重试!"); - } - jsonObject = new JSONObject(); - jsonObject.put("menuIdSet", menuIdSet); - } - return CallResult.ok(jsonObject); - } - - /** - * 查询角色的权限资源地址列表。同时返回详细的分配路径。 - * - * @param roleId 角色Id。 - * @param url url过滤条件。 - * @return 包含从角色到权限资源的完整权限分配路径信息的查询结果列表。 - */ - @Override - public List> getSysPermListWithDetail(Long roleId, String url) { - return sysRoleMapper.getSysPermListWithDetail(roleId, url); - } - - /** - * 查询角色的权限字列表。同时返回详细的分配路径。 - * - * @param roleId 角色Id。 - * @param permCode 权限字名称过滤条件。 - * @return 包含从角色到权限字的权限分配路径信息的查询结果列表。 - */ - @Override - public List> getSysPermCodeListWithDetail(Long roleId, String permCode) { - return sysRoleMapper.getSysPermCodeListWithDetail(roleId, permCode); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/impl/SysUserServiceImpl.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/impl/SysUserServiceImpl.java deleted file mode 100644 index 18a5e07d..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/service/impl/SysUserServiceImpl.java +++ /dev/null @@ -1,404 +0,0 @@ -package com.orangeforms.upmsservice.service.impl; - -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.*; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; -import com.orangeforms.upmsservice.service.*; -import com.orangeforms.upmsservice.dao.*; -import com.orangeforms.upmsservice.model.*; -import com.orangeforms.common.core.util.*; -import com.orangeforms.common.core.object.*; -import com.orangeforms.common.core.constant.GlobalDeletedFlag; -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.common.core.base.service.BaseService; -import com.orangeforms.common.sequence.wrapper.IdGeneratorWrapper; -import lombok.extern.slf4j.Slf4j; -import com.orangeforms.upmsapi.constant.SysUserStatus; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import com.github.pagehelper.Page; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.crypto.password.PasswordEncoder; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.*; -import java.util.stream.Collectors; - -/** - * 用户管理数据操作服务类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -@Service("sysUserService") -public class SysUserServiceImpl extends BaseService implements SysUserService { - - @Autowired - private SysUserMapper sysUserMapper; - @Autowired - private SysUserRoleMapper sysUserRoleMapper; - @Autowired - private SysRoleService sysRoleService; - @Autowired - private SysDataPermService sysDataPermService; - @Autowired - private SysDataPermUserMapper sysDataPermUserMapper; - @Autowired - private SysDeptService sysDeptService; - @Autowired - private IdGeneratorWrapper idGenerator; - @Autowired - private PasswordEncoder passwordEncoder; - - /** - * 返回当前Service的主表Mapper对象。 - * - * @return 主表Mapper对象。 - */ - @Override - protected BaseDaoMapper mapper() { - return sysUserMapper; - } - - /** - * 获取指定登录名的用户对象。 - * - * @param loginName 指定登录用户名。 - * @return 用户对象。 - */ - @Override - public SysUser getSysUserByLoginName(String loginName) { - SysUser filter = new SysUser(); - filter.setLoginName(loginName); - return sysUserMapper.selectOne(new QueryWrapper<>(filter)); - } - - /** - * 保存新增的用户对象。 - * - * @param user 新增的用户对象。 - * @param roleIdSet 用户角色Id集合。 - * @param dataPermIdSet 数据权限Id集合。 - * @return 新增后的用户对象。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public SysUser saveNew(SysUser user, Set roleIdSet, Set dataPermIdSet) { - user.setUserId(idGenerator.nextLongId()); - user.setPassword(passwordEncoder.encode(user.getPassword())); - user.setUserStatus(SysUserStatus.STATUS_NORMAL); - user.setDeletedFlag(GlobalDeletedFlag.NORMAL); - MyModelUtil.fillCommonsForInsert(user); - sysUserMapper.insert(user); - if (CollectionUtils.isNotEmpty(roleIdSet)) { - for (Long roleId : roleIdSet) { - SysUserRole userRole = new SysUserRole(); - userRole.setUserId(user.getUserId()); - userRole.setRoleId(roleId); - sysUserRoleMapper.insert(userRole); - } - } - if (CollectionUtils.isNotEmpty(dataPermIdSet)) { - for (Long dataPermId : dataPermIdSet) { - SysDataPermUser dataPermUser = new SysDataPermUser(); - dataPermUser.setDataPermId(dataPermId); - dataPermUser.setUserId(user.getUserId()); - sysDataPermUserMapper.insert(dataPermUser); - } - } - return user; - } - - /** - * 更新用户对象。 - * - * @param user 更新的用户对象。 - * @param originalUser 原有的用户对象。 - * @param roleIdSet 用户角色Id列表。 - * @param dataPermIdSet 数据权限Id集合。 - * @return 更新成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public boolean update(SysUser user, SysUser originalUser, Set roleIdSet, Set dataPermIdSet) { - user.setLoginName(originalUser.getLoginName()); - user.setPassword(originalUser.getPassword()); - MyModelUtil.fillCommonsForUpdate(user, originalUser); - UpdateWrapper uw = this.createUpdateQueryForNullValue(user, user.getUserId()); - if (sysUserMapper.update(user, uw) != 1) { - return false; - } - // 先删除原有的User-Role关联关系,再重新插入新的关联关系 - SysUserRole deletedUserRole = new SysUserRole(); - deletedUserRole.setUserId(user.getUserId()); - sysUserRoleMapper.delete(new QueryWrapper<>(deletedUserRole)); - if (CollectionUtils.isNotEmpty(roleIdSet)) { - for (Long roleId : roleIdSet) { - SysUserRole userRole = new SysUserRole(); - userRole.setUserId(user.getUserId()); - userRole.setRoleId(roleId); - sysUserRoleMapper.insert(userRole); - } - } - // 先删除原有的DataPerm-User关联关系,在重新插入新的关联关系 - SysDataPermUser deletedDataPermUser = new SysDataPermUser(); - deletedDataPermUser.setUserId(user.getUserId()); - sysDataPermUserMapper.delete(new QueryWrapper<>(deletedDataPermUser)); - if (CollectionUtils.isNotEmpty(dataPermIdSet)) { - for (Long dataPermId : dataPermIdSet) { - SysDataPermUser dataPermUser = new SysDataPermUser(); - dataPermUser.setDataPermId(dataPermId); - dataPermUser.setUserId(user.getUserId()); - sysDataPermUserMapper.insert(dataPermUser); - } - } - return true; - } - - /** - * 修改用户密码。 - * @param userId 用户主键Id。 - * @param newPass 新密码。 - * @return 成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public boolean changePassword(Long userId, String newPass) { - SysUser updatedUser = new SysUser(); - updatedUser.setUserId(userId); - updatedUser.setPassword(passwordEncoder.encode(newPass)); - return sysUserMapper.updateById(updatedUser) == 1; - } - - @Transactional(rollbackFor = Exception.class) - @Override - public boolean changeHeadImage(Long userId, String newHeadImage) { - SysUser updatedUser = new SysUser(); - updatedUser.setUserId(userId); - updatedUser.setHeadImageUrl(newHeadImage); - return sysUserMapper.updateById(updatedUser) == 1; - } - - /** - * 删除指定数据。 - * - * @param userId 主键Id。 - * @return 成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public boolean remove(Long userId) { - if (sysUserMapper.deleteById(userId) == 0) { - return false; - } - SysUserRole userRole = new SysUserRole(); - userRole.setUserId(userId); - sysUserRoleMapper.delete(new QueryWrapper<>(userRole)); - SysDataPermUser dataPermUser = new SysDataPermUser(); - dataPermUser.setUserId(userId); - sysDataPermUserMapper.delete(new QueryWrapper<>(dataPermUser)); - return true; - } - - /** - * 获取单表查询结果。由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getSysUserListWithRelation)方法。 - * - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - @Override - public List getSysUserList(SysUser filter, String orderBy) { - return sysUserMapper.getSysUserList(null, null, filter, orderBy); - } - - /** - * 获取主表的查询结果,查询条件中包括主表过滤对象和指定字段的(in list)过滤。 - * 由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getSysUserListWithRelation)方法。 - * - * @param inFilterField (In-list)指定的字段(Java成员字段,而非数据列名)。 - * @param inFilterValues inFilterField指定字段的(In-list)数据列表。 - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - @Override - public List getSysUserList( - String inFilterField, Set inFilterValues, SysUser filter, String orderBy) { - String inFilterColumn = MyModelUtil.mapToColumnName(inFilterField, SysUser.class); - return sysUserMapper.getSysUserList(inFilterColumn, inFilterValues, filter, orderBy); - } - - /** - * 获取主表的查询结果,以及主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 该查询会涉及到一对一从表的关联过滤,或一对多从表的嵌套关联过滤,因此性能不如单表过滤。 - * 如果仅仅需要获取主表数据,请移步(getSysUserList),以便获取更好的查询性能。 - * - * @param filter 主表过滤对象。 - * @param orderBy 排序对象。 - * @return 查询结果集。 - */ - @Override - public List getSysUserListWithRelation(SysUser filter, String orderBy) { - List resultList = sysUserMapper.getSysUserList(null, null, filter, orderBy); - // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 - // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 - int batchSize = resultList instanceof Page ? 0 : 1000; - this.buildRelationForDataList(resultList, MyRelationParam.normal(), batchSize); - return resultList; - } - - /** - * 获取主表的查询结果,查询条件中包括主表过滤对象和指定字段的(in list)过滤。 - * 同时还包含主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 如果仅仅需要获取主表数据,请移步(getSysUserList),以便获取更好的查询性能。 - * - * @param inFilterField (In-list)指定的字段(Java成员字段,而非数据列名)。 - * @param inFilterValues inFilterField指定字段的(In-list)数据列表。 - * @param filter 主表过滤对象。 - * @param orderBy 排序对象。 - * @return 查询结果集。 - */ - @Override - public List getSysUserListWithRelation( - String inFilterField, Set inFilterValues, SysUser filter, String orderBy) { - String inFilterColumn = MyModelUtil.mapToColumnName(inFilterField, SysUser.class); - List resultList = - sysUserMapper.getSysUserList(inFilterColumn, inFilterValues, filter, orderBy); - // 在缺省生成的代码中,如果查询结果resultList不是Page对象,说明没有分页,那么就很可能是数据导出接口调用了当前方法。 - // 为了避免一次性的大量数据关联,规避因此而造成的系统运行性能冲击,这里手动进行了分批次读取,开发者可按需修改该值。 - int batchSize = resultList instanceof Page ? 0 : 1000; - this.buildRelationForDataList(resultList, MyRelationParam.dictOnly(), batchSize); - return resultList; - } - - /** - * 获取指定角色的用户列表。 - * - * @param roleId 角色主键Id。 - * @param filter 用户过滤对象。 - * @param orderBy 排序参数。 - * @return 用户列表。 - */ - @Override - public List getSysUserListByRoleId(Long roleId, SysUser filter, String orderBy) { - return sysUserMapper.getSysUserListByRoleId(roleId, filter, orderBy); - } - - /** - * 获取不属于指定角色的用户列表。 - * - * @param roleId 角色主键Id。 - * @param filter 用户过滤对象。 - * @param orderBy 排序参数。 - * @return 用户列表。 - */ - @Override - public List getNotInSysUserListByRoleId(Long roleId, SysUser filter, String orderBy) { - return sysUserMapper.getNotInSysUserListByRoleId(roleId, filter, orderBy); - } - - /** - * 获取指定数据权限的用户列表。 - * - * @param dataPermId 数据权限主键Id。 - * @param filter 用户过滤对象。 - * @param orderBy 排序参数。 - * @return 用户列表。 - */ - @Override - public List getSysUserListByDataPermId(Long dataPermId, SysUser filter, String orderBy) { - return sysUserMapper.getSysUserListByDataPermId(dataPermId, filter, orderBy); - } - - /** - * 获取不属于指定数据权限的用户列表。 - * - * @param dataPermId 数据权限主键Id。 - * @param filter 用户过滤对象。 - * @param orderBy 排序参数。 - * @return 用户列表。 - */ - @Override - public List getNotInSysUserListByDataPermId(Long dataPermId, SysUser filter, String orderBy) { - return sysUserMapper.getNotInSysUserListByDataPermId(dataPermId, filter, orderBy); - } - - /** - * 查询用户的权限资源地址列表。同时返回详细的分配路径。 - * - * @param userId 用户Id。 - * @param url url过滤条件。 - * @return 包含从用户到权限资源的完整权限分配路径信息的查询结果列表。 - */ - @Override - public List> getSysPermListWithDetail(Long userId, String url) { - return sysUserMapper.getSysPermListWithDetail(userId, url); - } - - /** - * 查询用户的权限字列表。同时返回详细的分配路径。 - * - * @param userId 用户Id。 - * @param permCode 权限字名称过滤条件。 - * @return 包含从用户到权限字的权限分配路径信息的查询结果列表。 - */ - @Override - public List> getSysPermCodeListWithDetail(Long userId, String permCode) { - return sysUserMapper.getSysPermCodeListWithDetail(userId, permCode); - } - - /** - * 查询用户的菜单列表。同时返回详细的分配路径。 - * - * @param userId 用户Id。 - * @param menuName 菜单名称过滤条件。 - * @return 包含从用户到菜单的权限分配路径信息的查询结果列表。 - */ - @Override - public List> getSysMenuListWithDetail(Long userId, String menuName) { - return sysUserMapper.getSysMenuListWithDetail(userId, menuName); - } - - /** - * 验证用户对象关联的数据是否都合法。 - * - * @param sysUser 当前操作的对象。 - * @param originalSysUser 原有对象。 - * @param roleIds 逗号分隔的角色Id列表字符串。 - * @param dataPermIds 逗号分隔的数据权限Id列表字符串。 - * @return 验证结果。 - */ - @Override - public CallResult verifyRelatedData( - SysUser sysUser, SysUser originalSysUser, String roleIds, String dataPermIds) { - JSONObject jsonObject = new JSONObject(); - if (StringUtils.isBlank(roleIds)) { - return CallResult.error("数据验证失败,用户的角色数据不能为空!"); - } - Set roleIdSet = Arrays.stream( - roleIds.split(",")).map(Long::valueOf).collect(Collectors.toSet()); - if (!sysRoleService.existAllPrimaryKeys(roleIdSet)) { - return CallResult.error("数据验证失败,存在不合法的用户角色,请刷新后重试!"); - } - jsonObject.put("roleIdSet", roleIdSet); - if (StringUtils.isBlank(dataPermIds)) { - return CallResult.error("数据验证失败,用户的数据权限不能为空!"); - } - Set dataPermIdSet = Arrays.stream( - dataPermIds.split(",")).map(Long::valueOf).collect(Collectors.toSet()); - if (!sysDataPermService.existAllPrimaryKeys(dataPermIdSet)) { - return CallResult.error("数据验证失败,存在不合法的数据权限,请刷新后重试!"); - } - jsonObject.put("dataPermIdSet", dataPermIdSet); - if (this.needToVerify(sysUser, originalSysUser, SysUser::getDeptId) - && !sysDeptService.existId(sysUser.getDeptId())) { - return CallResult.error("数据验证失败,关联的用户部门Id并不存在,请刷新后重试!"); - } - return CallResult.ok(jsonObject); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/util/CaptchaCacheServiceRedisImpl.java b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/util/CaptchaCacheServiceRedisImpl.java deleted file mode 100644 index 37fc17f1..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/java/com/orangeforms/upmsservice/util/CaptchaCacheServiceRedisImpl.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.orangeforms.upmsservice.util; - -import com.anji.captcha.service.CaptchaCacheService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.redis.core.StringRedisTemplate; - -import java.util.concurrent.TimeUnit; - -/** - * 对于分布式部署的应用,我们建议应用自己实现CaptchaCacheService,比如用Redis,参考service/spring-boot代码示例。 - * 如果应用是单点的,也没有使用redis,那默认使用内存。 - * 内存缓存只适合单节点部署的应用,否则验证码生产与验证在节点之间信息不同步,导致失败。 - * - * ☆☆☆ SPI: 在resources目录新建META-INF.services文件夹(两层),参考当前服务resources。 - * @author lide1202@hotmail.com - * @date 2020-05-12 - */ -public class CaptchaCacheServiceRedisImpl implements CaptchaCacheService { - - @Override - public String type() { - return "redis"; - } - - @Autowired - private StringRedisTemplate stringRedisTemplate; - - @Override - public void set(String key, String value, long expiresInSeconds) { - stringRedisTemplate.opsForValue().set(key, value, expiresInSeconds, TimeUnit.SECONDS); - } - - @Override - public boolean exists(String key) { - return stringRedisTemplate.hasKey(key); - } - - @Override - public void delete(String key) { - stringRedisTemplate.delete(key); - } - - @Override - public String get(String key) { - return stringRedisTemplate.opsForValue().get(key); - } - - @Override - public Long increment(String key, long val) { - return stringRedisTemplate.opsForValue().increment(key,val); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/META-INF/services/com.anji.captcha.service.CaptchaCacheService b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/META-INF/services/com.anji.captcha.service.CaptchaCacheService deleted file mode 100644 index c3420315..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/META-INF/services/com.anji.captcha.service.CaptchaCacheService +++ /dev/null @@ -1 +0,0 @@ -com.orangeforms.upmsservice.util.CaptchaCacheServiceRedisImpl \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/bootstrap.yml b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/bootstrap.yml deleted file mode 100644 index 2a948dae..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/bootstrap.yml +++ /dev/null @@ -1,30 +0,0 @@ -spring: - application: - name: upms - profiles: - active: dev - cloud: - nacos: - discovery: - server-addr: localhost:8848 - config: - server-addr: localhost:8848 - file-extension: yaml - # 共享配置文件,排序越高后,优先级越高。 - shared-configs: - - data-id: application-dev.yaml - group: DEFAULT_GROUP - refresh: true - sentinel: - eager: true - datasource: - ds1: - nacos: - server-addr: localhost:8848 - data-id: ${spring.application.name}-dev-sentinel - group-id: DEFAULT_GROUP - data-type: json - # 如果是降级服务,需要改为degrade - rule-type: flow - main: - allow-bean-definition-overriding: true diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg1.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg1.png deleted file mode 100644 index 028073ae..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg1.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg10.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg10.png deleted file mode 100644 index 022aabf9..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg10.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg11.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg11.png deleted file mode 100644 index 914908e8..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg11.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg12.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg12.png deleted file mode 100644 index f0f3ce58..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg12.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg13.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg13.png deleted file mode 100644 index c5697f3c..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg13.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg14.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg14.png deleted file mode 100644 index e29e7a3c..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg14.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg15.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg15.png deleted file mode 100644 index 2425f412..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg15.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg16.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg16.png deleted file mode 100644 index c1730ad2..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg16.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg17.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg17.png deleted file mode 100644 index 10ea85b0..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg17.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg18.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg18.png deleted file mode 100644 index a63f0ac7..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg18.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg19.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg19.png deleted file mode 100644 index fe9c4cc8..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg19.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg2.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg2.png deleted file mode 100644 index 7167036e..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg2.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg20.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg20.png deleted file mode 100644 index 7db9563c..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg20.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg3.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg3.png deleted file mode 100644 index e932d2c7..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg3.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg4.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg4.png deleted file mode 100644 index 63b20058..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg4.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg5.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg5.png deleted file mode 100644 index 4281ad45..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg5.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg6.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg6.png deleted file mode 100644 index ac544e3b..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg6.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg7.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg7.png deleted file mode 100644 index c6df4f77..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg7.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg8.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg8.png deleted file mode 100644 index 3b07dcd8..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg8.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg9.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg9.png deleted file mode 100644 index 4b9844a3..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/original/bg9.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/slidingBlock/1.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/slidingBlock/1.png deleted file mode 100644 index 19050266..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/slidingBlock/1.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/slidingBlock/10.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/slidingBlock/10.png deleted file mode 100644 index e651cf46..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/slidingBlock/10.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/slidingBlock/11.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/slidingBlock/11.png deleted file mode 100644 index 5a33509a..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/slidingBlock/11.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/slidingBlock/2.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/slidingBlock/2.png deleted file mode 100644 index b1482d48..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/slidingBlock/2.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/slidingBlock/3.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/slidingBlock/3.png deleted file mode 100644 index cdbb0b18..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/slidingBlock/3.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/slidingBlock/4.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/slidingBlock/4.png deleted file mode 100644 index bc69c962..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/slidingBlock/4.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/slidingBlock/5.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/slidingBlock/5.png deleted file mode 100644 index 0080a546..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/slidingBlock/5.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/slidingBlock/6.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/slidingBlock/6.png deleted file mode 100644 index b07c3b40..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/slidingBlock/6.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/slidingBlock/7.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/slidingBlock/7.png deleted file mode 100644 index 3be019a6..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/slidingBlock/7.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/slidingBlock/8.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/slidingBlock/8.png deleted file mode 100644 index 96d3c76c..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/slidingBlock/8.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/slidingBlock/9.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/slidingBlock/9.png deleted file mode 100644 index 524c9404..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/jigsaw/slidingBlock/9.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/pic-click/bg1.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/pic-click/bg1.png deleted file mode 100644 index 51573a0c..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/pic-click/bg1.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/pic-click/bg2.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/pic-click/bg2.png deleted file mode 100644 index 909dc39e..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/pic-click/bg2.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/pic-click/bg3.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/pic-click/bg3.png deleted file mode 100644 index 59bc59c0..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/pic-click/bg3.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/pic-click/bg4.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/pic-click/bg4.png deleted file mode 100644 index c856f4d9..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/pic-click/bg4.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/pic-click/bg5.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/pic-click/bg5.png deleted file mode 100644 index 4594fcf6..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/pic-click/bg5.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/pic-click/bg6.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/pic-click/bg6.png deleted file mode 100644 index 0f28d820..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/pic-click/bg6.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/pic-click/bg7.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/pic-click/bg7.png deleted file mode 100644 index 1e044929..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/pic-click/bg7.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/pic-click/bg8.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/pic-click/bg8.png deleted file mode 100644 index f11545fd..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/pic-click/bg8.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/pic-click/bg9.png b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/pic-click/bg9.png deleted file mode 100644 index 2f3a86da..00000000 Binary files a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/images/pic-click/bg9.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/log4j2.xml b/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/log4j2.xml deleted file mode 100644 index b5f0e766..00000000 --- a/orange-demo-multi/orange-demo-multi-service/application/upms/upms-service/src/main/resources/log4j2.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - ./zzlogs/upms - - ./zzlogs/upms/backup - - info - - - - - - - - [%-5p] [%d{YYYY-MM-dd HH:mm:ss}] [%t] ==> %msg%n - - - - [%-5p] [%d{YYYY-MM-dd HH:mm:ss}] T:[%X{traceId}] S:[%X{sessionId}] U:[%X{userId}] [%t] ==> [%traceId] %msg%n - - - 31 - - 20M - - - - - - - localhost:9092 - 10000 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/pom.xml b/orange-demo-multi/orange-demo-multi-service/common/common-core/pom.xml deleted file mode 100644 index 90f1db16..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/pom.xml +++ /dev/null @@ -1,115 +0,0 @@ - - - - com.orangeforms - common - 1.0.0 - - 4.0.0 - - common-core - 1.0.0 - common-core - jar - - - - - org.springframework.boot - spring-boot-starter-web - - - - com.google.guava - guava - ${guava.version} - - - org.apache.commons - commons-lang3 - - - commons-io - commons-io - ${commons-io.version} - - - joda-time - joda-time - ${joda-time.version} - - - org.apache.commons - commons-collections4 - ${commons-collections4.version} - - - org.apache.commons - commons-csv - ${common-csv.version} - - - cn.hutool - hutool-all - ${hutool.version} - - - io.jsonwebtoken - jjwt - ${jjwt.version} - - - com.alibaba - fastjson - ${fastjson.version} - - - com.github.ben-manes.caffeine - caffeine - ${caffeine.version} - - - cn.jimmyshi - bean-query - ${bean.query.version} - - - - org.apache.poi - poi-ooxml - ${poi-ooxml.version} - - - - mysql - mysql-connector-java - runtime - - - com.alibaba - druid-spring-boot-starter - ${druid.version} - - - com.sun - jconsole - - - com.sun - tools - - - - - com.baomidou - mybatis-plus-boot-starter - ${mybatisplus.version} - - - com.github.pagehelper - pagehelper-spring-boot-starter - ${pagehelper.version} - - - diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/advice/MyControllerAdvice.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/advice/MyControllerAdvice.java deleted file mode 100644 index 8c5fc2f3..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/advice/MyControllerAdvice.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.orangeforms.common.core.advice; - -import com.orangeforms.common.core.util.MyDateUtil; -import org.springframework.beans.propertyeditors.CustomDateEditor; -import org.springframework.web.bind.WebDataBinder; -import org.springframework.web.bind.annotation.ControllerAdvice; -import org.springframework.web.bind.annotation.InitBinder; - -import java.text.SimpleDateFormat; -import java.util.Date; - -/** - * Controller的环绕拦截类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@ControllerAdvice -public class MyControllerAdvice { - - /** - * 转换前端传入的日期变量参数为指定格式。 - * - * @param binder 数据绑定参数。 - */ - @InitBinder - public void initBinder(WebDataBinder binder) { - binder.registerCustomEditor(Date.class, - new CustomDateEditor(new SimpleDateFormat(MyDateUtil.COMMON_SHORT_DATETIME_FORMAT), false)); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/advice/MyExceptionHandler.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/advice/MyExceptionHandler.java deleted file mode 100644 index 4a6f6ec1..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/advice/MyExceptionHandler.java +++ /dev/null @@ -1,141 +0,0 @@ -package com.orangeforms.common.core.advice; - -import com.orangeforms.common.core.exception.*; -import com.orangeforms.common.core.constant.ErrorCodeEnum; -import com.orangeforms.common.core.object.ResponseResult; -import com.orangeforms.common.core.util.ContextUtil; -import lombok.extern.slf4j.Slf4j; -import org.apache.ibatis.exceptions.PersistenceException; -import org.springframework.dao.DataAccessException; -import org.springframework.dao.DuplicateKeyException; -import org.springframework.dao.PermissionDeniedDataAccessException; -import org.springframework.web.bind.annotation.ExceptionHandler; -import org.springframework.web.bind.annotation.RestControllerAdvice; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.util.concurrent.TimeoutException; - -/** - * 业务层的异常处理类,这里只是给出最通用的Exception的捕捉,今后可以根据业务需要, - * 用不同的函数,处理不同类型的异常。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -@RestControllerAdvice("com.orangeforms") -public class MyExceptionHandler { - - /** - * 通用异常处理方法。 - * - * @param ex 异常对象。 - * @param request http请求。 - * @return 应答对象。 - */ - @ExceptionHandler(value = Exception.class) - public ResponseResult exceptionHandle(Exception ex, HttpServletRequest request) { - log.error("Unhandled exception from URL [" + request.getRequestURI() + "]", ex); - ContextUtil.getHttpResponse().setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); - return ResponseResult.error(ErrorCodeEnum.UNHANDLED_EXCEPTION, ex.getMessage()); - } - - /** - * 无效的实体对象异常。 - * - * @param ex 异常对象。 - * @param request http请求。 - * @return 应答对象。 - */ - @ExceptionHandler(value = InvalidDataModelException.class) - public ResponseResult invalidDataModelExceptionHandle(Exception ex, HttpServletRequest request) { - log.error("InvalidDataModelException exception from URL [" + request.getRequestURI() + "]", ex); - return ResponseResult.error(ErrorCodeEnum.INVALID_DATA_MODEL); - } - - /** - * 无效的实体对象字段异常。 - * - * @param ex 异常对象。 - * @param request http请求。 - * @return 应答对象。 - */ - @ExceptionHandler(value = InvalidDataFieldException.class) - public ResponseResult invalidDataFieldExceptionHandle(Exception ex, HttpServletRequest request) { - log.error("InvalidDataFieldException exception from URL [" + request.getRequestURI() + "]", ex); - return ResponseResult.error(ErrorCodeEnum.INVALID_DATA_FIELD); - } - - /** - * 无效类字段异常。 - * - * @param ex 异常对象。 - * @param request http请求。 - * @return 应答对象。 - */ - @ExceptionHandler(value = InvalidClassFieldException.class) - public ResponseResult invalidClassFieldExceptionHandle(Exception ex, HttpServletRequest request) { - log.error("InvalidClassFieldException exception from URL [" + request.getRequestURI() + "]", ex); - return ResponseResult.error(ErrorCodeEnum.INVALID_CLASS_FIELD); - } - - /** - * 重复键异常处理方法。 - * - * @param ex 异常对象。 - * @param request http请求。 - * @return 应答对象。 - */ - @ExceptionHandler(value = DuplicateKeyException.class) - public ResponseResult duplicateKeyExceptionHandle(Exception ex, HttpServletRequest request) { - log.error("DuplicateKeyException exception from URL [" + request.getRequestURI() + "]", ex); - return ResponseResult.error(ErrorCodeEnum.DUPLICATED_UNIQUE_KEY); - } - - /** - * 数据访问失败异常处理方法。 - * - * @param ex 异常对象。 - * @param request http请求。 - * @return 应答对象。 - */ - @ExceptionHandler(value = DataAccessException.class) - public ResponseResult dataAccessExceptionHandle(Exception ex, HttpServletRequest request) { - log.error("DataAccessException exception from URL [" + request.getRequestURI() + "]", ex); - if (ex.getCause() instanceof PersistenceException - && ex.getCause().getCause() instanceof PermissionDeniedDataAccessException) { - return ResponseResult.error(ErrorCodeEnum.DATA_PERM_ACCESS_FAILED); - } - return ResponseResult.error(ErrorCodeEnum.DATA_ACCESS_FAILED); - } - - /** - * 操作不存在或已逻辑删除数据的异常处理方法。 - * - * @param ex 异常对象。 - * @param request http请求。 - * @return 应答对象。 - */ - @ExceptionHandler(value = NoDataAffectException.class) - public ResponseResult noDataEffectExceptionHandle(Exception ex, HttpServletRequest request) { - log.error("NoDataAffectException exception from URL [" + request.getRequestURI() + "]", ex); - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - - /** - * Redis缓存访问异常处理方法。 - * - * @param ex 异常对象。 - * @param request http请求。 - * @return 应答对象。 - */ - @ExceptionHandler(value = RedisCacheAccessException.class) - public ResponseResult redisCacheAccessExceptionHandle(Exception ex, HttpServletRequest request) { - log.error("RedisCacheAccessException exception from URL [" + request.getRequestURI() + "]", ex); - if (ex.getCause() instanceof TimeoutException) { - return ResponseResult.error(ErrorCodeEnum.REDIS_CACHE_ACCESS_TIMEOUT); - } - return ResponseResult.error(ErrorCodeEnum.REDIS_CACHE_ACCESS_STATE_ERROR); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/DeptFilterColumn.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/DeptFilterColumn.java deleted file mode 100644 index 21bd65ec..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/DeptFilterColumn.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.orangeforms.common.core.annotation; - -import java.lang.annotation.*; - -/** - * 主要用于标记数据权限中基于DeptId进行过滤的字段。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Target({ElementType.FIELD}) -@Retention(RetentionPolicy.RUNTIME) -@Documented -public @interface DeptFilterColumn { - -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/DisableDataFilter.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/DisableDataFilter.java deleted file mode 100644 index 7ac170ae..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/DisableDataFilter.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.orangeforms.common.core.annotation; - -import java.lang.annotation.*; - -/** - * 作为DisableDataFilterAspect的切点。 - * 该注解仅能标记在方法上,方法内所有的查询语句,均不会被Mybatis插件进行数据过滤。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Target({ElementType.METHOD}) -@Retention(RetentionPolicy.RUNTIME) -@Documented -public @interface DisableDataFilter { - -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/DisableTenantFilter.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/DisableTenantFilter.java deleted file mode 100644 index 04ae5eac..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/DisableTenantFilter.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.orangeforms.common.core.annotation; - -import java.lang.annotation.*; - -/** - * 仅用于微服务的多租户项目。 - * 用于注解DAO层Mapper对象的租户过滤规则。被包含的方法将不会进行租户Id的过滤。 - * 对于tk mapper和mybatis plus中的内置方法,可以直接指定方法名即可,如:selectOne。 - * 需要说明的是,在大多数场景下,只要在实体对象中指定了租户Id字段,基于该主表的绝大部分增删改操作, - * 都需要经过租户Id过滤,仅当查询非常复杂,或者主表不在SQL语句之中的时候,可以通过该注解禁用该SQL, - * 并根据需求通过手动的方式实现租户过滤。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Target({ElementType.TYPE}) -@Retention(RetentionPolicy.RUNTIME) -@Documented -public @interface DisableTenantFilter { - - /** - * 包含的方法名称数组。该值不能为空,因为如想取消所有方法的租户过滤, - * 可以通过在实体对象中不指定租户Id字段注解的方式实现。 - * - * @return 被包括的方法名称数组。 - */ - String[] includeMethodName(); -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/EnableDataPerm.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/EnableDataPerm.java deleted file mode 100644 index c013ff4e..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/EnableDataPerm.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.orangeforms.common.core.annotation; - -import java.lang.annotation.*; - -/** - * 用于注解DAO层Mapper对象的数据权限规则。 - * 由于框架使用了tk.mapper,所以并非所有的Mapper接口均在当前Mapper对象中定义,有一部分被tk.mapper封装,如selectAll等。 - * 如果需要排除tk.mapper中的方法,可以直接使用tk.mapper基类所声明的方法名称即可。 - * 另外,比较特殊的场景是,因为tk.mapper是通用框架,所以同样的selectAll方法,可以获取不同的数据集合,因此在service中如果 - * 出现两个不同的方法调用Mapper的selectAll方法,但是一个需要参与过滤,另外一个不需要参与,那么就需要修改当前类的Mapper方法, - * 将其中一个方法重新定义一个具体的接口方法,并重新设定其是否参与数据过滤。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Target({ElementType.TYPE}) -@Retention(RetentionPolicy.RUNTIME) -@Documented -public @interface EnableDataPerm { - - /** - * 排除的方法名称数组。如果为空,所有的方法均会被Mybaits拦截注入权限过滤条件。 - * - * @return 被排序的方法名称数据。 - */ - String[] excluseMethodName() default {}; - - /** - * 必须包含能看用户自己数据的数据过滤条件,如果当前用户的数据过滤中,没有DataPermRuleType.TYPE_USER_ONLY, - * 在进行数据权限过滤时,会自动包含该权限。 - * - * @return 是否必须包含DataPermRuleType.TYPE_USER_ONLY类型的数据权限。 - */ - boolean mustIncludeUserRule() default false; -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/JobUpdateTimeColumn.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/JobUpdateTimeColumn.java deleted file mode 100644 index 8da019b4..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/JobUpdateTimeColumn.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.orangeforms.common.core.annotation; - -import java.lang.annotation.*; - -/** - * 主要用于标记Job实体对象的更新时间字段。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Target({ElementType.FIELD}) -@Retention(RetentionPolicy.RUNTIME) -@Documented -public @interface JobUpdateTimeColumn { - -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/MyDataSource.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/MyDataSource.java deleted file mode 100644 index b367a881..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/MyDataSource.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.orangeforms.common.core.annotation; - -import java.lang.annotation.*; - -/** - * 主要用于标记Service所依赖的数据源类型。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Target(ElementType.TYPE) -@Retention(RetentionPolicy.RUNTIME) -@Documented -public @interface MyDataSource { - - /** - * 标注的数据源类型 - * @return 当前标注的数据源类型。 - */ - int value(); -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/MyDataSourceResolver.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/MyDataSourceResolver.java deleted file mode 100644 index 9e72f880..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/MyDataSourceResolver.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.orangeforms.common.core.annotation; - -import com.orangeforms.common.core.util.DataSourceResolver; - -import java.lang.annotation.*; - -/** - * 基于自定义解析规则的多数据源注解。主要用于标注Service的实现类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Target(ElementType.TYPE) -@Retention(RetentionPolicy.RUNTIME) -@Documented -public @interface MyDataSourceResolver { - - /** - * 多数据源路由键解析接口的Class。 - * @return 多数据源路由键解析接口的Class。 - */ - Class resolver(); - - /** - * DataSourceResolver.resovle方法的入参。 - * @return DataSourceResolver.resovle方法的入参。 - */ - String arg() default ""; -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/MyRequestBody.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/MyRequestBody.java deleted file mode 100644 index cfda3ab4..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/MyRequestBody.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.orangeforms.common.core.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * 标记Controller中的方法参数,参数解析器会根据该注解将请求中的JSON数据,映射到参数中的绑定字段。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Target(ElementType.PARAMETER) -@Retention(RetentionPolicy.RUNTIME) -public @interface MyRequestBody { - - /** - * 是否必须出现的参数。 - */ - boolean required() default false; - /** - * 解析时用到的JSON的key。 - */ - String value() default ""; - /** - * 集合元素的ClassType。只有在接口参数为List的时候,需要把E的class传入。 - * 缺省值Class.class表示没有设置。 - */ - Class elementType() default Class.class; -} \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/NoAuthInterface.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/NoAuthInterface.java deleted file mode 100644 index cb1ec0ab..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/NoAuthInterface.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.orangeforms.common.core.annotation; - -import java.lang.annotation.*; - -/** - * 主要用于标记无需Token验证的接口 - * - * @author Jerry - * @date 2020-08-08 - */ -@Target({ElementType.METHOD, ElementType.TYPE}) -@Retention(RetentionPolicy.RUNTIME) -@Documented -public @interface NoAuthInterface { -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/RelationConstDict.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/RelationConstDict.java deleted file mode 100644 index 42054fd0..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/RelationConstDict.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.orangeforms.common.core.annotation; - -import java.lang.annotation.*; - -/** - * 标识Model和常量字典之间的关联关系。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Target({ElementType.FIELD, ElementType.METHOD}) -@Retention(RetentionPolicy.RUNTIME) -@Documented -public @interface RelationConstDict { - - /** - * 当前对象的关联Id字段名称。 - * - * @return 当前对象的关联Id字段名称。 - */ - String masterIdField(); - - /** - * 被关联的常量字典的Class对象。 - * - * @return 关联的常量字典的Class对象。 - */ - Class constantDictClass(); -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/RelationDict.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/RelationDict.java deleted file mode 100644 index 467970b4..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/RelationDict.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.orangeforms.common.core.annotation; - -import com.orangeforms.common.core.object.DummyClass; - -import java.lang.annotation.*; - -/** - * 标识Model之间的字典关联关系。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Target({ElementType.FIELD, ElementType.METHOD}) -@Retention(RetentionPolicy.RUNTIME) -@Documented -public @interface RelationDict { - - /** - * 当前对象的关联Id字段名称。 - * - * @return 当前对象的关联Id字段名称。 - */ - String masterIdField(); - - /** - * 被关联Model对象的Class对象。 - * - * @return 被关联Model对象的Class对象。 - */ - Class slaveModelClass(); - - /** - * 被关联Model对象的关联Id字段名称。 - * - * @return 被关联Model对象的关联Id字段名称。 - */ - String slaveIdField(); - - /** - * 被关联Model对象的关联Name字段名称。 - * - * @return 被关联Model对象的关联Name字段名称。 - */ - String slaveNameField(); - - /** - * 被关联的远程调用对象的Class对象。 - * - * @return 被关联远程调用对象的Class对象。 - */ - Class slaveClientClass() default DummyClass.class; - - /** - * 被关联的本地Service对象名称。 - * 该参数的优先级高于 slaveService(),如果定义了该值,会优先使用加载service的bean对象。 - * - * @return 被关联的本地Service对象名称。 - */ - String slaveServiceName() default ""; - - /** - * 被关联的本地Service对象CLass类型。 - * - * @return 被关联的本地Service对象CLass类型。 - */ - Class slaveServiceClass() default DummyClass.class; - - /** - * 在同一个实体对象中,如果有一对一关联和字典关联,都是基于相同的主表字段,并关联到 - * 相同关联表的同一关联字段时,可以在字典关联的注解中引用被一对一注解标准的对象属性。 - * 从而在数据整合时,当前字典的数据可以直接取自"equalOneToOneRelationField"指定 - * 的字段,从而避免一次没必要的数据库查询操作,提升了加载显示的效率。 - * - * @return 与该字典字段引用关系完全相同的一对一关联属性名称。 - */ - String equalOneToOneRelationField() default ""; -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/RelationManyToMany.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/RelationManyToMany.java deleted file mode 100644 index 9b17165e..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/RelationManyToMany.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.orangeforms.common.core.annotation; - -import java.lang.annotation.*; - -/** - * 标注多对多的Model关系。 - * 重要提示:由于多对多关联表数据,很多时候都不需要跟随主表数据返回,所以该注解不会在 - * 生成的时候自动添加到实体类字段上,需要的时候,用户可自行手动添加。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Target({ElementType.FIELD, ElementType.METHOD}) -@Retention(RetentionPolicy.RUNTIME) -@Documented -public @interface RelationManyToMany { - - /** - * 多对多中间表的Mapper对象名称。 - * - * @return 被关联的本地Service对象名称。 - */ - String relationMapperName(); - - /** - * 多对多关联表Model对象的Class对象。 - * - * @return 被关联Model对象的Class对象。 - */ - Class relationModelClass(); - - /** - * 多对多关联表Model对象中与主表关联的Id字段名称。 - * - * @return 被关联Model对象的关联Id字段名称。 - */ - String relationMasterIdField(); -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/RelationManyToManyAggregation.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/RelationManyToManyAggregation.java deleted file mode 100644 index 4b8529fb..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/RelationManyToManyAggregation.java +++ /dev/null @@ -1,102 +0,0 @@ -package com.orangeforms.common.core.annotation; - -import com.orangeforms.common.core.object.DummyClass; - -import java.lang.annotation.*; - -/** - * 主要用于多对多的Model关系。标注通过从表关联字段或者关联表关联字段计算主表聚合计算字段的规则。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Target({ElementType.FIELD, ElementType.METHOD}) -@Retention(RetentionPolicy.RUNTIME) -@Documented -public @interface RelationManyToManyAggregation { - - /** - * 当前对象的关联Id字段名称。 - * - * @return 当前对象的关联Id字段名称。 - */ - String masterIdField(); - - /** - * 被关联的本地Service对象名称。 - * 该参数的优先级高于 slaveService(),如果定义了该值,会优先使用加载service的bean对象。 - * - * @return 被关联的本地Service对象名称。 - */ - String slaveServiceName() default ""; - - /** - * 被关联的本地Service对象CLass类型。 - * - * @return 被关联的本地Service对象CLass类型。 - */ - Class slaveServiceClass() default DummyClass.class; - - /** - * 多对多从表Model对象的Class对象。 - * - * @return 被关联Model对象的Class对象。 - */ - Class slaveModelClass(); - - /** - * 多对多从表Model对象的关联Id字段名称。 - * - * @return 被关联Model对象的关联Id字段名称。 - */ - String slaveIdField(); - - /** - * 被关联远程调用对象的Class对象。如果为DummyClass.class,通常表示是本地关联。 - * - * @return 被关联远程调用对象的Class对象。 - */ - Class slaveClientClass() default DummyClass.class; - - /** - * 多对多关联表Model对象的Class对象。 - * - * @return 被关联Model对象的Class对象。 - */ - Class relationModelClass(); - - /** - * 多对多关联表Model对象中与主表关联的Id字段名称。 - * - * @return 被关联Model对象的关联Id字段名称。 - */ - String relationMasterIdField(); - - /** - * 多对多关联表Model对象中与从表关联的Id字段名称。 - * - * @return 被关联Model对象的关联Id字段名称。 - */ - String relationSlaveIdField(); - - /** - * 聚合计算所在的Model。 - * - * @return 聚合计算所在Model的Class。 - */ - Class aggregationModelClass(); - - /** - * 聚合类型。具体数值参考AggregationType对象。 - * - * @return 聚合类型。 - */ - int aggregationType(); - - /** - * 聚合计算所在Model的字段名称。 - * - * @return 聚合计算所在Model的字段名称。 - */ - String aggregationField(); -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/RelationOneToMany.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/RelationOneToMany.java deleted file mode 100644 index c2279cdc..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/RelationOneToMany.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.orangeforms.common.core.annotation; - -import com.orangeforms.common.core.object.DummyClass; - -import java.lang.annotation.*; - -/** - * 标识Model之间的一对多关联关系。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Target({ElementType.FIELD, ElementType.METHOD}) -@Retention(RetentionPolicy.RUNTIME) -@Documented -public @interface RelationOneToMany { - - /** - * 当前对象的关联Id字段名称。 - * - * @return 当前对象的关联Id字段名称。 - */ - String masterIdField(); - - /** - * 被关联Model对象的Class对象。 - * - * @return 被关联Model对象的Class对象。 - */ - Class slaveModelClass(); - - /** - * 被关联Model对象的关联Id字段名称。 - * - * @return 被关联Model对象的关联Id字段名称。 - */ - String slaveIdField(); - - /** - * 被关联的本地Service对象名称。 - * 该参数的优先级高于 slaveService(),如果定义了该值,会优先使用加载service的bean对象。 - * - * @return 被关联的本地Service对象名称。 - */ - String slaveServiceName() default ""; - - /** - * 被关联的本地Service对象CLass类型。 - * - * @return 被关联的本地Service对象CLass类型。 - */ - Class slaveServiceClass() default DummyClass.class; -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/RelationOneToManyAggregation.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/RelationOneToManyAggregation.java deleted file mode 100644 index 707e979a..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/RelationOneToManyAggregation.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.orangeforms.common.core.annotation; - -import com.orangeforms.common.core.object.DummyClass; - -import java.lang.annotation.*; - -/** - * 主要用于一对多的Model关系。标注通过从表关联字段计算主表聚合计算字段的规则。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Target({ElementType.FIELD, ElementType.METHOD}) -@Retention(RetentionPolicy.RUNTIME) -@Documented -public @interface RelationOneToManyAggregation { - - /** - * 当前对象的关联Id字段名称。 - * - * @return 当前对象的关联Id字段名称。 - */ - String masterIdField(); - - /** - * 被关联的本地Service对象名称。 - * 该参数的优先级高于 slaveService(),如果定义了该值,会优先使用加载service的bean对象。 - * - * @return 被关联的本地Service对象名称。 - */ - String slaveServiceName() default ""; - - /** - * 被关联的本地Service对象CLass类型。 - * - * @return 被关联的本地Service对象CLass类型。 - */ - Class slaveServiceClass() default DummyClass.class; - - /** - * 被关联Model对象的Class对象。 - * - * @return 被关联Model对象的Class对象。 - */ - Class slaveModelClass(); - - /** - * 被关联Model对象的关联Id字段名称。 - * - * @return 被关联Model对象的关联Id字段名称。 - */ - String slaveIdField(); - - /** - * 被关联远程调用对象的Class对象。如果为DummyClass.class,通常表示是本地关联。 - * - * @return 被关联远程调用对象的Class对象。 - */ - Class slaveClientClass() default DummyClass.class; - - /** - * 被关联Model对象中参与计算的聚合类型。具体数值参考AggregationType对象。 - * - * @return 被关联Model对象中参与计算的聚合类型。 - */ - int aggregationType(); - - /** - * 被关联Model对象中参与聚合计算的字段名称。 - * - * @return 被关联Model对象中参与计算字段的名称。 - */ - String aggregationField(); -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/RelationOneToOne.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/RelationOneToOne.java deleted file mode 100644 index b8cadc33..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/RelationOneToOne.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.orangeforms.common.core.annotation; - -import com.orangeforms.common.core.object.DummyClass; - -import java.lang.annotation.*; - -/** - * 标识Model之间的一对一关联关系。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Target({ElementType.FIELD, ElementType.METHOD}) -@Retention(RetentionPolicy.RUNTIME) -@Documented -public @interface RelationOneToOne { - - /** - * 当前对象的关联Id字段名称。 - * - * @return 当前对象的关联Id字段名称。 - */ - String masterIdField(); - - /** - * 被关联Model对象的Class对象。 - * - * @return 被关联Model对象的Class对象。 - */ - Class slaveModelClass(); - - /** - * 被关联Model对象的关联Id字段名称。 - * - * @return 被关联Model对象的关联Id字段名称。 - */ - String slaveIdField(); - - /** - * 被关联远程调用对象的Class对象。 - * - * @return 被关联远程调用对象的Class对象。 - */ - Class slaveClientClass() default DummyClass.class; - - /** - * 被关联的本地Service对象名称。 - * 该参数的优先级高于 slaveService(),如果定义了该值,会优先使用加载service的bean对象。 - * - * @return 被关联的本地Service对象名称。 - */ - String slaveServiceName() default ""; - - /** - * 被关联的本地Service对象CLass类型。 - * - * @return 被关联的本地Service对象CLass类型。 - */ - Class slaveServiceClass() default DummyClass.class; - - /** - * 在一对一关联时,是否加载从表的字典关联。 - * - * @return 是否加载从表的字典关联。true关联,false则只返回从表自身数据。 - */ - boolean loadSlaveDict() default true; -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/TenantFilterColumn.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/TenantFilterColumn.java deleted file mode 100644 index c198c836..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/TenantFilterColumn.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.orangeforms.common.core.annotation; - -import java.lang.annotation.*; - -/** - * 主要用于标记通过租户Id进行过滤的字段。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Target({ElementType.FIELD}) -@Retention(RetentionPolicy.RUNTIME) -@Documented -public @interface TenantFilterColumn { - -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/UploadFlagColumn.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/UploadFlagColumn.java deleted file mode 100644 index e708dd44..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/UploadFlagColumn.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.orangeforms.common.core.annotation; - -import com.orangeforms.common.core.upload.UploadStoreTypeEnum; - -import java.lang.annotation.*; - -/** - * 用于标记支持数据上传和下载的字段。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Target({ElementType.FIELD}) -@Retention(RetentionPolicy.RUNTIME) -@Documented -public @interface UploadFlagColumn { - - /** - * 上传数据存储类型。 - * - * @return 上传数据存储类型。 - */ - UploadStoreTypeEnum storeType(); -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/UserFilterColumn.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/UserFilterColumn.java deleted file mode 100644 index db31ad08..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/annotation/UserFilterColumn.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.orangeforms.common.core.annotation; - -import java.lang.annotation.*; - -/** - * 主要用于标记数据权限中基于UserId进行过滤的字段。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Target({ElementType.FIELD}) -@Retention(RetentionPolicy.RUNTIME) -@Documented -public @interface UserFilterColumn { - -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/aop/DataSourceAspect.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/aop/DataSourceAspect.java deleted file mode 100644 index 4c48bf02..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/aop/DataSourceAspect.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.orangeforms.common.core.aop; - -import com.orangeforms.common.core.annotation.MyDataSource; -import com.orangeforms.common.core.config.DataSourceContextHolder; -import lombok.extern.slf4j.Slf4j; -import org.aspectj.lang.ProceedingJoinPoint; -import org.aspectj.lang.annotation.Around; -import org.aspectj.lang.annotation.Aspect; -import org.aspectj.lang.annotation.Pointcut; -import org.springframework.core.annotation.Order; -import org.springframework.stereotype.Component; - -/** - * 多数据源AOP切面处理类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Aspect -@Component -@Order(1) -@Slf4j -public class DataSourceAspect { - - /** - * 所有配置MyDataSource注解的Service实现类。 - */ - @Pointcut("execution(public * com.orangeforms..service..*(..)) " + - "&& @target(com.orangeforms.common.core.annotation.MyDataSource)") - public void datasourcePointCut() { - // 空注释,避免sonar警告 - } - - @Around("datasourcePointCut()") - public Object around(ProceedingJoinPoint point) throws Throwable { - Class clazz = point.getTarget().getClass(); - MyDataSource ds = clazz.getAnnotation(MyDataSource.class); - // 通过判断 DataSource 中的值来判断当前方法应用哪个数据源 - Integer originalType = DataSourceContextHolder.setDataSourceType(ds.value()); - log.debug("set datasource is " + ds.value()); - try { - return point.proceed(); - } finally { - DataSourceContextHolder.unset(originalType); - log.debug("unset datasource is " + originalType); - } - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/aop/DataSourceResolveAspect.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/aop/DataSourceResolveAspect.java deleted file mode 100644 index 0d25c7e2..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/aop/DataSourceResolveAspect.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.orangeforms.common.core.aop; - -import com.orangeforms.common.core.annotation.MyDataSourceResolver; -import com.orangeforms.common.core.util.DataSourceResolver; -import com.orangeforms.common.core.config.DataSourceContextHolder; -import com.orangeforms.common.core.util.ApplicationContextHolder; -import lombok.extern.slf4j.Slf4j; -import org.aspectj.lang.ProceedingJoinPoint; -import org.aspectj.lang.annotation.Around; -import org.aspectj.lang.annotation.Aspect; -import org.aspectj.lang.annotation.Pointcut; -import org.springframework.core.annotation.Order; -import org.springframework.stereotype.Component; - -import java.util.HashMap; -import java.util.Map; - -/** - * 基于自定义解析规则的多数据源AOP切面处理类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Aspect -@Component -@Order(1) -@Slf4j -public class DataSourceResolveAspect { - - private final Map, DataSourceResolver> resolverMap = new HashMap<>(); - - /** - * 所有配置MyDataSourceResovler注解的Service实现类。 - */ - @Pointcut("execution(public * com.orangeforms..service..*(..)) " + - "&& @target(com.orangeforms.common.core.annotation.MyDataSourceResolver)") - public void datasourceResolverPointCut() { - // 空注释,避免sonar警告 - } - - @Around("datasourceResolverPointCut()") - public Object around(ProceedingJoinPoint point) throws Throwable { - Class clazz = point.getTarget().getClass(); - MyDataSourceResolver dsr = clazz.getAnnotation(MyDataSourceResolver.class); - Class resolverClass = dsr.resolver(); - DataSourceResolver resolver = resolverMap.get(resolverClass); - if (resolver == null) { - resolver = ApplicationContextHolder.getBean(resolverClass); - resolverMap.put(resolverClass, resolver); - } - int type = resolver.resolve(dsr.arg(), point.getArgs()); - // 通过判断 DataSource 中的值来判断当前方法应用哪个数据源 - Integer originalType = DataSourceContextHolder.setDataSourceType(type); - log.debug("set datasource is " + type); - try { - return point.proceed(); - } finally { - DataSourceContextHolder.unset(originalType); - log.debug("unset datasource is " + originalType); - } - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/aop/DictCacheSyncAspect.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/aop/DictCacheSyncAspect.java deleted file mode 100644 index b6afaa12..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/aop/DictCacheSyncAspect.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.orangeforms.common.core.aop; - -import com.orangeforms.common.core.base.service.BaseDictService; -import lombok.extern.slf4j.Slf4j; -import org.aspectj.lang.ProceedingJoinPoint; -import org.aspectj.lang.annotation.Around; -import org.aspectj.lang.annotation.Aspect; -import org.aspectj.lang.annotation.Pointcut; -import org.springframework.core.Ordered; -import org.springframework.core.annotation.Order; -import org.springframework.stereotype.Component; - -import java.io.Serializable; - -/** - * 字典缓存同步的AOP。该AOP的优先级必须比事务切面的优先级高,因此会在事务外执行该切面的代码。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Aspect -@Component -@Order(Ordered.LOWEST_PRECEDENCE - 1) -@Slf4j -public class DictCacheSyncAspect { - - /** - * BaseDictService 字典服务父类中的字典数据增删改的方法。 - */ - @Pointcut("execution(public * com.orangeforms..BaseDictService.saveNew (..)) " + - "|| execution(public * com.orangeforms..BaseDictService.update (..)) " + - "|| execution(public * com.orangeforms..BaseDictService.remove (..))" ) - public void baseDictServicePointCut() { - // 空注释,避免sonar警告 - } - - @SuppressWarnings("unchecked") - @Around("baseDictServicePointCut()") - public Object around(ProceedingJoinPoint joinPoint) throws Throwable { - String methodName = joinPoint.getSignature().getName(); - Object arg = joinPoint.getArgs()[0]; - if ("saveNew".equals(methodName)) { - Object data = joinPoint.proceed(); - BaseDictService service = - (BaseDictService) joinPoint.getTarget(); - // 这里参数必须使用saveNew方法的返回对象,因为里面包含实际主键值。 - service.putDictionaryCache(data); - return data; - } else if ("update".equals(methodName)) { - Object data = joinPoint.proceed(); - BaseDictService service = - (BaseDictService) joinPoint.getTarget(); - // update的方法返回的是boolean,因此这里的参数需要使用第一个参数即可。 - service.putDictionaryCache(arg); - return data; - } else { - // remove - BaseDictService service = - (BaseDictService) joinPoint.getTarget(); - service.removeDictionaryCache((Serializable) arg); - return joinPoint.proceed(); - } - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/base/client/BaseClient.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/base/client/BaseClient.java deleted file mode 100644 index afcecfad..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/base/client/BaseClient.java +++ /dev/null @@ -1,186 +0,0 @@ -package com.orangeforms.common.core.base.client; - -import com.orangeforms.common.core.object.*; - -import java.util.*; - -/** - * 远程调用接口。 - * - * @param 主DomainDto域数据对象类型。 - * @param 主DomainVo域数据对象类型。 - * @param 主键类型。 - * @author Jerry - * @date 2020-08-08 - */ -public interface BaseClient { - - /** - * 基于主键的(in list)获取远程数据接口。 - * - * @param filterIds 主键Id集合。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象集合。 - */ - ResponseResult> listByIds(Set filterIds, Boolean withDict); - - /** - * 基于主键Id,获取远程对象。 - * - * @param id 主键Id。 - * @param withDict 是否包含字典关联。 - * @return 应答结果对象,包含主对象数据。 - */ - ResponseResult getById(K id, Boolean withDict); - - /** - * 判断参数列表中指定的主键Id,是否全部存在。 - * - * @param filterIds 主键Id集合。 - * @return 应答结果对象,包含true全部存在,否则false。 - */ - ResponseResult existIds(Set filterIds); - - /** - * 给定主键Id是否存在。 - * - * @param id 主键Id。 - * @return 应答结果对象,包含true表示存在,否则false。 - */ - ResponseResult existId(K id); - - /** - * 保存或更新数据。 - * - * @param data 主键Id为null时表示新增数据,否则更新数据。 - * @return 应答结果对象,主键Id。 - */ - default ResponseResult saveNewOrUpdate(D data) { - throw new UnsupportedOperationException(); - } - - /** - * 批量新增或保存数据列表。 - * - * @param dataList 数据列表。主键Id为null时表示新增数据,否则更新数据。 - * @return 应答结果对象。 - */ - default ResponseResult saveNewOrUpdateBatch(List dataList) { - throw new UnsupportedOperationException(); - } - - /** - * 验证指定数据的关联Id数据是否存合法。 - * - * @param data 数据对象。 - * @return 应答结果对象。 - */ - default ResponseResult verifyRelatedData(D data) { - throw new UnsupportedOperationException(); - } - - /** - * 验证指定数据列表的关联Id数据是否存合法。 - * - * @param dataList 数据对象列表。 - * @return 应答结果对象。 - */ - default ResponseResult verifyRelatedDataList(List dataList) { - throw new UnsupportedOperationException(); - } - - /** - * 删除主键Id关联的对象。 - * - * @param id 主键Id。 - * @return 应答结果对象。 - */ - default ResponseResult deleteById(K id) { - throw new UnsupportedOperationException(); - } - - /** - * 删除符合过滤条件的数据。 - * - * @param filter 过滤对象。 - * @return 应答结果对象,包含删除数量。 - */ - default ResponseResult deleteBy(D filter) { - throw new UnsupportedOperationException(); - } - - /** - * 获取远程主对象中符合查询条件的数据列表。 - * 缺省实现是因为字典类型的远程调用客户端中,不需要实现该方法,因此尽早抛出异常,用户可自行修改。 - * - * @param queryParam 查询参数。 - * @return 分页数据集合对象。如MyQueryParam参数的分页属性为空,则不会执行分页操作,只是基于MyPageData对象返回数据结果。 - */ - default ResponseResult> listBy(MyQueryParam queryParam) { - throw new UnsupportedOperationException(); - } - - /** - * 获取远程主对象中符合查询条件的单条数据对象。 - * 缺省实现是因为字典类型的远程调用客户端中,不需要实现该方法,因此尽早抛出异常,用户可自行修改。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含主对象集合。 - */ - default ResponseResult getBy(MyQueryParam queryParam) { - throw new UnsupportedOperationException(); - } - - /** - * 获取远程主对象中符合查询条件的数据列表。 - * 缺省实现是因为字典类型的远程调用客户端中,不需要实现该方法,因此尽早抛出异常,用户可自行修改。 - * - * @param queryParam 查询参数。 - * @return 分页数据集合对象。如MyQueryParam参数的分页属性为空,则不会执行分页操作,只是基于MyPageData对象返回数据结果。 - */ - default ResponseResult>> listMapBy(MyQueryParam queryParam) { - throw new UnsupportedOperationException(); - } - - /** - * 获取远程主对象中符合查询条件的数据数量。 - * 缺省实现是因为字典类型的远程调用客户端中,不需要实现该方法,因此尽早抛出异常,用户可自行修改。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含结果数量。 - */ - default ResponseResult countBy(MyQueryParam queryParam) { - throw new UnsupportedOperationException(); - } - - /** - * 获取远程主对象中符合过滤条件的分组聚合数据。 - * 缺省实现是因为字典类型的远程调用客户端中,不需要实现该方法,因此尽早抛出异常,用户可自行修改。 - * - * @param aggregationParam 聚合参数。 - * @return 应答结果对象,包含聚合计算后的数据列表。 - */ - default ResponseResult>> aggregateBy(MyAggregationParam aggregationParam) { - throw new UnsupportedOperationException(); - } - - /** - * 根据主键Id及其列表数据(not in list)进行过滤,返回给定的数据。返回的对象数据中,仅仅包含实体对象自己的数据,以及配置的字典关联数据。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含分页查询数据列表。 - */ - default ResponseResult> listByNotInList(MyQueryParam queryParam) { - throw new UnsupportedOperationException(); - } - - /** - * 根据过滤字段和过滤集合,返回不存在的数据。 - * - * @param queryParam 查询参数。 - * @return filterSet中,在从表中不存在的数据集合。 - */ - default ResponseResult> notExist(MyQueryParam queryParam) { - throw new UnsupportedOperationException(); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/base/client/BaseFallbackFactory.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/base/client/BaseFallbackFactory.java deleted file mode 100644 index cb8858cf..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/base/client/BaseFallbackFactory.java +++ /dev/null @@ -1,108 +0,0 @@ -package com.orangeforms.common.core.base.client; - -import com.orangeforms.common.core.constant.ErrorCodeEnum; -import com.orangeforms.common.core.object.*; -import lombok.extern.slf4j.Slf4j; -import org.springframework.cloud.openfeign.FallbackFactory; - -import java.util.*; - -/** - * FeignClient 熔断降级处理对象。 - * - * @param 主DomainDto域数据对象类型。 - * @param 主DomainVo域数据对象类型。 - * @param 主键类型。 - * @param Feign客户端对象类型。 - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -public abstract class BaseFallbackFactory> - implements FallbackFactory, BaseClient { - - @Override - public ResponseResult> listByIds(Set idSet, Boolean withDict) { - return ResponseResult.error(ErrorCodeEnum.RPC_DATA_ACCESS_FAILED); - } - - @Override - public ResponseResult getById(K id, Boolean withDict) { - return ResponseResult.error(ErrorCodeEnum.RPC_DATA_ACCESS_FAILED); - } - - @Override - public ResponseResult existIds(Set idSet) { - return ResponseResult.error(ErrorCodeEnum.RPC_DATA_ACCESS_FAILED); - } - - @Override - public ResponseResult existId(K id) { - return ResponseResult.error(ErrorCodeEnum.RPC_DATA_ACCESS_FAILED); - } - - @Override - public ResponseResult saveNewOrUpdate(D data) { - return ResponseResult.error(ErrorCodeEnum.RPC_DATA_ACCESS_FAILED); - } - - @Override - public ResponseResult saveNewOrUpdateBatch(List dataList) { - return ResponseResult.error(ErrorCodeEnum.RPC_DATA_ACCESS_FAILED); - } - - @Override - public ResponseResult verifyRelatedData(D data) { - return ResponseResult.error(ErrorCodeEnum.RPC_DATA_ACCESS_FAILED); - } - - @Override - public ResponseResult verifyRelatedDataList(List dataList) { - return ResponseResult.error(ErrorCodeEnum.RPC_DATA_ACCESS_FAILED); - } - - @Override - public ResponseResult deleteById(K id) { - return ResponseResult.error(ErrorCodeEnum.RPC_DATA_ACCESS_FAILED); - } - - @Override - public ResponseResult deleteBy(D filter) { - return ResponseResult.error(ErrorCodeEnum.RPC_DATA_ACCESS_FAILED); - } - - @Override - public ResponseResult> listBy(MyQueryParam queryParam) { - return ResponseResult.error(ErrorCodeEnum.RPC_DATA_ACCESS_FAILED); - } - - @Override - public ResponseResult getBy(MyQueryParam queryParam) { - return ResponseResult.error(ErrorCodeEnum.RPC_DATA_ACCESS_FAILED); - } - - @Override - public ResponseResult>> listMapBy(MyQueryParam queryParam) { - return ResponseResult.error(ErrorCodeEnum.RPC_DATA_ACCESS_FAILED); - } - - @Override - public ResponseResult countBy(MyQueryParam queryParam) { - return ResponseResult.error(ErrorCodeEnum.RPC_DATA_ACCESS_FAILED); - } - - @Override - public ResponseResult>> aggregateBy(MyAggregationParam aggregationParam) { - return ResponseResult.error(ErrorCodeEnum.RPC_DATA_ACCESS_FAILED); - } - - @Override - public ResponseResult> listByNotInList(MyQueryParam queryParam) { - return ResponseResult.error(ErrorCodeEnum.RPC_DATA_ACCESS_FAILED); - } - - @Override - public ResponseResult> notExist(MyQueryParam queryParam) { - return ResponseResult.error(ErrorCodeEnum.RPC_DATA_ACCESS_FAILED); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/base/controller/BaseController.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/base/controller/BaseController.java deleted file mode 100644 index b6f2794d..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/base/controller/BaseController.java +++ /dev/null @@ -1,513 +0,0 @@ -package com.orangeforms.common.core.base.controller; - -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.ReflectUtil; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.annotation.*; -import com.orangeforms.common.core.base.mapper.BaseModelMapper; -import com.orangeforms.common.core.base.service.IBaseService; -import com.orangeforms.common.core.config.CoreProperties; -import com.orangeforms.common.core.constant.AggregationKind; -import com.orangeforms.common.core.constant.AggregationType; -import com.orangeforms.common.core.constant.ErrorCodeEnum; -import com.orangeforms.common.core.exception.RemoteDataBuildException; -import com.orangeforms.common.core.object.*; -import com.orangeforms.common.core.util.MyCommonUtil; -import com.orangeforms.common.core.util.MyModelUtil; -import com.github.pagehelper.Page; -import com.github.pagehelper.page.PageMethod; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.collections4.MapUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; - -import java.io.Serializable; -import java.lang.reflect.Field; -import java.lang.reflect.ParameterizedType; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.function.Function; -import java.util.stream.Collectors; - -/** - * 控制器Controller的基类。 - * - * @param 主Model实体对象类型。 - * @param 主Model的DomainVO域对象类型。 - * @param 主键类型。 - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -public abstract class BaseController { - - @Autowired - private CoreProperties coreProperties; - /** - * 当前Service关联的主Model实体对象的Class。 - */ - private final Class modelClass; - /** - * 当前Service关联的主model的VO对象的Class。 - */ - private final Class domainVoClass; - /** - * 当前Service关联的主Model对象主键字段名称。 - */ - private String idFieldName; - - /** - * 获取子类中注入的IBaseService接口。 - * - * @return 子类中注入的BaseService类。 - */ - protected abstract IBaseService service(); - - /** - * 构造函数。 - */ - @SuppressWarnings("unchecked") - public BaseController() { - modelClass = (Class) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0]; - domainVoClass = (Class) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[1]; - Field[] fields = ReflectUtil.getFields(modelClass); - for (Field field : fields) { - if (null != field.getAnnotation(TableId.class)) { - idFieldName = field.getName(); - break; - } - } - } - - /** - * 根据主键Id集合,获取数据对象集合。仅限于微服务间远程接口调用。 - * - * @param filterIds 主键Id集合。 - * @param withDict 是否包含字典关联。 - * @param modelMapper 对象映射函数对象。如果为空,则使用MyModelUtil中的缺省转换函数。 - * @return 应答结果对象,包含主对象集合。 - * @throws RemoteDataBuildException buildRelationForDataList会抛出该异常。 - */ - public ResponseResult> baseListByIds( - Set filterIds, Boolean withDict, BaseModelMapper modelMapper) { - if (MyCommonUtil.existBlankArgument(filterIds, withDict)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - List resultList = service().getInList(idFieldName, filterIds); - List resultVoList = null; - if (CollectionUtils.isEmpty(resultList)) { - return ResponseResult.success(resultVoList); - } - if (Boolean.TRUE.equals(withDict)) { - service().buildRelationForDataList(resultList, MyRelationParam.dictOnly()); - } - resultVoList = convertToVoList(resultList, modelMapper); - return ResponseResult.success(resultVoList); - } - - /** - * 根据主键Id,获取数据对象。仅限于微服务间远程接口调用。 - * - * @param id 主键Id。 - * @param withDict 是否包含字典关联。 - * @param modelMapper 对象映射函数对象。如果为空,则使用MyModelUtil中的缺省转换函数。 - * @return 应答结果对象,包含主对象数据。 - * @throws RemoteDataBuildException buildRelationForData会抛出此异常。 - */ - public ResponseResult baseGetById(K id, Boolean withDict, BaseModelMapper modelMapper) { - if (MyCommonUtil.existBlankArgument(id, withDict)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - M resultObject = service().getById(id); - V resultVoObject = null; - if (resultObject == null) { - return ResponseResult.success(resultVoObject); - } - if (Boolean.TRUE.equals(withDict)) { - service().buildRelationForData(resultObject, MyRelationParam.dictOnly()); - } - resultVoObject = this.convertToVo(resultObject, modelMapper); - return ResponseResult.success(resultVoObject); - } - - /** - * 判断参数列表中指定的主键Id集合,是否全部存在。仅限于微服务间远程接口调用。 - * - * @param filterIds 主键Id集合。 - * @return 应答结果对象,包含true全部存在,否则false。 - */ - public ResponseResult baseExistIds(Set filterIds) { - return ResponseResult.success(CollectionUtils.isNotEmpty(filterIds) - && service().existUniqueKeyList(idFieldName, filterIds)); - } - - /** - * 判断参数列表中指定的主键Id集合,是否全部存在。仅限于微服务间远程接口调用。 - * - * @param id 主键Id。 - * @return 应答结果对象,包含true全部存在,否则false。 - */ - public ResponseResult baseExistId(K id) { - return ResponseResult.success( - !MyCommonUtil.existBlankArgument(id) && service().getById(id) != null); - } - - /** - * 根据最新对象列表和原有对象的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。仅限于微服务间远程接口调用。 - * - * @param data 数据对象。 - * 主键有值是视为更新操作的数据比对,因此仅当关联Id变化时才会验证。 - * 主键为空视为新增操作的数据比对,所有关联Id都会被验证。 - * @param idGetter 获取主键值的函数对象。 - * @return 应答结果对象。 - */ - public ResponseResult baseVerifyRelatedData(M data, Function idGetter) { - CallResult result; - K id = idGetter.apply(data); - if (id == null) { - result = service().verifyRelatedData(data, null); - } else { - M originalData = service().getById(id); - if (originalData == null) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - result = service().verifyRelatedData(data, originalData); - } - return !result.isSuccess() ? ResponseResult.errorFrom(result) : ResponseResult.success(); - } - - /** - * 根据最新对象列表和原有对象列表的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param dataList 数据对象列表。 - * @param idGetter 获取主键值的函数对象。 - * @return 应答结果对象。 - */ - public ResponseResult baseVerifyRelatedDataList(List dataList, Function idGetter) { - if (CollUtil.isEmpty(dataList)) { - return ResponseResult.success(); - } - // 1. 先过滤出数据列表中的主键Id集合。 - Set idList = dataList.stream() - .filter(c -> idGetter.apply(c) != null).map(idGetter).collect(Collectors.toSet()); - // 2. 列表中,我们目前仅支持全部是更新数据,或全部新增数据,不能混着。如果有主键值,说明当前全是更新数据。 - if (CollUtil.isNotEmpty(idList)) { - // 3. 这里是批量读取的优化,用一个主键值得in list查询,一步获取全部原有数据。然后再在内存中基于Map排序。 - List originalList = service().getInList(idList); - Map originalMap = originalList.stream().collect(Collectors.toMap(idGetter, c2 -> c2)); - // 迭代列表,传入当前最新数据和更新前数据进行比对,如果关联数据变化了,就对新数据进行合法性验证。 - for (M data : dataList) { - CallResult result = service().verifyRelatedData(data, originalMap.get(idGetter.apply(data))); - if (!result.isSuccess()) { - return ResponseResult.errorFrom(result); - } - } - } else { - // 4. 迭代列表,传入当前最新数据,对关联数据进行合法性验证。 - for (M model : dataList) { - CallResult result = service().verifyRelatedData(model, null); - if (!result.isSuccess()) { - return ResponseResult.errorFrom(result); - } - } - } - return ResponseResult.success(); - } - - /** - * 删除符合过滤条件的数据。 - * - * @param filter 过滤对象。 - * @return 删除数量。 - */ - public ResponseResult baseDeleteBy(M filter) throws Exception { - return ResponseResult.success(service().removeBy(filter)); - } - - /** - * 自定义过滤条件、显示字段和排序字段的单表查询。主要用于微服务间远程过程调用。 - * NOTE: 和baseListMapBy方法的差别只是返回的数据形式不同,该接口以对象列表的形式返回数据。 - * - * @param queryParam 查询参数。 - * @param modelMapper 对象映射函数对象。如果为空,则使用MyModelUtil中的缺省转换函数。 - * @return 分页数据集合对象。如MyQueryParam参数的分页属性为空,则不会执行分页操作,只是基于MyPageData对象返回数据结果。 - * @throws RemoteDataBuildException buildRelationForDataList会抛出此异常。 - */ - public ResponseResult> baseListBy(MyQueryParam queryParam, BaseModelMapper modelMapper) { - boolean dataFilterEnabled = GlobalThreadLocal.setDataFilter(queryParam.getUseDataFilter()); - if (CollectionUtils.isNotEmpty(queryParam.getSelectFieldList())) { - for (String fieldName : queryParam.getSelectFieldList()) { - String columnName = MyModelUtil.mapToColumnName(fieldName, modelClass); - if (columnName == null) { - String errorMessage = "数据验证失败,实体对象 [" - + modelClass.getSimpleName() + "] 中不存在字段 [" + fieldName + "]!"; - return ResponseResult.error(ErrorCodeEnum.INVALID_DATA_FIELD, errorMessage); - } - } - } - M filter = queryParam.getFilterDto(modelClass); - if (StrUtil.isNotBlank(queryParam.getInFilterField()) - && CollUtil.isNotEmpty(queryParam.getInFilterValues())) { - if (queryParam.getCriteriaList() == null) { - queryParam.setCriteriaList(new LinkedList<>()); - } - MyWhereCriteria whereCriteria = new MyWhereCriteria(); - whereCriteria.setFieldName(queryParam.getInFilterField()); - whereCriteria.setOperatorType(MyWhereCriteria.OPERATOR_IN); - whereCriteria.setValue(queryParam.getInFilterValues()); - queryParam.getCriteriaList().add(whereCriteria); - } - String whereClause = MyWhereCriteria.makeCriteriaString(queryParam.getCriteriaList(), modelClass); - if (CollUtil.isNotEmpty(queryParam.getSearchStringFieldList()) - && StrUtil.isNotBlank(queryParam.getSearchStringValue())) { - String tableName = MyModelUtil.mapToTableName(modelClass); - StringBuilder sb = new StringBuilder(128); - if (StrUtil.isNotBlank(whereClause)) { - sb.append(" AND "); - } - sb.append(" CONCAT("); - for (int i = 0; i < queryParam.getSearchStringFieldList().size(); i++) { - String fieldName = queryParam.getSearchStringFieldList().get(i); - String columnName = MyModelUtil.mapToColumnInfo(fieldName, modelClass).getFirst(); - if (coreProperties.isMySql()) { - sb.append("IFNULL("); - } else if (coreProperties.isPostgresql()) { - sb.append("COALESCE("); - } - sb.append(tableName).append(".").append(columnName).append(", '')"); - if (i != queryParam.getSearchStringFieldList().size() - 1) { - sb.append(", "); - } - } - sb.append(") LIKE ").append("'").append(queryParam.getSearchStringValue()).append("'"); - whereClause = whereClause + sb.toString(); - } - String orderBy = MyOrderParam.buildOrderBy(queryParam.getOrderParam(), modelClass); - MyPageParam pageParam = queryParam.getPageParam(); - if (pageParam != null) { - PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - List resultList = service().getListByCondition( - queryParam.getSelectFieldList(), filter, whereClause, orderBy); - if (CollectionUtils.isEmpty(resultList)) { - return ResponseResult.success(MyPageData.emptyPageData()); - } - long totalCount; - if (resultList instanceof Page) { - totalCount = ((Page) resultList).getTotal(); - } else { - totalCount = resultList.size(); - } - if (queryParam.getWithDict()) { - service().buildRelationForDataList(resultList, MyRelationParam.dictOnly()); - } - List resultVoList = convertToVoList(resultList, modelMapper); - GlobalThreadLocal.setDataFilter(dataFilterEnabled); - return ResponseResult.success(new MyPageData<>(resultVoList, totalCount)); - } - - /** - * 自定义过滤条件、显示字段和排序字段的单表查询。主要用于微服务间远程过程调用。 - * NOTE: 和baseListBy方法的差别只是返回的数据形式不同,该接口以Map列表的形式返回数据。 - * - * @param queryParam 查询参数。 - * @param modelMapper 对象映射函数对象。如果为空,则使用MyModelUtil中的缺省转换函数。 - * @return 分页数据集合对象。如MyQueryParam参数的分页属性为空,则不会执行分页操作,只是基于MyPageData对象返回数据结果。 - */ - public ResponseResult>> baseListMapBy( - MyQueryParam queryParam, BaseModelMapper modelMapper) { - ResponseResult> result = this.baseListBy(queryParam, modelMapper); - if (!result.isSuccess()) { - return ResponseResult.errorFrom(result); - } - List> resultMapList = - result.getData().getDataList().stream().map(BeanUtil::beanToMap).collect(Collectors.toList()); - return ResponseResult.success(new MyPageData<>(resultMapList, result.getData().getTotalCount())); - } - - /** - * 自定义过滤条件、显示字段,并返回单条记录。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @param modelMapper 对象映射函数对象。如果为空,则使用MyModelUtil中的缺省转换函数。 - * @return 应答结果对象,包含符合查询过滤条件的单条实体对象。 - */ - public ResponseResult baseGetBy(MyQueryParam queryParam, BaseModelMapper modelMapper) { - ResponseResult> result = baseListBy(queryParam, modelMapper); - if (!result.isSuccess()) { - return ResponseResult.errorFrom(result); - } - List dataList = result.getData().getDataList(); - V data = null; - if (CollectionUtils.isNotEmpty(dataList)) { - data = dataList.get(0); - } - return ResponseResult.success(data); - } - - /** - * 自定义过滤条件的记录数量统计。主要用于微服务间远程过程调用。 - * - * @param queryParam 查询参数。 - * @return 应答结果对象,包含符合查询过滤条件的记录数量。 - */ - public ResponseResult baseCountBy(MyQueryParam queryParam) { - boolean dataFilterEnabled = GlobalThreadLocal.setDataFilter(queryParam.getUseDataFilter()); - String whereClause = MyWhereCriteria.makeCriteriaString(queryParam.getCriteriaList(), modelClass); - Integer count = service().getCountByCondition(whereClause); - GlobalThreadLocal.setDataFilter(dataFilterEnabled); - return ResponseResult.success(count); - } - - /** - * 获取远程对象中符合查询条件的分组聚合计算Map列表。 - * - * @param param 聚合参数。 - * @return 应该结果对象,包含聚合计算后的分组Map列表。 - */ - public ResponseResult>> baseAggregateBy(MyAggregationParam param) { - boolean dataFilterEnabled = GlobalThreadLocal.setDataFilter(param.getUseDataFilter()); - // 完成一些共同性规则的验证。 - VerifyAggregationInfo verifyInfo = this.verifyAndParseAggregationParam(param); - if (!verifyInfo.isSuccess) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, verifyInfo.errorMsg); - } - // 构建SelectList - StringBuilder selectList = new StringBuilder(64); - // 一对多场景相对比较简单,直接基于从表的关联键进行group,同时对聚合字段进行聚合计算即可。 - // SQL返回的数据,可直接返回给调用端服务。 - if (param.getAggregationKind() == AggregationKind.ONE_TO_MANY) { - selectList.append(verifyInfo.groupColumn).append(" ").append(MyAggregationParam.KEY_NAME).append(", "); - } - selectList.append(AggregationType.getAggregationFunction(verifyInfo.aggregationType)) - .append("(") - .append(verifyInfo.aggregationColumn) - .append(") ") - .append(MyAggregationParam.VALUE_NAME); - String whereClause = MyWhereCriteria.makeCriteriaString(param.getWhereCriteriaList(), modelClass); - List> resultMapList = null; - // 一对多场景直接返回分组查询计算结果即可。 - if (param.getAggregationKind() == AggregationKind.ONE_TO_MANY) { - resultMapList = service().getGroupedListByCondition( - selectList.toString(), whereClause, verifyInfo.groupColumn); - } else if (param.getAggregationKind() == AggregationKind.MANY_TO_MANY) { - boolean stringKey = true; - if (param.getGroupedInFilterValues().entrySet().iterator().next().getKey() instanceof Number) { - stringKey = false; - } - resultMapList = new LinkedList<>(); - // 迭代分组map,通过多次查询的方式进行数据分组。通过该方式可以避免多次rpc调用,以提升性能。 - for (Map.Entry> entry : param.getGroupedInFilterValues().entrySet()) { - StringBuilder groupedSelectList = new StringBuilder(64); - if (stringKey) { - groupedSelectList.append("'").append(entry.getKey()).append("' as "); - } else { - groupedSelectList.append(entry.getKey()).append(" as "); - } - groupedSelectList.append(MyAggregationParam.KEY_NAME).append(", ").append(selectList); - MyWhereCriteria criteria = new MyWhereCriteria(); - criteria.setModelClazz(modelClass); - criteria.setCriteria(param.getInFilterField(), MyWhereCriteria.OPERATOR_IN, entry.getValue()); - StringBuilder groupedClause = new StringBuilder(128); - groupedClause.append(criteria.makeCriteriaString()); - if (StringUtils.isNotBlank(whereClause)) { - groupedClause.append(" AND ").append(whereClause); - } - List> subResultMapList = service().getGroupedListByCondition( - groupedSelectList.toString(), groupedClause.toString(), null); - resultMapList.addAll(subResultMapList); - } - } - GlobalThreadLocal.setDataFilter(dataFilterEnabled); - return ResponseResult.success(resultMapList); - } - - /** - * 将Model实体对象的集合转换为DomainVO域对象的集合。 - * 如果Model存在该实体的ModelMapper,就用该ModelMapper转换,否则使用缺省的基于字段反射的copy。 - * - * @param modelList 实体对象列表。 - * @param modelMapper 从实体对象到VO对象的映射对象。 - * @return 转换后的VO域对象列表。 - */ - protected List convertToVoList(List modelList, BaseModelMapper modelMapper) { - List resultVoList; - if (modelMapper != null) { - resultVoList = modelMapper.fromModelList(modelList); - } else { - resultVoList = MyModelUtil.copyCollectionTo(modelList, domainVoClass); - } - return resultVoList; - } - - /** - * 将Model实体对象转换为DomainVO域对象。 - * 如果Model存在该实体的ModelMapper,就用该ModelMapper转换,否则使用缺省的基于字段反射的copy。 - * - * @param model 实体对象。 - * @param modelMapper 从实体对象到VO对象的映射对象。 - * @return 转换后的VO域对象。 - */ - protected V convertToVo(M model, BaseModelMapper modelMapper) { - V resultVo; - if (modelMapper != null) { - resultVo = modelMapper.fromModel(model); - } else { - resultVo = MyModelUtil.copyTo(model, domainVoClass); - } - return resultVo; - } - - private VerifyAggregationInfo verifyAndParseAggregationParam(MyAggregationParam param) { - VerifyAggregationInfo verifyInfo = new VerifyAggregationInfo(); - if (!AggregationKind.isValid(param.getAggregationKind())) { - verifyInfo.errorMsg = "参数验证失败,聚合类别 [MyAggregationParam.AggregationKind] 数值无效!"; - return verifyInfo; - } - Integer aggregationType = param.getAggregationType(); - if (!AggregationType.isValid(aggregationType)) { - verifyInfo.errorMsg = "参数验证失败,聚合类型 [MyAggregationParam.AggregationType] 数值无效!"; - return verifyInfo; - } - String aggregationColumn = MyModelUtil.mapToColumnName(param.getAggregationField(), modelClass); - if (StringUtils.isBlank(aggregationColumn)) { - verifyInfo.errorMsg = "参数验证失败,聚合字段 [MyAggregationParam.AggregationField] 为非法值!"; - return verifyInfo; - } - // 一对多场景相对比较简单,直接基于从表的关联键进行group,同时对聚合字段进行聚合计算即可。 - // SQL返回的数据,可直接返回给调用端服务。 - if (param.getAggregationKind() == AggregationKind.ONE_TO_MANY) { - verifyInfo.groupColumn = MyModelUtil.mapToColumnName(param.getGroupField(), modelClass); - if (StringUtils.isBlank(verifyInfo.groupColumn)) { - verifyInfo.errorMsg = "参数验证失败,一对多聚合 [MyAggregationParam.GroupField] 分组字段为非法值!"; - return verifyInfo; - } - } else { - String inFilterColumn = MyModelUtil.mapToColumnName(param.getInFilterField(), modelClass); - if (StringUtils.isBlank(inFilterColumn)) { - verifyInfo.errorMsg = "参数验证失败,多对多 [MyAggregationParam.InfilterField] 过滤字段为非法值!"; - return verifyInfo; - } - if (MapUtils.isEmpty(param.getGroupedInFilterValues())) { - verifyInfo.errorMsg = "参数验证失败,多对多 [MyAggregationParam.GroupedInFilterValues] 数据集合不能为空!"; - return verifyInfo; - } - } - verifyInfo.isSuccess = true; - verifyInfo.aggregationType = aggregationType; - verifyInfo.aggregationColumn = aggregationColumn; - return verifyInfo; - } - - private static final class VerifyAggregationInfo { - private boolean isSuccess = false; - private String errorMsg; - private Integer aggregationType; - private String aggregationColumn; - private String groupColumn; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/base/dao/BaseDaoMapper.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/base/dao/BaseDaoMapper.java deleted file mode 100644 index 8fa03aff..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/base/dao/BaseDaoMapper.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.orangeforms.common.core.base.dao; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.List; -import java.util.Map; - -/** - * 数据访问对象的基类。 - * - * @param 主Model实体对象。 - * @author Jerry - * @date 2020-08-08 - */ -public interface BaseDaoMapper extends BaseMapper { - - /** - * 根据指定的表名、显示字段列表、过滤条件字符串和分组字段,返回聚合计算后的查询结果。 - * - * @param selectTable 表名称。 - * @param selectFields 返回字段列表,逗号分隔。 - * @param whereClause SQL常量形式的条件从句。 - * @param groupBy 分组字段列表,逗号分隔。 - * @return 对象可选字段Map列表。 - */ - @Select("") - List> getGroupedListByCondition( - @Param("selectTable") String selectTable, - @Param("selectFields") String selectFields, - @Param("whereClause") String whereClause, - @Param("groupBy") String groupBy); - - /** - * 根据指定的表名、显示字段列表、过滤条件字符串和排序字符串,返回查询结果。 - * - * @param selectTable 表名称。 - * @param selectFields 选择的字段列表。 - * @param whereClause 过滤字符串。 - * @param orderBy 排序字符串。 - * @return 查询结果。 - */ - @Select("") - List> getListByCondition( - @Param("selectTable") String selectTable, - @Param("selectFields") String selectFields, - @Param("whereClause") String whereClause, - @Param("orderBy") String orderBy); - - /** - * 用指定过滤条件,计算记录数量。 - * - * @param selectTable 表名称。 - * @param whereClause 过滤字符串。 - * @return 返回过滤后的数据数量。 - */ - @Select("") - int getCountByCondition(@Param("selectTable") String selectTable, @Param("whereClause") String whereClause); -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/base/mapper/BaseModelMapper.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/base/mapper/BaseModelMapper.java deleted file mode 100644 index 36f65509..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/base/mapper/BaseModelMapper.java +++ /dev/null @@ -1,124 +0,0 @@ -package com.orangeforms.common.core.base.mapper; - -import cn.hutool.core.bean.BeanUtil; -import org.apache.commons.collections4.CollectionUtils; - -import java.util.*; -import java.util.stream.Collectors; - -/** - * Model对象到Domain类型对象的相互转换。实现类通常声明在Model实体类中。 - * - * @param Domain域对象类型。 - * @param Model实体对象类型。 - * @author Jerry - * @date 2020-08-08 - */ -public interface BaseModelMapper { - - /** - * 转换Model实体对象到Domain域对象。 - * - * @param model Model实体对象。 - * @return Domain域对象。 - */ - D fromModel(M model); - - /** - * 转换Model实体对象列表到Domain域对象列表。 - * - * @param modelList Model实体对象列表。 - * @return Domain域对象列表。 - */ - List fromModelList(List modelList); - - /** - * 转换Domain域对象到Model实体对象。 - * - * @param domain Domain域对象。 - * @return Model实体对象。 - */ - M toModel(D domain); - - /** - * 转换Domain域对象列表到Model实体对象列表。 - * - * @param domainList Domain域对象列表。 - * @return Model实体对象列表。 - */ - List toModelList(List domainList); - - /** - * 转换bean到map - * - * @param bean bean对象。 - * @param ignoreNullValue 值为null的字段是否转换到Map。 - * @param bean类型。 - * @return 转换后的map对象。 - */ - default Map beanToMap(T bean, boolean ignoreNullValue) { - return BeanUtil.beanToMap(bean, false, ignoreNullValue); - } - - /** - * 转换bean集合到map集合 - * - * @param dataList bean对象集合。 - * @param ignoreNullValue 值为null的字段是否转换到Map。 - * @param bean类型。 - * @return 转换后的map对象集合。 - */ - default List> beanToMap(List dataList, boolean ignoreNullValue) { - if (CollectionUtils.isEmpty(dataList)) { - return new LinkedList<>(); - } - return dataList.stream() - .map(o -> BeanUtil.beanToMap(o, false, ignoreNullValue)) - .collect(Collectors.toList()); - } - - /** - * 转换map到bean。 - * - * @param map map对象。 - * @param beanClazz bean的Class对象。 - * @param bean类型。 - * @return 转换后的bean对象。 - */ - default T mapToBean(Map map, Class beanClazz) { - return BeanUtil.toBeanIgnoreError(map, beanClazz); - } - - /** - * 转换map集合到bean集合。 - * - * @param mapList map对象集合。 - * @param beanClazz bean的Class对象。 - * @param bean类型。 - * @return 转换后的bean对象集合。 - */ - default List mapToBean(List> mapList, Class beanClazz) { - if (CollectionUtils.isEmpty(mapList)) { - return new LinkedList<>(); - } - return mapList.stream() - .map(m -> BeanUtil.toBeanIgnoreError(m, beanClazz)) - .collect(Collectors.toList()); - } - - /** - * 对于Map字段到Map字段的映射场景,MapStruct会根据方法签名自动选择该函数 - * 作为对象copy的函数。由于该函数是直接返回的,因此没有对象copy,效率更高。 - * 如果没有该函数,MapStruct会生成如下代码: - * Map map = courseDto.getTeacherIdDictMap(); - * if ( map != null ) { - * course.setTeacherIdDictMap( new HashMap( map ) ); - * } - * - * @param map map对象。 - * @return 直接返回的map。 - */ - default Map mapToMap(Map map) { - return map; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/base/mapper/DummyModelMapper.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/base/mapper/DummyModelMapper.java deleted file mode 100644 index 9d97316f..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/base/mapper/DummyModelMapper.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.orangeforms.common.core.base.mapper; - -import java.util.List; - -/** - * 哑元占位对象。Model实体对象和Domain域对象相同的场景下使用。 - * 由于没有实际的数据转换,因此同时保证了代码统一和执行效率。 - * - * @param 数据类型。 - * @author Jerry - * @date 2020-08-08 - */ -public class DummyModelMapper implements BaseModelMapper { - - /** - * 不转换直接返回。 - * - * @param model Model实体对象。 - * @return Domain域对象。 - */ - @Override - public M fromModel(M model) { - return model; - } - - /** - * 不转换直接返回。 - * - * @param modelList Model实体对象列表。 - * @return Domain域对象列表。 - */ - @Override - public List fromModelList(List modelList) { - return modelList; - } - - /** - * 不转换直接返回。 - * - * @param domain Domain域对象。 - * @return Model实体对象。 - */ - @Override - public M toModel(M domain) { - return domain; - } - - /** - * 不转换直接返回。 - * - * @param domainList Domain域对象列表。 - * @return Model实体对象列表。 - */ - @Override - public List toModelList(List domainList) { - return domainList; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/base/model/BaseModel.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/base/model/BaseModel.java deleted file mode 100644 index 722c7cea..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/base/model/BaseModel.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.orangeforms.common.core.base.model; - -import com.baomidou.mybatisplus.annotation.TableField; -import lombok.Data; - -import java.util.Date; - -/** - * 实体对象的公共基类,所有子类均必须包含基类定义的数据表字段和实体对象字段。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -public class BaseModel { - - /** - * 创建者Id。 - */ - @TableField(value = "create_user_id") - private Long createUserId; - - /** - * 创建时间。 - */ - @TableField(value = "create_time") - private Date createTime; - - /** - * 更新者Id。 - */ - @TableField(value = "update_user_id") - private Long updateUserId; - - /** - * 更新时间。 - */ - @TableField(value = "update_time") - private Date updateTime; -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/base/service/BaseDictService.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/base/service/BaseDictService.java deleted file mode 100644 index 5a455a3b..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/base/service/BaseDictService.java +++ /dev/null @@ -1,266 +0,0 @@ -package com.orangeforms.common.core.base.service; - -import cn.hutool.core.util.ReflectUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.orangeforms.common.core.constant.GlobalDeletedFlag; -import com.orangeforms.common.core.exception.MyRuntimeException; -import com.orangeforms.common.core.cache.DictionaryCache; -import com.orangeforms.common.core.object.TokenData; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; -import org.springframework.transaction.annotation.Transactional; - -import java.io.Serializable; -import java.util.*; - -/** - * 带有缓存功能的字典Service基类,需要留意的是,由于缓存基于Key/Value方式存储, - * 目前仅支持基于主键字段的缓存查找,其他条件的查找仍然从数据源获取。 - * - * @param Model实体对象的类型。 - * @param Model对象主键的类型。 - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -public abstract class BaseDictService extends BaseService implements IBaseDictService { - - /** - * 缓存池对象。 - */ - protected DictionaryCache dictionaryCache; - - /** - * 构造函数使用缺省缓存池对象。 - */ - public BaseDictService() { - super(); - } - - /** - * 重新加载数据库中所有当前表数据到系统内存。 - * - * @param force true则强制刷新,如果false,当缓存中存在数据时不刷新。 - */ - @Override - public void reloadCachedData(boolean force) { - // 在非强制刷新情况下。 - // 先行判断缓存中是否存在数据,如果有就不加载了。 - if (!force && dictionaryCache.getCount() > 0) { - return; - } - List allList = super.getAllList(); - dictionaryCache.reload(allList, force); - } - - /** - * 保存新增对象。 - * - * @param data 新增对象。 - * @return 返回新增对象。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public M saveNew(M data) { - if (deletedFlagFieldName != null) { - try { - setDeletedFlagMethod.invoke(data, GlobalDeletedFlag.NORMAL); - } catch (Exception e) { - log.error("Failed to call reflection [setDeletedFlagMethod] in BaseDictService.saveNew.", e); - throw new MyRuntimeException(e); - } - } - if (tenantIdField != null) { - ReflectUtil.setFieldValue(data, tenantIdField, TokenData.takeFromRequest().getTenantId()); - } - mapper().insert(data); - return data; - } - - /** - * 更新数据对象。 - * - * @param data 更新的对象。 - * @param originalData 原有数据对象。 - * @return 成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public boolean update(M data, M originalData) { - if (tenantIdField != null) { - ReflectUtil.setFieldValue(data, tenantIdField, TokenData.takeFromRequest().getTenantId()); - } - return mapper().updateById(data) == 1; - } - - /** - * 删除指定数据。 - * - * @param id 主键Id。 - * @return 成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public boolean remove(K id) { - return mapper().deleteById(id) == 1; - } - - /** - * 直接从缓存池中获取主键Id关联的数据。如果缓存中不存在,再从数据库中取出并回写到缓存。 - * - * @param id 主键Id。 - * @return 主键关联的数据,不存在返回null。 - */ - @SuppressWarnings("unchecked") - @Override - public M getById(Serializable id) { - M data = dictionaryCache.get((K) id); - if (data != null) { - return data; - } - data = super.getById(id); - if (data != null) { - this.dictionaryCache.put((K) id, data); - } - return data; - } - - /** - * 直接从缓存池中获取所有数据。 - * - * @return 返回所有数据。 - */ - @Override - public List getAllListFromCache() { - return dictionaryCache.getAll(); - } - - /** - * 直接从缓存池中返回符合主键 in (idValues) 条件的所有数据。 - * 对于缓存中不存在的数据,从数据库中获取并回写入缓存。 - * - * @param idValues 主键值列表。 - * @return 检索后的数据列表。 - */ - @SuppressWarnings("unchecked") - @Override - public List getInList(Set idValues) { - List resultList = dictionaryCache.getInList(idValues); - if (resultList.size() == idValues.size()) { - return resultList; - } - Set cachedIdList = new HashSet<>(); - for (M data : resultList) { - try { - cachedIdList.add((K) getIdFieldMethod.invoke(data)); - } catch (Exception e) { - log.error("Failed to call reflection method in BaseDictService.getInList.", e); - throw new MyRuntimeException(e); - } - } - // 找到未缓存的数据,然后从数据库读取后缓存。 - Set uncachedIdList = new HashSet<>(); - for (K id : idValues) { - if (!cachedIdList.contains(id)) { - uncachedIdList.add(id); - } - } - List uncachedResultList = super.getInList(uncachedIdList); - if (CollectionUtils.isNotEmpty(uncachedResultList)) { - for (M data : uncachedResultList) { - try { - K id = (K) getIdFieldMethod.invoke(data); - this.dictionaryCache.put(id, data); - } catch (Exception e) { - log.error("Failed to call reflection method in BaseDictService.getInList.", e); - throw new MyRuntimeException(e); - } - } - resultList.addAll(uncachedResultList); - } - return resultList; - } - - /** - * 返回符合 inFilterField in (inFilterValues) 条件的所有数据。属性property是主键,则从缓存中读取。 - * - * @param inFilterField 参与(In-list)过滤的Java对象字段。 - * @param inFilterValues 参与(In-list)过滤的Java字段值集合。 - * @return 检索后的数据列表。 - */ - @SuppressWarnings("unchecked") - @Override - public List getInList(String inFilterField, Set inFilterValues) { - if (inFilterField.equals(this.idFieldName)) { - return this.getInList((Set) inFilterValues); - } - return super.getInList(inFilterField, inFilterValues); - } - - /** - * 判断参数值列表中的所有数据,是否全部存在。另外,keyName字段在数据表中必须是唯一键值,否则返回结果会出现误判。 - * - * @param inFilterField 待校验的数据字段,这里使用Java对象中的属性,如courseId,而不是数据字段名course_id。 - * @param inFilterValues 数据值集合。 - * @return 全部存在返回true,否则false。 - */ - @SuppressWarnings("unchecked") - @Override - public boolean existUniqueKeyList(String inFilterField, Set inFilterValues) { - if (CollectionUtils.isEmpty(inFilterValues)) { - return true; - } - if (inFilterField.equals(this.idFieldName)) { - List dataList = this.getInList((Set) inFilterValues); - return dataList.size() == inFilterValues.size(); - } - String columnName = this.safeMapToColumnName(inFilterField); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.in(columnName, inFilterValues); - return mapper().selectCount(queryWrapper) == inFilterValues.size(); - } - - /** - * 存入缓存。 - * - * @param data 新增或更新数据。 - */ - @SuppressWarnings("unchecked") - @Override - public void putDictionaryCache(M data) { - K key = (K) ReflectUtil.getFieldValue(data, idFieldName); - this.dictionaryCache.put(key, data); - } - - /** - * 根据字典主键将数据从缓存中删除。 - * - * @param id 字典主键。 - */ - @Override - public void removeDictionaryCache(K id) { - this.dictionaryCache.invalidate(id); - } - - /** - * 根据字典对象将数据从缓存中删除。 - * - * @param data 字典数据。 - */ - @SuppressWarnings("unchecked") - @Override - public void removeDictionaryCacheByModel(M data) { - K key = (K) ReflectUtil.getFieldValue(data, idFieldName); - this.dictionaryCache.invalidate(key); - } - - /** - * 获取缓存中的数据数量。 - * - * @return 缓存中的数据总量。 - */ - @Override - public int getCachedCount() { - return dictionaryCache.getCount(); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/base/service/BaseService.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/base/service/BaseService.java deleted file mode 100644 index 9ba3d024..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/base/service/BaseService.java +++ /dev/null @@ -1,2903 +0,0 @@ -package com.orangeforms.common.core.base.service; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.annotation.*; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import cn.hutool.core.util.ReflectUtil; -import com.alibaba.fastjson.JSONObject; -import com.orangeforms.common.core.annotation.*; -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.common.core.base.client.BaseClient; -import com.orangeforms.common.core.constant.AggregationKind; -import com.orangeforms.common.core.constant.AggregationType; -import com.orangeforms.common.core.constant.GlobalDeletedFlag; -import com.orangeforms.common.core.exception.InvalidDataFieldException; -import com.orangeforms.common.core.exception.MyRuntimeException; -import com.orangeforms.common.core.exception.RemoteDataBuildException; -import com.orangeforms.common.core.object.*; -import com.orangeforms.common.core.util.AopTargetUtil; -import com.orangeforms.common.core.util.ApplicationContextHolder; -import com.orangeforms.common.core.util.MyModelUtil; -import com.orangeforms.common.core.util.LogMessageUtil; -import lombok.Getter; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.collections4.MapUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.transaction.annotation.Transactional; - -import java.io.Serializable; -import java.lang.reflect.Modifier; -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.lang.reflect.ParameterizedType; -import java.util.*; -import java.util.function.BiConsumer; -import java.util.function.Consumer; -import java.util.function.Function; - -import static java.util.stream.Collectors.*; - -/** - * 所有Service的基类。 - * - * @param Model对象的类型。 - * @param Model对象主键的类型。 - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -public abstract class BaseService extends ServiceImpl, M> implements IBaseService { - - /** - * 当前Service关联的主Model实体对象的Class。 - */ - @Getter - protected final Class modelClass; - /** - * 当前Service关联的主Model实体对象主键字段的Class。 - */ - protected final Class idFieldClass; - /** - * 当前Service关联的主Model对象的实际表名称。 - */ - protected final String tableName; - /** - * 当前Service关联的主Model对象主键字段名称。 - */ - protected String idFieldName; - /** - * 当前Service关联的主数据表中主键列名称。 - */ - protected String idColumnName; - /** - * 当前Service关联的主Model对象逻辑删除字段名称。 - */ - protected String deletedFlagFieldName; - /** - * 当前Service关联的主数据表中逻辑删除字段名称。 - */ - protected String deletedFlagColumnName; - /** - * 当前Service关联的主Model对象租户Id字段。 - */ - protected Field tenantIdField; - /** - * 当前Service关联的主Model对象租户Id字段名称。 - */ - protected String tenantIdFieldName; - /** - * 当前Service关联的主数据表中租户Id列名称。 - */ - protected String tenantIdColumnName; - /** - * 当前Job服务源主表Model对象的最后更新时间字段名称。 - */ - protected String jobUpdateTimeFieldName; - /** - * 当前Job服务源主表Model对象的最后更新时间列名称。 - */ - protected String jobUpdateTimeColumnName; - /** - * 当前业务服务源主表Model对象最后更新时间字段名称。 - */ - protected String updateTimeFieldName; - /** - * 当前业务服务源主表Model对象最后更新时间列名称。 - */ - protected String updateTimeColumnName; - /** - * 当前业务服务源主表Model对象最后更新用户Id字段名称。 - */ - protected String updateUserIdFieldName; - /** - * 当前业务服务源主表Model对象最后更新用户Id列名称。 - */ - protected String updateUserIdColumnName; - /** - * 当前Service关联的主Model对象主键字段赋值方法的反射对象。 - */ - protected Method setIdFieldMethod; - /** - * 当前Service关联的主Model对象主键字段访问方法的反射对象。 - */ - protected Method getIdFieldMethod; - /** - * 当前Service关联的主Model对象逻辑删除字段赋值方法的反射对象。 - */ - protected Method setDeletedFlagMethod; - /** - * 当前Service关联的主Model对象的所有本地服务常量字典关联的结构列表,该字段在系统启动阶段一次性预加载,提升运行时效率。 - */ - private final List relationConstDictStructList = new LinkedList<>(); - /** - * 当前Service关联的主Model对象的所有本地服务字典关联的结构列表,该字段在系统启动阶段一次性预加载,提升运行时效率。 - */ - private final List localRelationDictStructList = new LinkedList<>(); - /** - * 当前Service关联的主Model对象的所有本地服务一对一关联的结构列表,该字段在系统启动阶段一次性预加载,提升运行时效率。 - */ - private final List localRelationOneToOneStructList = new LinkedList<>(); - /** - * 当前Service关联的主Model对象的所有本地服务一对多关联的结构列表,该字段在系统启动阶段一次性预加载,提升运行时效率。 - */ - private final List localRelationOneToManyStructList = new LinkedList<>(); - /** - * 当前Service关联的主Model对象的所有多对多关联的结构列表,该字段在系统启动阶段一次性预加载,提升运行时效率。 - */ - private final List localRelationManyToManyStructList = new LinkedList<>(); - /** - * 当前Service关联的主Model对象的所有本地服务一对多聚合关联的结构列表,该字段在系统启动阶段一次性预加载,提升运行时效率。 - */ - private final List localRelationOneToManyAggrStructList = new LinkedList<>(); - /** - * 当前Service关联的主Model对象的所有本地服务多对多聚合关联的结构列表,该字段在系统启动阶段一次性预加载,提升运行时效率。 - */ - private final List localRelationManyToManyAggrStructList = new LinkedList<>(); - /** - * 当前Service关联的主Model对象的所有远程字典关联的结构列表,该字段在系统启动阶段一次性预加载,提升运行时效率。 - */ - private final List remoteRelationDictStructList = new LinkedList<>(); - /** - * 当前Service关联的主Model对象的所有远程一对一关联的结构列表,该字段在系统启动阶段一次性预加载,提升运行时效率。 - */ - private final List remoteRelationOneToOneStructList = new LinkedList<>(); - /** - * 当前Service关联的主Model对象的所有远程一对多聚合关联的结构列表,该字段在系统启动阶段一次性预加载,提升运行时效率。 - */ - private final List remoteRelationOneToManyAggrStructList = new LinkedList<>(); - /** - * 当前Service关联的主Model对象的所有远程多对多聚合关联的结构列表,该字段在系统启动阶段一次性预加载,提升运行时效率。 - */ - private final List remoteRelationManyToManyAggrStructList = new LinkedList<>(); - /** - * 基础表的实体对象及表信息。 - */ - private final TableModelInfo tableModelInfo = new TableModelInfo(); - - private static final String AND_OP = " AND "; - - @Override - public BaseDaoMapper getBaseMapper() { - return mapper(); - } - - /** - * 构造函数,在实例化的时候,一次性完成所有有关主Model对象信息的加载。 - */ - @SuppressWarnings("unchecked") - public BaseService() { - modelClass = (Class) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0]; - idFieldClass = (Class) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[1]; - this.tableName = modelClass.getAnnotation(TableName.class).value(); - Field[] fields = ReflectUtil.getFields(modelClass); - for (Field field : fields) { - initializeField(field); - } - tableModelInfo.setModelName(modelClass.getSimpleName()); - tableModelInfo.setTableName(this.tableName); - tableModelInfo.setKeyFieldName(idFieldName); - tableModelInfo.setKeyColumnName(idColumnName); - } - - @Override - public TableModelInfo getTableModelInfo() { - return this.tableModelInfo; - } - - private void initializeField(Field field) { - if (idFieldName == null && null != field.getAnnotation(TableId.class)) { - idFieldName = field.getName(); - TableId c = field.getAnnotation(TableId.class); - idColumnName = c == null ? idFieldName : c.value(); - setIdFieldMethod = ReflectUtil.getMethod( - modelClass, "set" + StringUtils.capitalize(idFieldName), idFieldClass); - getIdFieldMethod = ReflectUtil.getMethod( - modelClass, "get" + StringUtils.capitalize(idFieldName)); - } - if (jobUpdateTimeFieldName == null && null != field.getAnnotation(JobUpdateTimeColumn.class)) { - jobUpdateTimeFieldName = field.getName(); - jobUpdateTimeColumnName = this.safeMapToColumnName(jobUpdateTimeFieldName); - } - if (deletedFlagFieldName == null && null != field.getAnnotation(TableLogic.class)) { - deletedFlagFieldName = field.getName(); - deletedFlagColumnName = this.safeMapToColumnName(deletedFlagFieldName); - setDeletedFlagMethod = ReflectUtil.getMethod( - modelClass, "set" + StringUtils.capitalize(deletedFlagFieldName), Integer.class); - } - if (tenantIdFieldName == null && null != field.getAnnotation(TenantFilterColumn.class)) { - tenantIdField = field; - tenantIdFieldName = field.getName(); - tenantIdColumnName = this.safeMapToColumnName(tenantIdFieldName); - } - } - - /** - * 获取子类中注入的Mapper类 - * - * @return 子类中注入的Mapper类 - */ - protected abstract BaseDaoMapper mapper(); - - /** - * 该方法为BaseService类buildXXX方法中使用到的模板方法,子类实现方法中提供具体的实现, - * 可根据配置项决定是否忽略远程调用异常。由于来自于配置项,因此可在运行时动态修改。 - * 是否忽略获取远程查询数据过程中出现的任何错误。包括各种逻辑错误,系统错误等。 - * 通常建议在开发阶段设置为false,以便及时发现问题。 - * - * @return true忽略,否则抛出RemoteDataBuildException异常。 - */ - protected boolean ignoreRpcError() { - return false; - } - - @SuppressWarnings("unchecked") - @Override - public void saveNewOrUpdate(M data, Consumer saveNew, BiConsumer update) { - if (data == null) { - return; - } - K id = (K) ReflectUtil.getFieldValue(data, idFieldName); - if (id == null) { - saveNew.accept(data); - } else { - update.accept(data, this.getById(id)); - } - } - - @SuppressWarnings("unchecked") - @Override - public void saveNewOrUpdateBatch(List dataList, Consumer> saveNewBatch, BiConsumer update) { - if (CollUtil.isEmpty(dataList)) { - return; - } - List saveNewDataList = dataList.stream() - .filter(c -> ReflectUtil.getFieldValue(c, idFieldName) == null).collect(toList()); - if (CollUtil.isNotEmpty(saveNewDataList)) { - saveNewBatch.accept(saveNewDataList); - } - List updateDataList = dataList.stream() - .filter(c -> ReflectUtil.getFieldValue(c, idFieldName) != null).collect(toList()); - if (CollUtil.isNotEmpty(updateDataList)) { - for (M data : updateDataList) { - K id = (K) ReflectUtil.getFieldValue(data, idFieldName); - update.accept(data, this.getById(id)); - } - } - } - - /** - * 根据过滤条件删除数据。 - * - * @param filter 过滤对象。 - * @return 删除数量。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public Integer removeBy(M filter) { - return mapper().delete(new QueryWrapper<>(filter)); - } - - @Transactional(rollbackFor = Exception.class) - @Override - public void updateBatchOneToManyRelation( - String relationFieldName, - Object relationFieldValue, - String updateUserIdFieldName, - String updateTimeFieldName, - List dataList, - Consumer> batchInserter) { - // 删除在现有数据列表dataList中不存在的从表数据。 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq(this.safeMapToColumnName(relationFieldName), relationFieldValue); - if (CollUtil.isNotEmpty(dataList)) { - Set keptIdSet = dataList.stream() - .filter(c -> ReflectUtil.getFieldValue(c, idFieldName) != null) - .map(c -> ReflectUtil.getFieldValue(c, idFieldName)).collect(toSet()); - if (CollUtil.isNotEmpty(keptIdSet)) { - queryWrapper.notIn(idColumnName, keptIdSet); - } - } - mapper().delete(queryWrapper); - if (CollUtil.isNotEmpty(dataList)) { - // 没有包含主键的对象被视为新对象,为了效率最优化,这里执行批量插入。 - List newDataList = dataList.stream() - .filter(c -> ReflectUtil.getFieldValue(c, idFieldName) == null).collect(toList()); - if (CollUtil.isNotEmpty(newDataList)) { - newDataList.forEach(o -> ReflectUtil.setFieldValue(o, relationFieldName, relationFieldValue)); - batchInserter.accept(newDataList); - } - // 对于主键已经存在的数据,我们视为已存在数据,这里执行逐条更新操作。 - List updateDataList = - dataList.stream().filter(c -> ReflectUtil.getFieldValue(c, idFieldName) != null).collect(toList()); - for (M updateData : updateDataList) { - // 如果前端将更新用户Id置空,这里使用当前用户更新该字段。 - if (updateUserIdFieldName != null && ReflectUtil.getFieldValue(updateData, updateUserIdFieldName) == null) { - ReflectUtil.setFieldValue(updateData, updateUserIdFieldName, TokenData.takeFromRequest().getUserId()); - } - // 如果前端将更新时间置空,这里使用当前时间更新该字段。 - if (updateTimeFieldName != null && ReflectUtil.getFieldValue(updateData, updateTimeFieldName) == null) { - ReflectUtil.setFieldValue(updateData, updateTimeFieldName, new Date()); - } - if (this.deletedFlagFieldName != null) { - ReflectUtil.setFieldValue(updateData, deletedFlagFieldName, GlobalDeletedFlag.NORMAL); - } - @SuppressWarnings("unchecked") - UpdateWrapper uw = this.createUpdateQueryForNullValue( - updateData, (K) ReflectUtil.getFieldValue(updateData, idFieldName)); - mapper().update(updateData, uw); - } - } - } - - /** - * 判断主键Id关联的数据是否存在。 - * - * @param id 主键Id - * @return 存在返回true,否则false - */ - @Override - public boolean existId(K id) { - return this.getById(id) != null; - } - - /** - * 判断指定字段的数据是否存在,且仅仅存在一条记录。 - * 如果是基于主键的过滤,会直接调用existId过滤函数,提升性能。在有缓存的场景下,也可以利用缓存。 - * - * @param fieldName 待过滤的字段名(Java 字段)。 - * @param fieldValue 字段值。 - * @return 存在且仅存在一条返回true,否则false。 - */ - @SuppressWarnings("unchecked") - @Override - public boolean existOne(String fieldName, Object fieldValue) { - if (fieldName.equals(this.idFieldName)) { - return this.existId((K) fieldValue); - } - String columnName = MyModelUtil.mapToColumnName(fieldName, modelClass); - return mapper().selectCount(new QueryWrapper().eq(columnName, fieldValue)) == 1; - } - - /** - * 返回符合 filterField = filterValue 条件的一条数据。 - * - * @param filterField 过滤的Java字段。 - * @param filterValue 过滤的Java字段值。 - * @return 查询后的数据对象。 - */ - @SuppressWarnings("unchecked") - @Override - public M getOne(String filterField, Object filterValue) { - if (filterField.equals(idFieldName)) { - return this.getById((K) filterValue); - } - String columnName = this.safeMapToColumnName(filterField); - QueryWrapper queryWrapper = new QueryWrapper().eq(columnName, filterValue); - return mapper().selectOne(queryWrapper); - } - - /** - * 获取主表的查询结果,以及主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * - * @param id 主表主键Id。 - * @param relationParam 实体对象数据组装的参数构建器。 - * @return 查询结果对象。 - * @throws RemoteDataBuildException ignoreRpcError()方法返回false,同时远程服务调用出现错误时抛出此异常。 - */ - @Override - public M getByIdWithRelation(K id, MyRelationParam relationParam) { - M dataObject = this.getById(id); - this.buildRelationForData(dataObject, relationParam); - return dataObject; - } - - /** - * 获取所有数据。单表查询,不进行任何数据关联。 - * - * @return 返回所有数据。 - */ - @Override - public List getAllList() { - return mapper().selectList(Wrappers.emptyWrapper()); - } - - /** - * 获取排序后所有数据。单表查询,不进行任何数据关联。 - * - * @param orderByProperties 需要排序的字段属性,这里使用Java对象中的属性名,而不是数据库字段名。 - * @return 返回排序后所有数据。 - */ - @Override - public List getAllListByOrder(String... orderByProperties) { - String[] columns = new String[orderByProperties.length]; - for (int i = 0; i < orderByProperties.length; i++) { - columns[i] = this.safeMapToColumnName(orderByProperties[i]); - } - return mapper().selectList(new QueryWrapper().orderByAsc(columns)); - } - - /** - * 判断参数值主键集合中的所有数据,是否全部存在 - * - * @param idSet 待校验的主键集合。 - * @return 全部存在返回true,否则false。 - */ - @Override - public boolean existAllPrimaryKeys(Set idSet) { - if (CollectionUtils.isEmpty(idSet)) { - return true; - } - return this.existUniqueKeyList(idFieldName, idSet); - } - - /** - * 判断参数值列表中的所有数据,是否全部存在。另外,keyName字段在数据表中必须是唯一键值,否则返回结果会出现误判。 - * - * @param inFilterField 待校验的数据字段,这里使用Java对象中的属性,如courseId,而不是数据字段名course_id。 - * @param inFilterValues 数据值集合。 - * @return 全部存在返回true,否则false。 - */ - @Override - public boolean existUniqueKeyList(String inFilterField, Set inFilterValues) { - if (CollectionUtils.isEmpty(inFilterValues)) { - return true; - } - String column = this.safeMapToColumnName(inFilterField); - return mapper().selectCount(new QueryWrapper().in(column, inFilterValues)) == inFilterValues.size(); - } - - @Override - public List notExist(String filterField, Set filterSet, boolean findFirst) { - List notExistIdList = new LinkedList<>(); - String columnName = this.safeMapToColumnName(filterField); - int start = 0; - int count = 1000; - if (filterSet.size() > count) { - outloop: - do { - int end = Math.min(filterSet.size(), start + count); - List subFilterList = CollUtil.sub(filterSet, start, end); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.in(columnName, subFilterList); - queryWrapper.select(columnName); - Set existIdSet = mapper().selectList(queryWrapper).stream() - .map(c -> ReflectUtil.getFieldValue(c, filterField)).collect(toSet()); - for (R filterData : subFilterList) { - if (!existIdSet.contains(filterData)) { - notExistIdList.add(filterData); - if (findFirst) { - break outloop; - } - } - } - if (end == filterSet.size()) { - break; - } - start += count; - } while (true); - } else { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.in(columnName, filterSet); - queryWrapper.select(columnName); - Set existIdSet = mapper().selectList(queryWrapper).stream() - .map(c -> ReflectUtil.getFieldValue(c, filterField)).collect(toSet()); - for (R filterData : filterSet) { - if (!existIdSet.contains(filterData)) { - notExistIdList.add(filterData); - if (findFirst) { - break; - } - } - } - } - return notExistIdList; - } - - /** - * 返回符合主键 in (idValues) 条件的所有数据。单表查询,不进行任何数据关联。 - * - * @param idValues 主键值列表。 - * @return 检索后的数据列表。 - */ - @Override - public List getInList(Set idValues) { - return this.getInList(idFieldName, idValues, null); - } - - /** - * 返回符合 inFilterField in (inFilterValues) 条件的所有数据。单表查询,不进行任何数据关联。 - * - * @param inFilterField 参与(In-list)过滤的Java对象字段。 - * @param inFilterValues 参与(In-list)过滤的字段值集合。 - * @return 检索后的数据列表。 - */ - @Override - public List getInList(String inFilterField, Set inFilterValues) { - return this.getInList(inFilterField, inFilterValues, null); - } - - /** - * 返回符合 inFilterField in (inFilterValues) 条件的所有数据,并根据orderBy字段排序。单表查询,不进行任何数据关联。 - * - * @param inFilterField 参与(In-list)过滤的Java对象字段。 - * @param inFilterValues 参与(In-list)过滤的字段值集合。 - * @param orderBy SQL的ORDER BY排序从句。 - * @return 检索后的数据列表。 - */ - @Override - public List getInList(String inFilterField, Set inFilterValues, String orderBy) { - if (CollectionUtils.isEmpty(inFilterValues)) { - return new LinkedList<>(); - } - String column = this.safeMapToColumnName(inFilterField); - QueryWrapper queryWrapper = new QueryWrapper().in(column, inFilterValues); - if (StringUtils.isNotBlank(orderBy)) { - queryWrapper.last(orderBy); - } - return mapper().selectList(queryWrapper); - } - - /** - * 返回符合主键 in (idValues) 条件的所有数据。同时返回关联数据。 - * - * @param idValues 主键值集合。 - * @param relationParam 实体对象数据组装的参数构建器。 - * @return 检索后的数据列表。 - */ - @Override - public List getInListWithRelation(Set idValues, MyRelationParam relationParam) { - List resultList = this.getInList(idValues); - this.buildRelationForDataList(resultList, relationParam); - return resultList; - } - - /** - * 返回符合 inFilterField in (inFilterValues) 条件的所有数据。同时返回关联数据。 - * - * @param inFilterField 参与(In-list)过滤的Java字段。 - * @param inFilterValues 参与(In-list)过滤的Java字段值集合。 - * @param relationParam 实体对象数据组装的参数构建器。 - * @return 检索后的数据列表。 - */ - @Override - public List getInListWithRelation(String inFilterField, Set inFilterValues, MyRelationParam relationParam) { - List resultList = this.getInList(inFilterField, inFilterValues); - this.buildRelationForDataList(resultList, relationParam); - return resultList; - } - - /** - * 返回符合 inFilterField in (inFilterValues) 条件的所有数据,并根据orderBy字段排序。同时返回关联数据。 - * - * @param inFilterField 参与(In-list)过滤的Java字段。 - * @param inFilterValues 参与(In-list)过滤的Java字段值集合。 - * @param orderBy 排序字段。 - * @param relationParam 实体对象数据组装的参数构建器。 - * @return 检索后的数据列表。 - */ - @Override - public List getInListWithRelation( - String inFilterField, Set inFilterValues, String orderBy, MyRelationParam relationParam) { - List resultList = this.getInList(inFilterField, inFilterValues, orderBy); - this.buildRelationForDataList(resultList, relationParam); - return resultList; - } - - /** - * 用参数对象作为过滤条件,获取数据数量。 - * - * @param filter 该方法基于mybatis 通用mapper,过滤对象中,只有被赋值的字段,才会成为where中的条件。 - * @return 返回过滤后的数据数量。 - */ - @Override - public int getCountByFilter(M filter) { - return mapper().selectCount(new QueryWrapper<>(filter)); - } - - /** - * 用参数对象作为过滤条件,判断是否存在过滤数据。 - * - * @param filter 该方法基于mybatis 通用mapper,过滤对象中,只有被赋值的字段,才会成为where中的条件 - * @return 存在返回true,否则false - */ - @Override - public boolean existByFilter(M filter) { - return this.getCountByFilter(filter) > 0; - } - - /** - * 用参数对象作为过滤条件,获取查询结果。 - * - * @param filter 该方法基于mybatis的通用mapper,如果参数为null,则返回全部数据。 - * @return 返回过滤后的数据。 - */ - @Override - public List getListByFilter(M filter) { - return mapper().selectList(new QueryWrapper<>(filter)); - } - - /** - * 获取父主键Id下的所有子数据列表。单表查询,不进行任何数据关联。 - * - * @param parentIdFieldName 父主键字段名字,如"courseId"。 - * @param parentId 父主键的值。 - * @return 父主键Id下的所有子数据列表。 - */ - @Override - public List getListByParentId(String parentIdFieldName, K parentId) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - String parentIdColumn = this.safeMapToColumnName(parentIdFieldName); - if (parentId != null) { - queryWrapper.eq(parentIdColumn, parentId); - } else { - queryWrapper.isNull(parentIdColumn); - } - return mapper().selectList(queryWrapper); - } - - /** - * 根据指定的显示字段列表、过滤条件字符串和分组字符串,返回聚合计算后的查询结果。(基本是内部框架使用,不建议外部接口直接使用)。 - * - * @param selectFields 选择的字段列表,多个字段逗号分隔。 - * NOTE: 如果数据表字段和Java对象字段名字不同,Java对象字段应该以别名的形式出现。 - * 如: table_column_name modelFieldName。否则无法被反射回Bean对象。 - * @param whereClause SQL常量形式的条件从句。 - * @param groupBy SQL常量形式分组字段列表,逗号分隔。 - * @return 聚合计算后的数据结果集。 - */ - @Override - public List> getGroupedListByCondition( - String selectFields, String whereClause, String groupBy) { - return mapper().getGroupedListByCondition(tableName, selectFields, whereClause, groupBy); - } - - /** - * 根据指定的显示字段列表、过滤条件字符串和排序字符串,返回查询结果。(基本是内部框架使用,不建议外部接口直接使用)。 - * - * @param selectList 选择的Java字段列表。如果为空表示返回全部字段。 - * @param filter 过滤对象。 - * @param whereClause SQL常量形式的条件从句。 - * @param orderBy SQL常量形式排序字段列表,逗号分隔。 - * @return 查询结果。 - */ - @Override - public List getListByCondition(List selectList, M filter, String whereClause, String orderBy) { - QueryWrapper queryWrapper = new QueryWrapper<>(filter); - if (CollectionUtils.isNotEmpty(selectList)) { - String[] columns = new String[selectList.size()]; - for (int i = 0; i < selectList.size(); i++) { - columns[i] = this.safeMapToColumnName(selectList.get(i)); - } - queryWrapper.select(columns); - } - if (StringUtils.isNotBlank(whereClause)) { - queryWrapper.apply(whereClause); - } - if (StringUtils.isNotBlank(orderBy)) { - queryWrapper.last(" ORDER BY " + orderBy); - } - return mapper().selectList(queryWrapper); - } - - /** - * 用指定过滤条件,计算记录数量。(基本是内部框架使用,不建议外部接口直接使用)。 - * - * @param whereClause SQL常量形式的条件从句。 - * @return 返回过滤后的数据数量。 - */ - @Override - public Integer getCountByCondition(String whereClause) { - return mapper().getCountByCondition(this.tableName, whereClause); - } - - @Override - public CallResult verifyRelatedData(M data, M originalData) { - return CallResult.ok(); - } - - @SuppressWarnings("unchecked") - @Override - public CallResult verifyRelatedData(M data) { - if (data == null) { - return CallResult.ok(); - } - Object id = ReflectUtil.getFieldValue(data, idFieldName); - if (id == null) { - return this.verifyRelatedData(data, null); - } - M originalData = this.getById((K) id); - if (originalData == null) { - return CallResult.error("数据验证失败,源数据不存在!"); - } - return this.verifyRelatedData(data, originalData); - } - - @SuppressWarnings("unchecked") - @Override - public CallResult verifyRelatedData(List dataList) { - if (CollUtil.isEmpty(dataList)) { - return CallResult.ok(); - } - // 1. 先过滤出数据列表中的主键Id集合。 - Set idList = dataList.stream() - .filter(c -> ReflectUtil.getFieldValue(c, idFieldName) != null) - .map(c -> (K) ReflectUtil.getFieldValue(c, idFieldName)).collect(toSet()); - // 2. 列表中,我们目前仅支持全部是更新数据,或全部新增数据,不能混着。如果有主键值,说明当前全是更新数据。 - if (CollUtil.isNotEmpty(idList)) { - // 3. 这里是批量读取的优化,用一个主键值得in list查询,一步获取全部原有数据。然后再在内存中基于Map排序。 - List originalList = this.getInList(idList); - Map originalMap = originalList.stream() - .collect(toMap(c -> ReflectUtil.getFieldValue(c, idFieldName), c2 -> c2)); - // 迭代列表,传入当前最新数据和更新前数据进行比对,如果关联数据变化了,就对新数据进行合法性验证。 - for (M data : dataList) { - CallResult result = this.verifyRelatedData( - data, originalMap.get(ReflectUtil.getFieldValue(data, idFieldName))); - if (!result.isSuccess()) { - return result; - } - } - } else { - // 4. 迭代列表,传入当前最新数据,对关联数据进行合法性验证。 - for (M data : dataList) { - CallResult result = this.verifyRelatedData(data, null); - if (!result.isSuccess()) { - return result; - } - } - } - return CallResult.ok(); - } - - @Override - public CallResult verifyRemoteRelatedData(M data, M originalData) { - return CallResult.ok(); - } - - @SuppressWarnings("unchecked") - @Override - public CallResult verifyRemoteRelatedData(List dataList) { - if (CollUtil.isEmpty(dataList)) { - return CallResult.ok(); - } - // 1. 先过滤出数据列表中的主键Id集合。 - Set idList = dataList.stream() - .filter(c -> ReflectUtil.getFieldValue(c, idFieldName) != null) - .map(c -> (K) ReflectUtil.getFieldValue(c, idFieldName)).collect(toSet()); - // 2. 列表中,我们目前仅支持全部是更新数据,或全部新增数据,不能混着。如果有主键值,说明当前全是更新数据。 - if (CollUtil.isNotEmpty(idList)) { - // 3. 这里是批量读取的优化,用一个主键值得in list查询,一步获取全部原有数据。然后再在内存中基于Map排序。 - List originalList = this.getInList(idList); - Map originalMap = originalList.stream() - .collect(toMap(c -> ReflectUtil.getFieldValue(c, idFieldName), c2 -> c2)); - // 迭代列表,传入当前最新数据和更新前数据进行比对,如果关联数据变化了,就对新数据进行合法性验证。 - for (M data : dataList) { - CallResult result = this.verifyRemoteRelatedData( - data, originalMap.get(ReflectUtil.getFieldValue(data, idFieldName))); - if (!result.isSuccess()) { - return result; - } - } - } else { - // 4. 迭代列表,传入当前最新数据,对关联数据进行合法性验证。 - for (M data : dataList) { - CallResult result = this.verifyRemoteRelatedData(data, null); - if (!result.isSuccess()) { - return result; - } - } - } - return CallResult.ok(); - } - - @Override - public CallResult verifyAllRelatedData(M data, M originalData) { - CallResult verifyResult = this.verifyRelatedData(data, originalData); - if (!verifyResult.isSuccess()) { - return verifyResult; - } - return this.verifyRemoteRelatedData(data, originalData); - } - - @SuppressWarnings("unchecked") - @Override - public CallResult verifyAllRelatedData(M data) { - if (data == null) { - return CallResult.ok(); - } - Object id = ReflectUtil.getFieldValue(data, idFieldName); - if (id == null) { - return this.verifyAllRelatedData(data, null); - } - M originalData = this.getById((K) id); - if (originalData == null) { - return CallResult.error("数据验证失败,源数据不存在!"); - } - return this.verifyAllRelatedData(data, originalData); - } - - @Override - public CallResult verifyAllRelatedData(List dataList) { - CallResult verifyResult = this.verifyRelatedData(dataList); - if (!verifyResult.isSuccess()) { - return verifyResult; - } - return this.verifyRemoteRelatedData(dataList); - } - - @Override - public CallResult verifyImportForConstDict(List dataList, String fieldName, Function idGetter) { - if (CollUtil.isEmpty(dataList)) { - return CallResult.ok(); - } - // 这里均为内部调用方法,因此出现任何错误均为代码BUG,所以我们会及时抛出异常。 - Field field = ReflectUtil.getField(modelClass, fieldName); - if (field == null) { - throw new MyRuntimeException("FieldName [" + fieldName + "] doesn't exist."); - } - RelationConstDict relationConstDict = field.getAnnotation(RelationConstDict.class); - if (relationConstDict == null) { - throw new MyRuntimeException("FieldName [" + fieldName + "] doesn't have RelationConstDict."); - } - Method m = ReflectUtil.getMethodByName(relationConstDict.constantDictClass(), "isValid"); - for (M data : dataList) { - R id = idGetter.apply(data); - if (id != null) { - boolean ok = ReflectUtil.invokeStatic(m, id); - if (!ok) { - String errorMessage = String.format("数据验证失败,字段 [%s] 存在无效的常量字典值 [%s]!", - relationConstDict.masterIdField(), id); - return CallResult.error(errorMessage, data); - } - } - } - return CallResult.ok(); - } - - @Override - public CallResult verifyImportForDict(List dataList, String fieldName, Function idGetter) { - if (CollUtil.isEmpty(dataList)) { - return CallResult.ok(); - } - // 这里均为内部调用方法,因此出现任何错误均为代码BUG,所以我们会及时抛出异常。 - Field field = ReflectUtil.getField(modelClass, fieldName); - if (field == null) { - throw new MyRuntimeException("FieldName [" + fieldName + "] doesn't exist."); - } - RelationDict relationDict = field.getAnnotation(RelationDict.class); - if (relationDict == null) { - throw new MyRuntimeException("FieldName [" + fieldName + "] doesn't have RelationDict."); - } - if (StringUtils.isNotBlank(relationDict.slaveServiceName())) { - BaseService service = ApplicationContextHolder.getBean( - StringUtils.uncapitalize(relationDict.slaveServiceName())); - Set dictIdSet = service.getAllList().stream() - .map(c -> ReflectUtil.getFieldValue(c, relationDict.slaveIdField())).collect(toSet()); - for (M data : dataList) { - R id = idGetter.apply(data); - if (id != null && !dictIdSet.contains(id)) { - String errorMessage = String.format("数据验证失败,字段 [%s] 存在无效的字典表字典值 [%s]!", - relationDict.masterIdField(), id); - return CallResult.error(errorMessage, data); - } - } - } else { - @SuppressWarnings("unchecked") - BaseClient client = (BaseClient) - ApplicationContextHolder.getBean(relationDict.slaveClientClass()); - ResponseResult> responseResult = client.listBy(new MyQueryParam()); - if (!responseResult.isSuccess()) { - String errorMessage = "数据验证失败,字段 [" + fieldName + "] 获取关联数据失败!"; - return CallResult.error(errorMessage); - } - Set dictIdSet = responseResult.getData().getDataList().stream() - .map(c -> ReflectUtil.getFieldValue(c, relationDict.slaveIdField())).collect(toSet()); - for (M data : dataList) { - R id = idGetter.apply(data); - if (id != null && !dictIdSet.contains(id)) { - String errorMessage = String.format("数据验证失败,字段 [%s] 存在无效的字典表字典值 [%s]!", - relationDict.masterIdField(), id); - return CallResult.error(errorMessage, data); - } - } - } - return CallResult.ok(); - } - - @Override - public CallResult verifyImportForDatasourceDict(List dataList, String fieldName, Function idGetter) { - if (CollUtil.isEmpty(dataList)) { - return CallResult.ok(); - } - // 这里均为内部调用方法,因此出现任何错误均为代码BUG,所以我们会及时抛出异常。 - Field field = ReflectUtil.getField(modelClass, fieldName); - if (field == null) { - throw new MyRuntimeException("FieldName [" + fieldName + "] doesn't exist."); - } - RelationDict relationDict = field.getAnnotation(RelationDict.class); - if (relationDict == null) { - throw new MyRuntimeException("FieldName [" + fieldName + "] doesn't have RelationDict."); - } - // 验证数据源字典Id,由于被依赖的数据表,可能包含大量业务数据,因此还是分批做存在性比对更为高效。 - Set idSet = dataList.stream() - .filter(c -> idGetter.apply(c) != null).map(idGetter).collect(toSet()); - if (CollUtil.isEmpty(idSet)) { - return CallResult.ok(); - } - if (StringUtils.isNotBlank(relationDict.slaveServiceName())) { - BaseService slaveService = ApplicationContextHolder.getBean( - StringUtils.uncapitalize(relationDict.slaveServiceName())); - List notExistIdList = slaveService.notExist(relationDict.slaveIdField(), idSet, true); - if (CollUtil.isNotEmpty(notExistIdList)) { - R notExistId = notExistIdList.get(0); - String errorMessage = String.format("数据验证失败,字段 [%s] 存在无效的数据源表字典值 [%s]!", - relationDict.masterIdField(), notExistId); - M data = dataList.stream() - .filter(c -> ObjectUtil.equals(idGetter.apply(c), notExistId)).findFirst().orElse(null); - return CallResult.error(errorMessage, data); - } - } else { - @SuppressWarnings("unchecked") - BaseClient client = (BaseClient) - ApplicationContextHolder.getBean(relationDict.slaveClientClass()); - MyQueryParam queryParam = new MyQueryParam(); - queryParam.setInFilterField(relationDict.slaveIdField()); - queryParam.setInFilterValues(idSet); - ResponseResult> responseResult = client.notExist(queryParam); - if (!responseResult.isSuccess()) { - String errorMessage = "数据验证失败,字段 [" + fieldName + "] 获取关联数据失败!"; - return CallResult.error(errorMessage); - } - List notExistIdList = responseResult.getData(); - if (CollUtil.isNotEmpty(notExistIdList)) { - Object notExistId = notExistIdList.get(0); - String errorMessage = String.format("数据验证失败,字段 [%s] 存在无效的数据源表字典值 [%s]!", - relationDict.masterIdField(), notExistId); - M data = dataList.stream() - .filter(c -> ObjectUtil.equals(idGetter.apply(c), notExistId)).findFirst().orElse(null); - return CallResult.error(errorMessage, data); - } - } - return CallResult.ok(); - } - - @Override - public CallResult verifyImportForOneToOneRelation(List dataList, String fieldName, Function idGetter) { - if (CollUtil.isEmpty(dataList)) { - return CallResult.ok(); - } - // 这里均为内部调用方法,因此出现任何错误均为代码BUG,所以我们会及时抛出异常。 - Field field = ReflectUtil.getField(modelClass, fieldName); - if (field == null) { - throw new MyRuntimeException("FieldName [" + fieldName + "] doesn't exist."); - } - RelationOneToOne relationOneToOne = field.getAnnotation(RelationOneToOne.class); - if (relationOneToOne == null) { - throw new MyRuntimeException("FieldName [" + fieldName + "] doesn't have RelationOneToOne."); - } - // 验证一对一关联Id,由于被依赖的数据表,可能包含大量业务数据,因此还是分批做存在性比对更为高效。 - Set idSet = dataList.stream() - .filter(c -> idGetter.apply(c) != null).map(idGetter).collect(toSet()); - if (CollUtil.isEmpty(idSet)) { - return CallResult.ok(); - } - if (StringUtils.isNotBlank(relationOneToOne.slaveServiceName())) { - BaseService slaveService = ApplicationContextHolder.getBean( - StringUtils.uncapitalize(relationOneToOne.slaveServiceName())); - List notExistIdList = slaveService.notExist(relationOneToOne.slaveIdField(), idSet, true); - if (CollUtil.isNotEmpty(notExistIdList)) { - R notExistId = notExistIdList.get(0); - String errorMessage = String.format("数据验证失败,字段 [%s] 存在无效的一对一关联值 [%s]!", - relationOneToOne.masterIdField(), notExistId); - M data = dataList.stream() - .filter(c -> ObjectUtil.equals(idGetter.apply(c), notExistId)).findFirst().orElse(null); - return CallResult.error(errorMessage, data); - } - } else { - @SuppressWarnings("unchecked") - BaseClient client = (BaseClient) - ApplicationContextHolder.getBean(relationOneToOne.slaveClientClass()); - MyQueryParam queryParam = new MyQueryParam(); - queryParam.setInFilterField(relationOneToOne.slaveIdField()); - queryParam.setInFilterValues(idSet); - ResponseResult> responseResult = client.notExist(queryParam); - if (!responseResult.isSuccess()) { - String errorMessage = "数据验证失败,字段 [" + fieldName + "] 获取关联数据失败!"; - return CallResult.error(errorMessage); - } - List notExistIdList = responseResult.getData(); - if (CollUtil.isNotEmpty(notExistIdList)) { - Object notExistId = notExistIdList.get(0); - String errorMessage = String.format("数据验证失败,字段 [%s] 存在无效的一对一关联值 [%s]!", - relationOneToOne.masterIdField(), notExistId); - M data = dataList.stream() - .filter(c -> ObjectUtil.equals(idGetter.apply(c), notExistId)).findFirst().orElse(null); - return CallResult.error(errorMessage, data); - } - } - return CallResult.ok(); - } - - /** - * 集成所有与主表实体对象相关的关联数据列表。包括本地和远程服务的一对一、字典、一对多和多对多聚合运算等。 - * 也可以根据实际需求,单独调用该函数所包含的各个数据集成函数。 - * NOTE: 该方法内执行的SQL将禁用数据权限过滤。 - * - * @param resultList 主表实体对象列表。数据集成将直接作用于该对象列表。 - * @param relationParam 实体对象数据组装的参数构建器。 - * @throws RemoteDataBuildException ignoreRpcError()方法返回false,同时远程服务调用出现错误时抛出此异常。 - */ - @Override - public void buildRelationForDataList(List resultList, MyRelationParam relationParam) { - this.buildRelationForDataList(resultList, relationParam, null); - } - - /** - * 集成所有与主表实体对象相关的关联数据列表。包括本地和远程服务的一对一、字典、一对多和多对多聚合运算等。 - * 也可以根据实际需求,单独调用该函数所包含的各个数据集成函数。 - * NOTE: 该方法内执行的SQL将禁用数据权限过滤。 - * - * @param resultList 主表实体对象列表。数据集成将直接作用于该对象列表。 - * @param relationParam 实体对象数据组装的参数构建器。 - * @param ignoreFields 该集合中的字段,即便包含注解也不会在当前调用中进行数据组装。 - * @throws RemoteDataBuildException ignoreRpcError()方法返回false,同时远程服务调用出现错误时抛出此异常。 - */ - @Override - public void buildRelationForDataList( - List resultList, MyRelationParam relationParam, Set ignoreFields) { - if (relationParam == null || CollectionUtils.isEmpty(resultList)) { - return; - } - boolean dataFilterValue = GlobalThreadLocal.setDataFilter(false); - try { - // 集成本地一对一和字段级别的数据关联。 - // NOTE: 这里必须要在集成远程一对一之前集成本地一对一。因为远程集成方法中,会为本地一对一从表数据进行远程集成。 - boolean buildOneToOne = relationParam.isBuildOneToOne() || relationParam.isBuildOneToOneWithDict(); - // 这里集成一对一关联。 - if (buildOneToOne) { - this.buildOneToOneForDataList(resultList, relationParam.isBuildOneToOneWithDict(), ignoreFields); - } - // 集成一对多关联 - if (relationParam.isBuildOneToMany()) { - this.buildOneToManyForDataList(resultList, ignoreFields); - } - // 这里集成字典关联 - if (relationParam.isBuildDict()) { - // 构建常量字典关联关系 - this.buildConstDictForDataList(resultList, ignoreFields); - this.buildDictForDataList(resultList, buildOneToOne, ignoreFields); - } - // 集成远程一对一和字段级别的数据关联。 - boolean buildRemoteOneToOne = - relationParam.isBuildRemoteOneToOne() || relationParam.isBuildRemoteOneToOneWithDict(); - if (buildRemoteOneToOne) { - this.buildRemoteOneToOneForDataList(resultList, relationParam.isBuildRemoteOneToOneWithDict(), ignoreFields); - } - if (relationParam.isBuildRemoteDict()) { - this.buildRemoteDictForDataList(resultList, buildRemoteOneToOne, ignoreFields); - } - // 组装本地聚合计算关联数据 - if (relationParam.isBuildAggregation()) { - // 处理多一多场景下,根据主表的结果,进行从表聚合数据的计算。 - this.buildOneToManyAggregationForDataList(resultList, buildAggregationAdditionalWhereCriteria(), ignoreFields); - // 处理多对多场景下,根据主表的结果,进行从表聚合数据的计算。 - this.buildManyToManyAggregationForDataList(resultList, buildAggregationAdditionalWhereCriteria(), ignoreFields); - } - // 组装远程聚合计算关联数据 - if (relationParam.isBuildRemoteAggregation()) { - // 一对多场景。 - this.buildRemoteOneToManyAggregationForDataList(resultList, buildAggregationAdditionalWhereCriteria(), ignoreFields); - // 处理多对多场景。 - this.buildRemoteManyToManyAggregationForDataList(resultList, buildAggregationAdditionalWhereCriteria(), ignoreFields); - } - } finally { - GlobalThreadLocal.setDataFilter(dataFilterValue); - } - } - - /** - * 该函数主要用于对查询结果的批量导出。不同于支持分页的列表查询,批量导出没有分页机制, - * 因此在导出数据量较大的情况下,很容易给数据库的内存、CPU和IO带来较大的压力。而通过 - * 我们的分批处理,可以极大的规避该问题的出现几率。调整batchSize的大小,也可以有效的 - * 改善运行效率。 - * 我们目前的处理机制是,先从主表取出所有符合条件的主表数据,这样可以避免分批处理时, - * 后面几批数据,因为skip过多而带来的效率问题。因为是单表过滤,不会给数据库带来过大的压力。 - * 之后再在主表结果集数据上进行分批级联处理。 - * 集成所有与主表实体对象相关的关联数据列表。包括一对一、字典、一对多和多对多聚合运算等。 - * 也可以根据实际需求,单独调用该函数所包含的各个数据集成函数。 - * NOTE: 该方法内执行的SQL将禁用数据权限过滤。 - * - * @param resultList 主表实体对象列表。数据集成将直接作用于该对象列表。 - * @param relationParam 实体对象数据组装的参数构建器。 - * @param batchSize 每批集成的记录数量。小于等于0时将不做分批处理。 - */ - @Override - public void buildRelationForDataList(List resultList, MyRelationParam relationParam, int batchSize) { - this.buildRelationForDataList(resultList, relationParam, batchSize, null); - } - - /** - * 该函数主要用于对查询结果的批量导出。不同于支持分页的列表查询,批量导出没有分页机制, - * 因此在导出数据量较大的情况下,很容易给数据库的内存、CPU和IO带来较大的压力。而通过 - * 我们的分批处理,可以极大的规避该问题的出现几率。调整batchSize的大小,也可以有效的 - * 改善运行效率。 - * 我们目前的处理机制是,先从主表取出所有符合条件的主表数据,这样可以避免分批处理时, - * 后面几批数据,因为skip过多而带来的效率问题。因为是单表过滤,不会给数据库带来过大的压力。 - * 之后再在主表结果集数据上进行分批级联处理。 - * 集成所有与主表实体对象相关的关联数据列表。包括一对一、字典、一对多和多对多聚合运算等。 - * 也可以根据实际需求,单独调用该函数所包含的各个数据集成函数。 - * NOTE: 该方法内执行的SQL将禁用数据权限过滤。 - * - * @param resultList 主表实体对象列表。数据集成将直接作用于该对象列表。 - * @param relationParam 实体对象数据组装的参数构建器。 - * @param batchSize 每批集成的记录数量。小于等于0时将不做分批处理。 - * @param ignoreFields 该集合中的字段,即便包含注解也不会在当前调用中进行数据组装。 - */ - @Override - public void buildRelationForDataList( - List resultList, MyRelationParam relationParam, int batchSize, Set ignoreFields) { - if (CollectionUtils.isEmpty(resultList)) { - return; - } - if (batchSize <= 0) { - this.buildRelationForDataList(resultList, relationParam); - return; - } - int totalCount = resultList.size(); - int fromIndex = 0; - int toIndex = Math.min(batchSize, totalCount); - while (toIndex > fromIndex) { - List subResultList = resultList.subList(fromIndex, toIndex); - this.buildRelationForDataList(subResultList, relationParam); - fromIndex = toIndex; - toIndex = Math.min(batchSize + fromIndex, totalCount); - } - } - - /** - * 集成所有与主表实体对象相关的关联数据对象。包括本地和远程服务的一对一、字典、一对多和多对多聚合运算等。 - * 也可以根据实际需求,单独调用该函数所包含的各个数据集成函数。 - * NOTE: 该方法内执行的SQL将禁用数据权限过滤。 - * - * @param dataObject 主表实体对象。数据集成将直接作用于该对象。 - * @param relationParam 实体对象数据组装的参数构建器。 - * @param 实体对象类型。 - * @throws RemoteDataBuildException ignoreRpcError()方法返回false,同时远程服务调用出现错误时抛出此异常。 - */ - @Override - public void buildRelationForData(T dataObject, MyRelationParam relationParam) { - this.buildRelationForData(dataObject, relationParam, null); - } - - /** - * 集成所有与主表实体对象相关的关联数据对象。包括本地和远程服务的一对一、字典、一对多和多对多聚合运算等。 - * 也可以根据实际需求,单独调用该函数所包含的各个数据集成函数。 - * NOTE: 该方法内执行的SQL将禁用数据权限过滤。 - * - * @param dataObject 主表实体对象。数据集成将直接作用于该对象。 - * @param relationParam 实体对象数据组装的参数构建器。 - * @param ignoreFields 该集合中的字段,即便包含注解也不会在当前调用中进行数据组装。 - * @param 实体对象类型。 - * @throws RemoteDataBuildException ignoreRpcError()方法返回false,同时远程服务调用出现错误时抛出此异常。 - */ - @Override - public void buildRelationForData(T dataObject, MyRelationParam relationParam, Set ignoreFields) { - if (dataObject == null || relationParam == null) { - return; - } - boolean dataFilterValue = GlobalThreadLocal.setDataFilter(false); - try { - // 集成本地一对一和字段级别的数据关联。 - boolean buildOneToOne = relationParam.isBuildOneToOne() || relationParam.isBuildOneToOneWithDict(); - if (buildOneToOne) { - this.buildOneToOneForData(dataObject, relationParam.isBuildOneToOneWithDict(), ignoreFields); - } - // 集成一对多关联 - if (relationParam.isBuildOneToMany()) { - this.buildOneToManyForData(dataObject, ignoreFields); - } - if (relationParam.isBuildDict()) { - // 构建常量字典关联关系 - this.buildConstDictForData(dataObject, ignoreFields); - // 构建本地数据字典关联关系。 - this.buildDictForData(dataObject, buildOneToOne, ignoreFields); - } - boolean buildRemoteOneToOne = - relationParam.isBuildRemoteOneToOne() || relationParam.isBuildRemoteOneToOneWithDict(); - if (buildRemoteOneToOne) { - this.buildRemoteOneToOneForData(dataObject, relationParam.isBuildRemoteOneToOneWithDict(), ignoreFields); - } - if (relationParam.isBuildRemoteDict()) { - this.buildRemoteDictForData(dataObject, buildRemoteOneToOne, ignoreFields); - } - // 组装本地聚合计算关联数据 - if (relationParam.isBuildAggregation()) { - // 构建一对多场景 - buildOneToManyAggregationForData(dataObject, buildAggregationAdditionalWhereCriteria(), ignoreFields); - // 开始处理多对多场景。 - buildManyToManyAggregationForData(dataObject, buildAggregationAdditionalWhereCriteria(), ignoreFields); - } - // 组装远程聚合计算关联数据 - if (relationParam.isBuildRemoteAggregation()) { - // 处理一对多场景 - this.buildRemoteOneToManyAggregationForData(dataObject, buildAggregationAdditionalWhereCriteria(), ignoreFields); - // 处理多对多场景 - this.buildRemoteManyToManyAggregationForData(dataObject, buildAggregationAdditionalWhereCriteria(), ignoreFields); - } - if (relationParam.isBuildRelationManyToMany()) { - this.buildRelationManyToMany(dataObject, ignoreFields); - } - } finally { - GlobalThreadLocal.setDataFilter(dataFilterValue); - } - } - - /** - * 为参数列表数据集成本地静态字典关联数据。 - * - * @param resultList 主表数据列表。 - * @param ignoreFields 该集合中的字段,即便包含注解也不会在当前调用中进行数据组装。 - */ - private void buildConstDictForDataList(List resultList, Set ignoreFields) { - if (CollectionUtils.isEmpty(this.relationConstDictStructList) || CollectionUtils.isEmpty(resultList)) { - return; - } - for (LocalRelationStruct relationStruct : this.relationConstDictStructList) { - if (ignoreFields != null && ignoreFields.contains(relationStruct.relationField.getName())) { - continue; - } - for (M dataObject : resultList) { - Object id = ReflectUtil.getFieldValue(dataObject, relationStruct.masterIdField); - if (id != null) { - String name = relationStruct.dictMap.get(id); - if (name != null) { - Map dictMap = new HashMap<>(2); - dictMap.put("id", id); - dictMap.put("name", name); - ReflectUtil.setFieldValue(dataObject, relationStruct.relationField, dictMap); - } - } - } - } - } - - /** - * 为参数实体对象数据集成本地静态字典关联数据。 - * - * @param dataObject 实体对象。 - * @param ignoreFields 该集合中的字段,即便包含注解也不会在当前调用中进行数据组装。 - */ - private void buildConstDictForData(T dataObject, Set ignoreFields) { - if (dataObject == null || CollectionUtils.isEmpty(this.relationConstDictStructList)) { - return; - } - for (LocalRelationStruct relationStruct : this.relationConstDictStructList) { - if (ignoreFields != null && ignoreFields.contains(relationStruct.relationField.getName())) { - continue; - } - Object id = ReflectUtil.getFieldValue(dataObject, relationStruct.masterIdField); - if (id != null) { - String name = relationStruct.dictMap.get(id); - if (name != null) { - Map dictMap = new HashMap<>(2); - dictMap.put("id", id); - dictMap.put("name", name); - ReflectUtil.setFieldValue(dataObject, relationStruct.relationField, dictMap); - } - } - } - } - - /** - * 集成主表和多对多中间表之间的关联关系。 - * - * @param dataObject 关联后的主表数据对象。 - * @param ignoreFields 该集合中的字段,即便包含注解也不会在当前调用中进行数据组装。 - */ - private void buildRelationManyToMany(T dataObject, Set ignoreFields) { - if (dataObject == null || CollectionUtils.isEmpty(this.localRelationManyToManyStructList)) { - return; - } - for (LocalRelationStruct relationStruct : this.localRelationManyToManyStructList) { - if (ignoreFields != null && ignoreFields.contains(relationStruct.relationField.getName())) { - continue; - } - Object masterIdValue = ReflectUtil.getFieldValue(dataObject, relationStruct.masterIdField); - String masterIdColumn = this.safeMapToColumnName(relationStruct.masterIdField.getName()); - Map filterMap = new HashMap<>(1); - filterMap.put(masterIdColumn, masterIdValue); - List manyToManyList = relationStruct.manyToManyMapper.selectByMap(filterMap); - ReflectUtil.setFieldValue(dataObject, relationStruct.relationField, manyToManyList); - } - } - - /** - * 为实体对象参数列表数据集成远程一对一关联数据。 - * - * @param resultList 实体对象数据列表。 - * @param withDict 关联从表数据后,是否把从表的字典数据也一起关联了。 - * @param ignoreFields 该集合中的字段,即便包含注解也不会在当前调用中进行数据组装。 - * @throws RemoteDataBuildException ignoreRpcError()方法返回false,同时远程服务调用出现错误时抛出此异常。 - */ - private void buildRemoteOneToOneForDataList(List resultList, boolean withDict, Set ignoreFields) { - if (CollectionUtils.isEmpty(this.remoteRelationOneToOneStructList) || CollectionUtils.isEmpty(resultList)) { - return; - } - for (RemoteRelationStruct relationStruct : this.remoteRelationOneToOneStructList) { - if (ignoreFields != null && ignoreFields.contains(relationStruct.relationField.getName())) { - continue; - } - Set masterIdSet = resultList.stream() - .map(obj -> ReflectUtil.getFieldValue(obj, relationStruct.masterIdField)) - .filter(Objects::nonNull) - .collect(toSet()); - if (CollectionUtils.isEmpty(masterIdSet)) { - continue; - } - boolean buildRemoteOneToOneDict = withDict && relationStruct.relationOneToOne.loadSlaveDict(); - MyQueryParam queryParam = new MyQueryParam(buildRemoteOneToOneDict); - queryParam.setUseDataFilter(false); - MyWhereCriteria whereCriteria = new MyWhereCriteria(); - whereCriteria.setCriteria( - relationStruct.relationOneToOne.slaveIdField(), MyWhereCriteria.OPERATOR_IN, masterIdSet); - queryParam.addCriteriaList(whereCriteria); - ResponseResult> result = relationStruct.remoteClient.listBy(queryParam); - if (result.isSuccess()) { - List relationList = result.getData().getDataList(); - MyModelUtil.makeOneToOneRelation( - modelClass, resultList, relationList, relationStruct.relationField.getName()); - } else { - this.logErrorOrThrowException(result.getErrorMessage()); - } - } - } - - /** - * 为实体对象数据集成远程一对一关联数据。 - * - * @param dataObject 实体对象。 - * @param withDict 关联从表数据后,是否把从表的字典数据也一起关联了。 - * @param ignoreFields 该集合中的字段,即便包含注解也不会在当前调用中进行数据组装。 - * @throws RemoteDataBuildException ignoreRpcError()方法返回false,同时远程服务调用出现错误时抛出此异常。 - */ - private void buildRemoteOneToOneForData(T dataObject, boolean withDict, Set ignoreFields) { - if (dataObject == null || CollectionUtils.isEmpty(this.remoteRelationOneToOneStructList)) { - return; - } - for (RemoteRelationStruct relationStruct : this.remoteRelationOneToOneStructList) { - if (ignoreFields != null && ignoreFields.contains(relationStruct.relationField.getName())) { - continue; - } - Object id = ReflectUtil.getFieldValue(dataObject, relationStruct.masterIdField); - if (id != null) { - MyQueryParam queryParam = new MyQueryParam(withDict); - queryParam.setUseDataFilter(false); - MyWhereCriteria whereCriteria = new MyWhereCriteria(); - whereCriteria.setCriteria( - relationStruct.relationOneToOne.slaveIdField(), MyWhereCriteria.OPERATOR_EQUAL, id); - queryParam.addCriteriaList(whereCriteria); - ResponseResult result = relationStruct.remoteClient.getBy(queryParam); - if (result.isSuccess()) { - Object relationObject = this.normalizeData( - result.getData(), relationStruct.relationOneToOne.slaveModelClass()); - if (relationObject != null) { - ReflectUtil.setFieldValue(dataObject, relationStruct.relationField, relationObject); - } - } else { - this.logErrorOrThrowException(result.getErrorMessage()); - } - } - } - } - - /** - * 为实体对象参数列表数据集成远程字典关联数据。 - * - * @param resultList 实体对象数据列表。 - * @param hasBuiltOneToOne 性能优化参数。如果该值为true,同时注解参数RelationDict.equalOneToOneRelationField - * 不为空,则直接从已经完成一对一数据关联的从表对象中获取数据,减少一次数据库交互。 - * @param ignoreFields 该集合中的字段,即便包含注解也不会在当前调用中进行数据组装。 - * @throws RemoteDataBuildException ignoreRpcError()方法返回false,同时远程服务调用出现错误时抛出此异常。 - */ - private void buildRemoteDictForDataList(List resultList, boolean hasBuiltOneToOne, Set ignoreFields) { - if (CollectionUtils.isEmpty(this.remoteRelationDictStructList) || CollectionUtils.isEmpty(resultList)) { - return; - } - for (RemoteRelationStruct relationStruct : this.remoteRelationDictStructList) { - if (ignoreFields != null && ignoreFields.contains(relationStruct.relationField.getName())) { - continue; - } - List relationList = null; - if (hasBuiltOneToOne && relationStruct.equalOneToOneRelationField != null) { - relationList = resultList.stream() - .map(obj -> ReflectUtil.getFieldValue(obj, relationStruct.equalOneToOneRelationField)) - .filter(Objects::nonNull) - .collect(toList()); - } else { - Set masterIdSet = resultList.stream() - .map(obj -> ReflectUtil.getFieldValue(obj, relationStruct.masterIdField)) - .filter(Objects::nonNull) - .collect(toSet()); - if (CollectionUtils.isEmpty(masterIdSet)) { - continue; - } - MyQueryParam queryParam = new MyQueryParam(false); - queryParam.setUseDataFilter(false); - MyWhereCriteria whereCriteria = new MyWhereCriteria(); - whereCriteria.setCriteria( - relationStruct.relationDict.slaveIdField(), MyWhereCriteria.OPERATOR_IN, masterIdSet); - queryParam.addCriteriaList(whereCriteria); - ResponseResult> result = relationStruct.remoteClient.listBy(queryParam); - // 成功或者没有数据 - if (result.isSuccess()) { - relationList = result.getData().getDataList(); - } else { - logErrorOrThrowException(result.getErrorMessage()); - } - } - MyModelUtil.makeDictRelation( - modelClass, resultList, relationList, relationStruct.relationField.getName()); - } - } - - /** - * 为实体对象数据集成远程字典关联数据。 - * - * @param dataObject 实体对象。 - * @param hasBuiltOneToOne 性能优化参数。如果该值为true,同时注解参数RelationDict.equalOneToOneRelationField - * 不为空,则直接从已经完成一对一数据关联的从表对象中获取数据,减少一次数据库交互。 - * @param ignoreFields 该集合中的字段,即便包含注解也不会在当前调用中进行数据组装。 - * @throws RemoteDataBuildException ignoreRpcError()方法返回false,同时远程服务调用出现错误时抛出此异常。 - */ - private void buildRemoteDictForData(T dataObject, boolean hasBuiltOneToOne, Set ignoreFields) { - if (dataObject == null || CollectionUtils.isEmpty(this.remoteRelationDictStructList)) { - return; - } - for (RemoteRelationStruct relationStruct : this.remoteRelationDictStructList) { - if (ignoreFields != null && ignoreFields.contains(relationStruct.relationField.getName())) { - continue; - } - Object relationObject = null; - if (hasBuiltOneToOne && relationStruct.equalOneToOneRelationField != null) { - relationObject = ReflectUtil.getFieldValue(dataObject, relationStruct.equalOneToOneRelationField); - } else { - Object id = ReflectUtil.getFieldValue(dataObject, relationStruct.masterIdField); - if (id == null) { - continue; - } - MyQueryParam queryParam = new MyQueryParam(false); - queryParam.setUseDataFilter(false); - MyWhereCriteria whereCriteria = new MyWhereCriteria(); - whereCriteria.setCriteria( - relationStruct.relationDict.slaveIdField(), MyWhereCriteria.OPERATOR_EQUAL, id); - queryParam.addCriteriaList(whereCriteria); - ResponseResult result = relationStruct.remoteClient.getBy(queryParam); - if (result.isSuccess()) { - relationObject = this.normalizeData( - result.getData(), relationStruct.relationDict.slaveModelClass()); - } else { - this.logErrorOrThrowException(result.getErrorMessage()); - } - } - MyModelUtil.makeDictRelation( - modelClass, dataObject, relationObject, relationStruct.relationField.getName()); - } - } - - /** - * 根据实体对象参数列表和过滤条件,集成远程一对多关联聚合计算数据。 - * - * @param resultList 实体对象数据列表。 - * @param criteriaListMap 过滤参数。key为主表字段名称,value是过滤条件列表。 - * @param ignoreFields 该集合中的字段,即便包含注解也不会在当前调用中进行数据组装。 - */ - private void buildRemoteOneToManyAggregationForDataList( - List resultList, Map> criteriaListMap, Set ignoreFields) { - if (CollectionUtils.isEmpty(this.remoteRelationOneToManyAggrStructList) || CollectionUtils.isEmpty(resultList)) { - return; - } - if (criteriaListMap == null) { - criteriaListMap = new HashMap<>(this.remoteRelationOneToManyAggrStructList.size()); - } - for (RemoteRelationStruct relationStruct : this.remoteRelationOneToManyAggrStructList) { - if (ignoreFields != null && ignoreFields.contains(relationStruct.relationField.getName())) { - continue; - } - Set masterIdSet = resultList.stream() - .map(obj -> ReflectUtil.getFieldValue(obj, relationStruct.masterIdField)) - .filter(Objects::nonNull) - .collect(toSet()); - if (CollectionUtils.isEmpty(masterIdSet)) { - continue; - } - RelationOneToManyAggregation relation = relationStruct.relationOneToManyAggregation; - MyAggregationParam aggregationParam = - createAggregationParam(AggregationKind.ONE_TO_MANY, - relation.aggregationType(), relation.aggregationField(), relation.slaveIdField()); - List criteriaList = - criteriaListMap.get(relationStruct.relationField.getName()); - if (criteriaList == null) { - criteriaList = new LinkedList<>(); - } - MyWhereCriteria criteria = new MyWhereCriteria(); - CallResult result = criteria.setCriteria( - relation.slaveIdField(), MyWhereCriteria.OPERATOR_IN, masterIdSet); - if (!result.isSuccess()) { - log.error("过滤条件设置失败,错误:" + result.getErrorMessage()); - throw new IllegalStateException(result.getErrorMessage()); - } - criteriaList.add(criteria); - aggregationParam.setWhereCriteriaList(criteriaList); - aggregationParam.setUseDataFilter(false); - ResponseResult>> responseResult = - relationStruct.remoteClient.aggregateBy(aggregationParam); - if (responseResult.isSuccess()) { - this.doMakeAggregationData(responseResult.getData(), resultList, relationStruct); - } else { - this.logErrorOrThrowException(result.getErrorMessage()); - } - } - } - - /** - * 根据实体对象和过滤条件,集成远程一对多关联聚合计算数据。 - * - * @param dataObject 实体对象。 - * @param criteriaListMap 过滤参数。key为主表字段名称,value是过滤条件列表。 - * @param ignoreFields 该集合中的字段,即便包含注解也不会在当前调用中进行数据组装。 - */ - private void buildRemoteOneToManyAggregationForData( - T dataObject, Map> criteriaListMap, Set ignoreFields) { - // 处理一对多场景 - if (dataObject == null || CollectionUtils.isEmpty(this.remoteRelationOneToManyAggrStructList)) { - return; - } - if (criteriaListMap == null) { - criteriaListMap = new HashMap<>(this.remoteRelationOneToManyAggrStructList.size()); - } - for (RemoteRelationStruct relationStruct : this.remoteRelationOneToManyAggrStructList) { - if (ignoreFields != null && ignoreFields.contains(relationStruct.relationField.getName())) { - continue; - } - Object masterIdValue = ReflectUtil.getFieldValue(dataObject, relationStruct.masterIdField); - if (masterIdValue == null) { - continue; - } - RelationOneToManyAggregation relation = relationStruct.relationOneToManyAggregation; - MyAggregationParam aggregationParam = createAggregationParam(AggregationKind.ONE_TO_MANY, - relation.aggregationType(), relation.aggregationField(), relation.slaveIdField()); - List criteriaList = criteriaListMap.get(relationStruct.relationField.getName()); - if (criteriaList == null) { - criteriaList = new LinkedList<>(); - } - MyWhereCriteria criteria = new MyWhereCriteria(); - criteria.setCriteria(relation.slaveModelClass(), - relation.slaveIdField(), MyWhereCriteria.OPERATOR_EQUAL, masterIdValue); - criteriaList.add(criteria); - aggregationParam.setWhereCriteriaList(criteriaList); - aggregationParam.setUseDataFilter(false); - ResponseResult>> result = - relationStruct.remoteClient.aggregateBy(aggregationParam); - if (result.isSuccess()) { - List resultList = new LinkedList<>(); - resultList.add(dataObject); - this.doMakeAggregationData(result.getData(), resultList, relationStruct); - } else { - this.logErrorOrThrowException(result.getErrorMessage()); - } - } - } - - /** - * 根据实体对象参数列表和过滤条件,集成远程多对多关联聚合计算数据。 - * - * @param resultList 实体对象数据列表。 - * @param criteriaListMap 过滤参数。key为主表字段名称,value是过滤条件列表。 - * @param ignoreFields 该集合中的字段,即便包含注解也不会在当前调用中进行数据组装。 - */ - private void buildRemoteManyToManyAggregationForDataList( - List resultList, Map> criteriaListMap, Set ignoreFields) { - if (CollectionUtils.isEmpty(this.remoteRelationManyToManyAggrStructList) || CollectionUtils.isEmpty(resultList)) { - return; - } - if (criteriaListMap == null) { - criteriaListMap = new HashMap<>(this.remoteRelationManyToManyAggrStructList.size()); - } - for (RemoteRelationStruct relationStruct : this.remoteRelationManyToManyAggrStructList) { - if (ignoreFields != null && ignoreFields.contains(relationStruct.relationField.getName())) { - continue; - } - Set masterIdSet = resultList.stream() - .map(obj -> ReflectUtil.getFieldValue(obj, relationStruct.masterIdField)) - .filter(Objects::nonNull) - .collect(toSet()); - if (CollectionUtils.isEmpty(masterIdSet)) { - continue; - } - RelationManyToManyAggregation relation = relationStruct.relationManyToManyAggregation; - // 这里需要拆分出哪些是关联表过滤,哪些是从表过滤。 - RemoteAggregationRelationInfo relationInfo = this.parseRemoteAggregationRelationInfo( - relationStruct, criteriaListMap, masterIdSet, true); - // 先处理聚合字段位于中间表的case。 - if (relation.aggregationModelClass().equals(relation.relationModelClass())) { - this.processRemoteManyToManyAggregationWithRelationModel( - relationInfo, relation, relationStruct, resultList, masterIdSet, true); - } else { - this.processRemoteManyToManyAggregationWithSlaveModel( - relationInfo, relation, relationStruct, resultList); - } - } - } - - /** - * 根据实体对象和过滤条件,集成本地多对多关联聚合计算数据。 - * - * @param dataObject 实体对象。 - * @param criteriaListMap 过滤参数。key为主表字段名称,value是过滤条件列表。 - * @param ignoreFields 该集合中的字段,即便包含注解也不会在当前调用中进行数据组装。 - */ - private void buildRemoteManyToManyAggregationForData( - T dataObject, Map> criteriaListMap, Set ignoreFields) { - if (dataObject == null || CollectionUtils.isEmpty(this.remoteRelationManyToManyAggrStructList)) { - return; - } - if (criteriaListMap == null) { - criteriaListMap = new HashMap<>(this.remoteRelationManyToManyAggrStructList.size()); - } - for (RemoteRelationStruct relationStruct : this.remoteRelationManyToManyAggrStructList) { - if (ignoreFields != null && ignoreFields.contains(relationStruct.relationField.getName())) { - continue; - } - Object masterIdValue = ReflectUtil.getFieldValue(dataObject, relationStruct.masterIdField); - if (masterIdValue == null) { - continue; - } - RelationManyToManyAggregation relation = relationStruct.relationManyToManyAggregation; - // 这里需要拆分出哪些是关联表过滤,哪些是从表过滤。 - RemoteAggregationRelationInfo relationInfo = this.parseRemoteAggregationRelationInfo( - relationStruct, criteriaListMap, masterIdValue, false); - List resultList = new LinkedList<>(); - resultList.add(dataObject); - // 先处理聚合字段位于中间表的case。 - if (relation.aggregationModelClass().equals(relation.relationModelClass())) { - this.processRemoteManyToManyAggregationWithRelationModel( - relationInfo, relation, relationStruct, resultList, masterIdValue, false); - } else { - this.processRemoteManyToManyAggregationWithSlaveModel( - relationInfo, relation, relationStruct, resultList); - } - } - } - - /** - * 为实体对象参数列表数据集成本地一对一关联数据。 - * NOTE: 当参数withDict为true时,由于一对一从表对象可能关联远程字典,如从表是Teacher对象, - * Teacher对象包含gradeId字段,而该字段关联的Grade对象与Teacher对象位于不同的服务。 - * 此时,在关联gradeId远程字典时,就可能产生RPC调用。参数ignoreRpcError应用于该远程 - * 调用。 - * - * @param resultList 实体对象数据列表。 - * @param withDict 关联从表数据后,是否把从表的字典数据也一起关联了。 - * @param ignoreFields 该集合中的字段,即便包含注解也不会在当前调用中进行数据组装。 - * @throws RemoteDataBuildException ignoreRpcError()方法返回false,同时远程服务调用出现错误时抛出此异常。 - */ - private void buildOneToOneForDataList(List resultList, boolean withDict, Set ignoreFields) { - if (CollectionUtils.isEmpty(this.localRelationOneToOneStructList) || CollectionUtils.isEmpty(resultList)) { - return; - } - for (LocalRelationStruct relationStruct : this.localRelationOneToOneStructList) { - if (ignoreFields != null && ignoreFields.contains(relationStruct.relationField.getName())) { - continue; - } - Set masterIdSet = resultList.stream() - .map(obj -> ReflectUtil.getFieldValue(obj, relationStruct.masterIdField)) - .filter(Objects::nonNull) - .collect(toSet()); - // 从主表集合中,抽取主表关联字段的集合,再以in list形式去从表中查询。 - if (CollectionUtils.isEmpty(masterIdSet)) { - continue; - } - BaseService relationService = relationStruct.localService; - List relationList = - relationService.getInList(relationStruct.relationOneToOne.slaveIdField(), masterIdSet); - MyModelUtil.makeOneToOneRelation( - modelClass, resultList, relationList, relationStruct.relationField.getName()); - // 仅仅当需要加载从表字典关联时,才去加载。 - if (withDict && relationStruct.relationOneToOne.loadSlaveDict() - && CollectionUtils.isNotEmpty(relationList)) { - @SuppressWarnings("unchecked") - BaseService proxyTarget = - (BaseService) AopTargetUtil.getTarget(relationService); - // 关联常量字典 - proxyTarget.buildConstDictForDataList(relationList, ignoreFields); - // 关联本地字典。 - proxyTarget.buildDictForDataList(relationList, false, ignoreFields); - // 关联远程字典。 - proxyTarget.buildRemoteDictForDataList(relationList, false, ignoreFields); - } - } - } - - /** - * 为实体对象数据集成本地一对一关联数据。 - * - * @param dataObject 实体对象。 - * @param withDict 关联从表数据后,是否把从表的字典数据也一起关联了。 - * @param ignoreFields 该集合中的字段,即便包含注解也不会在当前调用中进行数据组装。 - * @throws RemoteDataBuildException ignoreRpcError()方法返回false,同时远程服务调用出现错误时抛出此异常。 - */ - private void buildOneToOneForData(M dataObject, boolean withDict, Set ignoreFields) { - if (dataObject == null || CollectionUtils.isEmpty(this.localRelationOneToOneStructList)) { - return; - } - for (LocalRelationStruct relationStruct : this.localRelationOneToOneStructList) { - if (ignoreFields != null && ignoreFields.contains(relationStruct.relationField.getName())) { - continue; - } - Object id = ReflectUtil.getFieldValue(dataObject, relationStruct.masterIdField); - if (id != null) { - BaseService relationService = relationStruct.localService; - Object relationObject = relationService.getOne(relationStruct.relationOneToOne.slaveIdField(), id); - ReflectUtil.setFieldValue(dataObject, relationStruct.relationField, relationObject); - // 仅仅当需要加载从表字典关联时,才去加载。 - if (withDict && relationStruct.relationOneToOne.loadSlaveDict() && relationObject != null) { - @SuppressWarnings("unchecked") - BaseService proxyTarget = - (BaseService) AopTargetUtil.getTarget(relationService); - // 关联常量字典 - proxyTarget.buildConstDictForData(relationObject, ignoreFields); - // 关联本地字典。 - proxyTarget.buildDictForData(relationObject, false, ignoreFields); - // 关联远程字典。 - proxyTarget.buildRemoteDictForData(relationObject, false, ignoreFields); - } - } - } - } - - /** - * 为实体对象参数列表数据集成本地一对多关联数据。 - * - * @param resultList 实体对象数据列表。 - * @param ignoreFields 该集合中的字段,即便包含注解也不会在当前调用中进行数据组装。 - */ - private void buildOneToManyForDataList(List resultList, Set ignoreFields) { - if (CollectionUtils.isEmpty(this.localRelationOneToManyStructList) || CollectionUtils.isEmpty(resultList)) { - return; - } - for (LocalRelationStruct relationStruct : this.localRelationOneToManyStructList) { - if (ignoreFields != null && ignoreFields.contains(relationStruct.relationField.getName())) { - continue; - } - Set masterIdSet = resultList.stream() - .map(obj -> ReflectUtil.getFieldValue(obj, relationStruct.masterIdField)) - .filter(Objects::nonNull) - .collect(toSet()); - // 从主表集合中,抽取主表关联字段的集合,再以in list形式去从表中查询。 - if (CollectionUtils.isNotEmpty(masterIdSet)) { - BaseService relationService = relationStruct.localService; - List relationList = - relationService.getInList(relationStruct.relationOneToMany.slaveIdField(), masterIdSet); - MyModelUtil.makeOneToManyRelation( - modelClass, resultList, relationList, relationStruct.relationField.getName()); - } - } - } - - /** - * 为实体对象数据集成本地一对多关联数据。 - * - * @param dataObject 实体对象。 - * @param ignoreFields 该集合中的字段,即便包含注解也不会在当前调用中进行数据组装。 - */ - private void buildOneToManyForData(M dataObject, Set ignoreFields) { - if (dataObject == null || CollectionUtils.isEmpty(this.localRelationOneToManyStructList)) { - return; - } - for (LocalRelationStruct relationStruct : this.localRelationOneToManyStructList) { - if (ignoreFields != null && ignoreFields.contains(relationStruct.relationField.getName())) { - continue; - } - Object id = ReflectUtil.getFieldValue(dataObject, relationStruct.masterIdField); - if (id != null) { - BaseService relationService = relationStruct.localService; - Set masterIdSet = new HashSet<>(1); - masterIdSet.add(id); - List relationObject = relationService.getInList( - relationStruct.relationOneToMany.slaveIdField(), masterIdSet); - ReflectUtil.setFieldValue(dataObject, relationStruct.relationField, relationObject); - } - } - } - - /** - * 为实体对象参数列表数据集成本地字典关联数据。 - * - * @param resultList 实体对象数据列表。 - * @param hasBuiltOneToOne 性能优化参数。如果该值为true,同时注解参数RelationDict.equalOneToOneRelationField - * 不为空,则直接从已经完成一对一数据关联的从表对象中获取数据,减少一次数据库交互。 - * @param ignoreFields 该集合中的字段,即便包含注解也不会在当前调用中进行数据组装。 - */ - private void buildDictForDataList(List resultList, boolean hasBuiltOneToOne, Set ignoreFields) { - if (CollectionUtils.isEmpty(this.localRelationDictStructList) || CollectionUtils.isEmpty(resultList)) { - return; - } - for (LocalRelationStruct relationStruct : this.localRelationDictStructList) { - if (ignoreFields != null && ignoreFields.contains(relationStruct.relationField.getName())) { - continue; - } - List relationList = null; - if (hasBuiltOneToOne && relationStruct.equalOneToOneRelationField != null) { - relationList = resultList.stream() - .map(obj -> ReflectUtil.getFieldValue(obj, relationStruct.equalOneToOneRelationField)) - .filter(Objects::nonNull) - .collect(toList()); - } else { - String slaveId = relationStruct.relationDict.slaveIdField(); - Set masterIdSet = resultList.stream() - .map(obj -> ReflectUtil.getFieldValue(obj, relationStruct.masterIdField)) - .filter(Objects::nonNull) - .collect(toSet()); - if (CollectionUtils.isNotEmpty(masterIdSet)) { - relationList = relationStruct.localService.getInList(slaveId, masterIdSet); - } - } - MyModelUtil.makeDictRelation( - modelClass, resultList, relationList, relationStruct.relationField.getName()); - } - } - - /** - * 为实体对象数据集成本地数据字典关联数据。 - * - * @param dataObject 实体对象。 - * @param hasBuiltOneToOne 性能优化参数。如果该值为true,同时注解参数RelationDict.equalOneToOneRelationField - * 不为空,则直接从已经完成一对一数据关联的从表对象中获取数据,减少一次数据库交互。 - * @param ignoreFields 该集合中的字段,即便包含注解也不会在当前调用中进行数据组装。 - */ - private void buildDictForData(T dataObject, boolean hasBuiltOneToOne, Set ignoreFields) { - if (dataObject == null || CollectionUtils.isEmpty(this.localRelationDictStructList)) { - return; - } - for (LocalRelationStruct relationStruct : this.localRelationDictStructList) { - if (ignoreFields != null && ignoreFields.contains(relationStruct.relationField.getName())) { - continue; - } - Object relationObject = null; - if (hasBuiltOneToOne && relationStruct.equalOneToOneRelationField != null) { - relationObject = ReflectUtil.getFieldValue(dataObject, relationStruct.equalOneToOneRelationField); - } else { - Object id = ReflectUtil.getFieldValue(dataObject, relationStruct.masterIdField); - if (id != null) { - relationObject = relationStruct.localService.getOne(relationStruct.relationDict.slaveIdField(), id); - } - } - MyModelUtil.makeDictRelation( - modelClass, dataObject, relationObject, relationStruct.relationField.getName()); - } - } - - /** - * 根据实体对象参数列表和过滤条件,集成本地多对多关联聚合计算数据。 - * - * @param resultList 实体对象数据列表。 - * @param criteriaListMap 过滤参数。key为主表字段名称,value是过滤条件列表。 - * @param ignoreFields 该集合中的字段,即便包含注解也不会在当前调用中进行数据组装。 - */ - private void buildManyToManyAggregationForDataList( - List resultList, Map> criteriaListMap, Set ignoreFields) { - if (CollectionUtils.isEmpty(this.localRelationManyToManyAggrStructList) || CollectionUtils.isEmpty(resultList)) { - return; - } - if (criteriaListMap == null) { - criteriaListMap = new HashMap<>(this.localRelationManyToManyAggrStructList.size()); - } - for (LocalRelationStruct relationStruct : this.localRelationManyToManyAggrStructList) { - if (ignoreFields != null && ignoreFields.contains(relationStruct.relationField.getName())) { - continue; - } - Set masterIdSet = resultList.stream() - .map(obj -> ReflectUtil.getFieldValue(obj, relationStruct.masterIdField)) - .filter(Objects::nonNull) - .collect(toSet()); - if (CollectionUtils.isEmpty(masterIdSet)) { - continue; - } - RelationManyToManyAggregation relation = relationStruct.relationManyToManyAggregation; - // 提取关联中用到的各种字段和表数据。 - LocalAggregationRelationInfo basicRelationInfo = - this.parseLocalAggregationRelationInfo(relationStruct, criteriaListMap); - // 构建多表关联的where语句 - StringBuilder whereClause = new StringBuilder(256); - // 如果需要从表聚合计算或参与过滤,则需要把中间表和从表之间的关联条件加上。 - if (!basicRelationInfo.onlySelectRelationTable) { - whereClause.append(basicRelationInfo.relationTable) - .append(".") - .append(basicRelationInfo.relationSlaveColumn) - .append(" = ") - .append(basicRelationInfo.slaveTable) - .append(".") - .append(basicRelationInfo.slaveColumn); - } else { - whereClause.append("1 = 1"); - } - List criteriaList = criteriaListMap.get(relationStruct.relationField.getName()); - if (criteriaList == null) { - criteriaList = new LinkedList<>(); - } - MyWhereCriteria inlistFilter = new MyWhereCriteria(); - inlistFilter.setCriteria(relation.relationModelClass(), - relation.relationMasterIdField(), MyWhereCriteria.OPERATOR_IN, masterIdSet); - criteriaList.add(inlistFilter); - if (StringUtils.isNotBlank(relationStruct.localService.deletedFlagFieldName)) { - MyWhereCriteria deleteFilter = new MyWhereCriteria(); - deleteFilter.setCriteria( - relation.slaveModelClass(), - relationStruct.localService.deletedFlagFieldName, - MyWhereCriteria.OPERATOR_EQUAL, - GlobalDeletedFlag.NORMAL); - criteriaList.add(deleteFilter); - } - String criteriaString = MyWhereCriteria.makeCriteriaString(criteriaList); - whereClause.append(AND_OP).append(criteriaString); - StringBuilder tableNames = new StringBuilder(64); - tableNames.append(basicRelationInfo.relationTable); - if (!basicRelationInfo.onlySelectRelationTable) { - tableNames.append(", ").append(basicRelationInfo.slaveTable); - } - List> aggregationMapList = - mapper().getGroupedListByCondition(tableNames.toString(), - basicRelationInfo.selectList, whereClause.toString(), basicRelationInfo.groupBy); - doMakeAggregationData(aggregationMapList, resultList, relationStruct); - } - } - - /** - * 根据实体对象参数列表和过滤条件,集成本地一对多关联聚合计算数据。 - * - * @param resultList 实体对象数据列表。 - * @param criteriaListMap 过滤参数。key为主表字段名称,value是过滤条件列表。 - * @param ignoreFields 该集合中的字段,即便包含注解也不会在当前调用中进行数据组装。 - */ - private void buildOneToManyAggregationForDataList( - List resultList, Map> criteriaListMap, Set ignoreFields) { - if (CollectionUtils.isEmpty(this.localRelationOneToManyAggrStructList) || CollectionUtils.isEmpty(resultList)) { - return; - } - if (criteriaListMap == null) { - criteriaListMap = new HashMap<>(localRelationOneToManyAggrStructList.size()); - } - for (LocalRelationStruct relationStruct : this.localRelationOneToManyAggrStructList) { - if (ignoreFields != null && ignoreFields.contains(relationStruct.relationField.getName())) { - continue; - } - Set masterIdSet = resultList.stream() - .map(obj -> ReflectUtil.getFieldValue(obj, relationStruct.masterIdField)) - .filter(Objects::nonNull) - .collect(toSet()); - if (CollectionUtils.isNotEmpty(masterIdSet)) { - RelationOneToManyAggregation relation = relationStruct.relationOneToManyAggregation; - // 开始获取后面所需的各种关联数据。此部分今后可以移植到缓存中,无需每次计算。 - String slaveTable = MyModelUtil.mapToTableName(relation.slaveModelClass()); - String slaveColumnName = MyModelUtil.mapToColumnName( - relation.slaveIdField(), relation.slaveModelClass()); - Tuple2 selectAndGroupByTuple = makeSelectListAndGroupByClause( - slaveTable, slaveColumnName, relation.slaveModelClass(), - slaveTable, relation.aggregationField(), relation.aggregationType()); - String selectList = selectAndGroupByTuple.getFirst(); - String groupBy = selectAndGroupByTuple.getSecond(); - List criteriaList = criteriaListMap.get(relationStruct.relationField.getName()); - if (criteriaList == null) { - criteriaList = new LinkedList<>(); - } - MyWhereCriteria inlistFilter = new MyWhereCriteria(); - inlistFilter.setCriteria(relation.slaveModelClass(), - relation.slaveIdField(), MyWhereCriteria.OPERATOR_IN, masterIdSet); - criteriaList.add(inlistFilter); - if (StringUtils.isNotBlank(relationStruct.localService.deletedFlagFieldName)) { - MyWhereCriteria deleteFilter = new MyWhereCriteria(); - deleteFilter.setCriteria( - relation.slaveModelClass(), - relationStruct.localService.deletedFlagFieldName, - MyWhereCriteria.OPERATOR_EQUAL, - GlobalDeletedFlag.NORMAL); - criteriaList.add(deleteFilter); - } - String criteriaString = MyWhereCriteria.makeCriteriaString(criteriaList); - List> aggregationMapList = - mapper().getGroupedListByCondition(slaveTable, selectList, criteriaString, groupBy); - doMakeAggregationData(aggregationMapList, resultList, relationStruct); - } - } - } - - /** - * 根据实体对象和过滤条件,集成本地多对多关联聚合计算数据。 - * - * @param dataObject 实体对象。 - * @param criteriaListMap 过滤参数。key为主表字段名称,value是过滤条件列表。 - * @param ignoreFields 该集合中的字段,即便包含注解也不会在当前调用中进行数据组装。 - */ - private void buildManyToManyAggregationForData( - T dataObject, Map> criteriaListMap, Set ignoreFields) { - if (dataObject == null || CollectionUtils.isEmpty(this.localRelationManyToManyAggrStructList)) { - return; - } - if (criteriaListMap == null) { - criteriaListMap = new HashMap<>(localRelationManyToManyAggrStructList.size()); - } - for (LocalRelationStruct relationStruct : this.localRelationManyToManyAggrStructList) { - if (ignoreFields != null && ignoreFields.contains(relationStruct.relationField.getName())) { - continue; - } - Object masterIdValue = ReflectUtil.getFieldValue(dataObject, relationStruct.masterIdField); - if (masterIdValue != null) { - LocalAggregationRelationInfo basicRelationInfo = - this.parseLocalAggregationRelationInfo(relationStruct, criteriaListMap); - // 组装过滤条件 - String whereClause = this.makeManyToManyWhereClause( - relationStruct, masterIdValue, basicRelationInfo, criteriaListMap); - StringBuilder tableNames = new StringBuilder(64); - tableNames.append(basicRelationInfo.relationTable); - if (!basicRelationInfo.onlySelectRelationTable) { - tableNames.append(", ").append(basicRelationInfo.slaveTable); - } - List> aggregationMapList = - mapper().getGroupedListByCondition(tableNames.toString(), - basicRelationInfo.selectList, whereClause, basicRelationInfo.groupBy); - // 将查询后的结果回填到主表数据中。 - if (CollectionUtils.isNotEmpty(aggregationMapList)) { - Object value = aggregationMapList.get(0).get(MyAggregationParam.VALUE_NAME); - if (value != null) { - ReflectUtil.setFieldValue(dataObject, relationStruct.relationField, value); - } - } - } - } - } - - /** - * 根据实体对象和过滤条件,集成本地一对多关联聚合计算数据。 - * - * @param dataObject 实体对象。 - * @param criteriaListMap 过滤参数。key为主表字段名称,value是过滤条件列表。 - * @param ignoreFields 该集合中的字段,即便包含注解也不会在当前调用中进行数据组装。 - */ - private void buildOneToManyAggregationForData( - T dataObject, Map> criteriaListMap, Set ignoreFields) { - if (dataObject == null || CollectionUtils.isEmpty(this.localRelationOneToManyAggrStructList)) { - return; - } - if (criteriaListMap == null) { - criteriaListMap = new HashMap<>(localRelationOneToManyAggrStructList.size()); - } - for (LocalRelationStruct relationStruct : this.localRelationOneToManyAggrStructList) { - if (ignoreFields != null && ignoreFields.contains(relationStruct.relationField.getName())) { - continue; - } - Object masterIdValue = ReflectUtil.getFieldValue(dataObject, relationStruct.masterIdField); - if (masterIdValue != null) { - RelationOneToManyAggregation relation = relationStruct.relationOneToManyAggregation; - String slaveTable = MyModelUtil.mapToTableName(relation.slaveModelClass()); - String slaveColumnName = - MyModelUtil.mapToColumnName(relation.slaveIdField(), relation.slaveModelClass()); - Tuple2 selectAndGroupByTuple = makeSelectListAndGroupByClause( - slaveTable, slaveColumnName, relation.slaveModelClass(), - slaveTable, relation.aggregationField(), relation.aggregationType()); - String selectList = selectAndGroupByTuple.getFirst(); - String groupBy = selectAndGroupByTuple.getSecond(); - String whereClause = this.makeOneToManyWhereClause( - relationStruct, masterIdValue, slaveColumnName, criteriaListMap); - // 获取分组聚合计算结果 - List> aggregationMapList = - mapper().getGroupedListByCondition(slaveTable, selectList, whereClause, groupBy); - // 将计算结果回填到主表关联字段 - if (CollectionUtils.isNotEmpty(aggregationMapList)) { - Object value = aggregationMapList.get(0).get(MyAggregationParam.VALUE_NAME); - if (value != null) { - ReflectUtil.setFieldValue(dataObject, relationStruct.relationField, value); - } - } - } - } - } - - /** - * 仅仅在spring boot 启动后的监听器事件中调用,缓存所有远程调用Client的关联关系,加速后续的数据绑定效率。 - */ - @Override - public void loadRemoteRelationStruct() { - Field[] fields = ReflectUtil.getFields(modelClass); - for (Field f : fields) { - initializeRemoteRelationDictStruct(f); - initializeRemoteRelationStruct(f); - initializeRemoteRelationAggregationStruct(f); - } - } - - /** - * 仅仅在spring boot 启动后的监听器事件中调用,缓存所有service的关联关系,加速后续的数据绑定效率。 - */ - @Override - public void loadLocalRelationStruct() { - Field[] fields = ReflectUtil.getFields(modelClass); - for (Field f : fields) { - initializeLocalRelationDictStruct(f); - initializeLocalRelationStruct(f); - initializeLocalRelationAggregationStruct(f); - } - } - - /** - * 缺省实现返回null,在进行一对多和多对多聚合计算时,没有额外的自定义过滤条件。如有需要,需子类自行实现。 - * - * @return 自定义过滤条件列表。 - */ - protected Map> buildAggregationAdditionalWhereCriteria() { - return null; - } - - /** - * 判断当前对象的关联字段数据是否需要被验证,如果原有对象为null,表示新对象第一次插入,则必须验证。 - * - * @param object 新对象。 - * @param originalObject 原有对象。 - * @param fieldGetter 获取需要验证字段的函数对象。 - * @param 需要验证字段的类型。 - * @return 需要关联验证返回true,否则false。 - */ - protected boolean needToVerify(M object, M originalObject, Function fieldGetter) { - if (object == null) { - return false; - } - T data = fieldGetter.apply(object); - if (data == null) { - return false; - } - if (data instanceof String) { - String stringData = (String) data; - if (stringData.length() == 0) { - return false; - } - } - if (originalObject == null) { - return true; - } - T originalData = fieldGetter.apply(originalObject); - return !data.equals(originalData); - } - - /** - * 判断远程关联数据是否包含错误信息。 - * - * @param responseResult 远程服务返回结果对象。 - * @return true表示包含错误信息,否则false。 - */ - protected boolean hasErrorOfVerifyRemoteRelatedData(ResponseResult responseResult) { - return !responseResult.isSuccess() || Boolean.FALSE.equals(responseResult.getData()); - } - - /** - * 因为Mybatis Plus中QueryWrapper的条件方法都要求传入数据表字段名,因此提供该函数将 - * Java实体对象的字段名转换为数据表字段名,如果不存在会抛出异常。 - * 另外在MyModelUtil.mapToColumnName有一级缓存,对于查询过的对象字段都会放到缓存中, - * 下次映射转换的时候,会直接从缓存获取。 - * - * @param fieldName Java实体对象的字段名。 - * @return 对应的数据表字段名。 - */ - protected String safeMapToColumnName(String fieldName) { - String columnName = MyModelUtil.mapToColumnName(fieldName, modelClass); - if (columnName == null) { - throw new InvalidDataFieldException(modelClass.getSimpleName(), fieldName); - } - return columnName; - } - - /** - * 因为Mybatis Plus在update的时候,不能将实体对象中值为null的字段,更新为null, - * 而且忽略更新,在全部更新场景下,这个是非常重要的,所以我们写了这个函数绕开这一问题。 - * 该函数会遍历实体对象中,所有不包含@Transient注解,没有transient修饰符的字段,如果 - * 当前对象的该字段值为null,则会调用UpdateWrapper的set方法,将该字段赋值为null。 - * 相比于其他重载方法,该方法会将参数中的主键id,设置到UpdateWrapper的过滤条件中。 - * - * @param o 实体对象。 - * @param id 实体对象的主键值。 - * @return 创建后的UpdateWrapper。 - */ - protected UpdateWrapper createUpdateQueryForNullValue(M o, K id) { - UpdateWrapper uw = createUpdateQueryForNullValue(o, modelClass); - try { - M filter = modelClass.newInstance(); - this.setIdFieldMethod.invoke(filter, id); - uw.setEntity(filter); - } catch (Exception e) { - log.error("Failed to call reflection code of BaseService.createUpdateQueryForNullValue.", e); - throw new MyRuntimeException(e); - } - return uw; - } - - /** - * 因为Mybatis Plus在update的时候,不能将实体对象中值为null的字段,更新为null, - * 而且忽略更新,在全部更新场景下,这个是非常重要的,所以我们写了这个函数绕开这一问题。 - * 该函数会遍历实体对象中,所有不包含@Transient注解,没有transient修饰符的字段,如果 - * 当前对象的该字段值为null,则会调用UpdateWrapper的set方法,将该字段赋值为null。 - * - * @param o 实体对象。 - * @return 创建后的UpdateWrapper。 - */ - protected UpdateWrapper createUpdateQueryForNullValue(M o) { - return createUpdateQueryForNullValue(o, modelClass); - } - - /** - * 因为Mybatis Plus在update的时候,不能将实体对象中值为null的字段,更新为null, - * 而且忽略更新,在全部更新场景下,这个是非常重要的,所以我们写了这个函数绕开这一问题。 - * 该函数会遍历实体对象中,所有不包含@Transient注解,没有transient修饰符的字段,如果 - * 当前对象的该字段值为null,则会调用UpdateWrapper的set方法,将该字段赋值为null。 - * - * @param o 实体对象。 - * @param clazz 实体对象的class。 - * @return 创建后的UpdateWrapper。 - */ - public static UpdateWrapper createUpdateQueryForNullValue(T o, Class clazz) { - UpdateWrapper uw = new UpdateWrapper<>(); - Field[] fields = ReflectUtil.getFields(clazz); - List nullColumnList = new LinkedList<>(); - for (Field field : fields) { - TableField tableField = field.getAnnotation(TableField.class); - if (tableField == null || tableField.exist()) { - int modifiers = field.getModifiers(); - // transient类型的字段不能作为查询条件,静态字段和逻辑删除都不考虑。 - int transientMask = 128; - if ((modifiers & transientMask) == 1 - || Modifier.isStatic(modifiers) - || field.getAnnotation(TableLogic.class) != null) { - continue; - } - // 仅当实体对象参数中,当前字段值为null的时候,才会赋值给UpdateWrapper。 - // 以便在后续的更新中,可以将这些null字段的值设置到数据库表对应的字段中。 - if (ReflectUtil.getFieldValue(o, field) == null) { - nullColumnList.add(MyModelUtil.safeMapToColumnName(field.getName(), clazz)); - } - } - } - if (CollectionUtils.isNotEmpty(nullColumnList)) { - for (String nullColumn : nullColumnList) { - uw.set(nullColumn, null); - } - } - return uw; - } - - @SuppressWarnings("unchecked") - private void initializeRemoteRelationDictStruct(Field f) { - RelationDict relationDict = f.getAnnotation(RelationDict.class); - if (relationDict != null) { - if (relationDict.slaveClientClass().equals(DummyClass.class)) { - return; - } - RemoteRelationStruct relationStruct = new RemoteRelationStruct(); - relationStruct.relationField = f; - relationStruct.masterIdField = ReflectUtil.getField(modelClass, relationDict.masterIdField()); - relationStruct.relationDict = relationDict; - if (StringUtils.isNotBlank(relationDict.equalOneToOneRelationField())) { - relationStruct.equalOneToOneRelationField = - ReflectUtil.getField(modelClass, relationDict.equalOneToOneRelationField()); - } - Object client = ApplicationContextHolder.getBean(relationDict.slaveClientClass()); - relationStruct.remoteClient = (BaseClient) client; - remoteRelationDictStructList.add(relationStruct); - } - } - - @SuppressWarnings("unchecked") - private void initializeRemoteRelationStruct(Field f) { - RelationOneToOne relationOneToOne = f.getAnnotation(RelationOneToOne.class); - if (relationOneToOne != null) { - if (relationOneToOne.slaveClientClass().equals(DummyClass.class)) { - return; - } - RemoteRelationStruct relationStruct = new RemoteRelationStruct(); - relationStruct.relationField = f; - relationStruct.masterIdField = ReflectUtil.getField(modelClass, relationOneToOne.masterIdField()); - relationStruct.relationOneToOne = relationOneToOne; - Object client = ApplicationContextHolder.getBean(relationOneToOne.slaveClientClass()); - relationStruct.remoteClient = (BaseClient) client; - remoteRelationOneToOneStructList.add(relationStruct); - } - } - - @SuppressWarnings("unchecked") - private void initializeRemoteRelationAggregationStruct(Field f) { - RelationOneToManyAggregation relationOneToManyAggregation = - f.getAnnotation(RelationOneToManyAggregation.class); - if (relationOneToManyAggregation != null) { - if (relationOneToManyAggregation.slaveClientClass().equals(DummyClass.class)) { - return; - } - RemoteRelationStruct relationStruct = new RemoteRelationStruct(); - relationStruct.relationField = f; - relationStruct.masterIdField = ReflectUtil.getField(modelClass, relationOneToManyAggregation.masterIdField()); - relationStruct.relationOneToManyAggregation = relationOneToManyAggregation; - Object client = ApplicationContextHolder.getBean(relationOneToManyAggregation.slaveClientClass()); - relationStruct.remoteClient = (BaseClient) client; - remoteRelationOneToManyAggrStructList.add(relationStruct); - return; - } - RelationManyToManyAggregation relationManyToManyAggregation = - f.getAnnotation(RelationManyToManyAggregation.class); - if (relationManyToManyAggregation != null) { - if (relationManyToManyAggregation.slaveClientClass().equals(DummyClass.class)) { - return; - } - RemoteRelationStruct relationStruct = new RemoteRelationStruct(); - relationStruct.relationField = f; - relationStruct.masterIdField = ReflectUtil.getField( - modelClass, relationManyToManyAggregation.masterIdField()); - relationStruct.relationManyToManyAggregation = relationManyToManyAggregation; - Object client = ApplicationContextHolder.getBean(relationManyToManyAggregation.slaveClientClass()); - relationStruct.remoteClient = (BaseClient) client; - remoteRelationManyToManyAggrStructList.add(relationStruct); - } - } - - @SuppressWarnings("unchecked") - private void initializeLocalRelationStruct(Field f) { - RelationOneToOne relationOneToOne = f.getAnnotation(RelationOneToOne.class); - if (relationOneToOne != null) { - if (StringUtils.isBlank(relationOneToOne.slaveServiceName())) { - return; - } - LocalRelationStruct relationStruct = new LocalRelationStruct(); - relationStruct.relationField = f; - relationStruct.masterIdField = ReflectUtil.getField(modelClass, relationOneToOne.masterIdField()); - relationStruct.relationOneToOne = relationOneToOne; - if (StringUtils.isNotBlank(relationOneToOne.slaveServiceName())) { - relationStruct.localService = ApplicationContextHolder.getBean( - StringUtils.uncapitalize(relationOneToOne.slaveServiceName())); - } else { - relationStruct.localService = (BaseService) - ApplicationContextHolder.getBean(relationOneToOne.slaveServiceClass()); - } - localRelationOneToOneStructList.add(relationStruct); - return; - } - RelationOneToMany relationOneToMany = f.getAnnotation(RelationOneToMany.class); - if (relationOneToMany != null) { - LocalRelationStruct relationStruct = new LocalRelationStruct(); - relationStruct.relationField = f; - relationStruct.masterIdField = ReflectUtil.getField(modelClass, relationOneToMany.masterIdField()); - relationStruct.relationOneToMany = relationOneToMany; - if (StringUtils.isNotBlank(relationOneToMany.slaveServiceName())) { - relationStruct.localService = ApplicationContextHolder.getBean( - StringUtils.uncapitalize(relationOneToMany.slaveServiceName())); - } else { - relationStruct.localService = (BaseService) - ApplicationContextHolder.getBean(relationOneToMany.slaveServiceClass()); - } - localRelationOneToManyStructList.add(relationStruct); - return; - } - RelationManyToMany relationManyToMany = f.getAnnotation(RelationManyToMany.class); - if (relationManyToMany != null) { - LocalRelationStruct relationStruct = new LocalRelationStruct(); - relationStruct.relationField = f; - relationStruct.masterIdField = ReflectUtil.getField(modelClass, relationManyToMany.relationMasterIdField()); - relationStruct.relationManyToMany = relationManyToMany; - relationStruct.manyToManyMapper = ApplicationContextHolder.getBean( - StringUtils.uncapitalize(relationManyToMany.relationMapperName())); - localRelationManyToManyStructList.add(relationStruct); - } - } - - @SuppressWarnings("unchecked") - private void initializeLocalRelationDictStruct(Field f) { - RelationConstDict relationConstDict = f.getAnnotation(RelationConstDict.class); - if (relationConstDict != null) { - LocalRelationStruct relationStruct = new LocalRelationStruct(); - relationStruct.relationConstDict = relationConstDict; - relationStruct.relationField = f; - relationStruct.masterIdField = ReflectUtil.getField(modelClass, relationConstDict.masterIdField()); - Field dictMapField = ReflectUtil.getField(relationConstDict.constantDictClass(), "DICT_MAP"); - relationStruct.dictMap = (Map) ReflectUtil.getFieldValue(modelClass, dictMapField); - relationConstDictStructList.add(relationStruct); - return; - } - RelationDict relationDict = f.getAnnotation(RelationDict.class); - if (relationDict != null) { - if (StringUtils.isBlank(relationDict.slaveServiceName())) { - return; - } - LocalRelationStruct relationStruct = new LocalRelationStruct(); - relationStruct.relationField = f; - relationStruct.masterIdField = ReflectUtil.getField(modelClass, relationDict.masterIdField()); - relationStruct.relationDict = relationDict; - if (StringUtils.isNotBlank(relationDict.equalOneToOneRelationField())) { - relationStruct.equalOneToOneRelationField = - ReflectUtil.getField(modelClass, relationDict.equalOneToOneRelationField()); - } - if (StringUtils.isNotBlank(relationDict.slaveServiceName())) { - relationStruct.localService = - ApplicationContextHolder.getBean(StringUtils.uncapitalize(relationDict.slaveServiceName())); - } else { - relationStruct.localService = (BaseService) - ApplicationContextHolder.getBean(relationDict.slaveServiceClass()); - } - localRelationDictStructList.add(relationStruct); - } - } - - @SuppressWarnings("unchecked") - private void initializeLocalRelationAggregationStruct(Field f) { - RelationOneToManyAggregation relationOneToManyAggregation = f.getAnnotation(RelationOneToManyAggregation.class); - if (relationOneToManyAggregation != null) { - if (!relationOneToManyAggregation.slaveClientClass().equals(DummyClass.class)) { - return; - } - LocalRelationStruct relationStruct = new LocalRelationStruct(); - relationStruct.relationField = f; - relationStruct.masterIdField = ReflectUtil.getField(modelClass, relationOneToManyAggregation.masterIdField()); - relationStruct.relationOneToManyAggregation = relationOneToManyAggregation; - if (StringUtils.isNotBlank(relationOneToManyAggregation.slaveServiceName())) { - relationStruct.localService = ApplicationContextHolder.getBean( - StringUtils.uncapitalize(relationOneToManyAggregation.slaveServiceName())); - } else { - relationStruct.localService = (BaseService) - ApplicationContextHolder.getBean(relationOneToManyAggregation.slaveServiceClass()); - } - localRelationOneToManyAggrStructList.add(relationStruct); - return; - } - RelationManyToManyAggregation relationManyToManyAggregation = f.getAnnotation(RelationManyToManyAggregation.class); - if (relationManyToManyAggregation != null) { - if (!relationManyToManyAggregation.slaveClientClass().equals(DummyClass.class)) { - return; - } - LocalRelationStruct relationStruct = new LocalRelationStruct(); - relationStruct.relationField = f; - relationStruct.masterIdField = ReflectUtil.getField(modelClass, relationManyToManyAggregation.masterIdField()); - relationStruct.relationManyToManyAggregation = relationManyToManyAggregation; - if (StringUtils.isNotBlank(relationManyToManyAggregation.slaveServiceName())) { - relationStruct.localService = ApplicationContextHolder.getBean( - StringUtils.uncapitalize(relationManyToManyAggregation.slaveServiceName())); - } else { - relationStruct.localService = (BaseService) - ApplicationContextHolder.getBean(relationManyToManyAggregation.slaveServiceClass()); - } - localRelationManyToManyAggrStructList.add(relationStruct); - } - } - - private Object normalizeData(Object data, Class clazz) { - if (data instanceof JSONObject) { - return ((JSONObject) data).toJavaObject(clazz); - } - return data; - } - - private void logErrorOrThrowException(String errorMsg) { - log.error(LogMessageUtil.makeRpcError(errorMsg)); - if (!this.ignoreRpcError()) { - throw new RemoteDataBuildException(errorMsg); - } - } - - private LocalAggregationRelationInfo parseLocalAggregationRelationInfo( - LocalRelationStruct relationStruct, Map> criteriaListMap) { - RelationManyToManyAggregation relation = relationStruct.relationManyToManyAggregation; - LocalAggregationRelationInfo relationInfo = new LocalAggregationRelationInfo(); - // 提取关联中用到的各种字段和表数据。 - relationInfo.slaveTable = MyModelUtil.mapToTableName(relation.slaveModelClass()); - relationInfo.relationTable = MyModelUtil.mapToTableName(relation.relationModelClass()); - relationInfo.relationMasterColumn = - MyModelUtil.mapToColumnName(relation.relationMasterIdField(), relation.relationModelClass()); - relationInfo.relationSlaveColumn = - MyModelUtil.mapToColumnName(relation.relationSlaveIdField(), relation.relationModelClass()); - relationInfo.slaveColumn = MyModelUtil.mapToColumnName(relation.slaveIdField(), relation.slaveModelClass()); - // 判断是否只需要关联中间表即可,从而提升查询统计的效率。 - // 1. 统计字段为中间表字段。2. 自定义过滤条件中没有基于从表字段的过滤条件。 - relationInfo.onlySelectRelationTable = - relation.aggregationModelClass().equals(relation.relationModelClass()); - if (relationInfo.onlySelectRelationTable && MapUtils.isNotEmpty(criteriaListMap)) { - List criteriaList = - criteriaListMap.get(relationStruct.relationField.getName()); - if (CollectionUtils.isNotEmpty(criteriaList)) { - for (MyWhereCriteria whereCriteria : criteriaList) { - if (whereCriteria.getModelClazz().equals(relation.slaveModelClass())) { - relationInfo.onlySelectRelationTable = false; - break; - } - } - } - } - String aggregationTable = relation.aggregationModelClass().equals(relation.relationModelClass()) - ? relationInfo.relationTable : relationInfo.slaveTable; - Tuple2 selectAndGroupByTuple = makeSelectListAndGroupByClause( - relationInfo.relationTable, relationInfo.relationMasterColumn, relation.aggregationModelClass(), - aggregationTable, relation.aggregationField(), relation.aggregationType()); - relationInfo.selectList = selectAndGroupByTuple.getFirst(); - relationInfo.groupBy = selectAndGroupByTuple.getSecond(); - return relationInfo; - } - - private RemoteAggregationRelationInfo parseRemoteAggregationRelationInfo( - RemoteRelationStruct relationStruct, - Map> criteriaListMap, - Object value, - boolean forDataList) { - RemoteAggregationRelationInfo relationInfo = new RemoteAggregationRelationInfo(); - // 这里需要拆分出哪些是关联表过滤,哪些是从表过滤。 - RelationManyToManyAggregation relation = relationStruct.relationManyToManyAggregation; - relationInfo.relationTable = MyModelUtil.mapToTableName(relation.relationModelClass()); - relationInfo.relationMasterColumn = MyModelUtil.mapToColumnName( - relation.relationMasterIdField(), relation.relationModelClass()); - relationInfo.relationSlaveColumn = MyModelUtil.mapToColumnName( - relation.relationSlaveIdField(), relation.relationModelClass()); - // 这里需要拆分出哪些是关联表过滤,哪些是从表过滤。 - List relationCriteriaList = new LinkedList<>(); - // 先把关联表的inlist过滤 [r_table.master_id = masterIdValue] 预先插入。 - MyWhereCriteria criteria = new MyWhereCriteria(); - if (forDataList) { - criteria.setCriteria(relation.relationModelClass(), - relation.relationMasterIdField(), MyWhereCriteria.OPERATOR_IN, value); - } else { - criteria.setCriteria(relation.relationModelClass(), - relation.relationMasterIdField(), MyWhereCriteria.OPERATOR_EQUAL, value); - } - relationCriteriaList.add(criteria); - List criteriaList = criteriaListMap.get(relationStruct.relationField.getName()); - if (CollectionUtils.isNotEmpty(criteriaList)) { - for (MyWhereCriteria c : criteriaList) { - if (c.getModelClazz().equals(relation.relationModelClass())) { - relationCriteriaList.add(c); - } else if (c.getModelClazz().equals(relation.slaveModelClass())) { - if (relationInfo.slaveCriteriaList == null) { - relationInfo.slaveCriteriaList = new LinkedList<>(); - } - relationInfo.slaveCriteriaList.add(c); - } - } - } - relationInfo.relationWhereClause = MyWhereCriteria.makeCriteriaString(relationCriteriaList); - return relationInfo; - } - - private void processRemoteManyToManyAggregationWithRelationModel( - RemoteAggregationRelationInfo relationInfo, RelationManyToManyAggregation relation, - RemoteRelationStruct relationStruct, List resultList, Object value, boolean forDataList) { - // 1. 先构建SQL中的Select List,下面的函数返回值是: - // relationTable.relationMasterColumn as GROUPED_KEY, SUM(relationTable.aggregationField) AGGREGATED_VALUE - // 2. 基于中间表与主表的关联字段构建SQL语句中的GROUP BY从句。 - Tuple2 selectAndGroupByTuple = makeSelectListAndGroupByClause( - relationInfo.relationTable, relationInfo.relationMasterColumn, - relation.aggregationModelClass(), relationInfo.relationTable, - relation.aggregationField(), relation.aggregationType()); - String groupedSelectList = selectAndGroupByTuple.getFirst(); - String groupBy = selectAndGroupByTuple.getSecond(); - List> aggregationMapList = null; - // 过滤条件中不涉及远程从表,那么可以直接进行基于中间表的SQL计算即可,避免了远程调用。 - if (relationInfo.slaveCriteriaList == null) { - // 3. 下面的函数调用将会执行仅包含中间表的SQL。 - aggregationMapList = mapper().getGroupedListByCondition( - relationInfo.relationTable, groupedSelectList, relationInfo.relationWhereClause, groupBy); - this.doMakeAggregationData(aggregationMapList, resultList, relationStruct); - return; - } - // 此场景是最复杂的,实现步骤如下: - // 1. 先基于主表的inlist和中间表的过滤条件,过滤出符合条件的中间表数据列表。 - // 构建获取中间表数据SQL的Select List部分。 - StringBuilder selectList = new StringBuilder(64); - selectList.append(relationInfo.relationMasterColumn).append(", ").append(relationInfo.relationSlaveColumn); - // SQL中的Where从句不变,和上面的过滤逻辑是一致的。 - List> mapList = mapper().getListByCondition( - relationInfo.relationTable, selectList.toString(), relationInfo.relationWhereClause, null); - if (CollectionUtils.isNotEmpty(mapList)) { - // 2. 基于中间表的查询结果,即中间表中与从表关联字段的列表作为从表的inlist过滤条件, - // 同时结合远程从表的自身过滤条件,获取远程从表数据。目前仅需从表中的关联字段即可。 - MyWhereCriteria slaveInlistFilterCriteria = new MyWhereCriteria(); - // 将中间表对从表进行inlist过滤的条件手动插入。 - slaveInlistFilterCriteria.setCriteria(relation.slaveIdField(), MyWhereCriteria.OPERATOR_IN, - mapList.stream().map(m -> m.get(relationInfo.relationSlaveColumn)).collect(toSet())); - relationInfo.slaveCriteriaList.add(slaveInlistFilterCriteria); - MyQueryParam queryParam = new MyQueryParam(); - queryParam.setCriteriaList(relationInfo.slaveCriteriaList); - // 远程从表返回的结果集中,仅仅包含从表中的关联字段即可。 - List slaveSelectList = new LinkedList<>(); - slaveSelectList.add(relation.slaveIdField()); - queryParam.setSelectFieldList(slaveSelectList); - // 关联集成数据需要把数据权限过滤关闭,以保证计算结果的正确性。 - queryParam.setUseDataFilter(false); - ResponseResult>> result = relationStruct.remoteClient.listMapBy(queryParam); - if (!result.isSuccess()) { - this.logErrorOrThrowException(result.getErrorMessage()); - return; - } - // 3. 将远程从表查询的返回结果,作为中间表与从表关联字段(relationSlaveColumn)的inlistFilter。 - // 并计算最终聚合结果。 - List slaveList = null; - if (result.getData() != null) { - slaveList = result.getData().getDataList() - .stream().map(m -> m.get(relation.slaveIdField())).collect(toList()); - } - if (CollectionUtils.isNotEmpty(slaveList)) { - // 中间表的最终过滤条件是从表返回的id列表将作为关联表slaveIdColumn的inlist-filter, - // 同时原有主表的id列表仍将作为关联表masterIdColumn的inlist-filter。 - List finalRelationCriteriaList = new LinkedList<>(); - MyWhereCriteria relationSlaveIdInListFilterCriteria = new MyWhereCriteria(); - relationSlaveIdInListFilterCriteria.setCriteria(relation.relationModelClass(), - relation.relationSlaveIdField(), MyWhereCriteria.OPERATOR_IN, slaveList); - finalRelationCriteriaList.add(relationSlaveIdInListFilterCriteria); - MyWhereCriteria relationMasterIdInListFilterCriteria = new MyWhereCriteria(); - if (forDataList) { - relationMasterIdInListFilterCriteria.setCriteria(relation.relationModelClass(), - relation.relationMasterIdField(), MyWhereCriteria.OPERATOR_IN, value); - } else { - relationMasterIdInListFilterCriteria.setCriteria(relation.relationModelClass(), - relation.relationMasterIdField(), MyWhereCriteria.OPERATOR_EQUAL, value); - } - finalRelationCriteriaList.add(relationMasterIdInListFilterCriteria); - String whereClause = MyWhereCriteria.makeCriteriaString(finalRelationCriteriaList); - aggregationMapList = mapper().getGroupedListByCondition( - relationInfo.relationTable, groupedSelectList, whereClause, groupBy); - } - } - this.doMakeAggregationData(aggregationMapList, resultList, relationStruct); - } - - private void processRemoteManyToManyAggregationWithSlaveModel( - RemoteAggregationRelationInfo relationInfo, - RelationManyToManyAggregation relation, - RemoteRelationStruct relationStruct, - List resultList) { - // 聚合字段在远程从表,计算步骤如下: - // 1. 先进行中间表过滤,并将中间表的过滤结果。 - StringBuilder selectList = new StringBuilder(64); - selectList.append(relationInfo.relationMasterColumn).append(", ").append(relationInfo.relationSlaveColumn); - List> relationMapList = - mapper().getListByCondition(relationInfo.relationTable, - selectList.toString(), relationInfo.relationWhereClause, null); - if (CollectionUtils.isNotEmpty(relationMapList)) { - // 2. 将中间表的过滤结果,作为从表关联字段的inlistFilter过滤,再结合从表自身的过滤条件, - // 一并传给远程服务进行聚合计算,并返回计算结果。 - MyAggregationParam aggregationParam = createAggregationParam(AggregationKind.MANY_TO_MANY, - relation.aggregationType(), relation.aggregationField(), null); - aggregationParam.setInFilterField(relation.slaveIdField()); - if (relationInfo.slaveCriteriaList != null) { - aggregationParam.setWhereCriteriaList(relationInfo.slaveCriteriaList); - } - // 将过滤后的中间表结果集手动分组,传给远程分组计算调用,保证一次返回所有分组结果。 - Map> groupedFilterMap = - relationMapList.stream().collect( - groupingBy(m -> m.get(relationInfo.relationMasterColumn), - mapping(n -> n.get(relationInfo.relationSlaveColumn), toSet()))); - aggregationParam.setGroupedInFilterValues(groupedFilterMap); - aggregationParam.setUseDataFilter(false); - // 开始将远程返回的聚合计算结果集合,回填到主表中的聚合虚拟字段。 - ResponseResult>> result = - relationStruct.remoteClient.aggregateBy(aggregationParam); - if (result.isSuccess()) { - this.doMakeAggregationData(result.getData(), resultList, relationStruct); - } else { - this.logErrorOrThrowException(result.getErrorMessage()); - } - } - } - - private String makeManyToManyWhereClause( - LocalRelationStruct relationStruct, - Object masterIdValue, - LocalAggregationRelationInfo localRelationInfo, - Map> criteriaListMap) { - StringBuilder whereClause = new StringBuilder(256); - whereClause.append(localRelationInfo.relationTable) - .append(".").append(localRelationInfo.relationMasterColumn); - if (masterIdValue instanceof Number) { - whereClause.append(" = ").append(masterIdValue); - } else { - whereClause.append(" = '").append(masterIdValue).append("'"); - } - // 如果需要从表聚合计算或参与过滤,则需要把中间表和从表之间的关联条件加上。 - if (!localRelationInfo.onlySelectRelationTable) { - whereClause.append(AND_OP) - .append(localRelationInfo.relationTable) - .append(".") - .append(localRelationInfo.relationSlaveColumn) - .append(" = ") - .append(localRelationInfo.slaveTable) - .append(".") - .append(localRelationInfo.slaveColumn); - } - List criteriaList = criteriaListMap.get(relationStruct.relationField.getName()); - if (criteriaList == null) { - criteriaList = new LinkedList<>(); - } - if (StringUtils.isNotBlank(relationStruct.localService.deletedFlagFieldName)) { - MyWhereCriteria deleteFilter = new MyWhereCriteria(); - deleteFilter.setCriteria( - relationStruct.relationManyToManyAggregation.slaveModelClass(), - relationStruct.localService.deletedFlagFieldName, - MyWhereCriteria.OPERATOR_EQUAL, - GlobalDeletedFlag.NORMAL); - criteriaList.add(deleteFilter); - } - if (CollectionUtils.isNotEmpty(criteriaList)) { - String criteriaString = MyWhereCriteria.makeCriteriaString(criteriaList); - whereClause.append(AND_OP).append(criteriaString); - } - return whereClause.toString(); - } - - private String makeOneToManyWhereClause( - LocalRelationStruct relationStruct, - Object masterIdValue, - String slaveColumnName, - Map> criteriaListMap) { - StringBuilder whereClause = new StringBuilder(64); - if (masterIdValue instanceof Number) { - whereClause.append(slaveColumnName).append(" = ").append(masterIdValue); - } else { - whereClause.append(slaveColumnName).append(" = '").append(masterIdValue).append("'"); - } - List criteriaList = criteriaListMap.get(relationStruct.relationField.getName()); - if (criteriaList == null) { - criteriaList = new LinkedList<>(); - } - if (StringUtils.isNotBlank(relationStruct.localService.deletedFlagFieldName)) { - MyWhereCriteria deleteFilter = new MyWhereCriteria(); - deleteFilter.setCriteria( - relationStruct.relationOneToManyAggregation.slaveModelClass(), - relationStruct.localService.deletedFlagFieldName, - MyWhereCriteria.OPERATOR_EQUAL, - GlobalDeletedFlag.NORMAL); - criteriaList.add(deleteFilter); - } - if (CollectionUtils.isNotEmpty(criteriaList)) { - String criteriaString = MyWhereCriteria.makeCriteriaString(criteriaList); - whereClause.append(AND_OP).append(criteriaString); - } - return whereClause.toString(); - } - - private static class LocalAggregationRelationInfo { - private String slaveTable; - private String slaveColumn; - private String relationTable; - private String relationMasterColumn; - private String relationSlaveColumn; - private String selectList; - private String groupBy; - private boolean onlySelectRelationTable; - } - - private static class RemoteAggregationRelationInfo { - private String relationTable; - private String relationMasterColumn; - private String relationSlaveColumn; - private String relationWhereClause; - private List slaveCriteriaList; - } - - private void doMakeAggregationData( - List> aggregationMapList, - List resultList, - RelationStruct relationStruct) { - // 根据获取的分组聚合结果集,绑定到主表总的关联字段。 - if (CollectionUtils.isNotEmpty(aggregationMapList)) { - Map relatedMap = new HashMap<>(aggregationMapList.size()); - for (Map map : aggregationMapList) { - relatedMap.put(map.get(MyAggregationParam.KEY_NAME), map.get(MyAggregationParam.VALUE_NAME)); - } - for (M dataObject : resultList) { - Object masterIdValue = ReflectUtil.getFieldValue(dataObject, relationStruct.masterIdField); - if (masterIdValue != null) { - Object value = relatedMap.get(masterIdValue); - if (value != null) { - ReflectUtil.setFieldValue(dataObject, relationStruct.relationField, value); - } - } - } - } - } - - private MyAggregationParam createAggregationParam(int kind, int type, String aggregationField, String groupField) { - MyAggregationParam aggregationParam = new MyAggregationParam(); - aggregationParam.setAggregationKind(kind); - aggregationParam.setAggregationType(type); - aggregationParam.setAggregationField(aggregationField); - aggregationParam.setGroupField(groupField); - return aggregationParam; - } - - private Tuple2 makeSelectListAndGroupByClause( - String groupTableName, - String groupColumnName, - Class aggregationModel, - String aggregationTableName, - String aggregationField, - Integer aggregationType) { - if (!AggregationType.isValid(aggregationType)) { - throw new IllegalArgumentException("Invalid AggregationType Value [" - + aggregationType + "] in Model [" + aggregationModel.getName() + "]."); - } - String aggregationFunc = AggregationType.getAggregationFunction(aggregationType); - String aggregationColumn = MyModelUtil.mapToColumnName(aggregationField, aggregationModel); - if (StringUtils.isBlank(aggregationColumn)) { - throw new IllegalArgumentException("Invalid AggregationField [" - + aggregationField + "] in Model [" + aggregationModel.getName() + "]."); - } - // 构建Select List - // 如:r_table.master_id groupedKey, SUM(r_table.aggr_column) aggregated_value - StringBuilder groupedSelectList = new StringBuilder(128); - groupedSelectList.append(groupTableName) - .append(".") - .append(groupColumnName) - .append(" ") - .append(MyAggregationParam.KEY_NAME) - .append(", ") - .append(aggregationFunc) - .append("(") - .append(aggregationTableName) - .append(".") - .append(aggregationColumn) - .append(") ") - .append(MyAggregationParam.VALUE_NAME) - .append(" "); - StringBuilder groupBy = new StringBuilder(64); - groupBy.append(groupTableName).append(".").append(groupColumnName); - return new Tuple2<>(groupedSelectList.toString(), groupBy.toString()); - } - - static class RelationStruct { - protected Field relationField; - protected Field masterIdField; - } - - static class LocalRelationStruct extends RelationStruct { - private Field equalOneToOneRelationField; - private BaseService localService; - private BaseDaoMapper manyToManyMapper; - private RelationConstDict relationConstDict; - private Map dictMap; - private RelationDict relationDict; - private RelationOneToOne relationOneToOne; - private RelationOneToMany relationOneToMany; - private RelationManyToMany relationManyToMany; - private RelationOneToManyAggregation relationOneToManyAggregation; - private RelationManyToManyAggregation relationManyToManyAggregation; - } - - static class RemoteRelationStruct extends RelationStruct { - private Field equalOneToOneRelationField; - private BaseClient remoteClient; - private RelationDict relationDict; - private RelationOneToOne relationOneToOne; - private RelationOneToManyAggregation relationOneToManyAggregation; - private RelationManyToManyAggregation relationManyToManyAggregation; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/base/service/IBaseDictService.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/base/service/IBaseDictService.java deleted file mode 100644 index 87a56497..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/base/service/IBaseDictService.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.orangeforms.common.core.base.service; - -import java.io.Serializable; -import java.util.List; - -/** - * 带有缓存功能的字典Service接口。 - * - * @param Model实体对象的类型。 - * @param Model对象主键的类型。 - * @author Jerry - * @date 2020-08-08 - */ -public interface IBaseDictService extends IBaseService { - - /** - * 重新加载数据库中所有当前表数据到系统内存。 - * - * @param force true则强制刷新,如果false,当缓存中存在数据时不刷新。 - */ - void reloadCachedData(boolean force); - - /** - * 保存新增对象。 - * - * @param data 新增对象。 - * @return 返回新增对象。 - */ - M saveNew(M data); - - /** - * 更新数据对象。 - * - * @param data 更新的对象。 - * @param originalData 原有数据对象。 - * @return 成功返回true,否则false。 - */ - boolean update(M data, M originalData); - - /** - * 删除指定数据。 - * - * @param id 主键Id。 - * @return 成功返回true,否则false。 - */ - boolean remove(K id); - - /** - * 直接从缓存池中获取所有数据。 - * - * @return 返回所有数据。 - */ - List getAllListFromCache(); - - /** - * 存入缓存。 - * - * @param data 新增或更新数据。 - */ - void putDictionaryCache(M data); - - /** - * 根据字典主键将数据从缓存中删除。 - * - * @param id 字典主键。 - */ - void removeDictionaryCache(K id); - - /** - * 根据字典对象将数据从缓存中删除。 - * - * @param data 字典数据。 - */ - void removeDictionaryCacheByModel(M data); - - /** - * 获取缓存中的数据数量。 - * - * @return 缓存中的数据总量。 - */ - int getCachedCount(); -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/base/service/IBaseService.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/base/service/IBaseService.java deleted file mode 100644 index 44228e00..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/base/service/IBaseService.java +++ /dev/null @@ -1,492 +0,0 @@ -package com.orangeforms.common.core.base.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.orangeforms.common.core.object.CallResult; -import com.orangeforms.common.core.object.MyRelationParam; -import com.orangeforms.common.core.object.TableModelInfo; - -import java.io.Serializable; -import java.util.*; -import java.util.function.BiConsumer; -import java.util.function.Consumer; -import java.util.function.Function; - -/** - * 所有Service的接口。 - * - * @param Model对象的类型。 - * @param Model对象主键的类型。 - * @author Jerry - * @date 2020-08-08 - */ -public interface IBaseService extends IService{ - - /** - * 如果主键存在则更新,否则新增保存实体对象。 - * - * @param data 实体对象数据。 - * @param saveNew 新增实体对象方法。 - * @param update 更新实体对象方法。 - */ - void saveNewOrUpdate(M data, Consumer saveNew, BiConsumer update); - - /** - * 如果主键存在的则更新,否则批量新增保存实体对象。 - * - * @param dataList 实体对象数据列表。 - * @param saveNewBatch 批量新增实体对象方法。 - * @param update 更新实体对象方法。 - */ - void saveNewOrUpdateBatch(List dataList, Consumer> saveNewBatch, BiConsumer update); - - /** - * 根据过滤条件删除数据。 - * - * @param filter 过滤对象。 - * @return 删除数量。 - */ - Integer removeBy(M filter); - - /** - * 基于主从表之间的关联字段,批量改更新一对多从表数据。 - * 该操作会覆盖增、删、改三个操作,具体如下: - * 1. 先删除。从表中relationFieldName字段的值为relationFieldValue, 同时主键Id不在dataList中的。 - * 2. 再批量插入。遍历dataList中没有主键Id的对象,视为新对象批量插入。 - * 3. 最后逐条更新,遍历dataList中有主键Id的对象,视为已存在对象并逐条更新。 - * 4. 如果更新时间和更新用户Id为空,我们将视当前记录为变化数据,因此使用当前时间和用户分别填充这两个字段。 - * - * @param relationFieldName 主从表关联中,从表的Java字段名。 - * @param relationFieldValue 主从表关联中,与从表关联的主表字段值。该值会被赋值给从表关联字段。 - * @param updateUserIdFieldName 一对多从表的更新用户Id字段名。 - * @param updateTimeFieldName 一对多从表的更新时间字段名 - * @param dataList 批量更新的从表数据列表。 - * @param batchInserter 从表批量插入方法。 - */ - void updateBatchOneToManyRelation( - String relationFieldName, - Object relationFieldValue, - String updateUserIdFieldName, - String updateTimeFieldName, - List dataList, - Consumer> batchInserter); - - /** - * 判断指定字段的数据是否存在,且仅仅存在一条记录。 - * 如果是基于主键的过滤,会直接调用existId过滤函数,提升性能。在有缓存的场景下,也可以利用缓存。 - * - * @param fieldName 待过滤的字段名(Java 字段)。 - * @param fieldValue 字段值。 - * @return 存在且仅存在一条返回true,否则false。 - */ - boolean existOne(String fieldName, Object fieldValue); - - /** - * 判断主键Id关联的数据是否存在。 - * - * @param id 主键Id。 - * @return 存在返回true,否则false。 - */ - boolean existId(K id); - - /** - * 返回符合 filterField = filterValue 条件的一条数据。 - * - * @param filterField 过滤的Java字段。 - * @param filterValue 过滤的Java字段值。 - * @return 查询后的数据对象。 - */ - M getOne(String filterField, Object filterValue); - - /** - * 获取主表的查询结果,以及主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * - * @param id 主表主键Id。 - * @param relationParam 实体对象数据组装的参数构建器。 - * @return 查询结果对象。 - */ - M getByIdWithRelation(K id, MyRelationParam relationParam); - - /** - * 获取所有数据。 - * - * @return 返回所有数据。 - */ - List getAllList(); - - /** - * 获取排序后所有数据。 - * - * @param orderByProperties 需要排序的字段属性,这里使用Java对象中的属性名,而不是数据库字段名。 - * @return 返回排序后所有数据。 - */ - List getAllListByOrder(String... orderByProperties); - - /** - * 判断参数值主键集合中的所有数据,是否全部存在 - * - * @param idSet 待校验的主键集合。 - * @return 全部存在返回true,否则false。 - */ - boolean existAllPrimaryKeys(Set idSet); - - /** - * 判断参数值列表中的所有数据,是否全部存在。另外,keyName字段在数据表中必须是唯一键值,否则返回结果会出现误判。 - * - * @param inFilterField 待校验的数据字段,这里使用Java对象中的属性,如courseId,而不是数据字段名course_id - * @param inFilterValues 数据值列表。 - * @return 全部存在返回true,否则false。 - */ - boolean existUniqueKeyList(String inFilterField, Set inFilterValues); - - /** - * 根据过滤字段和过滤集合,返回不存在的数据。 - * - * @param filterField 过滤的Java字段。 - * @param filterSet 过滤字段数据集合。 - * @param findFirst 是否找到第一个就返回。 - * @param 过滤字段类型。 - * @return filterSet中,在从表中不存在的数据集合。 - */ - List notExist(String filterField, Set filterSet, boolean findFirst); - - /** - * 返回符合主键 in (idValues) 条件的所有数据。 - * - * @param idValues 主键值集合。 - * @return 检索后的数据列表。 - */ - List getInList(Set idValues); - - /** - * 返回符合 inFilterField in (inFilterValues) 条件的所有数据。 - * - * @param inFilterField 参与(In-list)过滤的Java字段。 - * @param inFilterValues 参与(In-list)过滤的Java字段值集合。 - * @return 检索后的数据列表。 - */ - List getInList(String inFilterField, Set inFilterValues); - - /** - * 返回符合 inFilterField in (inFilterValues) 条件的所有数据,并根据orderBy字段排序。 - * - * @param inFilterField 参与(In-list)过滤的Java字段。 - * @param inFilterValues 参与(In-list)过滤的Java字段值集合。 - * @param orderBy 排序字段。 - * @return 检索后的数据列表。 - */ - List getInList(String inFilterField, Set inFilterValues, String orderBy); - - /** - * 返回符合主键 in (idValues) 条件的所有数据。同时返回关联数据。 - * - * @param idValues 主键值集合。 - * @param relationParam 实体对象数据组装的参数构建器。 - * @return 检索后的数据列表。 - */ - List getInListWithRelation(Set idValues, MyRelationParam relationParam); - - /** - * 返回符合 inFilterField in (inFilterValues) 条件的所有数据。同时返回关联数据。 - * - * @param inFilterField 参与(In-list)过滤的Java字段。 - * @param inFilterValues 参与(In-list)过滤的Java字段值集合。 - * @param relationParam 实体对象数据组装的参数构建器。 - * @return 检索后的数据列表。 - */ - List getInListWithRelation(String inFilterField, Set inFilterValues, MyRelationParam relationParam); - - /** - * 返回符合 inFilterField in (inFilterValues) 条件的所有数据,并根据orderBy字段排序。同时返回关联数据。 - * - * @param inFilterField 参与(In-list)过滤的Java字段。 - * @param inFilterValues 参与(In-list)过滤的Java字段值集合。 - * @param orderBy 排序字段。 - * @param relationParam 实体对象数据组装的参数构建器。 - * @return 检索后的数据列表。 - */ - List getInListWithRelation( - String inFilterField, Set inFilterValues, String orderBy, MyRelationParam relationParam); - - /** - * 用参数对象作为过滤条件,获取数据数量。 - * - * @param filter 该方法基于mybatis 通用mapper,过滤对象中,只有被赋值的字段,才会成为where中的条件。 - * @return 返回过滤后的数据数量。 - */ - int getCountByFilter(M filter); - - /** - * 用参数对象作为过滤条件,判断是否存在过滤数据。 - * - * @param filter 该方法基于mybatis 通用mapper,过滤对象中,只有被赋值的字段,才会成为where中的条件。 - * @return 存在返回true,否则false。 - */ - boolean existByFilter(M filter); - - /** - * 用参数对象作为过滤条件,获取查询结果。 - * - * @param filter 该方法基于mybatis的通用mapper。如果参数为null,则返回全部数据。 - * @return 返回过滤后的数据。 - */ - List getListByFilter(M filter); - - /** - * 获取父主键Id下的所有子数据列表。 - * - * @param parentIdFieldName 父主键字段名字,如"courseId"。 - * @param parentId 父主键的值。 - * @return 父主键Id下的所有子数据列表。 - */ - List getListByParentId(String parentIdFieldName, K parentId); - - /** - * 根据指定的显示字段列表、过滤条件字符串和分组字符串,返回聚合计算后的查询结果。(基本是内部框架使用,不建议外部接口直接使用)。 - * - * @param selectFields 选择的字段列表,多个字段逗号分隔。 - * NOTE: 如果数据表字段和Java对象字段名字不同,Java对象字段应该以别名的形式出现。 - * 如: table_column_name modelFieldName。否则无法被反射回Bean对象。 - * @param whereClause SQL常量形式的条件从句。 - * @param groupBy SQL常量形式分组字段列表,逗号分隔。 - * @return 聚合计算后的数据结果集。 - */ - List> getGroupedListByCondition(String selectFields, String whereClause, String groupBy); - - /** - * 根据指定的显示字段列表、过滤条件字符串和排序字符串,返回查询结果。(基本是内部框架使用,不建议外部接口直接使用)。 - * - * @param selectList 选择的Java字段列表。如果为空表示返回全部字段。 - * @param filter 过滤对象。 - * @param whereClause SQL常量形式的条件从句。 - * @param orderBy SQL常量形式排序字段列表,逗号分隔。 - * @return 查询结果。 - */ - List getListByCondition(List selectList, M filter, String whereClause, String orderBy); - - /** - * 用指定过滤条件,计算记录数量。(基本是内部框架使用,不建议外部接口直接使用)。 - * - * @param whereClause SQL常量形式的条件从句。 - * @return 返回过滤后的数据数量。 - */ - Integer getCountByCondition(String whereClause); - - /** - * 根据最新对象和原有对象的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * NOTE: BaseService中会给出返回CallResult.ok()的缺省实现。每个业务服务实现类在需要的时候可以重载该方法。 - * - * @param data 数据对象。 - * @param originalData 原有数据对象,null表示data为新增对象。 - * @return 数据全部正确返回true,否则false,同时返回具体的错误信息。 - */ - CallResult verifyRelatedData(M data, M originalData); - - /** - * 根据最新对象和原有对象的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * 如果data对象中包含主键值,方法内部会获取原有对象值,并进行更新方式的关联数据比对,否则视为新增数据关联对象比对。 - * - * @param data 数据对象。 - * @return 应答结果对象。 - */ - CallResult verifyRelatedData(M data); - - /** - * 根据最新对象列表和原有对象列表的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * 如果dataList列表中的对象包含主键值,方法内部会获取原有对象值,并进行更新方式的关联数据比对,否则视为新增数据关联对象比对。 - * - * @param dataList 数据对象列表。 - * @return 数据全部正确返回true,否则false,同时返回具体的错误信息。 - */ - CallResult verifyRelatedData(List dataList); - - /** - * 根据最新对象和原有对象的数据对比,判断关联的远程字典数据和多对一主表数据是否都是合法数据。 - * NOTE: BaseService中会给出返回CallResult.ok()的缺省实现。每个业务服务实现类在需要的时候可以重载该方法。 - * - * @param data 数据对象。 - * @param originalData 原有数据对象,null表示data为新增对象。 - * @return 数据全部正确返回true,否则false,同时返回具体的错误信息。 - */ - CallResult verifyRemoteRelatedData(M data, M originalData); - - /** - * 根据最新对象列表和原有对象列表的数据对比,判断关联的远程字典数据和多对一主表数据是否都是合法数据。 - * NOTE: BaseService中会给出返回CallResult.ok()的缺省实现。每个业务服务实现类在需要的时候可以重载该方法。 - * - * @param dataList 数据对象列表。 - * @return 数据全部正确返回true,否则false,同时返回具体的错误信息。 - */ - CallResult verifyRemoteRelatedData(List dataList); - - /** - * 根据最新对象和原有对象的数据对比,判断关联的本地和远程字典数据和多对一主表数据是否都是合法数据。 - * NOTE: BaseService中给出了缺省实现。 - * - * @param data 数据对象。 - * @param originalData 原有数据对象,null表示data为新增对象。 - * @return 数据全部正确返回true,否则false,同时返回具体的错误信息。 - */ - CallResult verifyAllRelatedData(M data, M originalData); - - /** - * 根据最新对象和原有对象的数据对比,判断关联的本地和远程字典数据和多对一主表数据是否都是合法数据。 - * NOTE: BaseService中给出了缺省实现。 - * 如果data对象中包含主键值,方法内部会获取原有对象值,并进行更新方式的关联数据比对,否则视为新增数据关联对象比对。 - * - * @param data 数据对象。 - * @return 数据全部正确返回true,否则false,同时返回具体的错误信息。 - */ - CallResult verifyAllRelatedData(M data); - - /** - * 根据最新对象列表和原有对象列表的数据对比,判断关联的本地和远程字典数据和多对一主表数据是否都是合法数据。 - * NOTE: BaseService中给出了缺省实现。 - * - * @param dataList 数据对象列表。 - * @return 数据全部正确返回true,否则false,同时返回具体的错误信息。 - */ - CallResult verifyAllRelatedData(List dataList); - - /** - * 批量导入数据列表,对依赖常量字典的数据进行验证。 - * - * @param dataList 批量导入数据列表。 - * @param fieldName 业务主表中依赖常量字典的字段名。 - * @param idGetter 获取业务主表中依赖常量字典字段值的Function对象。 - * @param 业务主表中依赖常量字典的字段类型。 - * @return 验证结果,如果失败,在data中包含具体的错误对象。 - */ - CallResult verifyImportForConstDict(List dataList, String fieldName, Function idGetter); - - /** - * 批量导入数据列表,对依赖字典表字典的数据进行验证。 - * - * @param dataList 批量导入数据列表。 - * @param fieldName 业务主表中依赖字典表字典的字段名。 - * @param idGetter 获取业务主表中依赖字典表字典字段值的Function对象。 - * @param 业务主表中依赖字典表字典的字段类型。 - * @return 验证结果,如果失败,在data中包含具体的错误对象。 - */ - CallResult verifyImportForDict(List dataList, String fieldName, Function idGetter); - - /** - * 批量导入数据列表,对依赖数据源字典的数据进行验证。 - * - * @param dataList 批量导入数据列表。 - * @param fieldName 业务主表中依赖数据源字典的字段名。 - * @param idGetter 获取业务主表中依赖数据源字典字段值的Function对象。 - * @param 业务主表中依赖数据源字典的字段类型。 - * @return 验证结果,如果失败,在data中包含具体的错误对象。 - */ - CallResult verifyImportForDatasourceDict(List dataList, String fieldName, Function idGetter); - - /** - * 批量导入数据列表,对存在一对一关联的数据进行验证。 - * - * @param dataList 批量导入数据列表。 - * @param fieldName 业务主表中存在一对一关联的字段名。 - * @param idGetter 获取业务主表中一对一关联字段值的Function对象。 - * @param 业务主表中存在一对一关联的字段类型。 - * @return 验证结果,如果失败,在data中包含具体的错误对象。 - */ - CallResult verifyImportForOneToOneRelation(List dataList, String fieldName, Function idGetter); - - /** - * 集成所有与主表实体对象相关的关联数据列表。包括一对一、字典、一对多和多对多聚合运算等。 - * 也可以根据实际需求,单独调用该函数所包含的各个数据集成函数。 - * NOTE: 该方法内执行的SQL将禁用数据权限过滤。 - * - * @param resultList 主表实体对象列表。数据集成将直接作用于该对象列表。 - * @param relationParam 实体对象数据组装的参数构建器。 - */ - void buildRelationForDataList(List resultList, MyRelationParam relationParam); - - /** - * 集成所有与主表实体对象相关的关联数据列表。包括本地和远程服务的一对一、字典、一对多和多对多聚合运算等。 - * 也可以根据实际需求,单独调用该函数所包含的各个数据集成函数。 - * NOTE: 该方法内执行的SQL将禁用数据权限过滤。 - * - * @param resultList 主表实体对象列表。数据集成将直接作用于该对象列表。 - * @param relationParam 实体对象数据组装的参数构建器。 - * @param ignoreFields 该集合中的字段,即便包含注解也不会在当前调用中进行数据组装。 - */ - void buildRelationForDataList(List resultList, MyRelationParam relationParam, Set ignoreFields); - - /** - * 该函数主要用于对查询结果的批量导出。不同于支持分页的列表查询,批量导出没有分页机制, - * 因此在导出数据量较大的情况下,很容易给数据库的内存、CPU和IO带来较大的压力。而通过 - * 我们的分批处理,可以极大的规避该问题的出现几率。调整batchSize的大小,也可以有效的 - * 改善运行效率。 - * 我们目前的处理机制是,先从主表取出所有符合条件的主表数据,这样可以避免分批处理时, - * 后面几批数据,因为skip过多而带来的效率问题。因为是单表过滤,不会给数据库带来过大的压力。 - * 之后再在主表结果集数据上进行分批级联处理。 - * 集成所有与主表实体对象相关的关联数据列表。包括一对一、字典、一对多和多对多聚合运算等。 - * 也可以根据实际需求,单独调用该函数所包含的各个数据集成函数。 - * NOTE: 该方法内执行的SQL将禁用数据权限过滤。 - * - * @param resultList 主表实体对象列表。数据集成将直接作用于该对象列表。 - * @param relationParam 实体对象数据组装的参数构建器。 - * @param batchSize 每批集成的记录数量。小于等于0时将不做分批处理。 - */ - void buildRelationForDataList(List resultList, MyRelationParam relationParam, int batchSize); - - /** - * 该函数主要用于对查询结果的批量导出。不同于支持分页的列表查询,批量导出没有分页机制, - * 因此在导出数据量较大的情况下,很容易给数据库的内存、CPU和IO带来较大的压力。而通过 - * 我们的分批处理,可以极大的规避该问题的出现几率。调整batchSize的大小,也可以有效的 - * 改善运行效率。 - * 我们目前的处理机制是,先从主表取出所有符合条件的主表数据,这样可以避免分批处理时, - * 后面几批数据,因为skip过多而带来的效率问题。因为是单表过滤,不会给数据库带来过大的压力。 - * 之后再在主表结果集数据上进行分批级联处理。 - * 集成所有与主表实体对象相关的关联数据列表。包括一对一、字典、一对多和多对多聚合运算等。 - * 也可以根据实际需求,单独调用该函数所包含的各个数据集成函数。 - * NOTE: 该方法内执行的SQL将禁用数据权限过滤。 - * - * @param resultList 主表实体对象列表。数据集成将直接作用于该对象列表。 - * @param relationParam 实体对象数据组装的参数构建器。 - * @param batchSize 每批集成的记录数量。小于等于0时将不做分批处理。 - * @param ignoreFields 该集合中的字段,即便包含注解也不会在当前调用中进行数据组装。 - */ - void buildRelationForDataList( - List resultList, MyRelationParam relationParam, int batchSize, Set ignoreFields); - - /** - * 集成所有与主表实体对象相关的关联数据对象。包括一对一、字典、一对多和多对多聚合运算等。 - * 也可以根据实际需求,单独调用该函数所包含的各个数据集成函数。 - * NOTE: 该方法内执行的SQL将禁用数据权限过滤。 - * - * @param dataObject 主表实体对象。数据集成将直接作用于该对象。 - * @param relationParam 实体对象数据组装的参数构建器。 - * @param 实体对象类型。 - */ - void buildRelationForData(T dataObject, MyRelationParam relationParam); - - /** - * 集成所有与主表实体对象相关的关联数据对象。包括本地和远程服务的一对一、字典、一对多和多对多聚合运算等。 - * 也可以根据实际需求,单独调用该函数所包含的各个数据集成函数。 - * NOTE: 该方法内执行的SQL将禁用数据权限过滤。 - * - * @param dataObject 主表实体对象。数据集成将直接作用于该对象。 - * @param relationParam 实体对象数据组装的参数构建器。 - * @param ignoreFields 该集合中的字段,即便包含注解也不会在当前调用中进行数据组装。 - * @param 实体对象类型。 - */ - void buildRelationForData(T dataObject, MyRelationParam relationParam, Set ignoreFields); - - /** - * 仅仅在spring boot 启动后的监听器事件中调用,缓存所有远程调用Client的关联关系,加速后续的数据绑定效率。 - */ - void loadRemoteRelationStruct(); - - /** - * 仅仅在spring boot 启动后的监听器事件中调用,缓存所有service的关联关系,加速后续的数据绑定效率。 - */ - void loadLocalRelationStruct(); - - /** - * 获取当前服务引用的实体对象及表信息。 - * - * @return 实体对象及表信息。 - */ - TableModelInfo getTableModelInfo(); -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/cache/DictionaryCache.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/cache/DictionaryCache.java deleted file mode 100644 index 1701fc2f..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/cache/DictionaryCache.java +++ /dev/null @@ -1,88 +0,0 @@ -package com.orangeforms.common.core.cache; - -import java.util.List; -import java.util.Set; - -/** - * 主要用于完整缓存字典表数据的接口对象。 - * - * @param 字典表主键类型。 - * @param 字典表对象类型。 - * @author Jerry - * @date 2020-08-08 - */ -public interface DictionaryCache { - - /** - * 按照数据插入的顺序返回全部字典对象的列表。 - * - * @return 全部字段数据列表。 - */ - List getAll(); - - /** - * 获取缓存中与键列表对应的对象列表。 - * - * @param keys 主键集合。 - * @return 对象列表。 - */ - List getInList(Set keys); - - /** - * 将参数List中的数据保存到缓存中,同时保证getAll返回的数据列表,与参数列表中数据项的顺序保持一致。 - * - * @param dataList 待缓存的数据列表。 - */ - void putAll(List dataList); - - /** - * 重新加载,先清空原有数据,在执行putAll的操作。 - * - * @param dataList 待缓存的数据列表。 - * @param force true则强制刷新,如果false,当缓存中存在数据时不刷新。 - */ - void reload(List dataList, boolean force); - - /** - * 从缓存中获取指定的数据。 - * - * @param key 数据的key。 - * @return 获取到的数据,如果没有返回null。 - */ - V get(K key); - - /** - * 将数据存入缓存。 - * - * @param key 通常为字典数据的主键。 - * @param object 字典数据对象。 - */ - void put(K key, V object); - - /** - * 获取缓存中数据条目的数量。 - * - * @return 返回缓存的数据数量。 - */ - int getCount(); - - /** - * 删除缓存中指定的键。 - * - * @param key 待删除数据的主键。 - * @return 返回被删除的对象,如果主键不存在,返回null。 - */ - V invalidate(K key); - - /** - * 删除缓存中,参数列表中包含的键。 - * - * @param keys 待删除数据的主键集合。 - */ - void invalidateSet(Set keys); - - /** - * 清空缓存。 - */ - void invalidateAll(); -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/cache/MapDictionaryCache.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/cache/MapDictionaryCache.java deleted file mode 100644 index 12f9dce9..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/cache/MapDictionaryCache.java +++ /dev/null @@ -1,358 +0,0 @@ -package com.orangeforms.common.core.cache; - -import com.orangeforms.common.core.exception.MapCacheAccessException; -import lombok.extern.slf4j.Slf4j; - -import java.util.*; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.TimeoutException; -import java.util.concurrent.locks.ReadWriteLock; -import java.util.concurrent.locks.ReentrantReadWriteLock; -import java.util.function.Function; - -/** - * 字典数据内存缓存对象。 - * - * @param 字典表主键类型。 - * @param 字典表对象类型。 - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -public class MapDictionaryCache implements DictionaryCache { - - /** - * 存储字典数据的Map。 - */ - protected final LinkedHashMap dataMap = new LinkedHashMap<>(); - /** - * 获取字典主键数据的函数对象。 - */ - protected final Function idGetter; - /** - * 由于大部分场景是读取操作,所以使用读写锁提高并发的伸缩性。 - */ - protected final ReadWriteLock lock = new ReentrantReadWriteLock(); - /** - * 超时时长。单位毫秒。 - */ - protected static final long TIMEOUT = 2000L; - - /** - * 当前对象的构造器函数。 - * - * @param idGetter 获取当前类主键字段值的函数对象。 - * @param 字典主键类型。 - * @param 字典对象类型 - * @return 实例化后的字典内存缓存对象。 - */ - public static MapDictionaryCache create(Function idGetter) { - if (idGetter == null) { - throw new IllegalArgumentException("IdGetter can't be NULL."); - } - return new MapDictionaryCache<>(idGetter); - } - - /** - * 构造函数。 - * - * @param idGetter 主键Id的获取函数对象。 - */ - public MapDictionaryCache(Function idGetter) { - this.idGetter = idGetter; - } - - /** - * 按照数据插入的顺序返回全部字典对象的列表。 - * - * @return 全部字段数据列表。 - */ - @Override - public List getAll() { - List resultList = new LinkedList<>(); - String exceptionMessage; - try { - if (lock.readLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - for (Map.Entry entry : dataMap.entrySet()) { - resultList.add(entry.getValue()); - } - } finally { - lock.readLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [MapDictionaryCache::getInList] encountered EXCEPTION [%s] for DICT.", - e.getClass().getSimpleName()); - log.warn(exceptionMessage); - throw new MapCacheAccessException(exceptionMessage, e); - } - return resultList; - } - - /** - * 获取缓存中与键列表对应的对象列表。 - * - * @param keys 主键集合。 - * @return 对象列表。 - */ - @Override - public List getInList(Set keys) { - List resultList = new LinkedList<>(); - String exceptionMessage; - try { - if (lock.readLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - keys.forEach(key -> { - V object = dataMap.get(key); - if (object != null) { - resultList.add(object); - } - }); - } finally { - lock.readLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [MapDictionaryCache::getInList] encountered EXCEPTION [%s] for DICT.", - e.getClass().getSimpleName()); - log.warn(exceptionMessage); - throw new MapCacheAccessException(exceptionMessage, e); - } - return resultList; - } - - /** - * 将参数List中的数据保存到缓存中,同时保证getAll返回的数据列表,与参数列表中数据项的顺序保持一致。 - * - * @param dataList 待缓存的数据列表。 - */ - @Override - public void putAll(List dataList) { - if (dataList == null) { - return; - } - String exceptionMessage; - try { - if (lock.readLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - dataList.forEach(dataObj -> { - K id = idGetter.apply(dataObj); - dataMap.put(id, dataObj); - }); - } finally { - lock.readLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [MapDictionaryCache::getInList] encountered EXCEPTION [%s] for DICT.", - e.getClass().getSimpleName()); - log.warn(exceptionMessage); - throw new MapCacheAccessException(exceptionMessage, e); - } - } - - /** - * 重新加载,先清空原有数据,在执行putAll的操作。 - * - * @param dataList 待缓存的数据列表。 - * @param force true则强制刷新,如果false,当缓存中存在数据时不刷新。 - */ - @Override - public void reload(List dataList, boolean force) { - if (!force && this.getCount() > 0) { - return; - } - String exceptionMessage; - try { - if (lock.readLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - dataMap.clear(); - dataList.forEach(dataObj -> { - K id = idGetter.apply(dataObj); - dataMap.put(id, dataObj); - }); - } finally { - lock.readLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [MapDictionaryCache::getInList] encountered EXCEPTION [%s] for DICT.", - e.getClass().getSimpleName()); - log.warn(exceptionMessage); - throw new MapCacheAccessException(exceptionMessage, e); - } - } - - /** - * 从缓存中获取指定的数据。 - * - * @param id 数据的key。 - * @return 获取到的数据,如果没有返回null。 - */ - @Override - public V get(K id) { - if (id == null) { - return null; - } - V data; - String exceptionMessage; - try { - if (lock.readLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - data = dataMap.get(id); - } finally { - lock.readLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [MapDictionaryCache::getInList] encountered EXCEPTION [%s] for DICT.", - e.getClass().getSimpleName()); - log.warn(exceptionMessage); - throw new MapCacheAccessException(exceptionMessage, e); - } - return data; - } - - /** - * 将数据存入缓存。 - * - * @param id 通常为字典数据的主键。 - * @param object 字典数据对象。 - */ - @Override - public void put(K id, V object) { - String exceptionMessage; - try { - if (lock.readLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - dataMap.put(id, object); - } finally { - lock.readLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [MapDictionaryCache::getInList] encountered EXCEPTION [%s] for DICT.", - e.getClass().getSimpleName()); - log.warn(exceptionMessage); - throw new MapCacheAccessException(exceptionMessage, e); - } - } - - /** - * 获取缓存中数据条目的数量。 - * - * @return 返回缓存的数据数量。 - */ - @Override - public int getCount() { - return dataMap.size(); - } - - /** - * 删除缓存中指定的键。 - * - * @param id 待删除数据的主键。 - * @return 返回被删除的对象,如果主键不存在,返回null。 - */ - @Override - public V invalidate(K id) { - if (id == null) { - return null; - } - String exceptionMessage; - V data; - try { - if (lock.readLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - data = dataMap.remove(id); - } finally { - lock.readLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [MapDictionaryCache::getInList] encountered EXCEPTION [%s] for DICT.", - e.getClass().getSimpleName()); - log.warn(exceptionMessage); - throw new MapCacheAccessException(exceptionMessage, e); - } - return data; - } - - /** - * 删除缓存中,参数列表中包含的键。 - * - * @param keys 待删除数据的主键集合。 - */ - @Override - public void invalidateSet(Set keys) { - String exceptionMessage; - try { - if (lock.readLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - keys.forEach(id -> { - if (id != null) { - dataMap.remove(id); - } - }); - } finally { - lock.readLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [MapDictionaryCache::getInList] encountered EXCEPTION [%s] for DICT.", - e.getClass().getSimpleName()); - log.warn(exceptionMessage); - throw new MapCacheAccessException(exceptionMessage, e); - } - } - - /** - * 清空缓存。 - */ - @Override - public void invalidateAll() { - String exceptionMessage; - try { - if (lock.readLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - dataMap.clear(); - } finally { - lock.readLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [MapDictionaryCache::getInList] encountered EXCEPTION [%s] for DICT.", - e.getClass().getSimpleName()); - log.warn(exceptionMessage); - throw new MapCacheAccessException(exceptionMessage, e); - } - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/cache/MapTreeDictionaryCache.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/cache/MapTreeDictionaryCache.java deleted file mode 100644 index af635f3d..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/cache/MapTreeDictionaryCache.java +++ /dev/null @@ -1,292 +0,0 @@ -package com.orangeforms.common.core.cache; - -import com.orangeforms.common.core.exception.MapCacheAccessException; -import com.google.common.collect.LinkedHashMultimap; -import com.google.common.collect.Multimap; -import lombok.extern.slf4j.Slf4j; - -import java.util.*; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.TimeoutException; -import java.util.function.Function; - -/** - * 树形字典数据内存缓存对象。 - * - * @param 字典表主键类型。 - * @param 字典表对象类型。 - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -public class MapTreeDictionaryCache extends MapDictionaryCache { - - /** - * 树形数据存储对象。 - */ - private final Multimap allTreeMap = LinkedHashMultimap.create(); - /** - * 获取字典父主键数据的函数对象。 - */ - protected final Function parentIdGetter; - - /** - * 当前对象的构造器函数。 - * - * @param idGetter 获取当前类主键字段值的函数对象。 - * @param parentIdGetter 获取当前类父主键字段值的函数对象。 - * @param 字典主键类型。 - * @param 字典对象类型 - * @return 实例化后的树形字典内存缓存对象。 - */ - public static MapTreeDictionaryCache create(Function idGetter, Function parentIdGetter) { - if (idGetter == null) { - throw new IllegalArgumentException("IdGetter can't be NULL."); - } - if (parentIdGetter == null) { - throw new IllegalArgumentException("ParentIdGetter can't be NULL."); - } - return new MapTreeDictionaryCache<>(idGetter, parentIdGetter); - } - - /** - * 构造函数。 - * - * @param idGetter 获取当前类主键字段值的函数对象。 - * @param parentIdGetter 获取当前类父主键字段值的函数对象。 - */ - public MapTreeDictionaryCache(Function idGetter, Function parentIdGetter) { - super(idGetter); - this.parentIdGetter = parentIdGetter; - } - - - /** - * 重新加载,先清空原有数据,在执行putAll的操作。 - * - * @param dataList 待缓存的数据列表。 - * @param force true则强制刷新,如果false,当缓存中存在数据时不刷新。 - */ - @Override - public void reload(List dataList, boolean force) { - if (!force && this.getCount() > 0) { - return; - } - String exceptionMessage; - try { - if (lock.readLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - dataMap.clear(); - allTreeMap.clear(); - dataList.forEach(data -> { - K id = idGetter.apply(data); - dataMap.put(id, data); - K parentId = parentIdGetter.apply(data); - allTreeMap.put(parentId, data); - }); - } finally { - lock.readLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [MapDictionaryCache::getInList] encountered EXCEPTION [%s] for DICT.", - e.getClass().getSimpleName()); - log.warn(exceptionMessage); - throw new MapCacheAccessException(exceptionMessage, e); - } - } - - /** - * 获取该父主键的子数据列表。 - * - * @param parentId 父主键Id。 - * @return 子数据列表。 - */ - public List getListByParentId(K parentId) { - List resultList = new LinkedList<>(); - String exceptionMessage; - try { - if (lock.readLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - resultList.addAll(allTreeMap.get(parentId)); - } finally { - lock.readLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [MapDictionaryCache::getInList] encountered EXCEPTION [%s] for DICT.", - e.getClass().getSimpleName()); - log.warn(exceptionMessage); - throw new MapCacheAccessException(exceptionMessage, e); - } - return resultList; - } - - /** - * 将参数List中的数据保存到缓存中,同时保证getAll返回的数据列表,与参数列表中数据项的顺序保持一致。 - * - * @param dataList 待缓存的数据列表。 - */ - @Override - public void putAll(List dataList) { - if (dataList == null) { - return; - } - String exceptionMessage; - try { - if (lock.readLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - dataList.forEach(data -> { - K id = idGetter.apply(data); - dataMap.put(id, data); - K parentId = parentIdGetter.apply(data); - allTreeMap.remove(parentId, data); - allTreeMap.put(parentId, data); - }); - } finally { - lock.readLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [MapDictionaryCache::getInList] encountered EXCEPTION [%s] for DICT.", - e.getClass().getSimpleName()); - log.warn(exceptionMessage); - throw new MapCacheAccessException(exceptionMessage, e); - } - } - - /** - * 将数据存入缓存。 - * - * @param id 通常为字典数据的主键。 - * @param data 字典数据对象。 - */ - @Override - public void put(K id, V data) { - String exceptionMessage; - try { - if (lock.readLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - dataMap.put(id, data); - K parentId = parentIdGetter.apply(data); - allTreeMap.remove(parentId, data); - allTreeMap.put(parentId, data); - } finally { - lock.readLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [MapDictionaryCache::getInList] encountered EXCEPTION [%s] for DICT.", - e.getClass().getSimpleName()); - log.warn(exceptionMessage); - throw new MapCacheAccessException(exceptionMessage, e); - } - } - - /** - * 删除缓存中指定的键。 - * - * @param id 待删除数据的主键。 - * @return 返回被删除的对象,如果主键不存在,返回null。 - */ - @Override - public V invalidate(K id) { - V v; - String exceptionMessage; - try { - if (lock.readLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - v = dataMap.remove(id); - if (v != null) { - K parentId = parentIdGetter.apply(v); - allTreeMap.remove(parentId, v); - } - } finally { - lock.readLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [MapDictionaryCache::getInList] encountered EXCEPTION [%s] for DICT.", - e.getClass().getSimpleName()); - log.warn(exceptionMessage); - throw new MapCacheAccessException(exceptionMessage, e); - } - return v; - } - - /** - * 删除缓存中,参数列表中包含的键。 - * - * @param keys 待删除数据的主键集合。 - */ - @Override - public void invalidateSet(Set keys) { - String exceptionMessage; - try { - if (lock.readLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - keys.forEach(id -> { - if (id != null) { - V data = dataMap.remove(id); - if (data != null) { - K parentId = parentIdGetter.apply(data); - allTreeMap.remove(parentId, data); - } - } - }); - } finally { - lock.readLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [MapDictionaryCache::getInList] encountered EXCEPTION [%s] for DICT.", - e.getClass().getSimpleName()); - log.warn(exceptionMessage); - throw new MapCacheAccessException(exceptionMessage, e); - } - } - - /** - * 清空缓存。 - */ - @Override - public void invalidateAll() { - String exceptionMessage; - try { - if (lock.readLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - dataMap.clear(); - allTreeMap.clear(); - } finally { - lock.readLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [MapDictionaryCache::getInList] encountered EXCEPTION [%s] for DICT.", - e.getClass().getSimpleName()); - log.warn(exceptionMessage); - throw new MapCacheAccessException(exceptionMessage, e); - } - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/config/CommonWebMvcConfig.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/config/CommonWebMvcConfig.java deleted file mode 100644 index ca128ceb..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/config/CommonWebMvcConfig.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.orangeforms.common.core.config; - -import com.alibaba.fastjson.serializer.SerializerFeature; -import com.alibaba.fastjson.support.config.FastJsonConfig; -import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; -import com.orangeforms.common.core.interceptor.MyRequestArgumentResolver; -import com.orangeforms.common.core.util.MyDateUtil; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.http.MediaType; -import org.springframework.http.converter.HttpMessageConverter; -import org.springframework.http.converter.StringHttpMessageConverter; -import org.springframework.validation.beanvalidation.MethodValidationPostProcessor; -import org.springframework.web.method.support.HandlerMethodArgumentResolver; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; - -import java.nio.charset.StandardCharsets; -import java.util.ArrayList; -import java.util.List; - -/** - * 所有的项目拦截器、参数解析器、消息对象转换器都在这里集中配置。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Configuration -public class CommonWebMvcConfig implements WebMvcConfigurer { - - @Bean - public MethodValidationPostProcessor methodValidationPostProcessor() { - return new MethodValidationPostProcessor(); - } - - @Override - public void addArgumentResolvers(List argumentResolvers) { - // 添加MyRequestBody参数解析器 - argumentResolvers.add(new MyRequestArgumentResolver()); - } - - @Bean - public HttpMessageConverter responseBodyConverter() { - return new StringHttpMessageConverter(StandardCharsets.UTF_8); - } - - @Bean - public FastJsonHttpMessageConverter fastJsonHttpMessageConverters() { - FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter(); - List supportedMediaTypes = new ArrayList<>(); - supportedMediaTypes.add(MediaType.APPLICATION_JSON); - supportedMediaTypes.add(MediaType.APPLICATION_FORM_URLENCODED); - fastConverter.setSupportedMediaTypes(supportedMediaTypes); - FastJsonConfig fastJsonConfig = new FastJsonConfig(); - fastJsonConfig.setSerializerFeatures( - SerializerFeature.PrettyFormat, - SerializerFeature.DisableCircularReferenceDetect, - SerializerFeature.IgnoreNonFieldGetter); - fastJsonConfig.setDateFormat(MyDateUtil.COMMON_SHORT_DATETIME_FORMAT); - fastConverter.setFastJsonConfig(fastJsonConfig); - return fastConverter; - } - - @Override - public void configureMessageConverters(List> converters) { - converters.add(responseBodyConverter()); - converters.add(fastJsonHttpMessageConverters()); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/config/CoreProperties.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/config/CoreProperties.java deleted file mode 100644 index 007fae06..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/config/CoreProperties.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.orangeforms.common.core.config; - -import lombok.Data; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.context.annotation.Configuration; - -/** - * common-core的配置属性类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@Configuration -@ConfigurationProperties(prefix = "common-core") -public class CoreProperties { - - public static final String MYSQL_TYPE = "mysql"; - public static final String POSTGRESQL_TYPE = "postgresql"; - - /** - * 数据库类型。 - */ - private String databaseType = MYSQL_TYPE; - - /** - * 是否为MySQL。 - * - * @return 是返回true,否则false。 - */ - public boolean isMySql() { - return this.databaseType.equals(MYSQL_TYPE); - } - - /** - * 是否为PostgreSQl。 - * - * @return 是返回true,否则false。 - */ - public boolean isPostgresql() { - return this.databaseType.equals(POSTGRESQL_TYPE); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/config/DataSourceContextHolder.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/config/DataSourceContextHolder.java deleted file mode 100644 index 00b63ebf..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/config/DataSourceContextHolder.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.orangeforms.common.core.config; - -/** - * 通过线程本地存储的方式,保存当前数据库操作所需的数据源类型,动态数据源会根据该值,进行动态切换。 - * - * @author Jerry - * @date 2020-08-08 - */ -public class DataSourceContextHolder { - - private static final ThreadLocal CONTEXT_HOLDER = new ThreadLocal<>(); - - /** - * 设置数据源类型。 - * - * @param type 数据源类型 - * @return 原有数据源类型,如果第一次设置则返回null。 - */ - public static Integer setDataSourceType(Integer type) { - Integer datasourceType = CONTEXT_HOLDER.get(); - CONTEXT_HOLDER.set(type); - return datasourceType; - } - - /** - * 获取当前数据库操作执行线程的数据源类型,同时由动态数据源的路由函数调用。 - * - * @return 数据源类型。 - */ - public static Integer getDataSourceType() { - return CONTEXT_HOLDER.get(); - } - - /** - * 清除线程本地变量,以免内存泄漏。 - - * @param originalType 原有的数据源类型,如果该值为null,则情况本地化变量。 - */ - public static void unset(Integer originalType) { - if (originalType == null) { - CONTEXT_HOLDER.remove(); - } else { - CONTEXT_HOLDER.set(originalType); - } - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private DataSourceContextHolder() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/config/DynamicDataSource.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/config/DynamicDataSource.java deleted file mode 100644 index 057cbd83..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/config/DynamicDataSource.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.orangeforms.common.core.config; - -import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource; - -/** - * 动态数据源对象。当存在多个数据连接时使用。 - * - * @author Jerry - * @date 2020-08-08 - */ -public class DynamicDataSource extends AbstractRoutingDataSource { - - @Override - protected Object determineCurrentLookupKey() { - return DataSourceContextHolder.getDataSourceType(); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/config/EncryptConfig.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/config/EncryptConfig.java deleted file mode 100644 index d39f3314..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/config/EncryptConfig.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.orangeforms.common.core.config; - -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; - -/** - * 目前用于用户密码加密,UAA接入应用客户端的client_secret加密。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Configuration -public class EncryptConfig { - - @Bean - public BCryptPasswordEncoder passwordEncoder() { - return new BCryptPasswordEncoder(); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/config/FeignConfig.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/config/FeignConfig.java deleted file mode 100644 index 5f04d817..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/config/FeignConfig.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.orangeforms.common.core.config; - -import com.orangeforms.common.core.constant.ApplicationConstant; -import com.orangeforms.common.core.object.TokenData; -import com.orangeforms.common.core.util.ContextUtil; -import feign.RequestInterceptor; -import feign.RequestTemplate; -import lombok.SneakyThrows; -import org.apache.commons.lang3.StringUtils; -import org.springframework.context.annotation.Configuration; - -/** - * FeignClient的配置对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Configuration -public class FeignConfig implements RequestInterceptor { - - @SneakyThrows - @Override - public void apply(RequestTemplate requestTemplate) { - // 对于非servlet请求发起的远程调用,由于无法获取到标识用户身份的TokenData,因此需要略过下面的HEADER注入。 - // 如:由消息队列consumer发起的远程调用请求。 - if (!ContextUtil.hasRequestContext()) { - return; - } - String tokenData = ContextUtil.getHttpRequest().getHeader(TokenData.REQUEST_ATTRIBUTE_NAME); - if (StringUtils.isNotBlank(tokenData)) { - requestTemplate.header(TokenData.REQUEST_ATTRIBUTE_NAME, tokenData); - } - String traceId = ContextUtil.getHttpRequest().getHeader(ApplicationConstant.HTTP_HEADER_TRACE_ID); - if (StringUtils.isBlank(traceId)) { - traceId = (String) ContextUtil.getHttpRequest().getAttribute(ApplicationConstant.HTTP_HEADER_TRACE_ID); - } - if (StringUtils.isNotBlank(traceId)) { - requestTemplate.header(ApplicationConstant.HTTP_HEADER_TRACE_ID, traceId); - } - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/config/RestTemplateConfig.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/config/RestTemplateConfig.java deleted file mode 100644 index 687d3fc4..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/config/RestTemplateConfig.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.orangeforms.common.core.config; - -import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; -import org.apache.http.client.HttpClient; -import org.apache.http.impl.client.HttpClientBuilder; -import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.http.client.ClientHttpRequestFactory; -import org.springframework.http.client.ClientHttpResponse; -import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; -import org.springframework.http.converter.HttpMessageConverter; -import org.springframework.http.converter.StringHttpMessageConverter; -import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; -import org.springframework.web.client.DefaultResponseErrorHandler; -import org.springframework.web.client.RestOperations; -import org.springframework.web.client.RestTemplate; - -import java.io.IOException; -import java.nio.charset.StandardCharsets; -import java.util.List; - -/** - * RestTemplate连接池配置对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Configuration -public class RestTemplateConfig { - private static final int MAX_TOTAL_CONNECTION = 50; - private static final int MAX_CONNECTION_PER_ROUTE = 20; - private static final int CONNECTION_TIMEOUT = 20000; - private static final int READ_TIMEOUT = 30000; - - @Bean - @ConditionalOnMissingBean({RestOperations.class, RestTemplate.class}) - public RestTemplate restTemplate() { - RestTemplate restTemplate = new RestTemplate(createFactory()); - List> messageConverters = restTemplate.getMessageConverters(); - messageConverters.removeIf( - c -> c instanceof StringHttpMessageConverter || c instanceof MappingJackson2HttpMessageConverter); - messageConverters.add(1, new StringHttpMessageConverter(StandardCharsets.UTF_8)); - messageConverters.add(new FastJsonHttpMessageConverter()); - restTemplate.setErrorHandler(new DefaultResponseErrorHandler() { - @Override - public void handleError(ClientHttpResponse response) throws IOException { - // 防止400+和500等错误被直接抛出异常,这里避开了缺省处理方式,所有的错误均交给业务代码处理。 - } - }); - return restTemplate; - } - - private ClientHttpRequestFactory createFactory() { - HttpClient httpClient = HttpClientBuilder.create() - .setMaxConnTotal(MAX_TOTAL_CONNECTION) - .setMaxConnPerRoute(MAX_CONNECTION_PER_ROUTE) - .build(); - HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(httpClient); - factory.setReadTimeout(READ_TIMEOUT); - factory.setConnectTimeout(CONNECTION_TIMEOUT); - return factory; - } -} \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/config/TomcatConfig.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/config/TomcatConfig.java deleted file mode 100644 index 9397752f..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/config/TomcatConfig.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.orangeforms.common.core.config; - -import org.apache.tomcat.util.descriptor.web.SecurityCollection; -import org.apache.tomcat.util.descriptor.web.SecurityConstraint; -import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -/** - * tomcat配置对象。当前配置禁用了PUT和DELETE方法,防止渗透攻击。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Configuration -public class TomcatConfig { - - @Bean - public TomcatServletWebServerFactory servletContainer() { - TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory(); - factory.addContextCustomizers(context -> { - SecurityConstraint securityConstraint = new SecurityConstraint(); - securityConstraint.setUserConstraint("CONFIDENTIAL"); - SecurityCollection collection = new SecurityCollection(); - collection.addPattern("/*"); - collection.addMethod("HEAD"); - collection.addMethod("PUT"); - collection.addMethod("PATCH"); - collection.addMethod("DELETE"); - collection.addMethod("TRACE"); - collection.addMethod("COPY"); - collection.addMethod("SEARCH"); - collection.addMethod("PROPFIND"); - securityConstraint.addCollection(collection); - context.addConstraint(securityConstraint); - }); - return factory; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/constant/AggregationKind.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/constant/AggregationKind.java deleted file mode 100644 index 4048781a..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/constant/AggregationKind.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.orangeforms.common.core.constant; - -/** - * 在跨服务调用时,需要传递的聚合分类常量对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -public final class AggregationKind { - - /** - * 一对多关联中,聚合从表中指定字段,将多条记录汇总到主表的指定字段上。 - */ - public static final int ONE_TO_MANY = 1; - /** - * 多对多关联中,聚合从表中指定字段,将多条记录汇总到主表的指定字段上。 - */ - public static final int MANY_TO_MANY = 2; - - /** - * 判断参数是否为当前常量字典的合法值。 - * - * @param aggregationKind 待验证的参数值。 - * @return 合法返回true,否则false。 - */ - public static boolean isValid(Integer aggregationKind) { - return aggregationKind != null && - (aggregationKind == ONE_TO_MANY || aggregationKind == MANY_TO_MANY); - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private AggregationKind() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/constant/AggregationType.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/constant/AggregationType.java deleted file mode 100644 index f111f381..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/constant/AggregationType.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.orangeforms.common.core.constant; - -import java.util.HashMap; -import java.util.Map; - -/** - * 聚合计算的常量类型对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -public final class AggregationType { - - /** - * sum 计数 - */ - public static final int SUM = 0; - /** - * count 汇总 - */ - public static final int COUNT = 1; - /** - * average 平均值 - */ - public static final int AVG = 2; - /** - * min 最小值 - */ - public static final int MIN = 3; - /** - * max 最大值 - */ - public static final int MAX = 4; - - private static final Map DICT_MAP = new HashMap<>(5); - static { - DICT_MAP.put(SUM, "累计总和"); - DICT_MAP.put(COUNT, "数量总和"); - DICT_MAP.put(AVG, "平均值"); - DICT_MAP.put(MIN, "最小值"); - DICT_MAP.put(MAX, "最大值"); - } - - /** - * 判断参数是否为当前常量字典的合法值。 - * - * @param value 待验证的参数值。 - * @return 合法返回true,否则false。 - */ - public static boolean isValid(Integer value) { - return value != null && DICT_MAP.containsKey(value); - } - - /** - * 获取与SQL对应的聚合函数字符串名称。 - * - * @return 聚合函数名称。 - */ - public static String getAggregationFunction(Integer aggregationType) { - switch (aggregationType) { - case COUNT: - return "COUNT"; - case AVG: - return "AVG"; - case SUM: - return "SUM"; - case MAX: - return "MAX"; - case MIN: - return "MIN"; - default: - throw new IllegalArgumentException("无效的聚合类型!"); - } - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private AggregationType() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/constant/AppDeviceType.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/constant/AppDeviceType.java deleted file mode 100644 index 108b8d8f..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/constant/AppDeviceType.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.orangeforms.common.core.constant; - -import java.util.HashMap; -import java.util.Map; - -/** - * App 登录的设备类型。 - * - * @author Jerry - * @date 2020-08-08 - */ -public final class AppDeviceType { - - /** - * 移动端 (如果不考虑区分android或ios的,可以使用该值) - */ - public static final int MOBILE = 0; - /** - * android - */ - public static final int ANDROID = 1; - /** - * iOS - */ - public static final int IOS = 2; - /** - * 微信公众号和小程序 - */ - public static final int WEIXIN = 3; - /** - * PC WEB - */ - public static final int WEB = 4; - - private static final Map DICT_MAP = new HashMap<>(5); - static { - DICT_MAP.put(MOBILE, "移动端"); - DICT_MAP.put(ANDROID, "Android"); - DICT_MAP.put(IOS, "iOS"); - DICT_MAP.put(WEIXIN, "微信"); - DICT_MAP.put(WEB, "PC WEB"); - } - - /** - * 判断参数是否为当前常量字典的合法值。 - * - * @param value 待验证的参数值。 - * @return 合法返回true,否则false。 - */ - public static boolean isValid(Integer value) { - return value != null && DICT_MAP.containsKey(value); - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private AppDeviceType() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/constant/ApplicationConstant.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/constant/ApplicationConstant.java deleted file mode 100644 index 30ec5927..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/constant/ApplicationConstant.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.orangeforms.common.core.constant; - -/** - * 应用程序的常量声明对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -public final class ApplicationConstant { - - /** - * 数据同步使用的缺省消息队列主题名称。 - */ - public static final String DEFAULT_DATA_SYNC_TOPIC = "OrangeMultiDemo"; - /** - * 全量数据同步中,新增数据对象的键名称。 - */ - public static final String DEFAULT_FULL_SYNC_DATA_KEY = "data"; - /** - * 全量数据同步中,原有数据对象的键名称。 - */ - public static final String DEFAULT_FULL_SYNC_OLD_DATA_KEY = "oldData"; - /** - * 全量数据同步中,数据对象主键的键名称。 - */ - public static final String DEFAULT_FULL_SYNC_ID_KEY = "id"; - /** - * 为字典表数据缓存时,缓存名称的固定后缀。 - */ - public static final String DICT_CACHE_NAME_SUFFIX = "-DICT"; - /** - * 为树形字典表数据缓存时,缓存名称的固定后缀。 - */ - public static final String TREE_DICT_CACHE_NAME_SUFFIX = "-TREE-DICT"; - /** - * 图片文件上传的父目录。 - */ - public static final String UPLOAD_IMAGE_PARENT_PATH = "image"; - /** - * 附件文件上传的父目录。 - */ - public static final String UPLOAD_ATTACHMENT_PARENT_PATH = "attachment"; - /** - * CSV文件扩展名。 - */ - public static final String CSV_EXT = "csv"; - /** - * XLSX文件扩展名。 - */ - public static final String XLSX_EXT = "xlsx"; - /** - * 统计分类计算时,按天聚合计算的常量值。(前端在MyOrderParam和MyGroupParam中传给后台) - */ - public static final String DAY_AGGREGATION = "day"; - /** - * 统计分类计算时,按月聚合计算的常量值。(前端在MyOrderParam和MyGroupParam中传给后台) - */ - public static final String MONTH_AGGREGATION = "month"; - /** - * 统计分类计算时,按年聚合计算的常量值。(前端在MyOrderParam和MyGroupParam中传给后台) - */ - public static final String YEAR_AGGREGATION = "year"; - /** - * 请求头跟踪id名。 - */ - public static final String HTTP_HEADER_TRACE_ID = "traceId"; - /** - * 操作日志的数据源类型。仅当前服务为多数据源时使用。 - * 在common-log模块中,SysOperationLogServiceImpl的MyDataSource注解一定要使用该参数。 - * 在多数据源的业务服务中,DataSourceType的常量一定要包含该值,多数据源的配置中,也一定要有与该值匹配的数据源Bean。 - */ - public static final int OPERATION_LOG_DATASOURCE_TYPE = 1000; - /** - * 重要说明:该值为项目生成后的缺省密钥,仅为使用户可以快速上手并跑通流程。 - * 在实际的应用中,一定要为不同的项目或服务,自行生成公钥和私钥,并将 PRIVATE_KEY 的引用改为服务的配置项。 - * 密钥的生成方式,可通过执行common.core.util.RsaUtil类的main函数动态生成。 - */ - public static final String PRIVATE_KEY = - "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAKkLhAydtOtA4WuIkkIIUVaGWu4ElOEAQF9GTulHHWOwCHI1UvcKolvS1G+mdsKcmGtEAQ92AUde/kDRGu8Wn7kLDtCgUfo72soHz7Qfv5pVB4ohMxQd/9cxeKjKbDoirhB9Z3xGF20zUozp4ZPLxpTtI7azr0xzUtd5+D/HfLDrAgMBAAECgYEApESZhDz4YyeAJiPnpJ06lS8oS2VOWzsIUs0av5uoloeoHXtt7Lx7u2kroHeNrl3Hy2yg7ypH4dgQkGHin3VHrVAgjG3TxhgBXIqqntzzk2AGJKBeIIkRX86uTvtKZyp3flUgcwcGmpepAHS1V1DPY3aVYvbcqAmoL6DX6VYN0NECQQDQUitMdC76lEtAr5/ywS0nrZJDo6U7eQ7ywx/eiJ+YmrSye8oorlAj1VBWG+Cl6jdHOHtTQyYv/tu71fjzQiJTAkEAz7wb47/vcSUpNWQxItFpXz0o6rbJh71xmShn1AKP7XptOVZGlW9QRYEzHabV9m/DHqI00cMGhHrWZAhCiTkUCQJAFsJjaJ7o4weAkTieyO7B+CvGZw1h5/V55Jvcx3s1tH5yb22G0Jr6tm9/r2isSnQkReutzZLwgR3e886UvD7lcQJAAUcD2OOuQkDbPwPNtYwaHMbQgJj9JkOI9kskUE5vuiMdltOr/XFAyhygRtdmy2wmhAK1VnDfkmL6/IR8fEGImQJABOB0KCalb0M8CPnqqHzozrD8gPObnIIr4aVvLIPATN2g7MM2N6F7JbI4RZFiKa92LV6bhQCY8OvHi5K2cgFpbw=="; - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private ApplicationConstant() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/constant/ErrorCodeEnum.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/constant/ErrorCodeEnum.java deleted file mode 100644 index bcd5d46f..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/constant/ErrorCodeEnum.java +++ /dev/null @@ -1,88 +0,0 @@ -package com.orangeforms.common.core.constant; - -/** - * 返回应答中的错误代码和错误信息。 - * - * @author Jerry - * @date 2020-08-08 - */ -public enum ErrorCodeEnum { - - /** - * 没有错误 - */ - NO_ERROR("没有错误"), - /** - * 未处理的异常! - */ - UNHANDLED_EXCEPTION("未处理的异常!"), - - ARGUMENT_NULL_EXIST("数据验证失败,接口调用参数存在空值,请核对!"), - ARGUMENT_PK_ID_NULL("数据验证失败,接口调用主键Id参数为空,请核对!"), - INVALID_ARGUMENT_FORMAT("数据验证失败,不合法的参数格式,请核对!"), - INVALID_STATUS_ARGUMENT("数据验证失败,无效的状态参数值,请核对!"), - UPLOAD_FAILED("数据验证失败,数据上传失败!"), - INVALID_UPLOAD_FIELD("数据验证失败,该字段不支持数据上传!"), - INVALID_UPLOAD_STORE_TYPE("数据验证失败,并不支持上传存储类型!"), - INVALID_UPLOAD_FILE_ARGUMENT("数据验证失败,上传文件参数错误,请核对!"), - INVALID_UPLOAD_FILE_IOERROR("上传文件写入失败,请联系管理员!"), - UNAUTHORIZED_LOGIN("当前用户尚未登录或登录已超时,请重新登录!"), - UNAUTHORIZED_USER_PERMISSION("权限验证失败,当前用户不能访问该接口,请核对!"), - NO_ACCESS_PERMISSION("当前用户没有访问权限,请核对!"), - NO_OPERATION_PERMISSION("当前用户没有操作权限,请核对!"), - - PASSWORD_ERR("密码错误,请重试!"), - INVALID_USERNAME_PASSWORD("用户名或密码错误,请重试!"), - INVALID_ACCESS_TOKEN("无效的用户访问令牌!"), - INVALID_USER_STATUS("用户状态错误,请刷新后重试!"), - INVALID_TENANT_CODE("指定的租户编码并不存在,请刷新后重试!"), - INVALID_TENANT_STATUS("当前租户为不可用状态,请刷新后重试!"), - INVALID_USER_TENANT("当前用户并不属于当前租户,请刷新后重试!"), - - HAS_CHILDREN_DATA("数据验证失败,子数据存在,请刷新后重试!"), - DATA_VALIDATED_FAILED("数据验证失败,请核对!"), - UPLOAD_FILE_FAILED("文件上传失败,请联系管理员!"), - DATA_SAVE_FAILED("数据保存失败,请联系管理员!"), - DATA_ACCESS_FAILED("数据访问失败,请联系管理员!"), - DATA_PERM_ACCESS_FAILED("数据访问失败,您没有该页面的数据访问权限!"), - DUPLICATED_UNIQUE_KEY("数据保存失败,存在重复数据,请核对!"), - DATA_NOT_EXIST("数据不存在,请刷新后重试!"), - DATA_PARENT_LEVEL_ID_NOT_EXIST("数据验证失败,父级别关联Id不存在,请刷新后重试!"), - DATA_PARENT_ID_NOT_EXIST("数据验证失败,ParentId不存在,请核对!"), - RPC_DATA_ACCESS_FAILED("远程调用数据访问失败,请联系管理员!"), - INVALID_RELATED_RECORD_ID("数据验证失败,关联数据并不存在,请刷新后重试!"), - INVALID_DATA_MODEL("数据验证失败,无效的数据实体对象!"), - INVALID_DATA_FIELD("数据验证失败,无效的数据实体对象字段!"), - INVALID_CLASS_FIELD("数据验证失败,无效的类对象字段!"), - SERVER_INTERNAL_ERROR("服务器内部错误,请联系管理员!"), - REDIS_CACHE_ACCESS_TIMEOUT("Redis缓存数据访问超时,请刷新后重试!"), - REDIS_CACHE_ACCESS_STATE_ERROR("Redis缓存数据访问状态错误,请刷新后重试!"), - MESSAGE_SEND_FAIL("消息发送失败!"), - TRANSACTION_MESSAGE_LOCAL_STATUS_ROLLBACK("本地数据操作失败,请联系管理员!"), - TRANSACTION_MESSAGE_LOCAL_STATUS_UNKNOW("本地数据操作结果未知,请刷新后重试!"); - - // 下面的枚举值为特定枚举值,即开发者可以根据自己的项目需求定义更多的非通用枚举值 - - /** - * 构造函数。 - * - * @param errorMessage 错误消息。 - */ - ErrorCodeEnum(String errorMessage) { - this.errorMessage = errorMessage; - } - - /** - * 错误信息。 - */ - private final String errorMessage; - - /** - * 获取错误信息。 - * - * @return 错误信息。 - */ - public String getErrorMessage() { - return errorMessage; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/constant/GlobalDeletedFlag.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/constant/GlobalDeletedFlag.java deleted file mode 100644 index 0317b222..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/constant/GlobalDeletedFlag.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.orangeforms.common.core.constant; - -/** - * 数据记录逻辑删除标记常量。 - * - * @author Jerry - * @date 2020-08-08 - */ -public final class GlobalDeletedFlag { - - /** - * 表示数据表记录已经删除 - */ - public static final int DELETED = -1; - /** - * 数据记录正常 - */ - public static final int NORMAL = 1; - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private GlobalDeletedFlag() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/DataValidationException.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/DataValidationException.java deleted file mode 100644 index c1c22bfa..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/DataValidationException.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.orangeforms.common.core.exception; - -/** - * 数据验证失败的自定义异常。 - * - * @author Jerry - * @date 2020-08-08 - */ -public class DataValidationException extends RuntimeException { - - /** - * 构造函数。 - */ - public DataValidationException() { - - } - - /** - * 构造函数。 - * - * @param msg 错误信息。 - */ - public DataValidationException(String msg) { - super(msg); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/InvalidClassFieldException.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/InvalidClassFieldException.java deleted file mode 100644 index 355b2856..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/InvalidClassFieldException.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.orangeforms.common.core.exception; - -import lombok.Data; -import lombok.EqualsAndHashCode; - -/** - * 无效的类对象字段的自定义异常。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@EqualsAndHashCode(callSuper = true) -public class InvalidClassFieldException extends RuntimeException { - - private final String className; - private final String fieldName; - - /** - * 构造函数。 - * - * @param className 对象名。 - * @param fieldName 字段名。 - */ - public InvalidClassFieldException(String className, String fieldName) { - super("Invalid FieldName [" + fieldName + "] in Class [" + className + "]."); - this.className = className; - this.fieldName = fieldName; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/InvalidDataFieldException.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/InvalidDataFieldException.java deleted file mode 100644 index 89ae71b2..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/InvalidDataFieldException.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.orangeforms.common.core.exception; - -import lombok.Data; -import lombok.EqualsAndHashCode; - -/** - * 无效的实体对象字段的自定义异常。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@EqualsAndHashCode(callSuper = true) -public class InvalidDataFieldException extends RuntimeException { - - private final String modelName; - private final String fieldName; - - /** - * 构造函数。 - * - * @param modelName 实体对象名。 - * @param fieldName 字段名。 - */ - public InvalidDataFieldException(String modelName, String fieldName) { - super("Invalid FieldName [" + fieldName + "] in Model Class [" + modelName + "]."); - this.modelName = modelName; - this.fieldName = fieldName; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/InvalidDataModelException.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/InvalidDataModelException.java deleted file mode 100644 index 1950940f..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/InvalidDataModelException.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.orangeforms.common.core.exception; - -import lombok.Data; -import lombok.EqualsAndHashCode; - -/** - * 无效的实体对象的自定义异常。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@EqualsAndHashCode(callSuper = true) -public class InvalidDataModelException extends RuntimeException { - - private final String modelName; - - /** - * 构造函数。 - * - * @param modelName 实体对象名。 - */ - public InvalidDataModelException(String modelName) { - super("Invalid Model Class [" + modelName + "]."); - this.modelName = modelName; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/InvalidRedisModeException.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/InvalidRedisModeException.java deleted file mode 100644 index 492a7262..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/InvalidRedisModeException.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.orangeforms.common.core.exception; - -import lombok.Data; -import lombok.EqualsAndHashCode; - -/** - * 无效的Redis模式的自定义异常。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@EqualsAndHashCode(callSuper = true) -public class InvalidRedisModeException extends RuntimeException { - - private final String mode; - - /** - * 构造函数。 - * - * @param mode 错误的模式。 - */ - public InvalidRedisModeException(String mode) { - super("Invalid Redis Mode [" + mode + "], only supports [single/cluster/sentinel/master_slave]"); - this.mode = mode; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/MapCacheAccessException.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/MapCacheAccessException.java deleted file mode 100644 index f172ff6b..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/MapCacheAccessException.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.orangeforms.common.core.exception; - -/** - * 内存缓存访问失败。比如:获取分布式数据锁超时、等待线程中断等。 - * - * @author Jerry - * @date 2020-08-08 - */ -public class MapCacheAccessException extends RuntimeException { - - /** - * 构造函数。 - * - * @param msg 错误信息。 - * @param cause 原始异常。 - */ - public MapCacheAccessException(String msg, Throwable cause) { - super(msg, cause); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/MyRuntimeException.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/MyRuntimeException.java deleted file mode 100644 index e6f49a4d..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/MyRuntimeException.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.orangeforms.common.core.exception; - -/** - * 自定义的运行时异常,在需要抛出运行时异常时,可使用该异常。 - * NOTE:主要是为了避免SonarQube进行代码质量扫描时,给出警告。 - * - * @author Jerry - * @date 2020-08-08 - */ -public class MyRuntimeException extends RuntimeException { - - /** - * 构造函数。 - */ - public MyRuntimeException() { - - } - - /** - * 构造函数。 - * - * @param throwable 引发异常对象。 - */ - public MyRuntimeException(Throwable throwable) { - super(throwable); - } - - /** - * 构造函数。 - * - * @param msg 错误信息。 - */ - public MyRuntimeException(String msg) { - super(msg); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/NoDataAffectException.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/NoDataAffectException.java deleted file mode 100644 index 4848952c..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/NoDataAffectException.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.orangeforms.common.core.exception; - -/** - * 没有数据被修改的自定义异常。 - * - * @author Jerry - * @date 2020-08-08 - */ -public class NoDataAffectException extends RuntimeException { - - /** - * 构造函数。 - */ - public NoDataAffectException() { - - } - - /** - * 构造函数。 - * - * @param msg 错误信息。 - */ - public NoDataAffectException(String msg) { - super(msg); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/NoDataPermException.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/NoDataPermException.java deleted file mode 100644 index 0e45f6f6..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/NoDataPermException.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.orangeforms.common.core.exception; - -/** - * 没有数据访问权限的自定义异常。 - * - * @author Jerry - * @date 2020-08-08 - */ -public class NoDataPermException extends RuntimeException { - - /** - * 构造函数。 - */ - public NoDataPermException() { - - } - - /** - * 构造函数。 - * - * @param msg 错误信息。 - */ - public NoDataPermException(String msg) { - super(msg); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/RedisCacheAccessException.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/RedisCacheAccessException.java deleted file mode 100644 index 7d7e9c1d..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/RedisCacheAccessException.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.orangeforms.common.core.exception; - -/** - * Redis缓存访问失败。比如:获取分布式数据锁超时、等待线程中断等。 - * - * @author Jerry - * @date 2020-08-08 - */ -public class RedisCacheAccessException extends RuntimeException { - - /** - * 构造函数。 - * - * @param msg 错误信息。 - * @param cause 原始异常。 - */ - public RedisCacheAccessException(String msg, Throwable cause) { - super(msg, cause); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/RemoteDataBuildException.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/RemoteDataBuildException.java deleted file mode 100644 index 8cc59a46..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/exception/RemoteDataBuildException.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.orangeforms.common.core.exception; - -/** - * 关联远程服务数据失败的自定义异常。 - * - * @author Jerry - * @date 2020-08-08 - */ -public class RemoteDataBuildException extends RuntimeException { - - /** - * 构造函数。 - */ - public RemoteDataBuildException() { - - } - - /** - * 构造函数。 - * - * @param msg 错误信息。 - */ - public RemoteDataBuildException(String msg) { - super(msg); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/interceptor/MyRequestArgumentResolver.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/interceptor/MyRequestArgumentResolver.java deleted file mode 100644 index 7ea34443..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/interceptor/MyRequestArgumentResolver.java +++ /dev/null @@ -1,234 +0,0 @@ -package com.orangeforms.common.core.interceptor; - -import cn.hutool.core.convert.Convert; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import com.orangeforms.common.core.annotation.MyRequestBody; -import org.apache.commons.io.IOUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.core.MethodParameter; -import org.springframework.http.HttpMethod; -import org.springframework.http.MediaType; -import org.springframework.lang.NonNull; -import org.springframework.web.bind.support.WebDataBinderFactory; -import org.springframework.web.context.request.NativeWebRequest; -import org.springframework.web.context.request.RequestAttributes; -import org.springframework.web.method.support.HandlerMethodArgumentResolver; -import org.springframework.web.method.support.ModelAndViewContainer; - -import javax.servlet.http.HttpServletRequest; -import java.io.IOException; -import java.lang.reflect.ParameterizedType; -import java.math.BigDecimal; -import java.util.*; - -/** - * MyRequestBody解析器 - * 解决的问题: - * 1、单个字符串等包装类型都要写一个对象才可以用@RequestBody接收; - * 2、多个对象需要封装到一个对象里才可以用@RequestBody接收。 - * - * @author Jerry - * @date 2020-08-08 - */ -public class MyRequestArgumentResolver implements HandlerMethodArgumentResolver { - - private static final String JSONBODY_ATTRIBUTE = "MY_REQUEST_BODY_ATTRIBUTE_XX"; - - private static final Set> CLASS_SET = new HashSet<>(); - - static { - CLASS_SET.add(Integer.class); - CLASS_SET.add(Long.class); - CLASS_SET.add(Short.class); - CLASS_SET.add(Float.class); - CLASS_SET.add(Double.class); - CLASS_SET.add(Boolean.class); - CLASS_SET.add(Byte.class); - CLASS_SET.add(BigDecimal.class); - CLASS_SET.add(Character.class); - } - - /** - * 设置支持的方法参数类型。 - * - * @param parameter 方法参数。 - * @return 支持的类型。 - */ - @Override - public boolean supportsParameter(@NonNull MethodParameter parameter) { - return parameter.hasParameterAnnotation(MyRequestBody.class); - } - - /** - * 参数解析,利用fastjson。 - * 注意:非基本类型返回null会报空指针异常,要通过反射或者JSON工具类创建一个空对象。 - */ - @Override - public Object resolveArgument( - @NonNull MethodParameter parameter, - ModelAndViewContainer mavContainer, - @NonNull NativeWebRequest webRequest, - WebDataBinderFactory binderFactory) throws Exception { - HttpServletRequest servletRequest = webRequest.getNativeRequest(HttpServletRequest.class); - String contentType = servletRequest.getContentType(); - if (!HttpMethod.POST.name().equals(servletRequest.getMethod())) { - throw new IllegalArgumentException("Only POST method can be applied @MyRequestBody annotation!"); - } - if (!StringUtils.containsIgnoreCase(contentType, MediaType.APPLICATION_JSON_VALUE)) { - throw new IllegalArgumentException( - "Only application/json Content-Type can be applied @MyRequestBody annotation!"); - } - // 根据@MyRequestBody注解value作为json解析的key - MyRequestBody parameterAnnotation = parameter.getParameterAnnotation(MyRequestBody.class); - JSONObject jsonObject = getRequestBody(webRequest); - if (jsonObject == null) { - if (parameterAnnotation.required()) { - throw new IllegalArgumentException("Request Body is EMPTY!"); - } - return null; - } - String key = parameterAnnotation.value(); - if (StringUtils.isBlank(key)) { - key = parameter.getParameterName(); - } - Object value = jsonObject.get(key); - if (value == null) { - if (parameterAnnotation.required()) { - throw new IllegalArgumentException(String.format("Required parameter %s is not present!", key)); - } - return null; - } - // 获取参数类型。 - Class parameterType = parameter.getParameterType(); - // 基本类型 - if (parameterType.isPrimitive()) { - return parsePrimitive(parameterType.getName(), value); - } - // 基本类型包装类 - if (isBasicDataTypes(parameterType)) { - return parseBasicTypeWrapper(parameterType, value); - } else if (parameterType == String.class) { - // 字符串类型 - return value.toString(); - } - // 数组类型 - if (value instanceof JSONArray) { - return parseArray(parameterType, parameterAnnotation.elementType(), key, value); - } - // 其他复杂对象 - return JSON.toJavaObject((JSONObject) value, parameterType); - } - - @SuppressWarnings("unchecked") - private Object parseArray(Class parameterType, Class elementType, String key, Object value) - throws IllegalAccessException, InstantiationException { - Object o; - if (!parameterType.equals(List.class)) { - o = parameterType.newInstance(); - parameterType = (Class) ((ParameterizedType) - parameterType.getGenericSuperclass()).getActualTypeArguments()[0]; - } else { - parameterType = elementType; - if (parameterType.equals(Class.class)) { - throw new IllegalArgumentException( - String.format("List Type parameter %s MUST have elementType!", key)); - } - o = new LinkedList<>(); - } - if (!(o instanceof List)) { - throw new IllegalArgumentException(String.format("Required parameter %s is List!", key)); - } - ((List) o).addAll(((JSONArray) value).toJavaList(parameterType)); - return o; - } - - private Object parsePrimitive(String parameterTypeName, Object value) { - final String booleanTypeName = "boolean"; - if (booleanTypeName.equals(parameterTypeName)) { - return Boolean.valueOf(value.toString()); - } - final String intTypeName = "int"; - if (intTypeName.equals(parameterTypeName)) { - return Integer.valueOf(value.toString()); - } - final String charTypeName = "char"; - if (charTypeName.equals(parameterTypeName)) { - return value.toString().charAt(0); - } - final String shortTypeName = "short"; - if (shortTypeName.equals(parameterTypeName)) { - return Short.valueOf(value.toString()); - } - final String longTypeName = "long"; - if (longTypeName.equals(parameterTypeName)) { - return Long.valueOf(value.toString()); - } - final String floatTypeName = "float"; - if (floatTypeName.equals(parameterTypeName)) { - return Float.valueOf(value.toString()); - } - final String doubleTypeName = "double"; - if (doubleTypeName.equals(parameterTypeName)) { - return Double.valueOf(value.toString()); - } - final String byteTypeName = "byte"; - if (byteTypeName.equals(parameterTypeName)) { - return Byte.valueOf(value.toString()); - } - return null; - } - - private Object parseBasicTypeWrapper(Class parameterType, Object value) { - if (Number.class.isAssignableFrom(parameterType)) { - if (value instanceof String) { - return Convert.convert(parameterType, value); - } - Number number = (Number) value; - if (parameterType == Integer.class) { - return number.intValue(); - } else if (parameterType == Short.class) { - return number.shortValue(); - } else if (parameterType == Long.class) { - return number.longValue(); - } else if (parameterType == Float.class) { - return number.floatValue(); - } else if (parameterType == Double.class) { - return number.doubleValue(); - } else if (parameterType == Byte.class) { - return number.byteValue(); - } else if (parameterType == BigDecimal.class) { - if (value instanceof Double || value instanceof Float) { - return BigDecimal.valueOf(number.doubleValue()); - } else { - return BigDecimal.valueOf(number.longValue()); - } - } - } else if (parameterType == Boolean.class) { - return value; - } else if (parameterType == Character.class) { - return value.toString().charAt(0); - } - return null; - } - - private boolean isBasicDataTypes(Class clazz) { - return CLASS_SET.contains(clazz); - } - - private JSONObject getRequestBody(NativeWebRequest webRequest) throws IOException { - HttpServletRequest servletRequest = webRequest.getNativeRequest(HttpServletRequest.class); - // 有就直接获取 - JSONObject jsonObject = (JSONObject) webRequest.getAttribute(JSONBODY_ATTRIBUTE, RequestAttributes.SCOPE_REQUEST); - // 没有就从请求中读取 - if (jsonObject == null) { - String jsonBody = IOUtils.toString(servletRequest.getReader()); - jsonObject = JSON.parseObject(jsonBody); - if (jsonObject != null) { - webRequest.setAttribute(JSONBODY_ATTRIBUTE, jsonObject, RequestAttributes.SCOPE_REQUEST); - } - } - return jsonObject; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/listener/LoadServiceRelationListener.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/listener/LoadServiceRelationListener.java deleted file mode 100644 index 043abf15..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/listener/LoadServiceRelationListener.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.orangeforms.common.core.listener; - -import com.orangeforms.common.core.base.service.BaseService; -import org.springframework.boot.context.event.ApplicationReadyEvent; -import org.springframework.context.ApplicationListener; -import org.springframework.stereotype.Component; - -import java.util.Map; - -/** - * 应用程序启动后的事件监听对象。主要负责加载Model之间的字典关联和一对一关联所对应的Service结构关系。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Component -public class LoadServiceRelationListener implements ApplicationListener { - - @SuppressWarnings("all") - @Override - public void onApplicationEvent(ApplicationReadyEvent applicationReadyEvent) { - Map serviceMap = - applicationReadyEvent.getApplicationContext().getBeansOfType(BaseService.class); - for (Map.Entry e : serviceMap.entrySet()) { - e.getValue().loadLocalRelationStruct(); - e.getValue().loadRemoteRelationStruct(); - } - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/CallResult.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/CallResult.java deleted file mode 100644 index f95f2835..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/CallResult.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.orangeforms.common.core.object; - -import com.alibaba.fastjson.JSONObject; -import lombok.Data; - -/** - * 接口数据验证结果对象。主要是Service类使用。 - * 同时为了提升效率,减少查询次数,可以根据具体的需求,将部分验证关联对象存入data字段,以供Controller使用。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -public class CallResult { - - /** - * 为了优化性能,所有没有携带数据的正确结果,均可用该对象表示。 - */ - private static final CallResult OK = new CallResult(); - /** - * 是否成功标记。 - */ - private boolean success = true; - /** - * 错误信息描述。 - */ - private String errorMessage = null; - /** - * 在验证同时,仍然需要附加的关联数据对象。 - */ - private JSONObject data; - - /** - * 创建验证结果对象。 - * - * @param errorMessage 错误描述信息。 - * @return 如果参数为空,表示成功,否则返回代码错误信息的错误对象实例。 - */ - public static CallResult create(String errorMessage) { - return errorMessage == null ? ok() : error(errorMessage); - } - - /** - * 创建验证结果对象。 - * - * @param errorMessage 错误描述信息。 - * @param data 附带的数据对象。 - * @return 如果参数为空,表示成功,否则返回代码错误信息的错误对象实例。 - */ - public static CallResult create(String errorMessage, JSONObject data) { - return errorMessage == null ? ok(data) : error(errorMessage); - } - - /** - * 创建表示验证成功的对象实例。 - * - * @return 验证成功对象实例。 - */ - public static CallResult ok() { - return OK; - } - - /** - * 创建表示验证成功的对象实例。 - * - * @param data 附带的数据对象。 - * @return 验证成功对象实例。 - */ - public static CallResult ok(JSONObject data) { - CallResult result = new CallResult(); - result.data = data; - return result; - } - - /** - * 创建表示验证失败的对象实例。 - * - * @param errorMessage 错误描述。 - * @return 验证失败对象实例。 - */ - public static CallResult error(String errorMessage) { - CallResult result = new CallResult(); - result.success = false; - result.errorMessage = errorMessage; - return result; - } - - /** - * 创建表示验证失败的对象实例。 - * - * @param errorMessage 错误描述。 - * @param data 附带的数据对象。 - * @return 验证失败对象实例。 - */ - public static CallResult error(String errorMessage, T data) { - CallResult result = new CallResult(); - result.success = false; - result.errorMessage = errorMessage; - JSONObject jsonObject = new JSONObject(); - jsonObject.put("errorData", data); - result.data = jsonObject; - return result; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/DummyClass.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/DummyClass.java deleted file mode 100644 index 8f6ba6ca..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/DummyClass.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.orangeforms.common.core.object; - -/** - * 哑元对象,主要用于注解中的缺省对象占位符。 - * - * @author Jerry - * @date 2020-08-08 - */ -public final class DummyClass { - - private static final Object EMPTY_OBJECT = new Object(); - - /** - * 可以忽略的空对象。避免sonarqube的各种警告。 - * - * @return 空对象。 - */ - public static Object emptyObject() { - return EMPTY_OBJECT; - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private DummyClass() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/GlobalThreadLocal.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/GlobalThreadLocal.java deleted file mode 100644 index 1c6d9b75..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/GlobalThreadLocal.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.orangeforms.common.core.object; - -import cn.hutool.core.util.BooleanUtil; - -/** - * 线程本地化数据管理的工具类。可根据需求自行添加更多的线程本地化变量及其操作方法。 - * - * @author Jerry - * @date 2020-08-08 - */ -public class GlobalThreadLocal { - - /** - * 存储数据权限过滤是否启用的线程本地化对象。 - * 目前的过滤条件,包括数据权限和租户过滤。 - */ - private static final ThreadLocal DATA_FILTER_ENABLE = ThreadLocal.withInitial(() -> Boolean.TRUE); - - /** - * 设置数据过滤是否打开。如果打开,当前Servlet线程所执行的SQL操作,均会进行数据过滤。 - * - * @param enable 打开为true,否则false。 - * @return 返回之前的状态,便于恢复。 - */ - public static boolean setDataFilter(boolean enable) { - boolean oldValue = DATA_FILTER_ENABLE.get(); - DATA_FILTER_ENABLE.set(enable); - return oldValue; - } - - /** - * 判断当前Servlet线程所执行的SQL操作,是否进行数据过滤。 - * - * @return true 进行数据权限过滤,否则false。 - */ - public static boolean enabledDataFilter() { - return BooleanUtil.isTrue(DATA_FILTER_ENABLE.get()); - } - - /** - * 清空该存储数据,主动释放线程本地化存储资源。 - */ - public static void clearDataFilter() { - DATA_FILTER_ENABLE.remove(); - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private GlobalThreadLocal() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/LoginUserInfo.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/LoginUserInfo.java deleted file mode 100644 index be937103..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/LoginUserInfo.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.orangeforms.common.core.object; - -import lombok.Data; -import lombok.ToString; -import lombok.extern.slf4j.Slf4j; - -import java.util.Date; - -/** - * 在线登录用户信息。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@ToString -@Slf4j -public class LoginUserInfo { - - /** - * 用户Id。 - */ - private Long userId; - /** - * 用户所在部门Id。 - * 仅当系统支持uaa时可用,否则可以直接忽略该字段。保留该字段是为了保持单体和微服务通用代码部分的兼容性。 - */ - private Long deptId; - /** - * 租户Id。 - * 仅当系统支持uaa时可用,否则可以直接忽略该字段。保留该字段是为了保持单体和微服务通用代码部分的兼容性。 - */ - private Long tenantId; - /** - * 是否为超级管理员。 - */ - private Boolean isAdmin; - /** - * 用户登录名。 - */ - private String loginName; - /** - * 用户显示名称。 - */ - private String showName; - /** - * 标识不同登录的会话Id。 - */ - private String sessionId; - /** - * 登录IP。 - */ - private String loginIp; - /** - * 登录时间。 - */ - private Date loginTime; - /** - * 登录设备类型。 - */ - private Integer deviceType; -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/MyAggregationParam.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/MyAggregationParam.java deleted file mode 100644 index 0415fa69..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/MyAggregationParam.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.orangeforms.common.core.object; - -import lombok.Data; - -import java.util.List; -import java.util.Map; -import java.util.Set; - -/** - * 分组聚合查询参数。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -public class MyAggregationParam { - - /** - * 聚合返回数据中,聚合键的常量字段名。 - * 如select groupColumn groupedKey, max(aggregationColumn) aggregatedValue。 - */ - public static final String KEY_NAME = "grouped_key"; - - /** - * 聚合返回数据中,聚合值的常量字段名。 - * 如select groupColumn groupedKey, max(aggregationColumn) aggregatedValue。 - */ - public static final String VALUE_NAME = "aggregated_value"; - - /** - * 聚合计算是否使用数据权限进行过滤。true表示数据过滤将产生作用,否则SQL中不会包含数据过滤。 - * 目前数据过滤包括数据权限过滤和租户数据过滤。 - */ - private Boolean useDataFilter = true; - - /** - * 聚合分类,具体数值见AggregationKind。 - */ - private Integer aggregationKind; - - /** - * 和groupedInFilterValues配合使用。其value集合中的值,需要基于infilterField设定的字段进行(in list)过滤。 - */ - private String inFilterField; - - /** - * 需要分组执行的 (in list) 数据集合。 - * 在聚合类别为 MANY_TO_MANY 的场景下,将迭代每一个key并分批次执行(in list)过滤,key作为分组值返回。 - */ - private Map> groupedInFilterValues; - - /** - * 过滤条件列表。 - */ - private List whereCriteriaList; - - /** - * 分组字段。(Java对象字段名称),通常用于聚合类别为 ONE_TO_MANY 的场景。 - */ - private String groupField; - - /** - * 聚合字段。(Java对象字段名称) - */ - private String aggregationField; - - /** - * 聚合类型,具体数值见AggregationType对象的常量值。如COUNT、SUM、MIN、MAX、AVG等。 - */ - private Integer aggregationType; -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/MyGroupCriteria.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/MyGroupCriteria.java deleted file mode 100644 index 9529b37c..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/MyGroupCriteria.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.orangeforms.common.core.object; - -import lombok.AllArgsConstructor; -import lombok.Data; - -/** - * Mybatis Mapper.xml中所需的分组条件对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@AllArgsConstructor -public class MyGroupCriteria { - - /** - * GROUP BY 从句后面的参数。 - */ - private String groupBy; - /** - * SELECT 从句后面的分组显示字段。 - */ - private String groupSelect; -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/MyGroupParam.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/MyGroupParam.java deleted file mode 100644 index b082999f..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/MyGroupParam.java +++ /dev/null @@ -1,194 +0,0 @@ -package com.orangeforms.common.core.object; - -import cn.hutool.core.util.ReflectUtil; -import cn.hutool.core.util.StrUtil; -import com.orangeforms.common.core.config.CoreProperties; -import com.orangeforms.common.core.constant.ApplicationConstant; -import com.orangeforms.common.core.exception.InvalidClassFieldException; -import com.orangeforms.common.core.exception.InvalidDataFieldException; -import com.orangeforms.common.core.exception.InvalidDataModelException; -import com.orangeforms.common.core.util.ApplicationContextHolder; -import com.orangeforms.common.core.util.MyModelUtil; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.extern.slf4j.Slf4j; - -import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.LinkedList; -import java.util.List; - -/** - * 查询分组参数请求对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@EqualsAndHashCode(callSuper = true) -@Slf4j -@Data -public class MyGroupParam extends ArrayList { - - private final CoreProperties coreProperties = - ApplicationContextHolder.getBean(CoreProperties.class); - - /** - * SQL语句的SELECT LIST中,分组字段的返回字段名称列表。 - */ - private List selectGroupFieldList; - /** - * 分组参数解析后构建的SQL语句中所需的分组数据,如GROUP BY的字段列表和SELECT LIST中的分组字段显示列表。 - */ - private MyGroupCriteria groupCriteria; - /** - * 基于分组参数对象中的数据,构建SQL中select list和group by从句可以直接使用的分组对象。 - * - * @param groupParam 分组参数对象。 - * @param modelClazz 查询表对应的主对象的Class。 - * @return SQL中所需的GROUP对象。详见MyGroupCriteria类定义。 - */ - public static MyGroupParam buildGroupBy(MyGroupParam groupParam, Class modelClazz) { - if (groupParam == null) { - return null; - } - if (modelClazz == null) { - throw new IllegalArgumentException("modelClazz Argument can't be NULL"); - } - groupParam.selectGroupFieldList = new LinkedList<>(); - StringBuilder groupByBuilder = new StringBuilder(128); - StringBuilder groupSelectBuilder = new StringBuilder(128); - int i = 0; - for (GroupInfo groupInfo : groupParam) { - GroupBaseData groupBaseData = groupParam.parseGroupBaseData(groupInfo, modelClazz); - if (StrUtil.isBlank(groupBaseData.tableName)) { - throw new InvalidDataModelException(groupBaseData.modelName); - } - if (StrUtil.isBlank(groupBaseData.columnName)) { - throw new InvalidDataFieldException(groupBaseData.modelName, groupBaseData.fieldName); - } - groupParam.processGroupInfo(groupInfo, groupBaseData, groupByBuilder, groupSelectBuilder); - String aliasName = StrUtil.isBlank(groupInfo.aliasName) ? groupInfo.fieldName : groupInfo.aliasName; - // selectGroupFieldList中的元素,目前只是被export操作使用。会根据集合中的元素名称匹配导出表头。 - groupParam.selectGroupFieldList.add(aliasName); - if (++i < groupParam.size()) { - groupByBuilder.append(", "); - groupSelectBuilder.append(", "); - } - } - groupParam.groupCriteria = new MyGroupCriteria(groupByBuilder.toString(), groupSelectBuilder.toString()); - return groupParam; - } - - private GroupBaseData parseGroupBaseData(GroupInfo groupInfo, Class modelClazz) { - GroupBaseData baseData = new GroupBaseData(); - if (StrUtil.isBlank(groupInfo.fieldName)) { - throw new IllegalArgumentException("GroupInfo.fieldName can't be EMPTY"); - } - String[] stringArray = StrUtil.splitToArray(groupInfo.fieldName, '.'); - if (stringArray.length == 1) { - baseData.modelName = modelClazz.getSimpleName(); - baseData.fieldName = groupInfo.fieldName; - baseData.tableName = MyModelUtil.mapToTableName(modelClazz); - baseData.columnName = MyModelUtil.mapToColumnName(groupInfo.fieldName, modelClazz); - } else { - Field field = ReflectUtil.getField(modelClazz, stringArray[0]); - if (field == null) { - throw new InvalidClassFieldException(modelClazz.getSimpleName(), stringArray[0]); - } - Class fieldClazz = field.getType(); - baseData.modelName = fieldClazz.getSimpleName(); - baseData.fieldName = stringArray[1]; - baseData.tableName = MyModelUtil.mapToTableName(fieldClazz); - baseData.columnName = MyModelUtil.mapToColumnName(baseData.fieldName, fieldClazz); - } - return baseData; - } - - private void processGroupInfo( - GroupInfo groupInfo, - GroupBaseData baseData, - StringBuilder groupByBuilder, - StringBuilder groupSelectBuilder) { - String tableName = baseData.tableName; - String columnName = baseData.columnName; - if (StrUtil.isNotBlank(groupInfo.dateAggregateBy)) { - if (coreProperties.isMySql()) { - groupByBuilder.append("DATE_FORMAT(").append(tableName).append(".").append(columnName); - groupSelectBuilder.append("DATE_FORMAT(").append(tableName).append(".").append(columnName); - if (ApplicationConstant.DAY_AGGREGATION.equals(groupInfo.dateAggregateBy)) { - groupByBuilder.append(", '%Y-%m-%d')"); - groupSelectBuilder.append(", '%Y-%m-%d')"); - } else if (ApplicationConstant.MONTH_AGGREGATION.equals(groupInfo.dateAggregateBy)) { - groupByBuilder.append(", '%Y-%m-01')"); - groupSelectBuilder.append(", '%Y-%m-01')"); - } else if (ApplicationConstant.YEAR_AGGREGATION.equals(groupInfo.dateAggregateBy)) { - groupByBuilder.append(", '%Y-01-01')"); - groupSelectBuilder.append(", '%Y-01-01')"); - } else { - throw new IllegalArgumentException("Illegal DATE_FORMAT for GROUP ID list."); - } - } else if (coreProperties.isPostgresql()) { - groupByBuilder.append("TO_CHAR(").append(tableName).append(".").append(columnName); - groupSelectBuilder.append("TO_CHAR(").append(tableName).append(".").append(columnName); - if (ApplicationConstant.DAY_AGGREGATION.equals(groupInfo.dateAggregateBy)) { - groupByBuilder.append(", ''YYYY-MM-dd'')"); - groupSelectBuilder.append(", 'YYYY-MM-dd'')"); - } else if (ApplicationConstant.MONTH_AGGREGATION.equals(groupInfo.dateAggregateBy)) { - groupByBuilder.append(", 'YYYY-MM-01')"); - groupSelectBuilder.append(", 'YYYY-MM-01')"); - } else if (ApplicationConstant.YEAR_AGGREGATION.equals(groupInfo.dateAggregateBy)) { - groupByBuilder.append(", 'YYYY-01-01')"); - groupSelectBuilder.append(", 'YYYY-01-01')"); - } else { - throw new IllegalArgumentException("Illegal TO_CHAR for GROUP ID list."); - } - } else { - throw new UnsupportedOperationException("Unsupport Database Type."); - } - if (StrUtil.isNotBlank(groupInfo.aliasName)) { - groupSelectBuilder.append(" ").append(groupInfo.aliasName); - } else { - groupSelectBuilder.append(" ").append(columnName); - } - } else { - groupByBuilder.append(tableName).append(".").append(columnName); - groupSelectBuilder.append(tableName).append(".").append(columnName); - if (StrUtil.isNotBlank(groupInfo.aliasName)) { - groupSelectBuilder.append(" ").append(groupInfo.aliasName); - } - } - } - - /** - * 分组信息对象。 - */ - @Data - public static class GroupInfo { - /** - * Java对象的字段名。目前主要包含三种格式: - * 1. 简单的属性名称,如userId,将会直接映射到与其关联的数据库字段。表名为当前ModelClazz所对应的表名。 - * 映射结果或为 my_main_table.user_id - * 2. 一对一关联表属性,如user.userId,这里将先获取user属性的对象类型并映射到对应的表名,后面的userId为 - * user所在实体的属性。映射结果或为:my_sys_user.user_id - */ - private String fieldName; - /** - * SQL语句的Select List中,分组字段的别名。如果别名为NULL,直接取fieldName。 - */ - private String aliasName; - /** - * 如果该值不为NULL,则会对分组字段进行DATE_FORMAT函数的计算,并根据具体的值,将日期数据截取到指定的位。 - * day: 表示按照天聚合,将会截取到天。DATE_FORMAT(columnName, '%Y-%m-%d') - * month: 表示按照月聚合,将会截取到月。DATE_FORMAT(columnName, '%Y-%m-01') - * year: 表示按照年聚合,将会截取到年。DATE_FORMAT(columnName, '%Y-01-01') - */ - private String dateAggregateBy; - } - - private static class GroupBaseData { - private String modelName; - private String fieldName; - private String tableName; - private String columnName; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/MyOrderParam.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/MyOrderParam.java deleted file mode 100644 index 3df5e106..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/MyOrderParam.java +++ /dev/null @@ -1,265 +0,0 @@ -package com.orangeforms.common.core.object; - -import cn.hutool.core.util.ReflectUtil; -import com.orangeforms.common.core.constant.ApplicationConstant; -import com.orangeforms.common.core.exception.InvalidClassFieldException; -import com.orangeforms.common.core.exception.InvalidDataFieldException; -import com.orangeforms.common.core.exception.InvalidDataModelException; -import com.orangeforms.common.core.util.MyModelUtil; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; - -import java.lang.reflect.Field; -import java.util.*; - -/** - * Controller参数中的排序请求对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@EqualsAndHashCode(callSuper = true) -@Slf4j -@Data -public class MyOrderParam extends ArrayList { - - private static final String DICT_MAP = "DictMap."; - /** - * 基于排序对象中的JSON数据,构建SQL中order by从句可以直接使用的排序字符串。 - * - * @param orderParam 排序参数对象。 - * @param modelClazz 查询主表对应的主对象的Class。 - * @return SQL中order by从句可以直接使用的排序字符串。 - */ - public static String buildOrderBy(MyOrderParam orderParam, Class modelClazz) { - if (orderParam == null) { - return null; - } - if (modelClazz == null) { - throw new IllegalArgumentException( - "modelClazz Argument in MyOrderParam.buildOrderBy can't be NULL"); - } - int i = 0; - StringBuilder orderBy = new StringBuilder(128); - for (OrderInfo orderInfo : orderParam) { - if (StringUtils.isBlank(orderInfo.getFieldName())) { - continue; - } - OrderBaseData orderBaseData = parseOrderBaseData(orderInfo, modelClazz); - if (StringUtils.isBlank(orderBaseData.tableName)) { - throw new InvalidDataModelException(orderBaseData.modelName); - } - if (StringUtils.isBlank(orderBaseData.columnName)) { - throw new InvalidDataFieldException(orderBaseData.modelName, orderBaseData.fieldName); - } - processOrderInfo(orderInfo, orderBaseData, orderBy); - if (++i < orderParam.size()) { - orderBy.append(", "); - } - } - return orderBy.toString(); - } - - private static void processOrderInfo( - OrderInfo orderInfo, OrderBaseData orderBaseData, StringBuilder orderByBuilder) { - if (StringUtils.isNotBlank(orderInfo.dateAggregateBy)) { - orderByBuilder.append("DATE_FORMAT(") - .append(orderBaseData.tableName).append(".").append(orderBaseData.columnName); - if (ApplicationConstant.DAY_AGGREGATION.equals(orderInfo.dateAggregateBy)) { - orderByBuilder.append(", '%Y-%m-%d')"); - } else if (ApplicationConstant.MONTH_AGGREGATION.equals(orderInfo.dateAggregateBy)) { - orderByBuilder.append(", '%Y-%m-01')"); - } else if (ApplicationConstant.YEAR_AGGREGATION.equals(orderInfo.dateAggregateBy)) { - orderByBuilder.append(", '%Y-01-01')"); - } else { - throw new IllegalArgumentException("Illegal DATE_FORMAT for GROUP ID list."); - } - } else { - orderByBuilder.append(orderBaseData.tableName).append(".").append(orderBaseData.columnName); - } - if (orderInfo.asc != null && !orderInfo.asc) { - orderByBuilder.append(" DESC"); - } - } - - private static OrderBaseData parseOrderBaseData(OrderInfo orderInfo, Class modelClazz) { - OrderBaseData orderBaseData = new OrderBaseData(); - orderBaseData.fieldName = StringUtils.substringBefore(orderInfo.fieldName, DICT_MAP); - String[] stringArray = StringUtils.split(orderBaseData.fieldName, '.'); - if (stringArray.length == 1) { - orderBaseData.modelName = modelClazz.getSimpleName(); - orderBaseData.tableName = MyModelUtil.mapToTableName(modelClazz); - orderBaseData.columnName = MyModelUtil.mapToColumnName(orderBaseData.fieldName, modelClazz); - } else { - Field field = ReflectUtil.getField(modelClazz, stringArray[0]); - if (field == null) { - throw new InvalidClassFieldException(modelClazz.getSimpleName(), stringArray[0]); - } - Class fieldClazz = field.getType(); - orderBaseData.modelName = fieldClazz.getSimpleName(); - orderBaseData.fieldName = stringArray[1]; - orderBaseData.tableName = MyModelUtil.mapToTableName(fieldClazz); - orderBaseData.columnName = MyModelUtil.mapToColumnName(orderBaseData.fieldName, fieldClazz); - } - return orderBaseData; - } - - /** - * 在排序列表中,可能存在基于指定表字段的排序,该函数将获取指定表的所有排序字段。 - * 返回的字符串,可直接用于SQL中的ORDER BY从句。 - * - * @param orderParam 排序参数对象。 - * @param modelClazz 查询主表对应的主对象的Class。 - * @param relationModelName 与关联表对应的Model的名称,如my_course_paper表应对的Java对象CoursePaper。 - * 如果该值为null或空字符串,则获取所有主表的排序字段。 - * @return 返回的是表字段,而非Java对象的属性,多个字段之间逗号分隔。 - */ - public static String getOrderClauseByModelName( - MyOrderParam orderParam, Class modelClazz, String relationModelName) { - if (orderParam == null) { - return null; - } - if (modelClazz == null) { - throw new IllegalArgumentException( - "modelClazz Argument in MyOrderParam.getOrderClauseByModelName can't be NULL"); - } - List fieldNameList = new LinkedList<>(); - String prefix = null; - if (StringUtils.isNotBlank(relationModelName)) { - prefix = relationModelName + "."; - } - for (OrderInfo orderInfo : orderParam) { - OrderBaseData baseData = parseOrderBaseData(orderInfo, modelClazz, prefix, relationModelName); - if (baseData != null) { - fieldNameList.add(makeOrderBy(baseData, orderInfo.asc)); - } - } - return StringUtils.join(fieldNameList, ", "); - } - - private static OrderBaseData parseOrderBaseData( - OrderInfo orderInfo, Class modelClazz, String prefix, String relationModelName) { - OrderBaseData baseData = null; - String fieldName = StringUtils.substringBefore(orderInfo.fieldName, DICT_MAP); - if (prefix != null) { - if (fieldName.startsWith(prefix)) { - baseData = new OrderBaseData(); - Field field = ReflectUtil.getField(modelClazz, relationModelName); - if (field == null) { - throw new InvalidClassFieldException(modelClazz.getSimpleName(), relationModelName); - } - Class fieldClazz = field.getType(); - baseData.modelName = fieldClazz.getSimpleName(); - baseData.fieldName = StringUtils.removeStart(fieldName, prefix); - baseData.tableName = MyModelUtil.mapToTableName(fieldClazz); - baseData.columnName = MyModelUtil.mapToColumnName(fieldName, fieldClazz); - } - } else { - String dotLimitor = "."; - if (!fieldName.contains(dotLimitor)) { - baseData = new OrderBaseData(); - baseData.modelName = modelClazz.getSimpleName(); - baseData.tableName = MyModelUtil.mapToTableName(modelClazz); - baseData.columnName = MyModelUtil.mapToColumnName(fieldName, modelClazz); - } - } - return baseData; - } - - private static String makeOrderBy(OrderBaseData baseData, Boolean asc) { - if (StringUtils.isBlank(baseData.tableName)) { - throw new InvalidDataModelException(baseData.modelName); - } - if (StringUtils.isBlank(baseData.columnName)) { - throw new InvalidDataFieldException(baseData.modelName, baseData.fieldName); - } - StringBuilder orderBy = new StringBuilder(128); - orderBy.append(baseData.tableName).append(".").append(baseData.columnName); - if (asc != null && !asc) { - orderBy.append(" DESC"); - } - return orderBy.toString(); - } - - /** - * 在排序列表中,可能存在基于指定表字段的排序,该函数将删除指定表的所有排序字段。 - * - * @param orderParam 排序参数对象。 - * @param modelClazz 查询主表对应的主对象的Class。 - * @param relationModelName 与关联表对应的Model的名称,如my_course_paper表应对的Java对象CoursePaper。 - * 如果该值为null或空字符串,则获取所有主表的排序字段。 - */ - public static void removeOrderClauseByModelName( - MyOrderParam orderParam, Class modelClazz, String relationModelName) { - if (orderParam == null) { - return; - } - if (modelClazz == null) { - throw new IllegalArgumentException( - "modelClazz Argument in MyOrderParam.removeOrderClauseByModelName can't be NULL"); - } - List fieldIndexList = new LinkedList<>(); - String prefix = null; - if (StringUtils.isNotBlank(relationModelName)) { - prefix = relationModelName + "."; - } - int i = 0; - for (OrderInfo orderInfo : orderParam) { - String fieldName = StringUtils.substringBefore(orderInfo.fieldName, DICT_MAP); - if (prefix != null) { - if (fieldName.startsWith(prefix)) { - fieldIndexList.add(i); - } - } else { - if (!fieldName.contains(".")) { - fieldIndexList.add(i); - } - } - ++i; - } - for (int index : fieldIndexList) { - orderParam.remove(index); - } - } - - /** - * 排序信息对象。 - */ - @AllArgsConstructor - @NoArgsConstructor - @Data - public static class OrderInfo { - /** - * Java对象的字段名。如果fieldName为空,则忽略跳过。目前主要包含三种格式: - * 1. 简单的属性名称,如userId,将会直接映射到与其关联的数据库字段。表名为当前ModelClazz所对应的表名。 - * 映射结果或为 my_main_table.user_id - * 2. 字典属性名称,如userIdDictMap.id,由于仅仅支持字典中Id数据的排序,所以直接截取DictMap之前的字符串userId作为排序属性。 - * 表名为当前ModelClazz所对应的表名。映射结果或为 my_main_table.user_id - * 3. 一对一关联表属性,如user.userId,这里将先获取user属性的对象类型并映射到对应的表名,后面的userId为 - * user所在实体的属性。映射结果或为:my_sys_user.user_id - */ - private String fieldName; - /** - * 排序方向。true为升序,否则降序。 - */ - private Boolean asc = true; - /** - * 如果该值不为NULL,则会对日期型排序字段进行DATE_FORMAT函数的计算,并根据具体的值,将日期数据截取到指定的位。 - * day: 表示按照天聚合,将会截取到天。DATE_FORMAT(columnName, '%Y-%m-%d') - * month: 表示按照月聚合,将会截取到月。DATE_FORMAT(columnName, '%Y-%m-01') - * year: 表示按照年聚合,将会截取到年。DATE_FORMAT(columnName, '%Y-01-01') - */ - private String dateAggregateBy; - } - - private static class OrderBaseData { - private String modelName; - private String fieldName; - private String tableName; - private String columnName; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/MyPageData.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/MyPageData.java deleted file mode 100644 index 81eab93a..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/MyPageData.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.orangeforms.common.core.object; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.LinkedList; -import java.util.List; - -/** - * 分页数据的应答返回对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -public class MyPageData { - /** - * 数据列表。 - */ - private List dataList; - /** - * 数据总数量。 - */ - private Long totalCount; - - /** - * 为了保持前端的数据格式兼容性,在没有数据的时候,需要返回空分页对象。 - * @return 空分页对象。 - */ - public static MyPageData emptyPageData() { - return new MyPageData<>(new LinkedList<>(), 0L); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/MyPageParam.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/MyPageParam.java deleted file mode 100644 index d6d3c166..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/MyPageParam.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.orangeforms.common.core.object; - -import lombok.Getter; - -/** - * Controller参数中的分页请求对象 - * - * @author Jerry - * @date 2020-08-08 - */ -@Getter -public class MyPageParam { - - public static final int DEFAULT_PAGE_NUM = 1; - public static final int DEFAULT_PAGE_SIZE = 10; - public static final int DEFAULT_MAX_SIZE = 100; - - /** - * 分页号码,从1开始计数。 - */ - private Integer pageNum; - - /** - * 每页大小。 - */ - private Integer pageSize; - - /** - * 设置当前分页页号。 - * - * @param pageNum 页号,如果传入非法值,则使用缺省值。 - */ - public void setPageNum(Integer pageNum) { - if (pageNum == null) { - return; - } - if (pageNum <= 0) { - pageNum = DEFAULT_PAGE_NUM; - } - this.pageNum = pageNum; - } - - /** - * 设置分页的大小。 - * - * @param pageSize 分页大小,如果传入非法值,则使用缺省值。 - */ - public void setPageSize(Integer pageSize) { - if (pageSize == null) { - return; - } - if (pageSize <= 0 || pageSize > DEFAULT_MAX_SIZE) { - pageSize = DEFAULT_PAGE_SIZE; - } - this.pageSize = pageSize; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/MyQueryParam.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/MyQueryParam.java deleted file mode 100644 index 975dc3ab..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/MyQueryParam.java +++ /dev/null @@ -1,125 +0,0 @@ -package com.orangeforms.common.core.object; - -import cn.hutool.core.bean.BeanUtil; -import lombok.Data; - -import java.util.*; - -/** - * 查询参数。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -public class MyQueryParam { - - /** - * Select中返回的Java属性列表。 - */ - private List selectFieldList; - - /** - * 用于数据过滤的DTO对象。 - */ - private Map filterMap; - - /** - * 聚合计算是否使用数据权限进行过滤。true表示数据过滤将产生作用,否则SQL中不会包含数据过滤。 - * 目前数据过滤包括数据权限过滤和租户数据过滤。 - */ - private Boolean useDataFilter = true; - - /** - * (In-list) 实体对象中的过滤字段(而非数据表列名),需和下面的inFilterValues字段一起使用。 - * NOTE: MyWhereCriteria中的IN类型过滤条件,完全可以替代该字段。之所以保留主要是为了保证更好的接口可读性。 - */ - private String inFilterField; - - /** - * (In-list) 过滤数据集合。 - */ - private Set inFilterValues; - - /** - * 过滤条件列表。 - */ - private List criteriaList; - - /** - * 排序对象。 - */ - private MyOrderParam orderParam; - - /** - * 分页对象。 - */ - private MyPageParam pageParam; - - /** - * 是否包含关联字典数据 - */ - private Boolean withDict = false; - - /** - * 参与模糊搜索的Java字段列表。 - */ - private List searchStringFieldList; - - /** - * 模糊搜索的字符串值,该值要包含百分号,这样可以精确控制搜索参数中百分号的配置。 - */ - private String searchStringValue; - - /** - * 缺省构造函数。 - */ - public MyQueryParam() { - - } - - /** - * 构造函数。 - * - * @param withDict 是否关联字典数据。 - */ - public MyQueryParam(Boolean withDict) { - this.withDict = withDict; - } - - /** - * 将参数中Dto类型的过滤对象转换为内部的Map对象,便于服务间传输。 - * - * @param filterDto 过滤对象。 - * @param Dto对象的类型。 - */ - public void setFilterDto(T filterDto) { - this.filterMap = BeanUtil.beanToMap(filterDto); - } - - /** - * 将内部的过滤Map对象转换为指定类型的Dto对象并返回。 - * - * @param filterClazz Dto对象的Class对象。 - * @param Dto对象的类型。 - * @return 如果filterMap字段为空,则返回空对象。 - */ - public T getFilterDto(Class filterClazz) { - if (filterMap == null) { - return null; - } - return BeanUtil.toBeanIgnoreError(this.filterMap, filterClazz); - } - - /** - * 添加自定义过滤条件。 - * - * @param criteria 自定义过滤条件。 - */ - public void addCriteriaList(MyWhereCriteria criteria) { - if (this.criteriaList == null) { - criteriaList = new LinkedList<>(); - } - criteriaList.add(criteria); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/MyRelationParam.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/MyRelationParam.java deleted file mode 100644 index 356a0fe7..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/MyRelationParam.java +++ /dev/null @@ -1,122 +0,0 @@ -package com.orangeforms.common.core.object; - -import lombok.Builder; -import lombok.Data; - -/** - * 实体对象数据组装参数构建器。 - * BaseService中的实体对象数据组装函数,会根据该参数对象进行数据组装。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@Builder -public class MyRelationParam { - - /** - * 是否组装字典关联的标记。 - * 组装RelationDict和RelationConstDict注解标记的字段。 - */ - private boolean buildDict; - - /** - * 是否组装远程字典关联的标记。 - * 组装RelationDict和RelationConstDict注解标记的字段。 - */ - private boolean buildRemoteDict; - - /** - * 是否组装一对一关联的标记。 - * 组装RelationOneToOne注解标记的字段。 - */ - private boolean buildOneToOne; - - /** - * 是否组装远程一对一关联的标记。 - * 组装RelationOneToOne注解标记的字段。 - */ - private boolean buildRemoteOneToOne; - - /** - * 在组装一对一关联的同时,是否继续关联从表中的字典。 - * 从表中RelationDict和RelationConstDict注解标记的字段。 - * 该字段为true时,无需设置buildOneToOne了。 - */ - private boolean buildOneToOneWithDict; - - /** - * 在组装远程一对一关联的同时,是否继续关联从表中的字典。 - * 从表中RelationDict和RelationConstDict注解标记的字段。 - * 该字段为true时,无需设置buildOneToOne了。 - */ - private boolean buildRemoteOneToOneWithDict; - - /** - * 是否组装本地一对多关联的标记。 - * 组装RelationOneToMany注解标记的字段。 - */ - private boolean buildOneToMany; - - /** - * 是否组装主表对多对多中间表关联的标记。 - * 组装RelationManyToMany注解标记的字段。 - */ - private boolean buildRelationManyToMany; - - /** - * 是否组装聚合计算关联的标记。 - * 组装RelationOneToManyAggregation和RelationManyToManyAggregation注解标记的字段。 - */ - private boolean buildAggregation; - - /** - * 是否组装远程聚合计算关联的标记。 - * 组装RelationOneToManyAggregation和RelationManyToManyAggregation注解标记的字段。 - */ - private boolean buildRemoteAggregation; - - /** - * 便捷方法,返回仅做字典关联的参数对象。 - * - * @return 返回仅做字典关联的参数对象。 - */ - public static MyRelationParam dictOnly() { - return MyRelationParam.builder().buildDict(true).buildRemoteDict(true).build(); - } - - /** - * 便捷方法,返回仅做字典关联、一对一从表及其字典和聚合计算的参数对象。 - * NOTE: 对于一对多和多对多,这种从表数据是列表结果的关联,均不返回。 - * - * @return 返回仅做字典关联、一对一从表及其字典和聚合计算的参数对象。 - */ - public static MyRelationParam normal() { - return MyRelationParam.builder() - .buildDict(true) - .buildRemoteDict(true) - .buildOneToOneWithDict(true) - .buildRemoteOneToOneWithDict(true) - .buildAggregation(true) - .buildRemoteAggregation(true) - .build(); - } - - /** - * 便捷方法,返回全部关联的参数对象。 - * - * @return 返回全部关联的参数对象。 - */ - public static MyRelationParam full() { - return MyRelationParam.builder() - .buildDict(true) - .buildRemoteDict(true) - .buildOneToOneWithDict(true) - .buildRemoteOneToOneWithDict(true) - .buildAggregation(true) - .buildRemoteAggregation(true) - .buildRelationManyToMany(true) - .buildOneToMany(true) - .build(); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/MyWhereCriteria.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/MyWhereCriteria.java deleted file mode 100644 index 0cd2152c..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/MyWhereCriteria.java +++ /dev/null @@ -1,361 +0,0 @@ -package com.orangeforms.common.core.object; - -import cn.hutool.core.util.ReflectUtil; -import com.alibaba.fastjson.annotation.JSONField; -import com.orangeforms.common.core.exception.InvalidDataFieldException; -import com.orangeforms.common.core.exception.InvalidDataModelException; -import com.orangeforms.common.core.util.MyModelUtil; -import lombok.*; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; - -import java.util.Collection; -import java.util.Date; -import java.util.List; - -/** - * Where中的条件语句。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -@Data -@NoArgsConstructor -public class MyWhereCriteria { - - /** - * 等于 - */ - public static final int OPERATOR_EQUAL = 0; - - /** - * 不等于 - */ - public static final int OPERATOR_NOT_EQUAL = 1; - - /** - * 大于等于 - */ - public static final int OPERATOR_GE = 2; - - /** - * 大于 - */ - public static final int OPERATOR_GT = 3; - - /** - * 小于等于 - */ - public static final int OPERATOR_LE = 4; - - /** - * 小于 - */ - public static final int OPERATOR_LT = 5; - - /** - * LIKE - */ - public static final int OPERATOR_LIKE = 6; - - /** - * NOT NULL - */ - public static final int OPERATOR_NOT_NULL = 7; - - /** - * IS NULL - */ - public static final int OPERATOR_IS_NULL = 8; - - /** - * IN - */ - public static final int OPERATOR_IN = 9; - - /** - * 参与过滤的实体对象的Class。 - */ - @JSONField(serialize = false) - private Class modelClazz; - - /** - * 数据库表名。 - */ - private String tableName; - - /** - * Java属性名称。 - */ - private String fieldName; - - /** - * 数据表字段名。 - */ - private String columnName; - - /** - * 数据表字段类型。 - */ - private Integer columnType; - - /** - * 操作符类型,取值范围见上面的常量值。 - */ - private Integer operatorType; - - /** - * 条件数据值。 - */ - private Object value; - - public MyWhereCriteria(Class modelClazz, String fieldName, Integer operatorType, Object value) { - this.modelClazz = modelClazz; - this.fieldName = fieldName; - this.operatorType = operatorType; - this.value = value; - } - - /** - * 设置条件值。 - * - * @param fieldName 条件所属的实体对象的字段名。 - * @param operatorType 条件操作符。具体值可参考当前对象的静态变量。 - * @param value 条件过滤值。 - * @return 验证结果对象,如果有错误将会返回具体的错误信息。 - */ - public CallResult setCriteria(String fieldName, Integer operatorType, Object value) { - this.operatorType = operatorType; - this.fieldName = fieldName; - this.value = value; - return doVerify(); - } - - /** - * 设置条件值。 - * - * @param modelClazz 数据表对应实体对象的Class. - * @param fieldName 条件所属的实体对象的字段名。 - * @param operatorType 条件操作符。具体值可参考当前对象的静态变量。 - * @param value 条件过滤值。 - * @return 验证结果对象,如果有错误将会返回具体的错误信息。 - */ - public CallResult setCriteria(Class modelClazz, String fieldName, Integer operatorType, Object value) { - this.modelClazz = modelClazz; - this.operatorType = operatorType; - this.fieldName = fieldName; - this.value = value; - return doVerify(); - } - - /** - * 设置条件值,通过该构造方法设置时,通常是直接将表名、字段名、字段类型等赋值,无需在通过modelClazz进行推演。 - * - * @param tableName 数据表名。 - * @param columnName 数据字段名。 - * @param columnType 数据字段类型。 - * @param operatorType 操作类型。具体值可参考当前对象的静态变量。 - * @param value 条件过滤值。 - */ - public void setCriteria( - String tableName, String columnName, String columnType, Integer operatorType, Object value) { - this.tableName = tableName; - this.columnName = columnName; - this.columnType = MyModelUtil.NUMERIC_FIELD_TYPE; - if (String.class.getSimpleName().equals(columnType)) { - this.columnType = MyModelUtil.STRING_FIELD_TYPE; - } else if (Date.class.getSimpleName().equals(columnType)) { - this.columnType = MyModelUtil.DATE_FIELD_TYPE; - } - this.operatorType = operatorType; - this.value = value; - } - - /** - * 在执行该函数之前,该对象的所有数据均已经赋值完毕。 - * 该函数主要验证操作符字段和条件值字段对应关系的合法性。 - * - * @return 验证结果对象,如果有错误将会返回具体的错误信息。 - */ - public CallResult doVerify() { - if (fieldName == null) { - return CallResult.error("过滤字段名称 [fieldName] 不能为空!"); - } - if (modelClazz != null && ReflectUtil.getField(modelClazz, fieldName) == null) { - return CallResult.error( - "过滤字段 [" + fieldName + "] 在实体对象 [" + modelClazz.getSimpleName() + "] 中并不存在!"); - } - if (!checkOperatorType()) { - return CallResult.error("无效的操作符类型 [" + operatorType + "]!"); - } - // 其他操作符必须包含value值 - if (operatorType != OPERATOR_IS_NULL && operatorType != OPERATOR_NOT_NULL && value == null) { - String operatorString = this.getOperatorString(); - return CallResult.error("操作符 [" + operatorString + "] 的条件值不能为空!"); - } - if (this.operatorType == OPERATOR_IN) { - if (!(value instanceof Collection)) { - return CallResult.error("操作符 [IN] 的条件值必须为集合对象!"); - } - if (CollectionUtils.isEmpty((Collection) value)) { - return CallResult.error("操作符 [IN] 的条件值不能为空!"); - } - } - return CallResult.ok(); - } - - /** - * 判断操作符类型是否合法。 - * - * @return 合法返回true,否则false。 - */ - public boolean checkOperatorType() { - return operatorType != null - && (operatorType >= OPERATOR_EQUAL && operatorType <= OPERATOR_IN); - } - - /** - * 获取操作符的字符串形式。 - * - * @return 操作符的字符串。 - */ - public String getOperatorString() { - switch (operatorType) { - case OPERATOR_EQUAL: - return " = "; - case OPERATOR_NOT_EQUAL: - return " != "; - case OPERATOR_GE: - return " >= "; - case OPERATOR_GT: - return " > "; - case OPERATOR_LE: - return " <= "; - case OPERATOR_LT: - return " < "; - case OPERATOR_LIKE: - return " LIKE "; - case OPERATOR_NOT_NULL: - return " IS NOT NULL "; - case OPERATOR_IS_NULL: - return " IS NULL "; - case OPERATOR_IN: - return " IN "; - default: - return null; - } - } - - /** - * 获取组装后的SQL Where从句,如 table_name.column_name = 'value'。 - * 与查询数据表对应的实体对象Class为当前对象的modelClazz字段。 - * - * @exception InvalidDataFieldException selectFieldList中存在非法实体字段时,抛出该异常。 - * @return 组装后的SQL条件从句。 - */ - public String makeCriteriaString() { - return makeCriteriaString(this.modelClazz); - } - - /** - * 获取组装后的SQL Where从句,如 table_name.column_name = 'value'。 - * - * @param modelClazz 与查询数据表对应的实体对象的Class。 - * @exception InvalidDataFieldException selectFieldList中存在非法实体字段时,抛出该异常。 - * @exception InvalidDataModelException 参数modelClazz没有对应的table,抛出该异常。 - * @return 组装后的SQL条件从句。 - */ - public String makeCriteriaString(Class modelClazz) { - String tableName; - String columnName; - Integer columnType; - if (modelClazz != null) { - Tuple2 fieldInfo = MyModelUtil.mapToColumnInfo(fieldName, modelClazz); - if (fieldInfo == null) { - throw new InvalidDataFieldException(modelClazz.getSimpleName(), fieldName); - } - columnName = fieldInfo.getFirst(); - columnType = fieldInfo.getSecond(); - tableName = MyModelUtil.mapToTableName(modelClazz); - if (tableName == null) { - throw new InvalidDataModelException(modelClazz.getSimpleName()); - } - } else { - tableName = this.tableName; - columnName = this.columnName; - columnType = this.columnType; - } - return this.buildClauseString(tableName, columnName, columnType); - } - - /** - * 获取组装后的SQL Where从句。如 table_name.column_name = 'value'。 - * - * @param criteriaList 条件列表,所有条件直接目前仅支持 AND 的关系。 - * @exception InvalidDataFieldException selectFieldList中存在非法实体字段时,抛出该异常。 - * @return 组装后的SQL条件从句。 - */ - public static String makeCriteriaString(List criteriaList) { - return makeCriteriaString(criteriaList, null); - } - - /** - * 获取组装后的SQL Where从句。如 table_name.column_name = 'value'。 - * - * @param criteriaList 条件列表,所有条件直接目前仅支持 AND 的关系。 - * @param modelClazz 与数据表对应的实体对象的Class。 - * 如果不为NULL实体对象Class使用该值,否则使用每个MyWhereCriteria自身的modelClazz。 - * @exception InvalidDataFieldException selectFieldList中存在非法实体字段时,抛出该异常。 - * @return 组装后的SQL条件从句。 - */ - public static String makeCriteriaString(List criteriaList, Class modelClazz) { - if (CollectionUtils.isEmpty(criteriaList)) { - return null; - } - StringBuilder sb = new StringBuilder(256); - int i = 0; - for (MyWhereCriteria whereCriteria : criteriaList) { - Class clazz = modelClazz; - if (clazz == null) { - clazz = whereCriteria.modelClazz; - } - if (i++ != 0) { - sb.append(" AND "); - } - String criteriaString = whereCriteria.makeCriteriaString(clazz); - sb.append(criteriaString); - } - return sb.length() == 0 ? null : sb.toString(); - } - - private String buildClauseString(String tableName, String columnName, Integer columnType) { - StringBuilder sb = new StringBuilder(64); - sb.append(tableName).append(".").append(columnName).append(getOperatorString()); - if (operatorType == OPERATOR_IN) { - Collection filterValues = (Collection) value; - sb.append("("); - int i = 0; - for (Object filterValue : filterValues) { - if (columnType.equals(MyModelUtil.NUMERIC_FIELD_TYPE)) { - sb.append(filterValue); - } else { - sb.append("'").append(filterValue).append("'"); - } - if (i++ != filterValues.size() - 1) { - sb.append(", "); - } - } - sb.append(")"); - return sb.toString(); - } - if (value != null) { - if (columnType.equals(MyModelUtil.NUMERIC_FIELD_TYPE)) { - sb.append(value); - } else { - sb.append("'").append(value).append("'"); - } - } - return sb.toString(); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/ResponseResult.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/ResponseResult.java deleted file mode 100644 index eb8a5379..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/ResponseResult.java +++ /dev/null @@ -1,235 +0,0 @@ -package com.orangeforms.common.core.object; - -import com.alibaba.fastjson.JSON; -import com.orangeforms.common.core.constant.ErrorCodeEnum; -import com.orangeforms.common.core.util.ContextUtil; -import lombok.Data; -import lombok.extern.slf4j.Slf4j; - -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.io.PrintWriter; - -/** - * 接口返回对象 - * - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -@Data -public class ResponseResult { - - /** - * 为了优化性能,所有没有携带数据的正确结果,均可用该对象表示。 - */ - private static final ResponseResult OK = new ResponseResult<>(); - /** - * 是否成功标记。 - */ - private boolean success = true; - /** - * 错误码。 - */ - private String errorCode = "NO-ERROR"; - /** - * 错误信息描述。 - */ - private String errorMessage = "NO-MESSAGE"; - /** - * 实际数据。 - */ - private T data = null; - - /** - * 根据参数errorCodeEnum的枚举值,判断创建成功对象还是错误对象。 - * 如果返回错误对象,errorCode 和 errorMessage 分别取自于参数 errorCodeEnum 的 name() 和 getErrorMessage()。 - * - * @param errorCodeEnum 错误码枚举 - * @return 返回创建的ResponseResult实例对象 - */ - public static ResponseResult create(ErrorCodeEnum errorCodeEnum) { - return create(errorCodeEnum, errorCodeEnum.getErrorMessage()); - } - - /** - * 根据参数errorCodeEnum的枚举值,判断创建成功对象还是错误对象。 - * 如果返回错误对象,errorCode 和 errorMessage 分别取自于参数 errorCodeEnum 的 name() 和参数 errorMessage。 - * - * @param errorCodeEnum 错误码枚举。 - * @param errorMessage 如果该参数为null,错误信息取自errorCodeEnum参数内置的errorMessage,否则使用当前参数。 - * @return 返回创建的ResponseResult实例对象 - */ - public static ResponseResult create(ErrorCodeEnum errorCodeEnum, String errorMessage) { - errorMessage = errorMessage != null ? errorMessage : errorCodeEnum.getErrorMessage(); - return errorCodeEnum == ErrorCodeEnum.NO_ERROR ? success() : error(errorCodeEnum.name(), errorMessage); - } - - /** - * 根据参数errorCode是否为空,判断创建成功对象还是错误对象。 - * 如果返回错误对象,errorCode 和 errorMessage 分别取自于参数 errorCode 和参数 errorMessage。 - * - * @param errorCode 自定义的错误码 - * @param errorMessage 自定义的错误信息 - * @return 返回创建的ResponseResult实例对象 - */ - public static ResponseResult create(String errorCode, String errorMessage) { - return errorCode == null ? success() : error(errorCode, errorMessage); - } - - /** - * 根据参数errorCodeEnum的枚举值,判断创建成功对象还是错误对象。 - * 如果返回错误对象,errorCode 和 errorMessage 分别取自于参数 errorCodeEnum 的 name() 和参数 errorMessage。 - * - * @param errorCodeEnum 错误码枚举。 - * @param errorMessage 如果该参数为null,错误信息取自errorCodeEnum参数内置的errorMessage,否则使用当前参数。 - * @param data 如果错误枚举值为NO_ERROR,则返回该数据。 - * @return 返回创建的ResponseResult实例对象 - */ - public static ResponseResult create(ErrorCodeEnum errorCodeEnum, String errorMessage, T data) { - errorMessage = errorMessage != null ? errorMessage : errorCodeEnum.getErrorMessage(); - return errorCodeEnum == ErrorCodeEnum.NO_ERROR ? success(data) : error(errorCodeEnum.name(), errorMessage); - } - - /** - * 创建成功对象。 - * 如果需要绑定返回数据,可以在实例化后调用setDataObject方法。 - * - * @return 返回创建的ResponseResult实例对象 - */ - public static ResponseResult success() { - return OK; - } - - /** - * 创建带有返回数据的成功对象。 - * - * @param data 返回的数据对象 - * @return 返回创建的ResponseResult实例对象 - */ - public static ResponseResult success(T data) { - ResponseResult resp = new ResponseResult<>(); - resp.data = data; - return resp; - } - - /** - * 创建错误对象。 - * 如果返回错误对象,errorCode 和 errorMessage 分别取自于参数 errorCodeEnum 的 name() 和 getErrorMessage()。 - * - * @param errorCodeEnum 错误码枚举 - * @return 返回创建的ResponseResult实例对象 - */ - public static ResponseResult error(ErrorCodeEnum errorCodeEnum) { - return error(errorCodeEnum.name(), errorCodeEnum.getErrorMessage()); - } - - /** - * 创建错误对象。 - * 如果返回错误对象,errorCode 和 errorMessage 分别取自于参数 errorCodeEnum 的 name() 和参数 errorMessage。 - * - * @param errorCodeEnum 错误码枚举 - * @param errorMessage 自定义的错误信息 - * @return 返回创建的ResponseResult实例对象 - */ - public static ResponseResult error(ErrorCodeEnum errorCodeEnum, String errorMessage) { - return error(errorCodeEnum.name(), errorMessage); - } - - /** - * 创建错误对象。 - * 如果返回错误对象,errorCode 和 errorMessage 分别取自于参数 errorCode 和参数 errorMessage。 - * - * @param errorCode 自定义的错误码 - * @param errorMessage 自定义的错误信息 - * @return 返回创建的ResponseResult实例对象 - */ - public static ResponseResult error(String errorCode, String errorMessage) { - return new ResponseResult<>(errorCode, errorMessage); - } - - /** - * 根据参数中出错的ResponseResult,创建新的错误应答对象。 - * - * @param errorCause 导致错误原因的应答对象。 - * @return 返回创建的ResponseResult实例对象。 - */ - public static ResponseResult errorFrom(ResponseResult errorCause) { - return error(errorCause.errorCode, errorCause.getErrorMessage()); - } - - /** - * 根据参数中出错的CallResult,创建新的错误应答对象。 - * - * @param errorCause 导致错误原因的应答对象。 - * @return 返回创建的ResponseResult实例对象。 - */ - public static ResponseResult errorFrom(CallResult errorCause) { - return error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorCause.getErrorMessage()); - } - - /** - * 是否成功。 - * - * @return true成功,否则false。 - */ - public boolean isSuccess() { - return success; - } - - /** - * 通过HttpServletResponse直接输出应该信息的工具方法。 - * - * @param httpStatus http状态码。 - * @param responseResult 应答内容。 - * @param 数据对象类型。 - * @throws IOException 异常错误。 - */ - public static void output(int httpStatus, ResponseResult responseResult) throws IOException { - if (httpStatus != HttpServletResponse.SC_OK) { - log.error(JSON.toJSONString(responseResult)); - } else { - log.info(JSON.toJSONString(responseResult)); - } - HttpServletResponse response = ContextUtil.getHttpResponse(); - PrintWriter out = response.getWriter(); - response.setContentType("application/json; charset=utf-8"); - response.setStatus(httpStatus); - if (responseResult != null) { - out.print(JSON.toJSONString(responseResult)); - } - out.flush(); - } - - /** - * 通过HttpServletResponse直接输出应该信息的工具方法。 - * - * @param httpStatus http状态码。 - * @param 数据对象类型。 - * @throws IOException 异常错误。 - */ - public static void output(int httpStatus) throws IOException { - output(httpStatus, null); - } - - /** - * 通过HttpServletResponse直接输出应该信息的工具方法。Http状态码为200。 - * - * @param responseResult 应答内容。 - * @param 数据对象类型。 - * @throws IOException 异常错误。 - */ - public static void output(ResponseResult responseResult) throws IOException { - output(HttpServletResponse.SC_OK, responseResult); - } - - private ResponseResult() { - - } - - private ResponseResult(String errorCode, String errorMessage) { - this.success = false; - this.errorCode = errorCode; - this.errorMessage = errorMessage; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/TableModelInfo.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/TableModelInfo.java deleted file mode 100644 index 646f6eca..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/TableModelInfo.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.orangeforms.common.core.object; - -import lombok.Data; - -/** - * 数据表模型基础信息。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -public class TableModelInfo { - - /** - * 数据表名。 - */ - private String tableName; - - /** - * 实体对象名。 - */ - private String modelName; - - /** - * 主键的表字段名。 - */ - private String keyColumnName; - - /** - * 主键在实体对象中的属性名。 - */ - private String keyFieldName; -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/TokenData.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/TokenData.java deleted file mode 100644 index 11086552..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/TokenData.java +++ /dev/null @@ -1,139 +0,0 @@ -package com.orangeforms.common.core.object; - -import com.alibaba.fastjson.JSON; -import com.orangeforms.common.core.util.ContextUtil; -import lombok.Data; -import lombok.ToString; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; - -import javax.servlet.http.HttpServletRequest; -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; -import java.nio.charset.StandardCharsets; -import java.util.Date; - -/** - * 基于Jwt,用于前后端传递的令牌对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@ToString -@Slf4j -public class TokenData { - - /** - * 在HTTP Request对象中的属性键。 - */ - public static final String REQUEST_ATTRIBUTE_NAME = "tokenData"; - /** - * 用户Id。 - */ - private Long userId; - /** - * 用户所属角色。多个角色之间逗号分隔。 - */ - private String roleIds; - /** - * 用户所在部门Id。 - * 仅当系统支持uaa时可用,否则可以直接忽略该字段。保留该字段是为了保持单体和微服务通用代码部分的兼容性。 - */ - private Long deptId; - /** - * 用户所属岗位Id。多个岗位之间逗号分隔。仅当系统支持岗位时有值。 - */ - private String postIds; - /** - * 用户的部门岗位Id。多个岗位之间逗号分隔。仅当系统支持岗位时有值。 - */ - private String deptPostIds; - /** - * 租户Id。 - * 仅当系统支持uaa时可用,否则可以直接忽略该字段。保留该字段是为了保持单体和微服务通用代码部分的兼容性。 - */ - private Long tenantId; - /** - * 是否为超级管理员。 - */ - private Boolean isAdmin; - /** - * 用户登录名。 - */ - private String loginName; - /** - * 用户显示名称。 - */ - private String showName; - /** - * 设备类型。参考 AppDeviceType。 - */ - private Integer deviceType; - /** - * 标识不同登录的会话Id。 - */ - private String sessionId; - /** - * 访问uaa的授权token。 - * 仅当系统支持uaa时可用,否则可以直接忽略该字段。保留该字段是为了保持单体和微服务通用代码部分的兼容性。 - */ - private String uaaAccessToken; - /** - * 数据库路由键(仅当水平分库时使用)。 - */ - private Integer datasourceRouteKey; - /** - * 登录IP。 - */ - private String loginIp; - /** - * 登录时间。 - */ - private Date loginTime; - /** - * 登录头像地址。 - */ - private String headImageUrl; - - /** - * 将令牌对象添加到Http请求对象。 - * - * @param tokenData 令牌对象。 - */ - public static void addToRequest(TokenData tokenData) { - HttpServletRequest request = ContextUtil.getHttpRequest(); - request.setAttribute(TokenData.REQUEST_ATTRIBUTE_NAME, tokenData); - } - - /** - * 从Http Request对象中获取令牌对象。 - * - * @return 令牌对象。 - */ - public static TokenData takeFromRequest() { - HttpServletRequest request = ContextUtil.getHttpRequest(); - TokenData tokenData = (TokenData) request.getAttribute(REQUEST_ATTRIBUTE_NAME); - if (tokenData != null) { - return tokenData; - } - String token = request.getHeader(REQUEST_ATTRIBUTE_NAME); - if (StringUtils.isNotBlank(token)) { - tokenData = JSON.parseObject(token, TokenData.class); - } else { - token = request.getParameter(REQUEST_ATTRIBUTE_NAME); - if (StringUtils.isNotBlank(token)) { - tokenData = JSON.parseObject(token, TokenData.class); - } - } - if (tokenData != null) { - try { - tokenData.showName = URLDecoder.decode(tokenData.showName, StandardCharsets.UTF_8.name()); - } catch (UnsupportedEncodingException e) { - log.error("Failed to call TokenData.takeFromRequest", e); - } - addToRequest(tokenData); - } - return tokenData; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/Tuple2.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/Tuple2.java deleted file mode 100644 index 7d7bc81f..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/object/Tuple2.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.orangeforms.common.core.object; - -/** - * 二元组对象。主要用于可以一次返回多个结果的场景,同时还能避免强制转换。 - * - * @author Jerry - * @date 2020-08-08 - */ -public class Tuple2 { - - /** - * 第一个变量。 - */ - private final T1 first; - /** - * 第二个变量。 - */ - private final T2 second; - - /** - * 构造函数。 - * - * @param first 第一个变量。 - * @param second 第二个变量。 - */ - public Tuple2(T1 first, T2 second) { - this.first = first; - this.second = second; - } - - /** - * 获取第一个变量。 - * - * @return 返回第一个变量。 - */ - public T1 getFirst() { - return first; - } - - /** - * 获取第二个变量。 - * - * @return 返回第二个变量。 - */ - public T2 getSecond() { - return second; - } -} - diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/upload/BaseUpDownloader.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/upload/BaseUpDownloader.java deleted file mode 100644 index e2702904..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/upload/BaseUpDownloader.java +++ /dev/null @@ -1,137 +0,0 @@ -package com.orangeforms.common.core.upload; - -import com.alibaba.fastjson.JSON; -import com.orangeforms.common.core.constant.ApplicationConstant; -import com.orangeforms.common.core.util.ContextUtil; -import com.orangeforms.common.core.util.MyCommonUtil; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.io.FilenameUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.web.multipart.MultipartFile; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.util.List; - -/** - * 上传或下载文件抽象父类。 - * 包含存储本地文件的功能,以及上传和下载所需的通用方法。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -public abstract class BaseUpDownloader { - - /** - * 构建上传文件的完整目录。 - * - * @param rootBaseDir 文件下载的根目录。 - * @param modelName 所在数据表的实体对象名。 - * @param fieldName 关联字段的实体对象属性名。 - * @param asImage 是否为图片对象。图片是无需权限验证的,因此和附件存放在不同的子目录。 - * @return 上传文件的完整路径名。 - */ - public String makeFullPath( - String rootBaseDir, String modelName, String fieldName, Boolean asImage) { - StringBuilder uploadPathBuilder = new StringBuilder(128); - if (StringUtils.isNotBlank(rootBaseDir)) { - uploadPathBuilder.append(rootBaseDir).append("/"); - } - if (Boolean.TRUE.equals(asImage)) { - uploadPathBuilder.append(ApplicationConstant.UPLOAD_IMAGE_PARENT_PATH); - } else { - uploadPathBuilder.append(ApplicationConstant.UPLOAD_ATTACHMENT_PARENT_PATH); - } - uploadPathBuilder.append("/").append(modelName).append("/").append(fieldName).append("/"); - return uploadPathBuilder.toString(); - } - - /** - * 构建上传操作的返回对象。 - * - * @param serviceContextPath 微服务的上下文路径,如: /admin/upms。 - * @param originalFilename 上传文件的原始文件名(包含扩展名)。 - */ - public void fillUploadResponseInfo( - UploadResponseInfo responseInfo, String serviceContextPath, String originalFilename) { - // 根据请求上传的uri构建下载uri,只是将末尾的/upload改为/download即可。 - HttpServletRequest request = ContextUtil.getHttpRequest(); - String uri = request.getRequestURI(); - uri = StringUtils.removeEnd(uri, "/"); - uri = StringUtils.removeEnd(uri, "/upload"); - String downloadUri; - if (StringUtils.isBlank(serviceContextPath)) { - downloadUri = uri + "/download"; - } else { - downloadUri = serviceContextPath + uri + "/download"; - } - StringBuilder filenameBuilder = new StringBuilder(64); - filenameBuilder.append(MyCommonUtil.generateUuid()) - .append(".").append(FilenameUtils.getExtension(originalFilename)); - responseInfo.setDownloadUri(downloadUri); - responseInfo.setFilename(filenameBuilder.toString()); - } - - /** - * 执行下载操作,从本地文件系统读取数据,并将读取的数据直接写入到HttpServletResponse应答对象。 - * - * @param rootBaseDir 文件下载的根目录。 - * @param modelName 所在数据表的实体对象名。 - * @param fieldName 关联字段的实体对象属性名。 - * @param fileName 文件名。 - * @param asImage 是否为图片对象。图片是无需权限验证的,因此和附件存放在不同的子目录。 - * @param response Http 应答对象。 - * @throws Exception 操作错误。 - */ - public abstract void doDownload( - String rootBaseDir, - String modelName, - String fieldName, - String fileName, - Boolean asImage, - HttpServletResponse response) throws Exception; - - /** - * 执行文件上传操作,并存入本地文件系统,再将与该文件下载对应的Url直接写入到HttpServletResponse应答对象,返回给前端。 - * - * @param serviceContextPath 微服务的上下文路径,如: /admin/upms。 - * @param rootBaseDir 存放上传文件的根目录。 - * @param modelName 所在数据表的实体对象名。 - * @param fieldName 关联字段的实体对象属性名。 - * @param uploadFile Http请求中上传的文件对象。 - * @param asImage 是否为图片对象。图片是无需权限验证的,因此和附件存放在不同的子目录。 - * @return 存储在本地上传文件名。 - * @throws Exception 操作错误。 - */ - public abstract UploadResponseInfo doUpload( - String serviceContextPath, - String rootBaseDir, - String modelName, - String fieldName, - Boolean asImage, - MultipartFile uploadFile) throws Exception; - - /** - * 判断filename参数指定的文件名,是否被包含在fileInfoJson参数中。 - * - * @param fileInfoJson 内部类UploadFileInfo的JSONArray数组。 - * @param filename 被包含的文件名。 - * @return 存在返回true,否则false。 - */ - public static boolean containFile(String fileInfoJson, String filename) { - if (StringUtils.isAnyBlank(fileInfoJson, filename)) { - return false; - } - List fileInfoList = JSON.parseArray(fileInfoJson, UploadResponseInfo.class); - if (CollectionUtils.isNotEmpty(fileInfoList)) { - for (UploadResponseInfo fileInfo : fileInfoList) { - if (StringUtils.equals(filename, fileInfo.getFilename())) { - return true; - } - } - } - return false; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/upload/LocalUpDownloader.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/upload/LocalUpDownloader.java deleted file mode 100644 index b943ae21..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/upload/LocalUpDownloader.java +++ /dev/null @@ -1,149 +0,0 @@ -package com.orangeforms.common.core.upload; - -import com.alibaba.fastjson.JSON; -import com.orangeforms.common.core.constant.ErrorCodeEnum; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; -import org.springframework.web.multipart.MultipartFile; - -import javax.annotation.PostConstruct; -import javax.servlet.http.HttpServletResponse; -import java.io.*; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.List; -import java.util.Objects; - -/** - * 存储本地文件的上传下载实现类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -@Component -public class LocalUpDownloader extends BaseUpDownloader { - - @Autowired - private UpDownloaderFactory factory; - - @PostConstruct - public void doRegister() { - factory.registerUpDownloader(UploadStoreTypeEnum.LOCAL_SYSTEM, this); - } - - /** - * 执行下载操作,从本地文件系统读取数据,并将读取的数据直接写入到HttpServletResponse应答对象。 - * - * @param rootBaseDir 文件下载的根目录。 - * @param modelName 所在数据表的实体对象名。 - * @param fieldName 关联字段的实体对象属性名。 - * @param fileName 文件名。 - * @param asImage 是否为图片对象。图片是无需权限验证的,因此和附件存放在不同的子目录。 - * @param response Http 应答对象。 - */ - @Override - public void doDownload( - String rootBaseDir, - String modelName, - String fieldName, - String fileName, - Boolean asImage, - HttpServletResponse response) { - String uploadPath = makeFullPath(rootBaseDir, modelName, fieldName, asImage); - String fullFileanme = uploadPath + "/" + fileName; - File file = new File(fullFileanme); - if (!file.exists()) { - log.warn("Download file [" + fullFileanme + "] failed, no file found!"); - response.setStatus(HttpServletResponse.SC_NOT_FOUND); - return; - } - response.setHeader("content-type", "application/octet-stream"); - response.setContentType("application/octet-stream"); - response.setHeader("Content-Disposition", "attachment;filename=" + fileName); - byte[] buff = new byte[2048]; - try (OutputStream os = response.getOutputStream(); - BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file))) { - int i = bis.read(buff); - while (i != -1) { - os.write(buff, 0, i); - os.flush(); - i = bis.read(buff); - } - } catch (IOException e) { - log.error("Failed to call LocalUpDownloader.doDownload", e); - } - } - - /** - * 执行文件上传操作,并存入本地文件系统,再将与该文件下载对应的Url直接写入到HttpServletResponse应答对象,返回给前端。 - * - * @param serviceContextPath 微服务的上下文路径,如: /admin/upms。 - * @param rootBaseDir 存放上传文件的根目录。 - * @param modelName 所在数据表的实体对象名。 - * @param fieldName 关联字段的实体对象属性名。 - * @param uploadFile Http请求中上传的文件对象。 - * @param asImage 是否为图片对象。图片是无需权限验证的,因此和附件存放在不同的子目录。 - * @return 存储在本地上传文件名。 - * @throws IOException 文件操作错误。 - */ - @Override - public UploadResponseInfo doUpload( - String serviceContextPath, - String rootBaseDir, - String modelName, - String fieldName, - Boolean asImage, - MultipartFile uploadFile) throws IOException { - UploadResponseInfo responseInfo = new UploadResponseInfo(); - if (Objects.isNull(uploadFile) || uploadFile.isEmpty()) { - responseInfo.setUploadFailed(true); - responseInfo.setErrorMessage(ErrorCodeEnum.INVALID_UPLOAD_FILE_ARGUMENT.getErrorMessage()); - return responseInfo; - } - String uploadPath = makeFullPath(rootBaseDir, modelName, fieldName, asImage); - fillUploadResponseInfo(responseInfo, serviceContextPath, uploadFile.getOriginalFilename()); - try { - byte[] bytes = uploadFile.getBytes(); - Path path = Paths.get(uploadPath + responseInfo.getFilename()); - // 如果没有files文件夹,则创建 - if (!Files.isWritable(path)) { - Files.createDirectories(Paths.get(uploadPath)); - } - // 文件写入指定路径 - Files.write(path, bytes); - } catch (IOException e) { - log.error("Failed to write uploaded file [" + uploadFile.getOriginalFilename() + " ].", e); - responseInfo.setUploadFailed(true); - responseInfo.setErrorMessage(ErrorCodeEnum.INVALID_UPLOAD_FILE_IOERROR.getErrorMessage()); - return responseInfo; - } - return responseInfo; - } - - /** - * 判断filename参数指定的文件名,是否被包含在fileInfoJson参数中。 - * - * @param fileInfoJson 内部类UploadFileInfo的JSONArray数组。 - * @param filename 被包含的文件名。 - * @return 存在返回true,否则false。 - */ - public static boolean containFile(String fileInfoJson, String filename) { - if (StringUtils.isAnyBlank(fileInfoJson, filename)) { - return false; - } - List fileInfoList = JSON.parseArray(fileInfoJson, UploadResponseInfo.class); - if (CollectionUtils.isNotEmpty(fileInfoList)) { - for (UploadResponseInfo fileInfo : fileInfoList) { - if (StringUtils.equals(filename, fileInfo.getFilename())) { - return true; - } - } - } - return false; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/upload/UpDownloaderFactory.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/upload/UpDownloaderFactory.java deleted file mode 100644 index 95228135..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/upload/UpDownloaderFactory.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.orangeforms.common.core.upload; - -import org.springframework.stereotype.Component; - -import java.util.HashMap; -import java.util.Map; - -/** - * 业务对象根据上传下载存储类型,获取上传下载对象的工厂类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Component -public class UpDownloaderFactory { - - private final Map upDownloaderMap = new HashMap<>(); - - /** - * 根据存储类型获取上传下载对象。 - * @param storeType 存储类型。 - * @return 匹配的上传下载对象。 - */ - public BaseUpDownloader get(UploadStoreTypeEnum storeType) { - BaseUpDownloader upDownloader = upDownloaderMap.get(storeType); - if (upDownloader == null) { - throw new UnsupportedOperationException( - "The storeType [" + storeType.name() + "] isn't supported, please add dependency jar first."); - } - return upDownloader; - } - - /** - * 注册上传下载对象到工厂。 - * - * @param storeType 存储类型。 - * @param upDownloader 上传下载对象。 - */ - public void registerUpDownloader(UploadStoreTypeEnum storeType, BaseUpDownloader upDownloader) { - if (storeType == null || upDownloader == null) { - throw new IllegalArgumentException("The Argument can't be NULL."); - } - if (upDownloaderMap.containsKey(storeType)) { - throw new UnsupportedOperationException( - "The storeType [" + storeType.name() + "] has been registered already."); - } - upDownloaderMap.put(storeType, upDownloader); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/upload/UploadResponseInfo.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/upload/UploadResponseInfo.java deleted file mode 100644 index 8dfa996e..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/upload/UploadResponseInfo.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.orangeforms.common.core.upload; - -import lombok.Data; - -/** - * 数据上传操作的应答信息对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -public class UploadResponseInfo { - /** - * 上传是否出现错误。 - */ - private Boolean uploadFailed = false; - /** - * 具体错误信息。 - */ - private String errorMessage; - /** - * 返回前端的下载url。 - */ - private String downloadUri; - /** - * 返回给前端的文件名。 - */ - private String filename; -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/upload/UploadStoreInfo.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/upload/UploadStoreInfo.java deleted file mode 100644 index 54d33892..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/upload/UploadStoreInfo.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.orangeforms.common.core.upload; - -import lombok.Data; - -/** - * 上传数据存储信息对象。这里之所以使用对象,主要是便于今后扩展。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -public class UploadStoreInfo { - - /** - * 是否支持上传。 - */ - private boolean supportUpload; - /** - * 上传数据存储类型。 - */ - private UploadStoreTypeEnum storeType; -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/upload/UploadStoreTypeEnum.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/upload/UploadStoreTypeEnum.java deleted file mode 100644 index cae4cb24..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/upload/UploadStoreTypeEnum.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.orangeforms.common.core.upload; - -/** - * 上传数据存储介质类型枚举。 - * - * @author Jerry - * @date 2020-08-08 - */ -public enum UploadStoreTypeEnum { - - /** - * 本地系统。 - */ - LOCAL_SYSTEM, - /** - * minio分布式存储。 - */ - MINIO_SYSTEM -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/AopTargetUtil.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/AopTargetUtil.java deleted file mode 100644 index ab4b577a..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/AopTargetUtil.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.orangeforms.common.core.util; - -import lombok.extern.slf4j.Slf4j; -import org.springframework.aop.framework.AdvisedSupport; -import org.springframework.aop.framework.AopProxy; -import org.springframework.aop.support.AopUtils; - -import java.lang.reflect.Field; - -/** - * 获取JDK动态代理/CGLIB代理对象代理的目标对象的工具类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -public class AopTargetUtil { - - /** - * 获取参数对象代理的目标对象。 - * - * @param proxy 代理对象 - * @return 代理的目标对象。 - */ - public static Object getTarget(Object proxy) { - if (!AopUtils.isAopProxy(proxy)) { - return proxy; - } - try { - if (AopUtils.isJdkDynamicProxy(proxy)) { - return getJdkDynamicProxyTargetObject(proxy); - } else { - return getCglibProxyTargetObject(proxy); - } - } catch (Exception e) { - log.error("Failed to call getJdkDynamicProxyTargetObject or getCglibProxyTargetObject", e); - return null; - } - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private AopTargetUtil() { - } - - private static Object getCglibProxyTargetObject(Object proxy) throws Exception { - Field h = proxy.getClass().getDeclaredField("CGLIB$CALLBACK_0"); - h.setAccessible(true); - Object dynamicAdvisedInterceptor = h.get(proxy); - Field advised = dynamicAdvisedInterceptor.getClass().getDeclaredField("advised"); - advised.setAccessible(true); - return ((AdvisedSupport) advised.get(dynamicAdvisedInterceptor)).getTargetSource().getTarget(); - } - - private static Object getJdkDynamicProxyTargetObject(Object proxy) throws Exception { - Field h = proxy.getClass().getSuperclass().getDeclaredField("h"); - h.setAccessible(true); - AopProxy aopProxy = (AopProxy) h.get(proxy); - Field advised = aopProxy.getClass().getDeclaredField("advised"); - advised.setAccessible(true); - return ((AdvisedSupport) advised.get(aopProxy)).getTargetSource().getTarget(); - } -} \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/ApplicationContextHolder.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/ApplicationContextHolder.java deleted file mode 100644 index 979bd598..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/ApplicationContextHolder.java +++ /dev/null @@ -1,90 +0,0 @@ -package com.orangeforms.common.core.util; - -import com.orangeforms.common.core.exception.MyRuntimeException; -import org.springframework.context.ApplicationContext; -import org.springframework.context.ApplicationContextAware; -import org.springframework.lang.NonNull; -import org.springframework.stereotype.Component; - -import java.util.Collection; -import java.util.Map; - -/** - * Spring 系统启动应用感知对象,主要用于获取Spring Bean的上下文对象,后续的代码中可以直接查找系统中加载的Bean对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Component -public class ApplicationContextHolder implements ApplicationContextAware { - - private static ApplicationContext applicationContext; - - /** - * Spring 启动的过程中会自动调用,并将应用上下文对象赋值进来。 - * - * @param applicationContext 应用上下文对象,可通过该对象查找Spring中已经加载的Bean。 - */ - @Override - public void setApplicationContext(@NonNull ApplicationContext applicationContext) { - doSetApplicationContext(applicationContext); - } - - /** - * 获取应用上下文对象。 - * - * @return 应用上下文。 - */ - public static ApplicationContext getApplicationContext() { - assertApplicationContext(); - return applicationContext; - } - - /** - * 根据BeanName,获取Bean对象。 - * - * @param beanName Bean名称。 - * @param 返回的Bean类型。 - * @return Bean对象。 - */ - @SuppressWarnings("unchecked") - public static T getBean(String beanName) { - assertApplicationContext(); - return (T) applicationContext.getBean(beanName); - } - - /** - * 根据Bean的ClassType,获取Bean对象。 - * - * @param beanType Bean的Class类型。 - * @param 返回的Bean类型。 - * @return Bean对象。 - */ - public static T getBean(Class beanType) { - assertApplicationContext(); - return applicationContext.getBean(beanType); - } - - /** - * 根据Bean的ClassType,获取Bean对象列表。 - * - * @param beanType Bean的Class类型。 - * @param 返回的Bean类型。 - * @return Bean对象列表。 - */ - public static Collection getBeanListOfType(Class beanType) { - assertApplicationContext(); - Map beanMap = applicationContext.getBeansOfType(beanType); - return beanMap == null ? null : beanMap.values(); - } - - private static void assertApplicationContext() { - if (ApplicationContextHolder.applicationContext == null) { - throw new MyRuntimeException("applicaitonContext属性为null,请检查是否注入了ApplicationContextHolder!"); - } - } - - private static void doSetApplicationContext(ApplicationContext applicationContext) { - ApplicationContextHolder.applicationContext = applicationContext; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/ContextUtil.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/ContextUtil.java deleted file mode 100644 index 3a35eca6..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/ContextUtil.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.orangeforms.common.core.util; - -import org.springframework.web.context.request.RequestContextHolder; -import org.springframework.web.context.request.ServletRequestAttributes; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * 获取Servlet HttpRequest和HttpResponse的工具类。 - * - * @author Jerry - * @date 2020-08-08 - */ -public class ContextUtil { - - /** - * 判断当前是否处于HttpServletRequest上下文环境。 - * - * @return 是返回true,否则false。 - */ - public static boolean hasRequestContext() { - return RequestContextHolder.getRequestAttributes() != null; - } - - /** - * 获取Servlet请求上下文的HttpRequest对象。 - * - * @return 请求上下文中的HttpRequest对象。 - */ - public static HttpServletRequest getHttpRequest() { - return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); - } - - /** - * 获取Servlet请求上下文的HttpResponse对象。 - * - * @return 请求上下文中的HttpResponse对象。 - */ - public static HttpServletResponse getHttpResponse() { - return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse(); - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private ContextUtil() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/DataSourceResolver.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/DataSourceResolver.java deleted file mode 100644 index e832b65c..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/DataSourceResolver.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.orangeforms.common.core.util; - -/** - * 基于自定义解析规则的多数据源解析接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface DataSourceResolver { - - /** - * 动态解析方法。实现类可以根据当前的请求,或者上下文环境进行动态解析。 - * - * @param arg 可选的入参。MyDataSourceResolver注解中的arg参数。 - * @param methodArgs 被织入方法的所有参数。 - * @return 返回用于多数据源切换的类型值。DataSourceResolveAspect 切面方法会根据该返回值和配置信息,进行多数据源切换。 - */ - int resolve(String arg, Object[] methodArgs); -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/ExportUtil.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/ExportUtil.java deleted file mode 100644 index 4a7f4a26..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/ExportUtil.java +++ /dev/null @@ -1,95 +0,0 @@ -package com.orangeforms.common.core.util; - -import cn.hutool.core.io.IoUtil; -import cn.hutool.poi.excel.ExcelUtil; -import cn.hutool.poi.excel.ExcelWriter; -import cn.jimmyshi.beanquery.BeanQuery; -import com.orangeforms.common.core.constant.ApplicationConstant; -import com.orangeforms.common.core.exception.MyRuntimeException; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.csv.CSVFormat; -import org.apache.commons.csv.CSVPrinter; -import org.apache.commons.io.FilenameUtils; - -import javax.servlet.ServletOutputStream; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.io.Writer; -import java.nio.charset.StandardCharsets; -import java.util.*; - -/** - * 导出工具类,目前支持xlsx和csv两种类型。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -public class ExportUtil { - - /** - * 数据导出。目前仅支持xlsx和csv。 - * - * @param dataList 导出数据列表。 - * @param selectFieldMap 导出的数据字段,key为对象字段名称,value为中文标题名称。 - * @param filename 导出文件名。 - * @param 数据对象类型。 - * @throws IOException 文件操作失败。 - */ - public static void doExport( - Collection dataList, Map selectFieldMap, String filename) throws IOException { - if (CollectionUtils.isEmpty(dataList)) { - return; - } - StringBuilder sb = new StringBuilder(128); - for (Map.Entry e : selectFieldMap.entrySet()) { - sb.append(e.getKey()).append(" as ").append(e.getValue()).append(", "); - } - // 去掉末尾的逗号 - String selectFieldString = sb.substring(0, sb.length() - 2); - // 写出数据到xcel格式的输出流 - List> resultList = BeanQuery.select(selectFieldString).executeFrom(dataList); - // 构建HTTP输出流参数 - HttpServletResponse response = ContextUtil.getHttpResponse(); - response.setHeader("content-type", "application/octet-stream"); - response.setContentType("application/octet-stream"); - response.setHeader("Content-Disposition", "attachment;filename=" + filename); - if (ApplicationConstant.XLSX_EXT.equals(FilenameUtils.getExtension(filename))) { - ServletOutputStream out = response.getOutputStream(); - ExcelWriter writer = ExcelUtil.getWriter(true); - writer.setRowHeight(-1, 30); - writer.setColumnWidth(-1, 30); - writer.setColumnWidth(1, 20); - writer.write(resultList); - writer.flush(out); - writer.close(); - IoUtil.close(out); - } else if (ApplicationConstant.CSV_EXT.equals(FilenameUtils.getExtension(filename))) { - Collection headerList = selectFieldMap.values(); - String[] headerArray = new String[headerList.size()]; - headerList.toArray(headerArray); - CSVFormat format = CSVFormat.DEFAULT.withHeader(headerArray); - response.setCharacterEncoding(StandardCharsets.UTF_8.name()); - try (Writer out = response.getWriter(); CSVPrinter printer = new CSVPrinter(out, format)) { - for (Map o : resultList) { - for (Map.Entry entry : o.entrySet()) { - printer.print(entry.getValue()); - } - printer.println(); - } - printer.flush(); - } catch (Exception e) { - log.error("Failed to call ExportUtil.doExport", e); - } - } else { - throw new MyRuntimeException("不支持的导出文件类型!"); - } - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private ExportUtil() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/ImportUtil.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/ImportUtil.java deleted file mode 100644 index b33b4b16..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/ImportUtil.java +++ /dev/null @@ -1,252 +0,0 @@ -package com.orangeforms.common.core.util; - -import cn.hutool.core.convert.Convert; -import cn.hutool.core.io.file.FileNameUtil; -import cn.hutool.core.lang.Assert; -import cn.hutool.core.util.ReflectUtil; -import cn.hutool.core.util.StrUtil; -import cn.hutool.poi.excel.ExcelUtil; -import cn.hutool.poi.excel.sax.handler.RowHandler; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.orangeforms.common.core.exception.MyRuntimeException; -import lombok.Data; -import lombok.extern.slf4j.Slf4j; -import org.joda.time.DateTime; -import org.springframework.web.multipart.MultipartFile; - -import java.io.File; -import java.io.IOException; -import java.lang.reflect.Field; -import java.lang.reflect.Modifier; -import java.math.BigDecimal; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.*; - -/** - * 导入工具类,目前支持xlsx和xls两种类型。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -public class ImportUtil { - - /** - * 根据实体类的Class类型,生成导入的头信息。 - * - * @param modelClazz 实体对象的Class类型。 - * @param ignoreFields 忽略的字段名集合,如创建时间、创建人、更新时间、更新人等。 - * @param 实体对象类型。 - * @return 创建后的导入头信息列表。 - */ - public static List makeHeaderInfoList(Class modelClazz, Set ignoreFields) { - List resultList = new LinkedList<>(); - Field[] fields = ReflectUtil.getFields(modelClazz); - for (Field field : fields) { - int modifiers = field.getModifiers(); - // transient类型的字段不能作为查询条件,静态字段和逻辑删除都不考虑。需要忽略的字段也要跳过。 - int transientMask = 128; - if ((modifiers & transientMask) == 1 - || Modifier.isStatic(modifiers) - || field.getAnnotation(TableLogic.class) != null - || ignoreFields.contains(field.getName())) { - continue; - } - TableField tableField = field.getAnnotation(TableField.class); - if (tableField == null || tableField.exist()) { - ImportHeaderInfo headerInfo = new ImportHeaderInfo(); - headerInfo.fieldName = field.getName(); - if (field.getType().equals(Integer.class)) { - headerInfo.fieldType = INT_TYPE; - } else if (field.getType().equals(Long.class)) { - headerInfo.fieldType = LONG_TYPE; - } else if (field.getType().equals(String.class)) { - headerInfo.fieldType = STRING_TYPE; - } else if (field.getType().equals(Boolean.class)) { - headerInfo.fieldType = BOOLEAN_TYPE; - } else if (field.getType().equals(Date.class)) { - headerInfo.fieldType = DATE_TYPE; - } else if (field.getType().equals(Double.class)) { - headerInfo.fieldType = DOUBLE_TYPE; - } else if (field.getType().equals(Float.class)) { - headerInfo.fieldType = FLOAT_TYPE; - } else if (field.getType().equals(BigDecimal.class)) { - headerInfo.fieldType = BIG_DECIMAL_TYPE; - } else { - throw new MyRuntimeException("Unsupport Import FieldType"); - } - resultList.add(headerInfo); - } - } - return resultList; - } - - /** - * 保存导入文件。 - * - * @param baseDir 导入文件本地缓存的根目录。 - * @param subDir 导入文件本地缓存的子目录。 - * @param importFile 导入的文件。 - * @return 保存的本地文件名。 - */ - public static String saveImportFile( - String baseDir, String subDir, MultipartFile importFile) throws IOException { - StringBuilder sb = new StringBuilder(256); - sb.append(baseDir); - if (!StrUtil.endWith(baseDir, "/")) { - sb.append("/"); - } - sb.append("importedFile/"); - if (StrUtil.isNotBlank(subDir)) { - sb.append(subDir); - if (!StrUtil.endWith(subDir, "/")) { - sb.append("/"); - } - } - String pathname = sb.toString(); - sb.append(new DateTime().toString("yyyy-MM-dd-HH-mm-")); - sb.append(MyCommonUtil.generateUuid()) - .append(".").append(FileNameUtil.getSuffix(importFile.getOriginalFilename())); - String fullname = sb.toString(); - try { - byte[] bytes = importFile.getBytes(); - Path path = Paths.get(fullname); - // 如果没有files文件夹,则创建 - if (!Files.isWritable(path)) { - Files.createDirectories(Paths.get(pathname)); - } - // 文件写入指定路径 - Files.write(path, bytes); - } catch (IOException e) { - log.error("Failed to write imported file [" + importFile.getOriginalFilename() + " ].", e); - throw e; - } - return fullname; - } - - /** - * 导入指定的excel,基于SAX方式解析后返回数据列表。 - * - * @param headers 头信息数组。 - * @param skipHeader 是否跳过第一行,通常改行为头信息。 - * @param filename 文件名。 - * @return 解析后数据列表。 - */ - public static List> doImport( - ImportHeaderInfo[] headers, boolean skipHeader, String filename) { - Assert.notNull(headers); - Assert.isTrue(StrUtil.isNotBlank(filename)); - List> resultList = new LinkedList<>(); - ExcelUtil.readBySax(new File(filename), 0, createRowHandler(headers, skipHeader, resultList)); - return resultList; - } - - /** - * 导入指定的excel,基于SAX方式解析后返回Bean类型的数据列表。 - * - * @param headers 头信息数组。 - * @param skipHeader 是否跳过第一行,通常改行为头信息。 - * @param filename 文件名。 - * @param clazz Bean的Class类型。 - * @return 解析后数据列表。 - */ - public static List doImport( - ImportHeaderInfo[] headers, boolean skipHeader, String filename, Class clazz) { - List> resultList = doImport(headers, skipHeader, filename); - return MyModelUtil.mapToBeanList(resultList, clazz); - } - - private static RowHandler createRowHandler( - ImportHeaderInfo[] headers, boolean skipHeader, List> resultList) { - return new MyRowHandler(headers, skipHeader, resultList); - } - - public final static int INT_TYPE = 0; - public final static int LONG_TYPE = 1; - public final static int STRING_TYPE = 2; - public final static int BOOLEAN_TYPE = 3; - public final static int DATE_TYPE = 4; - public final static int DOUBLE_TYPE = 5; - public final static int FLOAT_TYPE = 6; - public final static int BIG_DECIMAL_TYPE = 7; - - @Data - public static class ImportHeaderInfo { - /** - * 对应的Java实体对象属性名。 - */ - private String fieldName; - /** - * 对应的Java实体对象类型。 - */ - private Integer fieldType; - } - - private static class MyRowHandler implements RowHandler { - - private ImportHeaderInfo[] headers; - private boolean skipHeader; - private List> resultList; - - public MyRowHandler(ImportHeaderInfo[] headers, boolean skipHeader, List> resultList) { - this.headers = headers; - this.skipHeader = skipHeader; - this.resultList = resultList; - } - - @Override - public void handle(int sheetIndex, long rowIndex, List rowList) { - if (this.skipHeader && rowIndex == 0) { - return; - } - int i = 0; - Map data = new HashMap<>(headers.length); - for (Object rowData : rowList) { - if (i >= headers.length) { - log.warn("Exceeded the size of headers and ignore the left columns"); - break; - } - ImportHeaderInfo headerInfo = this.headers[i++]; - switch (headerInfo.fieldType) { - case INT_TYPE: - data.put(headerInfo.fieldName, Convert.toInt(rowData)); - break; - case LONG_TYPE: - data.put(headerInfo.fieldName, Convert.toLong(rowData)); - break; - case STRING_TYPE: - data.put(headerInfo.fieldName, Convert.toStr(rowData)); - break; - case BOOLEAN_TYPE: - data.put(headerInfo.fieldName, Convert.toBool(rowData)); - break; - case DATE_TYPE: - data.put(headerInfo.fieldName, Convert.toDate(rowData)); - break; - case DOUBLE_TYPE: - data.put(headerInfo.fieldName, Convert.toDouble(rowData)); - break; - case FLOAT_TYPE: - data.put(headerInfo.fieldName, Convert.toFloat(rowData)); - break; - case BIG_DECIMAL_TYPE: - data.put(headerInfo.fieldName, Convert.toBigDecimal(rowData)); - break; - default: - throw new MyRuntimeException( - "Invalid ImportHeaderInfo.fieldType [" + headerInfo.fieldType + "]."); - } - } - resultList.add(data); - } - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private ImportUtil() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/IpUtil.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/IpUtil.java deleted file mode 100644 index f15bf98c..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/IpUtil.java +++ /dev/null @@ -1,142 +0,0 @@ -package com.orangeforms.common.core.util; - -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.springframework.http.server.reactive.ServerHttpRequest; - -import javax.servlet.http.HttpServletRequest; -import java.net.Inet6Address; -import java.net.InetAddress; -import java.net.NetworkInterface; -import java.net.SocketException; -import java.util.ArrayList; -import java.util.Enumeration; -import java.util.List; - -/** - * Ip工具类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -public class IpUtil { - - private static final String UNKNOWN = "unknown"; - - /** - * 通过Servlet的HttpRequest对象获取Ip地址。 - * - * @param request HttpRequest对象。 - * @return 本次请求的Ip地址。 - */ - public static String getRemoteIpAddress(HttpServletRequest request) { - String ip = null; - // X-Forwarded-For:Squid 服务代理 - String ipAddresses = request.getHeader("X-Forwarded-For"); - if (StringUtils.isBlank(ipAddresses) || UNKNOWN.equalsIgnoreCase(ipAddresses)) { - // Proxy-Client-IP:apache 服务代理 - ipAddresses = request.getHeader("Proxy-Client-IP"); - } - if (StringUtils.isBlank(ipAddresses) || UNKNOWN.equalsIgnoreCase(ipAddresses)) { - ipAddresses = request.getHeader("HTTP_X_FORWARDED_FOR"); - } - if (StringUtils.isBlank(ipAddresses) || UNKNOWN.equalsIgnoreCase(ipAddresses)) { - // WL-Proxy-Client-IP:weblogic 服务代理 - ipAddresses = request.getHeader("WL-Proxy-Client-IP"); - } - if (StringUtils.isBlank(ipAddresses) || UNKNOWN.equalsIgnoreCase(ipAddresses)) { - // HTTP_CLIENT_IP:有些代理服务器 - ipAddresses = request.getHeader("HTTP_CLIENT_IP"); - } - if (StringUtils.isBlank(ipAddresses) || UNKNOWN.equalsIgnoreCase(ipAddresses)) { - // X-Real-IP:nginx服务代理 - ipAddresses = request.getHeader("X-Real-IP"); - } - // 有些网络通过多层代理,那么获取到的ip就会有多个,一般都是通过逗号(,)分割开来,并且第一个ip为客户端的真实IP - if (StringUtils.isNotBlank(ipAddresses)) { - ip = ipAddresses.split(",")[0]; - } - // 还是不能获取到,最后再通过request.getRemoteAddr();获取 - if (StringUtils.isBlank(ipAddresses) || UNKNOWN.equalsIgnoreCase(ipAddresses)) { - ip = request.getRemoteAddr(); - } - return ip; - } - - /** - * 通过Reactive的ServerHttpRequest对象获取Ip地址。 - * - * @param request ServerHttpRequest对象。 - * @return 本次请求的Ip地址。 - */ - public static String getRemoteIpAddress(ServerHttpRequest request) { - String ip = null; - // X-Forwarded-For:Squid 服务代理 - String ipAddresses = request.getHeaders().getFirst("X-Forwarded-For"); - if (StringUtils.isBlank(ipAddresses) || UNKNOWN.equalsIgnoreCase(ipAddresses)) { - // Proxy-Client-IP:apache 服务代理 - ipAddresses = request.getHeaders().getFirst("Proxy-Client-IP"); - } - if (StringUtils.isBlank(ipAddresses) || UNKNOWN.equalsIgnoreCase(ipAddresses)) { - // WL-Proxy-Client-IP:weblogic 服务代理 - ipAddresses = request.getHeaders().getFirst("WL-Proxy-Client-IP"); - } - if (StringUtils.isBlank(ipAddresses) || UNKNOWN.equalsIgnoreCase(ipAddresses)) { - // HTTP_CLIENT_IP:有些代理服务器 - ipAddresses = request.getHeaders().getFirst("HTTP_CLIENT_IP"); - } - if (StringUtils.isBlank(ipAddresses) || UNKNOWN.equalsIgnoreCase(ipAddresses)) { - // X-Real-IP:nginx服务代理 - ipAddresses = request.getHeaders().getFirst("X-Real-IP"); - } - // 有些网络通过多层代理,那么获取到的ip就会有多个,一般都是通过逗号(,)分割开来,并且第一个ip为客户端的真实IP - if (StringUtils.isNotBlank(ipAddresses)) { - ip = ipAddresses.split(",")[0]; - } - // 还是不能获取到,最后再通过request.getRemoteAddr();获取 - if (StringUtils.isBlank(ipAddresses) || UNKNOWN.equalsIgnoreCase(ipAddresses)) { - ip = request.getRemoteAddress().getAddress().getHostAddress(); - } - return ip; - } - - public static String getFirstLocalIpAddress() { - String ip; - try { - List ipList = getHostAddress(); - // default the first - ip = (!ipList.isEmpty()) ? ipList.get(0) : ""; - } catch (Exception ex) { - ip = ""; - log.error("Failed to call ", ex); - } - return ip; - } - - private static List getHostAddress() throws SocketException { - List ipList = new ArrayList<>(5); - Enumeration interfaces = NetworkInterface.getNetworkInterfaces(); - while (interfaces.hasMoreElements()) { - NetworkInterface ni = interfaces.nextElement(); - Enumeration allAddress = ni.getInetAddresses(); - while (allAddress.hasMoreElements()) { - InetAddress address = allAddress.nextElement(); - // skip the IPv6 addr - // skip the IPv6 addr - if (address.isLoopbackAddress() || address instanceof Inet6Address) { - continue; - } - String hostAddress = address.getHostAddress(); - ipList.add(hostAddress); - } - } - return ipList; - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private IpUtil() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/JwtUtil.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/JwtUtil.java deleted file mode 100644 index 6b542ada..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/JwtUtil.java +++ /dev/null @@ -1,110 +0,0 @@ -package com.orangeforms.common.core.util; - -import io.jsonwebtoken.Claims; -import io.jsonwebtoken.Jwts; -import io.jsonwebtoken.SignatureAlgorithm; -import lombok.extern.slf4j.Slf4j; - -import java.util.Date; -import java.util.Map; - -/** - * 基于JWT的Token生成工具类 - * - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -public class JwtUtil { - - private static final String TOKEN_PREFIX = "Bearer "; - private static final String CLAIM_KEY_CREATEDTIME = "CreatedTime"; - - /** - * Token缺省过期时间是30分钟 - */ - private static final Long TOKEN_EXPIRATION = 1800000L; - /** - * 缺省情况下,Token会每5分钟被刷新一次 - */ - private static final Long REFRESH_TOKEN_INTERVAL = 300000L; - - /** - * 生成加密后的JWT令牌,生成的结果中包含令牌前缀,如"Bearer " - * - * @param claims 令牌中携带的数据 - * @param expirationMillisecond 过期的毫秒数 - * @return 生成后的令牌信息 - */ - public static String generateToken(Map claims, long expirationMillisecond, String signingKey) { - // 自动添加token的创建时间 - long createTime = System.currentTimeMillis(); - claims.put(CLAIM_KEY_CREATEDTIME, createTime); - String token = Jwts.builder() - .setClaims(claims) - .setExpiration(new Date(createTime + expirationMillisecond)) - .signWith(SignatureAlgorithm.HS512, signingKey) - .compact(); - return TOKEN_PREFIX + token; - } - - /** - * 生成加密后的JWT令牌,生成的结果中包含令牌前缀,如"Bearer " - * - * @param claims 令牌中携带的数据 - * @return 生成后的令牌信息 - */ - public static String generateToken(Map claims, String signingKey) { - return generateToken(claims, TOKEN_EXPIRATION, signingKey); - } - - /** - * 获取token中的数据对象 - * - * @param token 令牌信息(需要包含令牌前缀,如"Bearer ") - * @return 令牌中的数据对象,解析视频返回null。 - */ - public static Claims parseToken(String token, String signingKey) { - if (token == null || !token.startsWith(TOKEN_PREFIX)) { - return null; - } - String tokenKey = token.substring(TOKEN_PREFIX.length()); - Claims claims = null; - try { - claims = Jwts.parser().setSigningKey(signingKey).parseClaimsJws(tokenKey).getBody(); - } catch (Exception e) { - log.error("Token Expired", e); - } - return claims; - } - - /** - * 判断令牌是否过期 - * - * @param claims 令牌解密后的Map对象。 - * @return true 过期,否则false。 - */ - public static boolean isNullOrExpired(Claims claims) { - return claims == null || claims.getExpiration().before(new Date()); - } - - /** - * 判断解密后的Token payload是否需要被强制刷新,如果需要,则调用generateToken方法重新生成Token。 - * - * @param claims Token解密后payload数据 - * @return true 需要刷新,否则false - */ - public static boolean needToRefresh(Claims claims) { - if (claims == null) { - return false; - } - Long createTime = (Long) claims.get(CLAIM_KEY_CREATEDTIME); - return createTime == null || System.currentTimeMillis() - createTime > REFRESH_TOKEN_INTERVAL; - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private JwtUtil() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/LogMessageUtil.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/LogMessageUtil.java deleted file mode 100644 index 4e124a7e..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/LogMessageUtil.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.orangeforms.common.core.util; - -/** - * 拼接日志消息的工具类。 - * 主要目标是,尽量保证日志输出的统一性,同时也可以有效减少与日志信息相关的常量字符串, - * 提高代码的规范度和可维护性。 - * - * @author Jerry - * @date 2020-08-08 - */ -public class LogMessageUtil { - - /** - * RPC调用错误格式。 - */ - private static final String RPC_ERROR_MSG_FORMAT = "RPC Failed with Error message [%s]"; - - /** - * 组装RPC调用的错误信息。 - * - * @param errorMsg 具体的错误信息。 - * @return 格式化后的错误信息。 - */ - public static String makeRpcError(String errorMsg) { - return String.format(RPC_ERROR_MSG_FORMAT, errorMsg); - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private LogMessageUtil() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/MyCommonUtil.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/MyCommonUtil.java deleted file mode 100644 index dda30f70..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/MyCommonUtil.java +++ /dev/null @@ -1,313 +0,0 @@ -package com.orangeforms.common.core.util; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.ReflectUtil; -import cn.hutool.core.util.StrUtil; -import cn.hutool.crypto.digest.DigestUtil; -import com.alibaba.fastjson.JSON; -import com.orangeforms.common.core.constant.AppDeviceType; -import com.orangeforms.common.core.validator.AddGroup; -import com.orangeforms.common.core.validator.UpdateGroup; - -import javax.validation.ConstraintViolation; -import javax.validation.Validation; -import javax.validation.Validator; -import javax.validation.groups.Default; -import java.lang.reflect.Field; -import java.util.*; -import java.util.stream.Collectors; - -/** - * 脚手架中常用的基本工具方法集合,一般而言工程内部使用的方法。 - * - * @author Jerry - * @date 2020-08-08 - */ -public class MyCommonUtil { - - private static final Validator VALIDATOR; - - static { - VALIDATOR = Validation.buildDefaultValidatorFactory().getValidator(); - } - - /** - * 创建uuid。 - * - * @return 返回uuid。 - */ - public static String generateUuid() { - return UUID.randomUUID().toString().replace("-", ""); - } - - /** - * 对用户密码进行加盐后加密。 - * - * @param password 明文密码。 - * @param passwordSalt 盐值。 - * @return 加密后的密码。 - */ - public static String encrptedPassword(String password, String passwordSalt) { - return DigestUtil.md5Hex(password + passwordSalt); - } - - /** - * 这个方法一般用于Controller对于入口参数的基本验证。 - * 对于字符串,如果为空字符串,也将视为Blank,同时返回true。 - * - * @param objs 一组参数。 - * @return 返回是否存在null或空字符串的参数。 - */ - public static boolean existBlankArgument(Object...objs) { - for (Object obj : objs) { - if (MyCommonUtil.isBlankOrNull(obj)) { - return true; - } - } - return false; - } - - /** - * 结果和 existBlankArgument 相反。 - * - * @param objs 一组参数。 - * @return 返回是否存在null或空字符串的参数。 - */ - public static boolean existNotBlankArgument(Object...objs) { - for (Object obj : objs) { - if (!MyCommonUtil.isBlankOrNull(obj)) { - return true; - } - } - return false; - } - - /** - * 验证参数是否为空。 - * - * @param obj 待判断的参数。 - * @return 空或者null返回true,否则false。 - */ - public static boolean isBlankOrNull(Object obj) { - if (obj instanceof Collection) { - return CollUtil.isEmpty((Collection) obj); - } - return obj == null || (obj instanceof CharSequence && StrUtil.isBlank((CharSequence) obj)); - } - - /** - * 验证参数是否为非空。 - * - * @param obj 待判断的参数。 - * @return 空或者null返回false,否则true。 - */ - public static boolean isNotBlankOrNull(Object obj) { - return !isBlankOrNull(obj); - } - - /** - * 判断模型对象是否通过校验,没有通过返回具体的校验错误信息。 - * - * @param model 带校验的model。 - * @param groups Validate绑定的校验组。 - * @return 没有错误返回null,否则返回具体的错误信息。 - */ - public static String getModelValidationError(T model, Class...groups) { - if (model != null) { - Set> constraintViolations = VALIDATOR.validate(model, groups); - if (!constraintViolations.isEmpty()) { - Iterator> it = constraintViolations.iterator(); - ConstraintViolation constraint = it.next(); - return constraint.getMessage(); - } - } - return null; - } - - /** - * 判断模型对象是否通过校验,没有通过返回具体的校验错误信息。 - * - * @param model 带校验的model。 - * @param forUpdate 是否为更新。 - * @return 没有错误返回null,否则返回具体的错误信息。 - */ - public static String getModelValidationError(T model, boolean forUpdate) { - if (model != null) { - Set> constraintViolations; - if (forUpdate) { - constraintViolations = VALIDATOR.validate(model, Default.class, UpdateGroup.class); - } else { - constraintViolations = VALIDATOR.validate(model, Default.class, AddGroup.class); - } - if (!constraintViolations.isEmpty()) { - Iterator> it = constraintViolations.iterator(); - ConstraintViolation constraint = it.next(); - return constraint.getMessage(); - } - } - return null; - } - - /** - * 判断模型对象是否通过校验,没有通过返回具体的校验错误信息。 - * - * @param modelList 带校验的model列表。 - * @param groups Validate绑定的校验组。 - * @return 没有错误返回null,否则返回具体的错误信息。 - */ - public static String getModelValidationError(List modelList, Class... groups) { - if (CollUtil.isNotEmpty(modelList)) { - for (T model : modelList) { - String errorMessage = getModelValidationError(model, groups); - if (StrUtil.isNotBlank(errorMessage)) { - return errorMessage; - } - } - } - return null; - } - - /** - * 判断模型对象是否通过校验,没有通过返回具体的校验错误信息。 - * - * @param modelList 带校验的model列表。 - * @param forUpdate 是否为更新。 - * @return 没有错误返回null,否则返回具体的错误信息。 - */ - public static String getModelValidationError(List modelList, boolean forUpdate) { - if (CollUtil.isNotEmpty(modelList)) { - for (T model : modelList) { - String errorMessage = getModelValidationError(model, forUpdate); - if (StrUtil.isNotBlank(errorMessage)) { - return errorMessage; - } - } - } - return null; - } - - /** - * 拼接参数中的字符串列表,用指定分隔符进行分割,同时每个字符串对象用单引号括起来。 - * - * @param dataList 字符串集合。 - * @param separator 分隔符。 - * @return 拼接后的字符串。 - */ - public static String joinString(Collection dataList, final char separator) { - int index = 0; - StringBuilder sb = new StringBuilder(128); - for (String data : dataList) { - sb.append("'").append(data).append("'"); - if (index++ != dataList.size() - 1) { - sb.append(separator); - } - } - return sb.toString(); - } - - /** - * 将SQL Like中的通配符替换为字符本身的含义,以便于比较。 - * - * @param str 待替换的字符串。 - * @return 替换后的字符串。 - */ - public static String replaceSqlWildcard(String str) { - if (StrUtil.isBlank(str)) { - return str; - } - return StrUtil.replaceChars(StrUtil.replaceChars(str, "_", "\\_"), "%", "\\%"); - } - - /** - * 获取对象中,非空字段的名字列表。 - * - * @param object 数据对象。 - * @param clazz 数据对象的class类型。 - * @param 数据对象类型。 - * @return 数据对象中,值不为NULL的字段数组。 - */ - public static String[] getNotNullFieldNames(T object, Class clazz) { - Field[] fields = ReflectUtil.getFields(clazz); - List fieldNameList = Arrays.stream(fields) - .filter(f -> ReflectUtil.getFieldValue(object, f) != null) - .map(Field::getName).collect(Collectors.toList()); - if (CollUtil.isNotEmpty(fieldNameList)) { - return fieldNameList.toArray(new String[]{}); - } - return new String[]{}; - } - - /** - * 在调用分布式事务产生错误时,通过该方法可构建一对多关联插入错误的字符串。 - * - * @param clazz 服务实现类的Class。 - * @param errorMessage 错误信息。 - * @param mainData 主数据。 - * @param relationData 一对多关联数据列表。 - * @param 主数据类型。 - * @param 一对多关联对象类型。 - * @return 拼接后的错误信息。 - */ - public static String makeAddRelationGlobalTransError( - Class clazz, String errorMessage, M mainData, List relationData) { - return String.format("Failed to remote call {%s} cascadeAddRelationList for error {%s} with main data {%s} and OneToMany relation data {%s}", - clazz.getSimpleName(), errorMessage, JSON.toJSONString(mainData), JSON.toJSONString(relationData)); - } - - /** - * 在调用分布式事务产生错误时,通过该方法可构建一对一关联插入错误的字符串。 - * - * @param clazz 服务实现类的Class。 - * @param errorMessage 错误信息。 - * @param mainData 主数据。 - * @param relationData 一对一关联数据列表。 - * @param 主数据类型。 - * @param 一对一关联对象类型。 - * @return 拼接后的错误信息。 - */ - public static String makeAddRelationGlobalTransError( - Class clazz, String errorMessage, M mainData, R relationData) { - return String.format("Failed to remote call {%s} cascadeAddRelation for error {%s} with main data {%s} and OneToOne relation data {%s}", - clazz.getSimpleName(), errorMessage, JSON.toJSONString(mainData), JSON.toJSONString(relationData)); - } - - /** - * 在调用分布式事务产生错误时,通过该方法可构建删除关联数据错误的字符串。 - * - * @param clazz 服务实现类的Class。 - * @param remoteClazz 远程客户端的Class。 - * @param errorMessage 错误信息。 - * @param id 主表主键值。 - * @param 主表主键类型。 - * @return 拼接后的错误信息。 - */ - public static String makeDeleteRelationGlobalTransError( - Class clazz, Class remoteClazz, String errorMessage, K id) { - return String.format("Failed to remote call {%s} cascadeDeleteRelation for error {%s} with remote client {%s} and id {%s}", - clazz.getSimpleName(), remoteClazz.getSimpleName(), errorMessage, id.toString()); - } - - /** - * 获取请求头中的设备信息。 - * - * @return 设备类型,具体值可参考AppDeviceType常量类。 - */ - public static int getDeviceType() { - // 缺省都按照Web登录方式设置,如果前端header中的值为不合法值,这里也不会报错,而是使用Web缺省方式。 - int deviceType = AppDeviceType.WEB; - String deviceTypeString = ContextUtil.getHttpRequest().getHeader("deviceType"); - if (StrUtil.isNotBlank(deviceTypeString)) { - Integer type = Integer.valueOf(deviceTypeString); - if (AppDeviceType.isValid(type)) { - deviceType = type; - } - } - return deviceType; - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private MyCommonUtil() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/MyDateUtil.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/MyDateUtil.java deleted file mode 100644 index a7c46ab4..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/MyDateUtil.java +++ /dev/null @@ -1,201 +0,0 @@ -package com.orangeforms.common.core.util; - -import com.orangeforms.common.core.object.Tuple2; -import org.apache.commons.lang3.time.DateUtils; -import org.joda.time.DateTime; -import org.joda.time.Period; -import org.joda.time.format.DateTimeFormat; -import org.joda.time.format.DateTimeFormatter; - -import java.util.Calendar; -import java.util.Date; - -import static org.joda.time.PeriodType.days; - -/** - * 日期工具类,主要封装了部分joda-time中的方法,让很多代码一行完成,同时统一了日期到字符串的pattern格式。 - * - * @author Jerry - * @date 2020-08-08 - */ -public class MyDateUtil { - - /** - * 统一的日期pattern,今后可以根据自己的需求去修改。 - */ - public static final String COMMON_DATE_FORMAT = "yyyy-MM-dd"; - /** - * 统一的日期时间pattern,今后可以根据自己的需求去修改。 - */ - public static final String COMMON_DATETIME_FORMAT = "yyyy-MM-dd HH:mm:ss.SSS"; - /** - * 统一的短日期时间pattern,今后可以根据自己的需求去修改。 - */ - public static final String COMMON_SHORT_DATETIME_FORMAT = "yyyy-MM-dd HH:mm:ss"; - /** - * 缺省日期格式化器,提前获取提升运行时效率。 - */ - private static final DateTimeFormatter DATE_PARSE_FORMATTER = - DateTimeFormat.forPattern(MyDateUtil.COMMON_DATE_FORMAT); - /** - * 缺省日期时间格式化器,提前获取提升运行时效率。 - */ - private static final DateTimeFormatter DATETIME_PARSE_FORMATTER = - DateTimeFormat.forPattern(MyDateUtil.COMMON_DATETIME_FORMAT); - - /** - * 缺省短日期时间格式化器,提前获取提升运行时效率。 - */ - private static final DateTimeFormatter DATETIME_SHORT_PARSE_FORMATTER = - DateTimeFormat.forPattern(MyDateUtil.COMMON_SHORT_DATETIME_FORMAT); - - /** - * 获取一天的开始时间的字符串格式,如2019-08-03 00:00:00.000。 - * - * @param dateTime 待格式化的日期时间对象。 - * @return 格式化后的字符串。 - */ - public static String getBeginTimeOfDay(DateTime dateTime) { - return dateTime.withTimeAtStartOfDay().toString(COMMON_DATETIME_FORMAT); - } - - /** - * 获取一天的结束时间的字符串格式,如2019-08-03 23:59:59.999。 - * - * @param dateTime 待格式化的日期时间对象。 - * @return 格式化后的字符串。 - */ - public static String getEndTimeOfDay(DateTime dateTime) { - return dateTime.withTime(23, 59, 59, 999).toString(COMMON_DATETIME_FORMAT); - } - - /** - * 获取一天中的开始时间和结束时间的字符串格式,如2019-08-03 00:00:00.000 和 2019-08-03 23:59:59.999。 - * - * @param dateTime 待格式化的日期时间对象。 - * @return 包含格式后字符串的二元组对象。 - */ - public static Tuple2 getDateTimeRangeOfDay(DateTime dateTime) { - return new Tuple2<>(getBeginTimeOfDay(dateTime), getEndTimeOfDay(dateTime)); - } - - /** - * 获取本月第一天的日期格式。如2019-08-01。 - * - * @param dateTime 待格式化的日期对象。 - * @return 格式化后的字符串。 - */ - public static String getBeginDateOfMonth(DateTime dateTime) { - return dateTime.withDayOfMonth(1).toString(COMMON_DATE_FORMAT); - } - - /** - * 获取本月第一天的日期格式。如2019-08-01。 - * - * @param dateString 待格式化的日期字符串对象。 - * @return 格式化后的字符串。 - */ - public static String getBeginDateOfMonth(String dateString) { - DateTime dateTime = toDate(dateString); - return dateTime.withDayOfMonth(1).toString(COMMON_DATE_FORMAT); - } - - /** - * 计算指定日期距离今天相差的天数。 - * - * @param dateTime 待格式化的日期时间对象。 - * @return 相差天数。 - */ - public static int getDayDiffToNow(DateTime dateTime) { - return new Period(dateTime, new DateTime(), days()).getDays(); - } - - /** - * 将日期对象格式化为缺省的字符串格式。 - * - * @param dateTime 待格式化的日期对象。 - * @return 格式化后的字符串。 - */ - public static String toDateString(DateTime dateTime) { - return dateTime.toString(COMMON_DATE_FORMAT); - } - - /** - * 将日期时间对象格式化为缺省的字符串格式。 - * - * @param dateTime 待格式化的日期对象。 - * @return 格式化后的字符串。 - */ - public static String toDateTimeString(DateTime dateTime) { - return dateTime.toString(COMMON_DATETIME_FORMAT); - } - - /** - * 将缺省格式的日期字符串解析为日期对象。 - * - * @param dateString 待解析的字符串。 - * @return 解析后的日期对象。 - */ - public static DateTime toDate(String dateString) { - return DATE_PARSE_FORMATTER.parseDateTime(dateString); - } - - /** - * 将缺省格式的日期字符串解析为日期对象。 - * - * @param dateTimeString 待解析的字符串。 - * @return 解析后的日期对象。 - */ - public static DateTime toDateTime(String dateTimeString) { - return DATETIME_PARSE_FORMATTER.parseDateTime(dateTimeString); - } - - /** - * 将缺省格式的(不包含毫秒的)日期时间字符串解析为日期对象。 - * - * @param dateTimeString 待解析的字符串。 - * @return 解析后的日期对象。 - */ - public static DateTime toDateTimeWithoutMs(String dateTimeString) { - return DATETIME_SHORT_PARSE_FORMATTER.parseDateTime(dateTimeString); - } - - /** - * 截取时间到天。如2019-10-03 01:20:30 转换为 2019-10-03 00:00:00。 - * 由于没有字符串的中间转换,因此效率更高。 - * - * @param date 待截取日期对象。 - * @return 转换后日期对象。 - */ - public static Date truncateToDay(Date date) { - return DateUtils.truncate(date, Calendar.DAY_OF_MONTH); - } - - /** - * 截取时间到月。如2019-10-03 01:20:30 转换为 2019-10-01 00:00:00。 - * 由于没有字符串的中间转换,因此效率更高。 - * - * @param date 待截取日期对象。 - * @return 转换后日期对象。 - */ - public static Date truncateToMonth(Date date) { - return DateUtils.truncate(date, Calendar.MONTH); - } - - /** - * 截取时间到年。如2019-10-03 01:20:30 转换为 2019-01-01 00:00:00。 - * 由于没有字符串的中间转换,因此效率更高。 - * - * @param date 待截取日期对象。 - * @return 转换后日期对象。 - */ - public static Date truncateToYear(Date date) { - return DateUtils.truncate(date, Calendar.YEAR); - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private MyDateUtil() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/MyModelUtil.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/MyModelUtil.java deleted file mode 100644 index 31596c69..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/MyModelUtil.java +++ /dev/null @@ -1,785 +0,0 @@ -package com.orangeforms.common.core.util; - -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.util.ReflectUtil; -import com.alibaba.fastjson.JSON; -import com.baomidou.mybatisplus.annotation.*; -import com.orangeforms.common.core.exception.InvalidDataFieldException; -import com.orangeforms.common.core.annotation.*; -import com.orangeforms.common.core.exception.MyRuntimeException; -import com.orangeforms.common.core.object.TokenData; -import com.orangeforms.common.core.object.Tuple2; -import com.orangeforms.common.core.upload.UploadResponseInfo; -import com.orangeforms.common.core.upload.UploadStoreInfo; -import com.google.common.base.CaseFormat; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.collections4.MapUtils; -import org.apache.commons.lang3.StringUtils; - -import java.lang.reflect.Field; -import java.util.*; -import java.util.concurrent.ConcurrentHashMap; -import java.util.function.Function; -import java.util.stream.Collectors; - -/** - * 负责Model数据操作、类型转换和关系关联等行为的工具类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -public class MyModelUtil { - - /** - * 数值型字段。 - */ - public static final Integer NUMERIC_FIELD_TYPE = 0; - /** - * 字符型字段。 - */ - public static final Integer STRING_FIELD_TYPE = 1; - /** - * 日期型字段。 - */ - public static final Integer DATE_FIELD_TYPE = 2; - /** - * 整个工程的实体对象中,创建者Id字段的Java对象名。 - */ - public static final String CREATE_USER_ID_FIELD_NAME = "createUserId"; - /** - * 整个工程的实体对象中,创建时间字段的Java对象名。 - */ - public static final String CREATE_TIME_FIELD_NAME = "createTime"; - /** - * 整个工程的实体对象中,更新者Id字段的Java对象名。 - */ - public static final String UPDATE_USER_ID_FIELD_NAME = "updateUserId"; - /** - * 整个工程的实体对象中,更新时间字段的Java对象名。 - */ - public static final String UPDATE_TIME_FIELD_NAME = "updateTime"; - /** - * mapToColumnName和mapToColumnInfo使用的缓存。 - */ - private static final Map> CACHED_COLUMNINFO_MAP = new ConcurrentHashMap<>(); - - /** - * 将Bean的数据列表转换为Map列表。 - * - * @param dataList Bean数据列表。 - * @param Bean对象类型。 - * @return 转换后的Map列表。 - */ - public static List> beanToMapList(List dataList) { - if (CollectionUtils.isEmpty(dataList)) { - return new LinkedList<>(); - } - List> resultList = new LinkedList<>(); - dataList.forEach(data -> resultList.add(BeanUtil.beanToMap(data))); - return resultList; - } - - /** - * 将Map的数据列表转换为Bean列表。 - * - * @param dataList Map数据列表。 - * @param Bean对象类型。 - * @return 转换后的Bean对象列表。 - */ - public static List mapToBeanList(List> dataList, Class clazz) { - if (CollectionUtils.isEmpty(dataList)) { - return new LinkedList<>(); - } - List resultList = new LinkedList<>(); - dataList.forEach(data -> resultList.add(BeanUtil.toBeanIgnoreError(data, clazz))); - return resultList; - } - - /** - * 拷贝源类型的集合数据到目标类型的集合中,其中源类型和目标类型中的对象字段类型完全相同。 - * NOTE: 该函数主要应用于框架中,Dto和Model之间的copy,特别针对一对一关联的深度copy。 - * 在Dto中,一对一对象可以使用Map来表示,而不需要使用从表对象的Dto。 - * - * @param sourceCollection 源类型集合。 - * @param targetClazz 目标类型的Class对象。 - * @param 源类型。 - * @param 目标类型。 - * @return copy后的目标类型对象集合。 - */ - public static List copyCollectionTo(Collection sourceCollection, Class targetClazz) { - if (sourceCollection == null) { - return null; - } - List targetList = new LinkedList<>(); - if (CollectionUtils.isNotEmpty(sourceCollection)) { - for (S source : sourceCollection) { - try { - T target = targetClazz.newInstance(); - BeanUtil.copyProperties(source, target); - targetList.add(target); - } catch (Exception e) { - log.error("Failed to call MyModelUtil.copyCollectionTo", e); - return Collections.emptyList(); - } - } - } - return targetList; - } - - /** - * 拷贝源类型的对象数据到目标类型的对象中,其中源类型和目标类型中的对象字段类型完全相同。 - * NOTE: 该函数主要应用于框架中,Dto和Model之间的copy,特别针对一对一关联的深度copy。 - * 在Dto中,一对一对象可以使用Map来表示,而不需要使用从表对象的Dto。 - * - * @param source 源类型对象。 - * @param targetClazz 目标类型的Class对象。 - * @param 源类型。 - * @param 目标类型。 - * @return copy后的目标类型对象。 - */ - public static T copyTo(S source, Class targetClazz) { - if (source == null) { - return null; - } - try { - T target = targetClazz.newInstance(); - BeanUtil.copyProperties(source, target); - return target; - } catch (Exception e) { - log.error("Failed to call MyModelUtil.copyTo", e); - return null; - } - } - - /** - * 映射Model对象的字段反射对象,获取与该字段对应的数据库列名称。 - * - * @param field 字段反射对象。 - * @param modelClazz Model对象的Class类。 - * @return 该字段所对应的数据表列名称。 - */ - public static String mapToColumnName(Field field, Class modelClazz) { - return mapToColumnName(field.getName(), modelClazz); - } - - /** - * 映射Model对象的字段名称,获取与该字段对应的数据库列名称。 - * - * @param fieldName 字段名称。 - * @param modelClazz Model对象的Class类。 - * @return 该字段所对应的数据表列名称。 - */ - public static String mapToColumnName(String fieldName, Class modelClazz) { - Tuple2 columnInfo = mapToColumnInfo(fieldName, modelClazz); - return columnInfo == null ? null : columnInfo.getFirst(); - } - - /** - * 映射Model对象的字段反射对象,获取与该字段对应的数据库列名称。 - * 如果没有匹配到ColumnName,则立刻抛出异常。 - * - * @param field 字段反射对象。 - * @param modelClazz Model对象的Class类。 - * @return 该字段所对应的数据表列名称。 - */ - public static String safeMapToColumnName(Field field, Class modelClazz) { - return safeMapToColumnName(field.getName(), modelClazz); - } - - /** - * 映射Model对象的字段名称,获取与该字段对应的数据库列名称。 - * 如果没有匹配到ColumnName,则立刻抛出异常。 - * - * @param fieldName 字段名称。 - * @param modelClazz Model对象的Class类。 - * @return 该字段所对应的数据表列名称。 - */ - public static String safeMapToColumnName(String fieldName, Class modelClazz) { - String columnName = mapToColumnName(fieldName, modelClazz); - if (columnName == null) { - throw new InvalidDataFieldException(modelClazz.getSimpleName(), fieldName); - } - return columnName; - } - - /** - * 映射Model对象的字段名称,获取与该字段对应的数据库列名称和字段类型。 - * - * @param fieldName 字段名称。 - * @param modelClazz Model对象的Class类。 - * @return 该字段所对应的数据表列名称和Java字段类型。 - */ - public static Tuple2 mapToColumnInfo(String fieldName, Class modelClazz) { - if (StringUtils.isBlank(fieldName)) { - return null; - } - StringBuilder sb = new StringBuilder(128); - sb.append(modelClazz.getName()).append("-#-").append(fieldName); - Tuple2 columnInfo = CACHED_COLUMNINFO_MAP.get(sb.toString()); - if (columnInfo == null) { - Field field = ReflectUtil.getField(modelClazz, fieldName); - if (field == null) { - return null; - } - TableField c = field.getAnnotation(TableField.class); - String columnName = null; - if (c == null) { - TableId id = field.getAnnotation(TableId.class); - if (id != null) { - columnName = id.value(); - } - } - if (columnName == null) { - columnName = c == null ? CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, fieldName) : c.value(); - if (StringUtils.isBlank(columnName)) { - columnName = CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, fieldName); - } - } - // 这里缺省情况下都是按照整型去处理,因为他覆盖太多的类型了。 - // 如Integer/Long/Double/BigDecimal,可根据实际情况完善和扩充。 - String typeName = field.getType().getSimpleName(); - Integer type = NUMERIC_FIELD_TYPE; - if (String.class.getSimpleName().equals(typeName)) { - type = STRING_FIELD_TYPE; - } else if (Date.class.getSimpleName().equals(typeName)) { - type = DATE_FIELD_TYPE; - } - columnInfo = new Tuple2<>(columnName, type); - CACHED_COLUMNINFO_MAP.put(sb.toString(), columnInfo); - } - return columnInfo; - } - - /** - * 映射Model主对象的Class名称,到Model所对应的表名称。 - * - * @param modelClazz Model主对象的Class。 - * @return Model对象对应的数据表名称。 - */ - public static String mapToTableName(Class modelClazz) { - TableName t = modelClazz.getAnnotation(TableName.class); - return t == null ? null : t.value(); - } - - /** - * 根据参数中的数据列表和字段提取函数,封装stream api的方式返回指定字段的数据。 - * - * @param dataList 数据对象列表。 - * @param fieldGetterFunc 字段获取函数。 - * @param 数据对象类型。 - * @param 返回字段类型。 - * @return 指定字段Set集合。 - */ - public static Set retrieveFieldSet(Collection dataList, Function fieldGetterFunc) { - return dataList.stream().map(fieldGetterFunc).collect(Collectors.toSet()); - } - - /** - * 主Model类型中,遍历所有包含RelationConstDict注解的字段,并将关联的静态字典中的数据, - * 填充到thisModel对象的被注解字段中。 - * - * @param thisClazz 主对象的Class对象。 - * @param thisModel 主对象。 - * @param 主表对象类型。 - */ - @SuppressWarnings("unchecked") - public static void makeConstDictRelation(Class thisClazz, T thisModel) { - if (thisModel == null) { - return; - } - Field[] fields = ReflectUtil.getFields(thisClazz); - for (Field field : fields) { - // 这里不做任何空值判断,从而让配置错误在调试期间即可抛出 - Field thisTargetField = ReflectUtil.getField(thisClazz, field.getName()); - RelationConstDict r = thisTargetField.getAnnotation(RelationConstDict.class); - if (r == null) { - continue; - } - Field dictMapField = ReflectUtil.getField(r.constantDictClass(), "DICT_MAP"); - Map dictMap = - (Map) ReflectUtil.getFieldValue(r.constantDictClass(), dictMapField); - Object id = ReflectUtil.getFieldValue(thisModel, r.masterIdField()); - if (id != null) { - String name = dictMap.get(id); - if (name != null) { - Map m = new HashMap<>(2); - m.put("id", id); - m.put("name", name); - ReflectUtil.setFieldValue(thisModel, thisTargetField, m); - } - } - } - } - - /** - * 主Model类型中,遍历所有包含RelationConstDict注解的字段,并将关联的静态字典中的数据, - * 填充到thisModelList集合元素对象的被注解字段中。 - * - * @param thisClazz 主对象的Class对象。 - * @param thisModelList 主对象列表。 - * @param 主表对象类型。 - */ - @SuppressWarnings("unchecked") - public static void makeConstDictRelation(Class thisClazz, List thisModelList) { - if (CollectionUtils.isEmpty(thisModelList)) { - return; - } - Field[] fields = ReflectUtil.getFields(thisClazz); - for (Field field : fields) { - // 这里不做任何空值判断,从而让配置错误在调试期间即可抛出 - Field thisTargetField = ReflectUtil.getField(thisClazz, field.getName()); - RelationConstDict r = thisTargetField.getAnnotation(RelationConstDict.class); - if (r == null) { - continue; - } - Field dictMapField = ReflectUtil.getField(r.constantDictClass(), "DICT_MAP"); - Map dictMap = - (Map) ReflectUtil.getFieldValue(r.constantDictClass(), dictMapField); - for (T thisModel : thisModelList) { - if (thisModel == null) { - continue; - } - Object id = ReflectUtil.getFieldValue(thisModel, r.masterIdField()); - if (id != null) { - String name = dictMap.get(id); - if (name != null) { - Map m = new HashMap<>(2); - m.put("id", id); - m.put("name", name); - ReflectUtil.setFieldValue(thisModel, thisTargetField, m); - } - } - } - } - } - - /** - * 在主Model类型中,根据thisRelationField字段的RelationDict注解参数,将被关联对象thatModel中的数据, - * 关联到thisModel对象的thisRelationField字段中。 - * - * @param thisClazz 主对象的Class对象。 - * @param thisModel 主对象。 - * @param thatModel 字典关联对象。 - * @param thisRelationField 主表对象中保存被关联对象的字段名称。 - * @param 主表对象类型。 - * @param 从表对象类型。 - */ - public static void makeDictRelation( - Class thisClazz, T thisModel, R thatModel, String thisRelationField) { - if (thatModel == null || thisModel == null) { - return; - } - // 这里不做任何空值判断,从而让配置错误在调试期间即可抛出 - Field thisTargetField = ReflectUtil.getField(thisClazz, thisRelationField); - RelationDict r = thisTargetField.getAnnotation(RelationDict.class); - Class thatClass = r.slaveModelClass(); - Field slaveIdField = ReflectUtil.getField(thatClass, r.slaveIdField()); - Field slaveNameField = ReflectUtil.getField(thatClass, r.slaveNameField()); - Map m = new HashMap<>(2); - m.put("id", ReflectUtil.getFieldValue(thatModel, slaveIdField)); - m.put("name", ReflectUtil.getFieldValue(thatModel, slaveNameField)); - ReflectUtil.setFieldValue(thisModel, thisTargetField, m); - } - - /** - * 在主Model类型中,根据thisRelationField字段的RelationDict注解参数,将被关联对象集合thatModelList中的数据, - * 逐个关联到thisModelList每一个元素的thisRelationField字段中。 - * - * @param thisClazz 主对象的Class对象。 - * @param thisModelList 主对象列表。 - * @param thatModelList 字典关联对象列表集合。 - * @param thisRelationField 主表对象中保存被关联对象的字段名称。 - * @param 主表对象类型。 - * @param 从表对象类型。 - */ - public static void makeDictRelation( - Class thisClazz, List thisModelList, List thatModelList, String thisRelationField) { - if (CollectionUtils.isEmpty(thatModelList) - || CollectionUtils.isEmpty(thisModelList)) { - return; - } - // 这里不做任何空值判断,从而让配置错误在调试期间即可抛出 - Field thisTargetField = ReflectUtil.getField(thisClazz, thisRelationField); - RelationDict r = thisTargetField.getAnnotation(RelationDict.class); - Field masterIdField = ReflectUtil.getField(thisClazz, r.masterIdField()); - Class thatClass = r.slaveModelClass(); - Field slaveIdField = ReflectUtil.getField(thatClass, r.slaveIdField()); - Field slaveNameField = ReflectUtil.getField(thatClass, r.slaveNameField()); - Map thatMap = new HashMap<>(20); - thatModelList.forEach(thatModel -> { - Object id = ReflectUtil.getFieldValue(thatModel, slaveIdField); - thatMap.put(id, thatModel); - }); - thisModelList.forEach(thisModel -> { - if (thisModel != null) { - Object id = ReflectUtil.getFieldValue(thisModel, masterIdField); - R thatModel = thatMap.get(id); - if (thatModel != null) { - Map m = new HashMap<>(4); - m.put("id", id); - m.put("name", ReflectUtil.getFieldValue(thatModel, slaveNameField)); - ReflectUtil.setFieldValue(thisModel, thisTargetField, m); - } - } - }); - } - - /** - * 在主Model类型中,根据thisRelationField字段的RelationDict注解参数,将被关联对象集合thatModelMap中的数据, - * 逐个关联到thisModelList每一个元素的thisRelationField字段中。 - * 该函数之所以使用Map,主要出于性能优化考虑,在连续使用thatModelMap进行关联时,有效的避免了从多次从List转换到Map的过程。 - * - * @param thisClazz 主对象的Class对象。 - * @param thisModelList 主对象列表。 - * @param thatMadelMap 字典关联对象映射集合。 - * @param thisRelationField 主表对象中保存被关联对象的字段名称。 - * @param 主表对象类型。 - * @param 从表对象类型。 - */ - public static void makeDictRelation( - Class thisClazz, List thisModelList, Map thatMadelMap, String thisRelationField) { - if (MapUtils.isEmpty(thatMadelMap) - || CollectionUtils.isEmpty(thisModelList)) { - return; - } - // 这里不做任何空值判断,从而让配置错误在调试期间即可抛出 - Field thisTargetField = ReflectUtil.getField(thisClazz, thisRelationField); - RelationDict r = thisTargetField.getAnnotation(RelationDict.class); - Field masterIdField = ReflectUtil.getField(thisClazz, r.masterIdField()); - Class thatClass = r.slaveModelClass(); - Field slaveNameField = ReflectUtil.getField(thatClass, r.slaveNameField()); - thisModelList.forEach(thisModel -> { - if (thisModel != null) { - Object id = ReflectUtil.getFieldValue(thisModel, masterIdField); - R thatModel = thatMadelMap.get(id); - if (thatModel != null) { - Map m = new HashMap<>(4); - m.put("id", id); - m.put("name", ReflectUtil.getFieldValue(thatModel, slaveNameField)); - ReflectUtil.setFieldValue(thisModel, thisTargetField, m); - } - } - }); - } - - /** - * 在主Model类型中,根据thisRelationField字段的RelationOneToOne注解参数,将被关联对象列表thatModelList中的数据, - * 逐个关联到thisModelList每一个元素的thisRelationField字段中。 - * - * @param thisClazz 主对象的Class对象。 - * @param thisModelList 主对象列表。 - * @param thatModelList 一对一关联对象列表。 - * @param thisRelationField 主表对象中保存被关联对象的字段名称。 - * @param 主表对象类型。 - * @param 从表对象类型。 - */ - public static void makeOneToOneRelation( - Class thisClazz, List thisModelList, List thatModelList, String thisRelationField) { - if (CollectionUtils.isEmpty(thatModelList) - || CollectionUtils.isEmpty(thisModelList)) { - return; - } - // 这里不做任何空值判断,从而让配置错误在调试期间即可抛出 - Field thisTargetField = ReflectUtil.getField(thisClazz, thisRelationField); - RelationOneToOne r = thisTargetField.getAnnotation(RelationOneToOne.class); - Field masterIdField = ReflectUtil.getField(thisClazz, r.masterIdField()); - Class thatClass = r.slaveModelClass(); - Field slaveIdField = ReflectUtil.getField(thatClass, r.slaveIdField()); - Map thatMap = new HashMap<>(20); - thatModelList.forEach(thatModel -> { - Object id = ReflectUtil.getFieldValue(thatModel, slaveIdField); - thatMap.put(id, thatModel); - }); - // 判断放在循环的外部,提升一点儿效率。 - if (thisTargetField.getType().equals(Map.class)) { - thisModelList.forEach(thisModel -> { - Object id = ReflectUtil.getFieldValue(thisModel, masterIdField); - R thatModel = thatMap.get(id); - if (thatModel != null) { - ReflectUtil.setFieldValue(thisModel, thisTargetField, BeanUtil.beanToMap(thatModel)); - } - }); - } else { - thisModelList.forEach(thisModel -> { - Object id = ReflectUtil.getFieldValue(thisModel, masterIdField); - R thatModel = thatMap.get(id); - if (thatModel != null) { - ReflectUtil.setFieldValue(thisModel, thisTargetField, thatModel); - } - }); - } - } - - /** - * 根据主对象和关联对象各自的关联Id函数,将主对象列表和关联对象列表中的数据关联到一起,并将关联对象 - * 设置到主对象的指定关联字段中。 - * NOTE: 用于主对象关联字段中,没有包含RelationOneToOne注解的场景。 - * - * @param thisClazz 主对象的Class对象。 - * @param thisModelList 主对象列表。 - * @param thisIdGetterFunc 主对象Id的Getter函数。 - * @param thatModelList 关联对象列表。 - * @param thatIdGetterFunc 关联对象Id的Getter函数。 - * @param thisRelationField 主对象中保存被关联对象的字段名称。 - * @param 主表对象类型。 - * @param 从表对象类型。 - */ - public static void makeOneToOneRelation( - Class thisClazz, - List thisModelList, - Function thisIdGetterFunc, - List thatModelList, - Function thatIdGetterFunc, - String thisRelationField) { - makeOneToOneRelation(thisClazz, thisModelList, - thisIdGetterFunc, thatModelList, thatIdGetterFunc, thisRelationField, false); - } - - /** - * 根据主对象和关联对象各自的关联Id函数,将主对象列表和关联对象列表中的数据关联到一起,并将关联对象 - * 设置到主对象的指定关联字段中。 - * NOTE: 用于主对象关联字段中,没有包含RelationOneToOne注解的场景。 - * - * @param thisClazz 主对象的Class对象。 - * @param thisModelList 主对象列表。 - * @param thisIdGetterFunc 主对象Id的Getter函数。 - * @param thatModelList 关联对象列表。 - * @param thatIdGetterFunc 关联对象Id的Getter函数。 - * @param thisRelationField 主对象中保存被关联对象的字段名称。 - * @param orderByThatList 如果为true,则按照ThatModelList的顺序输出。同时thisModelList被排序后的新列表替换。 - * @param 主表对象类型。 - * @param 从表对象类型。 - */ - public static void makeOneToOneRelation( - Class thisClazz, - List thisModelList, - Function thisIdGetterFunc, - List thatModelList, - Function thatIdGetterFunc, - String thisRelationField, - boolean orderByThatList) { - if (CollectionUtils.isEmpty(thisModelList)) { - return; - } - Field thisTargetField = ReflectUtil.getField(thisClazz, thisRelationField); - boolean isMap = thisTargetField.getType().equals(Map.class); - if (orderByThatList) { - List newThisModelList = new LinkedList<>(); - Map thisModelMap = - thisModelList.stream().collect(Collectors.toMap(thisIdGetterFunc, c -> c)); - thatModelList.forEach(thatModel -> { - Object thatId = thatIdGetterFunc.apply(thatModel); - T thisModel = thisModelMap.get(thatId); - if (thisModel != null) { - ReflectUtil.setFieldValue(thisModel, thisTargetField, normalize(isMap, thatModel)); - newThisModelList.add(thisModel); - } - }); - thisModelList.clear(); - thisModelList.addAll(newThisModelList); - } else { - Map thatMadelMap = - thatModelList.stream().collect(Collectors.toMap(thatIdGetterFunc, c -> c)); - thisModelList.forEach(thisModel -> { - Object thisId = thisIdGetterFunc.apply(thisModel); - R thatModel = thatMadelMap.get(thisId); - if (thatModel != null) { - ReflectUtil.setFieldValue(thisModel, thisTargetField, normalize(isMap, thatModel)); - } - }); - } - } - - /** - * 在主Model类型中,根据thisRelationField字段的RelationOneToMany注解参数,将被关联对象列表thatModelList中的数据, - * 逐个关联到thisModelList每一个元素的thisRelationField字段中。 - * - * @param thisClazz 主对象的Class对象。 - * @param thisModelList 主对象列表。 - * @param thatModelList 一对多关联对象列表。 - * @param thisRelationField 主表对象中保存被关联对象的字段名称。 - * @param 主表对象类型。 - * @param 从表对象类型。 - */ - public static void makeOneToManyRelation( - Class thisClazz, List thisModelList, List thatModelList, String thisRelationField) { - if (CollectionUtils.isEmpty(thatModelList) || CollectionUtils.isEmpty(thisModelList)) { - return; - } - // 这里不做任何空值判断,从而让配置错误在调试期间即可抛出 - Field thisTargetField = ReflectUtil.getField(thisClazz, thisRelationField); - RelationOneToMany r = thisTargetField.getAnnotation(RelationOneToMany.class); - Field masterIdField = ReflectUtil.getField(thisClazz, r.masterIdField()); - Class thatClass = r.slaveModelClass(); - Field slaveIdField = ReflectUtil.getField(thatClass, r.slaveIdField()); - Map> thatMap = new HashMap<>(20); - thatModelList.forEach(thatModel -> { - Object id = ReflectUtil.getFieldValue(thatModel, slaveIdField); - List thatModelSubList = thatMap.computeIfAbsent(id, k -> new LinkedList<>()); - thatModelSubList.add(thatModel); - }); - thisModelList.forEach(thisModel -> { - Object id = ReflectUtil.getFieldValue(thisModel, masterIdField); - List thatModel = thatMap.get(id); - if (thatModel != null) { - ReflectUtil.setFieldValue(thisModel, thisTargetField, thatModel); - } - }); - } - - private static Object normalize(boolean isMap, M model) { - return isMap ? BeanUtil.beanToMap(model) : model; - } - - /** - * 获取上传字段的存储信息。 - * - * @param modelClass model的class对象。 - * @param uploadFieldName 上传字段名。 - * @param model的类型。 - * @return 字段的上传存储信息对象。该值始终不会返回null。 - */ - public static UploadStoreInfo getUploadStoreInfo(Class modelClass, String uploadFieldName) { - UploadStoreInfo uploadStoreInfo = new UploadStoreInfo(); - Field uploadField = ReflectUtil.getField(modelClass, uploadFieldName); - if (uploadField == null) { - throw new UnsupportedOperationException("The Field [" - + uploadFieldName + "] doesn't exist in Model [" + modelClass.getSimpleName() + "]."); - } - uploadStoreInfo.setSupportUpload(false); - UploadFlagColumn anno = uploadField.getAnnotation(UploadFlagColumn.class); - if (anno != null) { - uploadStoreInfo.setSupportUpload(true); - uploadStoreInfo.setStoreType(anno.storeType()); - } - return uploadStoreInfo; - } - - /** - * 在插入实体对象数据之前,可以调用该方法,初始化通用字段的数据。 - * - * @param data 实体对象。 - * @param 实体对象类型。 - */ - public static void fillCommonsForInsert(M data) { - try { - Field createdByField = ReflectUtil.getField(data.getClass(), CREATE_USER_ID_FIELD_NAME); - if (createdByField != null) { - ReflectUtil.setAccessible(createdByField); - createdByField.set(data, TokenData.takeFromRequest().getUserId()); - } - Field createTimeField = ReflectUtil.getField(data.getClass(), CREATE_TIME_FIELD_NAME); - if (createTimeField != null) { - ReflectUtil.setAccessible(createTimeField); - createTimeField.set(data, new Date()); - } - Field updatedByField = ReflectUtil.getField(data.getClass(), UPDATE_USER_ID_FIELD_NAME); - if (updatedByField != null) { - ReflectUtil.setAccessible(updatedByField); - updatedByField.set(data, TokenData.takeFromRequest().getUserId()); - } - Field updateTimeField = ReflectUtil.getField(data.getClass(), UPDATE_TIME_FIELD_NAME); - if (updateTimeField != null) { - ReflectUtil.setAccessible(updateTimeField); - updateTimeField.set(data, new Date()); - } - } catch (IllegalAccessException e) { - throw new MyRuntimeException(e); - } - } - - /** - * 在更新实体对象数据之前,可以调用该方法,更新通用字段的数据。 - * - * @param data 实体对象。 - * @param originalData 原有实体对象。 - * @param 实体对象类型。 - */ - public static void fillCommonsForUpdate(M data, M originalData) { - try { - Object createdByValue = ReflectUtil.getFieldValue(originalData, CREATE_USER_ID_FIELD_NAME); - if (createdByValue != null) { - ReflectUtil.setFieldValue(data, CREATE_USER_ID_FIELD_NAME, createdByValue); - } - Object createTimeValue = ReflectUtil.getFieldValue(originalData, CREATE_TIME_FIELD_NAME); - if (createTimeValue != null) { - ReflectUtil.setFieldValue(data, CREATE_TIME_FIELD_NAME, createTimeValue); - } - Field updatedByField = ReflectUtil.getField(data.getClass(), UPDATE_USER_ID_FIELD_NAME); - if (updatedByField != null) { - ReflectUtil.setAccessible(updatedByField); - updatedByField.set(data, TokenData.takeFromRequest().getUserId()); - } - Field updateTimeField = ReflectUtil.getField(data.getClass(), UPDATE_TIME_FIELD_NAME); - if (updateTimeField != null) { - ReflectUtil.setAccessible(updateTimeField); - updateTimeField.set(data, new Date()); - } - } catch (IllegalAccessException e) { - throw new MyRuntimeException(e); - } - } - - /** - * 为实体对象字段设置缺省值。如果data对象中指定字段的值为NULL,则设置缺省值,否则跳过。 - * @param data 实体对象。 - * @param fieldName 实体对象字段名。 - * @param defaultValue 缺省值。 - * @param 实体对象类型。 - * @param 缺省值类型。 - */ - public static void setDefaultValue(M data, String fieldName, V defaultValue) { - Object v = ReflectUtil.getFieldValue(data, fieldName); - if (v == null) { - ReflectUtil.setFieldValue(data, fieldName, defaultValue); - } - } - - /** - * 获取当前数据对象中,所有上传文件字段的数据,并将上传后的文件名存到集合中并返回。 - * - * @param data 数据对象。 - * @param clazz 数据对象的Class类型。 - * @param 数据对象类型。 - * @return 当前数据对象中,所有上传文件字段中,文件名属性的集合。 - */ - public static Set extractDownloadFileName(M data, Class clazz) { - Set resultSet = new HashSet<>(); - Field[] fields = ReflectUtil.getFields(clazz); - for (Field field : fields) { - if (field.isAnnotationPresent(UploadFlagColumn.class)) { - String v = (String) ReflectUtil.getFieldValue(data, field); - List fileInfoList = JSON.parseArray(v, UploadResponseInfo.class); - if (CollectionUtils.isNotEmpty(fileInfoList)) { - fileInfoList.forEach(fileInfo -> resultSet.add(fileInfo.getFilename())); - } - } - } - return resultSet; - } - - /** - * 获取当前数据对象列表中,所有上传文件字段的数据,并将上传后的文件名存到集合中并返回。 - * - * @param dataList 数据对象。 - * @param clazz 数据对象的Class类型。 - * @param 数据对象类型。 - * @return 当前数据对象中,所有上传文件字段中,文件名属性的集合。 - */ - public static Set extractDownloadFileName(List dataList, Class clazz) { - Set resultSet = new HashSet<>(); - if (CollectionUtils.isEmpty(dataList)) { - return resultSet; - } - dataList.forEach(data -> resultSet.addAll(extractDownloadFileName(data, clazz))); - return resultSet; - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private MyModelUtil() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/MyPageUtil.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/MyPageUtil.java deleted file mode 100644 index 0c646109..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/MyPageUtil.java +++ /dev/null @@ -1,111 +0,0 @@ -package com.orangeforms.common.core.util; - -import cn.jimmyshi.beanquery.BeanQuery; -import com.alibaba.fastjson.JSONObject; -import com.github.pagehelper.Page; -import org.apache.commons.collections4.CollectionUtils; -import com.orangeforms.common.core.base.mapper.BaseModelMapper; -import com.orangeforms.common.core.object.MyPageData; -import com.orangeforms.common.core.object.Tuple2; - -import java.util.List; - -/** - * 生成带有分页信息的数据列表 - * - * @author Jerry - * @date 2020-08-08 - */ -public class MyPageUtil { - - private static final String DATA_LIST_LITERAL = "dataList"; - private static final String TOTAL_COUNT_LITERAL = "totalCount"; - - /** - * 用户构建带有分页信息的数据列表。 - * - * @param dataList 数据列表,该参数必须是调用PageMethod.startPage之后,立即执行mybatis查询操作的结果集。 - * @param includeFields 结果集中需要返回到前端的字段,多个字段之间逗号分隔。 - * @param 源数据类型。 - * @return 返回只是包含includeFields字段的数据列表,以及结果集TotalCount。 - */ - public static JSONObject makeResponseData(List dataList, String includeFields) { - JSONObject pageData = new JSONObject(); - pageData.put(DATA_LIST_LITERAL, BeanQuery.select(includeFields).from(dataList).execute()); - if (dataList instanceof Page) { - pageData.put(TOTAL_COUNT_LITERAL, ((Page)dataList).getTotal()); - } - return pageData; - } - - /** - * 用户构建带有分页信息的数据列表。 - * - * @param dataList 数据列表,该参数必须是调用PageMethod.startPage之后,立即执行mybatis查询操作的结果集。 - * @param 源数据类型。 - * @return 返回分页数据对象。 - */ - public static MyPageData makeResponseData(List dataList) { - MyPageData pageData = new MyPageData<>(); - pageData.setDataList(dataList); - if (dataList instanceof Page) { - pageData.setTotalCount(((Page)dataList).getTotal()); - } - return pageData; - } - - /** - * 用户构建带有分页信息的数据列表。 - * - * @param dataList 数据列表,该参数必须是调用PageMethod.startPage之后,立即执行mybatis查询操作的结果集。 - * @param totalCount 总数量。 - * @param 源数据类型。 - * @return 返回分页数据对象。 - */ - public static MyPageData makeResponseData(List dataList, Long totalCount) { - MyPageData pageData = new MyPageData<>(); - pageData.setDataList(dataList); - if (totalCount != null) { - pageData.setTotalCount(totalCount); - } - return pageData; - } - - /** - * 用户构建带有分页信息的数据列表。 - * - * @param dataList 实体对象数据列表。 - * @param modelMapper 实体对象到DomainVO对象的数据映射器。 - * @param DomainVO对象类型。 - * @param 实体对象类型。 - * @return 返回分页数据对象。 - */ - public static MyPageData makeResponseData(List dataList, BaseModelMapper modelMapper) { - long totalCount = 0L; - if (CollectionUtils.isEmpty(dataList)) { - // 这里需要构建分页数据对象,统一前端数据格式 - return MyPageData.emptyPageData(); - } - if (dataList instanceof Page) { - totalCount = ((Page) dataList).getTotal(); - } - return MyPageUtil.makeResponseData(modelMapper.fromModelList(dataList), totalCount); - } - - /** - * 用户构建带有分页信息的数据列表。 - * - * @param responseData 第一个数据时数据列表,第二个是列表数量。 - * @param 源数据类型。 - * @return 返回分页数据对象。 - */ - public static MyPageData makeResponseData(Tuple2, Long> responseData) { - return makeResponseData(responseData.getFirst(), responseData.getSecond()); - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private MyPageUtil() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/RedisKeyUtil.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/RedisKeyUtil.java deleted file mode 100644 index 35bdcd87..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/RedisKeyUtil.java +++ /dev/null @@ -1,86 +0,0 @@ -package com.orangeforms.common.core.util; - -/** - * Redis 键生成工具类。 - * - * @author Jerry - * @date 2020-08-08 - */ -public class RedisKeyUtil { - - /** - * 获取通用的session缓存的键前缀。 - * - * @return session缓存的键前缀。 - */ - public static String getSessionIdPrefix() { - return "SESSIONID:"; - } - - /** - * 获取指定用户Id的session缓存的键前缀。 - * - * @param loginName 指定的用户登录名。 - * @return session缓存的键前缀。 - */ - public static String getSessionIdPrefix(String loginName) { - return "SESSIONID:" + loginName + "_"; - } - - /** - * 获取指定用户Id和登录设备类型的session缓存的键前缀。 - * - * @param loginName 指定的用户登录名。 - * @param deviceType 设备类型。 - * @return session缓存的键前缀。 - */ - public static String getSessionIdPrefix(String loginName, int deviceType) { - return "SESSIONID:" + loginName + "_" + deviceType + "_"; - } - - /** - * 计算SessionId返回存储于Redis中的键。 - * - * @param sessionId 会话Id。 - * @return 会话存储于Redis中的键值。 - */ - public static String makeSessionIdKey(String sessionId) { - return "SESSIONID:" + sessionId; - } - - /** - * 计算SessionId关联的权限数据存储于Redis中的键。 - * - * @param sessionId 会话Id。 - * @return 会话关联的权限数据存储于Redis中的键值。 - */ - public static String makeSessionPermIdKey(String sessionId) { - return "PERM:" + sessionId; - } - - /** - * 计算SessionId关联的数据权限数据存储于Redis中的键。 - * - * @param sessionId 会话Id。 - * @return 会话关联的数据权限数据存储于Redis中的键值。 - */ - public static String makeSessionDataPermIdKey(String sessionId) { - return "DATA_PERM:" + sessionId; - } - - /** - * 计算在线表对象缓存在Redis中的键值。 - * - * @param tableId 在线表主键Id。 - * @return 会话关联的数据权限数据存储于Redis中的键值。 - */ - public static String makeOnlineTableKey(Long tableId) { - return "ONLINE_TABLE:" + tableId; - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private RedisKeyUtil() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/RsaUtil.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/RsaUtil.java deleted file mode 100644 index 9d0bddf3..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/RsaUtil.java +++ /dev/null @@ -1,116 +0,0 @@ -package com.orangeforms.common.core.util; - -import javax.crypto.Cipher; -import java.nio.charset.StandardCharsets; -import java.security.*; -import java.security.interfaces.RSAPrivateKey; -import java.security.interfaces.RSAPublicKey; -import java.security.spec.PKCS8EncodedKeySpec; -import java.security.spec.X509EncodedKeySpec; -import java.util.Base64; -import java.util.HashMap; -import java.util.Map; - -/** - * Java RSA 加密工具类。 - * - * @author Jerry - * @date 2020-08-08 - */ -public class RsaUtil { - - /** - * 密钥长度 于原文长度对应 以及越长速度越慢 - */ - private static final int KEY_SIZE = 1024; - /** - * 用于封装随机产生的公钥与私钥 - */ - private static final Map KEY_MAP = new HashMap<>(); - - /** - * 随机生成密钥对。 - */ - public static void genKeyPair() throws NoSuchAlgorithmException { - // KeyPairGenerator类用于生成公钥和私钥对,基于RSA算法生成对象 - KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance("RSA"); - // 初始化密钥对生成器 - keyPairGen.initialize(KEY_SIZE, new SecureRandom()); - // 生成一个密钥对,保存在keyPair中 - KeyPair keyPair = keyPairGen.generateKeyPair(); - // 得到私钥 - RSAPrivateKey privateKey = (RSAPrivateKey) keyPair.getPrivate(); - // 得到公钥 - RSAPublicKey publicKey = (RSAPublicKey) keyPair.getPublic(); - String publicKeyString = Base64.getEncoder().encodeToString(publicKey.getEncoded()); - // 得到私钥字符串 - String privateKeyString = Base64.getEncoder().encodeToString(privateKey.getEncoded()); - // 将公钥和私钥保存到Map - // 0表示公钥 - KEY_MAP.put(0, publicKeyString); - // 1表示私钥 - KEY_MAP.put(1, privateKeyString); - } - - /** - * RSA公钥加密。 - * - * @param str 加密字符串 - * @param publicKey 公钥 - * @return 密文 - * @throws Exception 加密过程中的异常信息 - */ - public static String encrypt(String str, String publicKey) throws Exception { - // base64编码的公钥 - byte[] decoded = Base64.getDecoder().decode(publicKey); - RSAPublicKey pubKey = (RSAPublicKey) KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(decoded)); - // RSA加密。后面这个更安全,但是SonarQube始终report安全漏洞。"RSA/ECB/PKCS1Padding" - // 而浏览器自带的Javascript加密功能,目前safari不支持,而且用的人也不太多。所以暂时都不考虑了。 - Cipher cipher = Cipher.getInstance("RSA"); - cipher.init(Cipher.ENCRYPT_MODE, pubKey); - return Base64.getEncoder().encodeToString(cipher.doFinal(str.getBytes(StandardCharsets.UTF_8))); - } - - /** - * RSA私钥解密。 - * - * @param str 加密字符串 - * @param privateKey 私钥 - * @return 明文 - * @throws Exception 解密过程中的异常信息 - */ - public static String decrypt(String str, String privateKey) throws Exception { - // 64位解码加密后的字符串 - byte[] inputByte = Base64.getDecoder().decode(str); - // base64编码的私钥 - byte[] decoded = Base64.getDecoder().decode(privateKey); - RSAPrivateKey priKey = (RSAPrivateKey) KeyFactory.getInstance("RSA").generatePrivate(new PKCS8EncodedKeySpec(decoded)); - // RSA解密 - Cipher cipher = Cipher.getInstance("RSA"); - cipher.init(Cipher.DECRYPT_MODE, priKey); - return new String(cipher.doFinal(inputByte)); - } - - public static void main(String[] args) throws Exception { - long temp = System.currentTimeMillis(); - // 生成公钥和私钥 - genKeyPair(); - // 加密字符串 - System.out.println("公钥:" + KEY_MAP.get(0)); - System.out.println("私钥:" + KEY_MAP.get(1)); - System.out.println("生成密钥消耗时间:" + (System.currentTimeMillis() - temp) / 1000.0 + "秒"); - System.out.println("生成后的公钥前端使用!"); - System.out.println("生成后的私钥后台使用!"); - - String message = "RSA测试ABCD~!@#$"; - System.out.println("原文:" + message); - temp = System.currentTimeMillis(); - String messageEn = encrypt(message, KEY_MAP.get(0)); - System.out.println("密文:" + messageEn); - System.out.println("加密消耗时间:" + (System.currentTimeMillis() - temp) / 1000.0 + "秒"); - temp = System.currentTimeMillis(); - String messageDe = decrypt(messageEn, KEY_MAP.get(1)); - System.out.println("解密:" + messageDe); - System.out.println("解密消耗时间:" + (System.currentTimeMillis() - temp) / 1000.0 + "秒"); - } -} \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/TreeNode.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/TreeNode.java deleted file mode 100644 index 6497dda5..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/util/TreeNode.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.orangeforms.common.core.util; - -import lombok.Data; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.function.Function; - -/** - * 将列表结构组建为树结构的工具类。 - * - * @param 对象类型。 - * @param 节点之间关联键的类型。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -public class TreeNode { - - private K id; - private K parentId; - private T data; - private List> childList = new ArrayList<>(); - - /** - * 将列表结构组建为树结构的工具方法。 - * - * @param dataList 数据列表结构。 - * @param idFunc 获取关联id的函数对象。 - * @param parentIdFunc 获取关联ParentId的函数对象。 - * @param root 根节点。 - * @param 数据对象类型。 - * @param 节点之间关联键的类型。 - * @return 源数据对象的树结构存储。 - */ - public static List> build( - List dataList, Function idFunc, Function parentIdFunc, K root) { - List> treeNodeList = new ArrayList<>(); - for (T data : dataList) { - if (parentIdFunc.apply(data).equals(idFunc.apply(data))) { - continue; - } - TreeNode dataNode = new TreeNode<>(); - dataNode.setId(idFunc.apply(data)); - dataNode.setParentId(parentIdFunc.apply(data)); - dataNode.setData(data); - treeNodeList.add(dataNode); - } - return root == null ? toBuildTreeWithoutRoot(treeNodeList) : toBuildTree(treeNodeList, root); - } - - private static List> toBuildTreeWithoutRoot(List> treeNodes) { - Map> treeNodeMap = new HashMap<>(treeNodes.size()); - for (TreeNode treeNode : treeNodes) { - treeNodeMap.put(treeNode.id, treeNode); - } - List> treeNodeList = new ArrayList<>(); - for (TreeNode treeNode : treeNodes) { - TreeNode parentNode = treeNodeMap.get(treeNode.getParentId()); - if (parentNode == null) { - treeNodeList.add(treeNode); - } else { - parentNode.add(treeNode); - } - } - return treeNodeList; - } - - private static List> toBuildTree(List> treeNodes, K root) { - List> treeNodeList = new ArrayList<>(); - for (TreeNode treeNode : treeNodes) { - if (root.equals(treeNode.getParentId())) { - treeNodeList.add(treeNode); - } - for (TreeNode it : treeNodes) { - if (it.getParentId() == treeNode.getId()) { - if (treeNode.getChildList() == null) { - treeNode.setChildList(new ArrayList<>()); - } - treeNode.add(it); - } - } - } - return treeNodeList; - } - - private void add(TreeNode node) { - childList.add(node); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/validator/AddGroup.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/validator/AddGroup.java deleted file mode 100644 index 6da55cc2..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/validator/AddGroup.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.orangeforms.common.core.validator; - -/** - * 数据增加的验证分组。通常用于数据新增场景。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface AddGroup { -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/validator/ConstDictRef.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/validator/ConstDictRef.java deleted file mode 100644 index a1cebd58..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/validator/ConstDictRef.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.orangeforms.common.core.validator; - -import javax.validation.Constraint; -import javax.validation.Payload; -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * 定义在Model对象中,标注字段值引用自指定的常量字典,和ConstDictRefValidator对象配合完成数据验证。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Target({ElementType.FIELD}) -@Retention(RetentionPolicy.RUNTIME) -@Constraint(validatedBy = ConstDictValidator.class) -public @interface ConstDictRef { - - /** - * 引用的常量字典对象,该对象必须包含isValid的静态方法。 - * - * @return 最大长度。 - */ - Class constDictClass(); - - /** - * 超过边界后的错误消息提示。 - * - * @return 错误提示。 - */ - String message() default "无效的字典引用值!"; - - /** - * 验证分组。 - * - * @return 验证分组。 - */ - Class[] groups() default {}; - - /** - * 载荷对象类型。 - * - * @return 载荷对象。 - */ - Class[] payload() default {}; -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/validator/ConstDictValidator.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/validator/ConstDictValidator.java deleted file mode 100644 index c49e2f7a..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/validator/ConstDictValidator.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.orangeforms.common.core.validator; - -import cn.hutool.core.util.ReflectUtil; - -import javax.validation.ConstraintValidator; -import javax.validation.ConstraintValidatorContext; -import java.lang.reflect.Method; - -/** - * 数据字段自定义验证,用于验证Model中字符串字段的最大长度和最小长度。 - * - * @author Jerry - * @date 2020-08-08 - */ -public class ConstDictValidator implements ConstraintValidator { - - private ConstDictRef constDictRef; - - @Override - public void initialize(ConstDictRef constDictRef) { - this.constDictRef = constDictRef; - } - - @Override - public boolean isValid(Object s, ConstraintValidatorContext constraintValidatorContext) { - if (s == null) { - return true; - } - Method method = - ReflectUtil.getMethodByName(constDictRef.constDictClass(), "isValid"); - return ReflectUtil.invokeStatic(method, s); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/validator/TextLength.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/validator/TextLength.java deleted file mode 100644 index bba08af7..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/validator/TextLength.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.orangeforms.common.core.validator; - -import javax.validation.Constraint; -import javax.validation.Payload; -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * 定义在Model或Dto对象中,UTF-8编码的字符串字段长度的上限和下限,和TextLengthValidator对象配合完成数据验证。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Target({ElementType.FIELD}) -@Retention(RetentionPolicy.RUNTIME) -@Constraint(validatedBy = TextLengthValidator.class) -public @interface TextLength { - - /** - * 字符串字段的最小长度。 - * - * @return 最小长度。 - */ - int min() default 0; - - /** - * 字符串字段的最大长度。 - * - * @return 最大长度。 - */ - int max() default Integer.MAX_VALUE; - - /** - * 超过边界后的错误消息提示。 - * - * @return 错误提示。 - */ - String message() default "字段长度超过最大字节数!"; - - /** - * 验证分组。 - * - * @return 验证分组。 - */ - Class[] groups() default { }; - - /** - * 载荷对象类型。 - * - * @return 载荷对象。 - */ - Class[] payload() default { }; -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/validator/TextLengthValidator.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/validator/TextLengthValidator.java deleted file mode 100644 index 98295c43..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/validator/TextLengthValidator.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.orangeforms.common.core.validator; - -import org.apache.commons.lang3.CharUtils; - -import javax.validation.ConstraintValidator; -import javax.validation.ConstraintValidatorContext; - -/** - * 数据字段自定义验证,用于验证Model中UTF-8编码的字符串字段的最大长度和最小长度。 - * - * @author Jerry - * @date 2020-08-08 - */ -public class TextLengthValidator implements ConstraintValidator { - - private TextLength textLength; - - @Override - public void initialize(TextLength textLength) { - this.textLength = textLength; - } - - @Override - public boolean isValid(String s, ConstraintValidatorContext constraintValidatorContext) { - if (s == null) { - return true; - } - int length = 0; - for (int i = 0; i < s.length(); i++) { - char c = s.charAt(i); - if (CharUtils.isAscii(c)) { - ++length; - } else { - length += 2; - } - } - return length >= textLength.min() && length <= textLength.max(); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/validator/UpdateGroup.java b/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/validator/UpdateGroup.java deleted file mode 100644 index adb3612f..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-core/src/main/java/com/orangeforms/common/core/validator/UpdateGroup.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.orangeforms.common.core.validator; - -/** - * 数据修改的验证分组。通常用于数据更新的场景。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface UpdateGroup { - -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-datafilter/pom.xml b/orange-demo-multi/orange-demo-multi-service/common/common-datafilter/pom.xml deleted file mode 100644 index e791d2f7..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-datafilter/pom.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - common - com.orangeforms - 1.0.0 - - 4.0.0 - - common-datafilter - 1.0.0 - common-datafilter - jar - - - - com.orangeforms - common-core - 1.0.0 - - - com.orangeforms - common-redis - 1.0.0 - - - \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/aop/DisableDataFilterAspect.java b/orange-demo-multi/orange-demo-multi-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/aop/DisableDataFilterAspect.java deleted file mode 100644 index d2090cdf..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/aop/DisableDataFilterAspect.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.orangeforms.common.datafilter.aop; - -import com.orangeforms.common.core.object.GlobalThreadLocal; -import lombok.extern.slf4j.Slf4j; -import org.aspectj.lang.ProceedingJoinPoint; -import org.aspectj.lang.annotation.Around; -import org.aspectj.lang.annotation.Aspect; -import org.aspectj.lang.annotation.Pointcut; -import org.springframework.core.annotation.Order; -import org.springframework.stereotype.Component; - -/** - * 禁用Mybatis拦截器数据过滤的AOP处理类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Aspect -@Component -@Order(1) -@Slf4j -public class DisableDataFilterAspect { - - /** - * 所有标记了DisableDataFilter注解的方法。 - */ - @Pointcut("@annotation(com.orangeforms.common.core.annotation.DisableDataFilter)") - public void disableDataFilterPointCut() { - // 空注释,避免sonar警告 - } - - @Around("disableDataFilterPointCut()") - public Object around(ProceedingJoinPoint point) throws Throwable { - boolean dataFilterEnabled = GlobalThreadLocal.setDataFilter(false); - try { - return point.proceed(); - } finally { - GlobalThreadLocal.setDataFilter(dataFilterEnabled); - } - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/config/DataFilterAutoConfig.java b/orange-demo-multi/orange-demo-multi-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/config/DataFilterAutoConfig.java deleted file mode 100644 index 13726367..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/config/DataFilterAutoConfig.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.orangeforms.common.datafilter.config; - -import org.springframework.boot.context.properties.EnableConfigurationProperties; - -/** - * common-datafilter模块的自动配置引导类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@EnableConfigurationProperties({DataFilterProperties.class}) -public class DataFilterAutoConfig { -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/config/DataFilterProperties.java b/orange-demo-multi/orange-demo-multi-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/config/DataFilterProperties.java deleted file mode 100644 index 0b5386a5..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/config/DataFilterProperties.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.orangeforms.common.datafilter.config; - -import lombok.Data; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.context.properties.ConfigurationProperties; - -/** - * common-datafilter模块的配置类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@ConfigurationProperties(prefix = "datafilter") -public class DataFilterProperties { - - /** - * 是否启用租户过滤。 - */ - @Value("${datafilter.tenant.enabled:false}") - private Boolean enabledTenantFilter; - - /** - * 是否启动数据权限过滤。 - */ - @Value("${datafilter.dataperm.enabled:false}") - private Boolean enabledDataPermFilter; - - /** - * 部门关联表的表名前缀,如zz_。该值主要用在MybatisDataFilterInterceptor拦截器中, - * 用于拼接数据权限过滤的SQL语句。 - */ - @Value("${datafilter.dataperm.deptRelationTablePrefix:}") - private String deptRelationTablePrefix; - - /** - * 该值为true的时候,在进行数据权限过滤时,会加上表名,如:zz_sys_user.dept_id = xxx。 - * 为false时,过滤条件不加表名,只是使用字段名,如:dept_id = xxx。该值目前主要适用于 - * Oracle分页SQL使用了子查询的场景。此场景下,由于子查询使用了别名,再在数据权限过滤条件中 - * 加上原有表名时,SQL语法会报错。 - */ - @Value("${datafilter.dataperm.addTableNamePrefix:true}") - private Boolean addTableNamePrefix; -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/config/DataFilterWebMvcConfigurer.java b/orange-demo-multi/orange-demo-multi-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/config/DataFilterWebMvcConfigurer.java deleted file mode 100644 index 48131a70..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/config/DataFilterWebMvcConfigurer.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.orangeforms.common.datafilter.config; - -import com.orangeforms.common.datafilter.interceptor.DataFilterInterceptor; -import org.springframework.context.annotation.Configuration; -import org.springframework.web.servlet.config.annotation.InterceptorRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; - -/** - * 添加数据过滤相关的拦截器。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Configuration -public class DataFilterWebMvcConfigurer implements WebMvcConfigurer { - - @Override - public void addInterceptors(InterceptorRegistry registry) { - registry.addInterceptor(new DataFilterInterceptor()).addPathPatterns("/**"); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/constant/DataPermRuleType.java b/orange-demo-multi/orange-demo-multi-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/constant/DataPermRuleType.java deleted file mode 100644 index 2b186a73..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/constant/DataPermRuleType.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.orangeforms.common.datafilter.constant; - -import java.util.HashMap; -import java.util.Map; - -/** - * 数据权限规则类型常量类。 - * - * @author Jerry - * @date 2020-08-08 - */ -public final class DataPermRuleType { - - /** - * 查看全部。 - */ - public static final int TYPE_ALL = 0; - - /** - * 仅查看当前用户 - */ - public static final int TYPE_USER_ONLY = 1; - - /** - * 仅查看当前部门 - */ - public static final int TYPE_DEPT_ONLY = 2; - - /** - * 所在部门及子部门 - */ - public static final int TYPE_DEPT_AND_CHILD_DEPT = 3; - - /** - * 多部门及子部门 - */ - public static final int TYPE_MULTI_DEPT_AND_CHILD_DEPT = 4; - - /** - * 自定义部门列表 - */ - public static final int TYPE_CUSTOM_DEPT_LIST = 5; - - private static final Map DICT_MAP = new HashMap<>(6); - static { - DICT_MAP.put(0, "查看全部"); - DICT_MAP.put(1, "仅查看当前用户"); - DICT_MAP.put(2, "仅查看所在部门"); - DICT_MAP.put(3, "所在部门及子部门"); - DICT_MAP.put(4, "多部门及子部门"); - DICT_MAP.put(5, "自定义部门列表"); - } - - /** - * 判断参数是否为当前常量字典的合法取值范围。 - * - * @param value 待验证的参数值。 - * @return 合法返回true,否则false。 - */ - public static boolean isValid(Integer value) { - return value != null && DICT_MAP.containsKey(value); - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private DataPermRuleType() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/interceptor/DataFilterInterceptor.java b/orange-demo-multi/orange-demo-multi-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/interceptor/DataFilterInterceptor.java deleted file mode 100644 index 061e5d02..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/interceptor/DataFilterInterceptor.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.orangeforms.common.datafilter.interceptor; - -import com.orangeforms.common.core.object.GlobalThreadLocal; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.servlet.HandlerInterceptor; -import org.springframework.web.servlet.ModelAndView; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * 主要用于初始化,通过Mybatis拦截器插件进行数据过滤的标记。 - * 在调用controller接口处理方法之前,必须强制将数据过滤标记设置为缺省值。 - * 这样可以避免使用当前线程在处理上一个请求时,未能正常清理的数据过滤标记值。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -public class DataFilterInterceptor implements HandlerInterceptor { - - @Override - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) - throws Exception { - // 每次进入Controller接口之前,均主动打开数据权限验证。 - // 可以避免该Servlet线程在处理之前的请求时异常退出,从而导致该状态数据没有被正常清除。 - GlobalThreadLocal.setDataFilter(true); - return true; - } - - @Override - public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, - ModelAndView modelAndView) throws Exception { - // 这里需要加注释,否则sonar不happy。 - } - - @Override - public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) - throws Exception { - GlobalThreadLocal.clearDataFilter(); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/interceptor/MybatisDataFilterInterceptor.java b/orange-demo-multi/orange-demo-multi-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/interceptor/MybatisDataFilterInterceptor.java deleted file mode 100644 index 63eb7369..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/interceptor/MybatisDataFilterInterceptor.java +++ /dev/null @@ -1,479 +0,0 @@ -package com.orangeforms.common.datafilter.interceptor; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.ReflectUtil; -import com.alibaba.fastjson.JSON; -import com.baomidou.mybatisplus.annotation.TableName; -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.common.core.annotation.*; -import com.orangeforms.common.core.exception.NoDataPermException; -import com.orangeforms.common.core.object.GlobalThreadLocal; -import com.orangeforms.common.core.object.TokenData; -import com.orangeforms.common.core.util.ApplicationContextHolder; -import com.orangeforms.common.core.util.ContextUtil; -import com.orangeforms.common.core.util.MyModelUtil; -import com.orangeforms.common.core.util.RedisKeyUtil; -import com.orangeforms.common.datafilter.config.DataFilterProperties; -import com.orangeforms.common.datafilter.constant.DataPermRuleType; -import lombok.Data; -import lombok.extern.slf4j.Slf4j; -import net.sf.jsqlparser.JSQLParserException; -import net.sf.jsqlparser.expression.operators.conditional.AndExpression; -import net.sf.jsqlparser.parser.CCJSqlParserUtil; -import net.sf.jsqlparser.statement.Statement; -import net.sf.jsqlparser.statement.delete.Delete; -import net.sf.jsqlparser.statement.select.FromItem; -import net.sf.jsqlparser.statement.select.PlainSelect; -import net.sf.jsqlparser.statement.select.Select; -import net.sf.jsqlparser.statement.select.SubSelect; -import net.sf.jsqlparser.statement.update.Update; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.collections4.MapUtils; -import org.apache.commons.lang3.StringUtils; -import org.apache.ibatis.executor.statement.RoutingStatementHandler; -import org.apache.ibatis.executor.statement.StatementHandler; -import org.apache.ibatis.mapping.BoundSql; -import org.apache.ibatis.mapping.MappedStatement; -import org.apache.ibatis.mapping.SqlCommandType; -import org.apache.ibatis.plugin.*; -import org.redisson.api.RedissonClient; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import java.lang.reflect.Field; -import java.lang.reflect.ParameterizedType; -import java.sql.Connection; -import java.util.*; - -/** - * Mybatis拦截器。目前用于数据权限的统一拦截和注入处理。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Intercepts({@Signature(type = StatementHandler.class, method = "prepare", args = {Connection.class, Integer.class})}) -@Slf4j -@Component -public class MybatisDataFilterInterceptor implements Interceptor { - - @Autowired - private RedissonClient redissonClient; - @Autowired - private DataFilterProperties properties; - - /** - * 对象缓存。由于Set是排序后的,因此在查找排除方法名称时效率更高。 - * 在应用服务启动的监听器中(LoadDataPermMapperListener),会调用当前对象的(loadMappersWithDataPerm)方法,加载缓存。 - */ - private final Map cachedDataPermMap = new HashMap<>(); - /** - * 租户租户对象缓存。 - */ - private final Map cachedTenantMap = new HashMap<>(); - - /** - * 预先加载与数据过滤相关的数据到缓存,该函数会在(LoadDataFilterInfoListener)监听器中调用。 - */ - public void loadInfoWithDataFilter() { - Map mapperMap = - ApplicationContextHolder.getApplicationContext().getBeansOfType(BaseDaoMapper.class); - for (BaseDaoMapper mapperProxy : mapperMap.values()) { - // 优先处理jdk的代理 - Object proxy = ReflectUtil.getFieldValue(mapperProxy, "h"); - // 如果不是jdk的代理,再看看cjlib的代理。 - if (proxy == null) { - proxy = ReflectUtil.getFieldValue(mapperProxy, "CGLIB$CALLBACK_0"); - } - Class mapperClass = (Class) ReflectUtil.getFieldValue(proxy, "mapperInterface"); - if (properties.getEnabledTenantFilter()) { - loadTenantFilterData(mapperClass); - } - if (properties.getEnabledDataPermFilter()) { - EnableDataPerm rule = mapperClass.getAnnotation(EnableDataPerm.class); - if (rule != null) { - loadDataPermFilterRules(mapperClass, rule); - } - } - } - } - - private void loadTenantFilterData(Class mapperClass) { - Class modelClass = (Class) ((ParameterizedType) - mapperClass.getGenericInterfaces()[0]).getActualTypeArguments()[0]; - Field[] fields = ReflectUtil.getFields(modelClass); - for (Field field : fields) { - if (field.getAnnotation(TenantFilterColumn.class) != null) { - ModelTenantInfo tenantInfo = new ModelTenantInfo(); - tenantInfo.setModelName(modelClass.getSimpleName()); - tenantInfo.setTableName(modelClass.getAnnotation(TableName.class).value()); - tenantInfo.setFieldName(field.getName()); - tenantInfo.setColumnName(MyModelUtil.mapToColumnName(field, modelClass)); - // 判断当前dao中是否包括不需要自动注入租户Id过滤的方法。 - DisableTenantFilter disableTenantFilter = mapperClass.getAnnotation(DisableTenantFilter.class); - if (disableTenantFilter != null) { - // 这里开始获取当前Mapper已经声明的的SqlId中,有哪些是需要排除在外的。 - // 排除在外的将不进行数据过滤。 - Set excludeMethodNameSet = new HashSet<>(); - for (String excludeName : disableTenantFilter.includeMethodName()) { - excludeMethodNameSet.add(excludeName); - // 这里是给pagehelper中,分页查询先获取数据总量的查询。 - excludeMethodNameSet.add(excludeName + "_COUNT"); - } - tenantInfo.setExcludeMethodNameSet(excludeMethodNameSet); - } - cachedTenantMap.put(mapperClass.getName(), tenantInfo); - break; - } - } - } - - private void loadDataPermFilterRules(Class mapperClass, EnableDataPerm rule) { - String sysDataPermMapperName = "SysDataPermMapper"; - // 由于给数据权限Mapper添加@EnableDataPerm,将会导致无限递归,因此这里检测到之后, - // 会在系统启动加载监听器的时候,及时抛出异常。 - if (StringUtils.equals(sysDataPermMapperName, mapperClass.getSimpleName())) { - throw new IllegalStateException("Add @EnableDataPerm annotation to SysDataPermMapper is ILLEGAL!"); - } - // 这里开始获取当前Mapper已经声明的的SqlId中,有哪些是需要排除在外的。 - // 排除在外的将不进行数据过滤。 - Set excludeMethodNameSet = null; - String[] excludes = rule.excluseMethodName(); - if (excludes.length > 0) { - excludeMethodNameSet = new HashSet<>(); - for (String excludeName : excludes) { - excludeMethodNameSet.add(excludeName); - // 这里是给pagehelper中,分页查询先获取数据总量的查询。 - excludeMethodNameSet.add(excludeName + "_COUNT"); - } - } - // 获取Mapper关联的主表信息,包括表名,user过滤字段名和dept过滤字段名。 - Class modelClazz = (Class) - ((ParameterizedType) mapperClass.getGenericInterfaces()[0]).getActualTypeArguments()[0]; - Field[] fields = ReflectUtil.getFields(modelClazz); - Field userFilterField = null; - Field deptFilterField = null; - for (Field field : fields) { - if (null != field.getAnnotation(UserFilterColumn.class)) { - userFilterField = field; - } - if (null != field.getAnnotation(DeptFilterColumn.class)) { - deptFilterField = field; - } - if (userFilterField != null && deptFilterField != null) { - break; - } - } - // 通过注解解析与Mapper关联的Model,并获取与数据权限关联的信息,并将结果缓存。 - ModelDataPermInfo info = new ModelDataPermInfo(); - info.setMainTableName(MyModelUtil.mapToTableName(modelClazz)); - info.setMustIncludeUserRule(rule.mustIncludeUserRule()); - info.setExcludeMethodNameSet(excludeMethodNameSet); - if (userFilterField != null) { - info.setUserFilterColumn(MyModelUtil.mapToColumnName(userFilterField, modelClazz)); - } - if (deptFilterField != null) { - info.setDeptFilterColumn(MyModelUtil.mapToColumnName(deptFilterField, modelClazz)); - } - cachedDataPermMap.put(mapperClass.getName(), info); - } - - @Override - public Object intercept(Invocation invocation) throws Throwable { - // 判断当前线程本地存储中,业务操作是否禁用了数据权限过滤,如果禁用,则不进行后续的数据过滤处理了。 - if (!GlobalThreadLocal.enabledDataFilter()) { - return invocation.proceed(); - } - // 只有在HttpServletRequest场景下,该拦截器才起作用,对于系统级别的预加载数据不会应用数据权限。 - if (!ContextUtil.hasRequestContext()) { - return invocation.proceed(); - } - // 没有登录的用户,不会参与租户过滤,如果需要过滤的,自己在代码中手动实现 - // 通常对于无需登录的白名单url,也无需过滤了。 - // 另外就是登录接口中,获取菜单列表的接口,由于尚未登录,没有TokenData,所以这个接口我们手动加入了该条件。 - if (TokenData.takeFromRequest() == null) { - return invocation.proceed(); - } - RoutingStatementHandler handler = (RoutingStatementHandler) invocation.getTarget(); - StatementHandler delegate = - (StatementHandler) ReflectUtil.getFieldValue(handler, "delegate"); - // 通过反射获取delegate父类BaseStatementHandler的mappedStatement属性 - MappedStatement mappedStatement = - (MappedStatement) ReflectUtil.getFieldValue(delegate, "mappedStatement"); - SqlCommandType commandType = mappedStatement.getSqlCommandType(); - // 对于INSERT语句,我们不进行任何数据过滤。 - if (commandType == SqlCommandType.INSERT) { - return invocation.proceed(); - } - String sqlId = mappedStatement.getId(); - int pos = StringUtils.lastIndexOf(sqlId, "."); - String className = StringUtils.substring(sqlId, 0, pos); - String methodName = StringUtils.substring(sqlId, pos + 1); - // 先进行租户过滤条件的处理,再将解析并处理后的SQL Statement交给下一步的数据权限过滤去处理。 - // 这样做的目的主要是为了减少一次SQL解析的过程,因为这是高频操作,所以要尽量去优化。 - Statement statement = null; - if (properties.getEnabledTenantFilter()) { - statement = this.processTenantFilter(className, methodName, delegate.getBoundSql(), commandType); - } - // 处理数据权限过滤。 - if (properties.getEnabledDataPermFilter()) { - this.processDataPermFilter(className, methodName, delegate.getBoundSql(), commandType, statement, sqlId); - } - return invocation.proceed(); - } - - private Statement processTenantFilter( - String className, String methodName, BoundSql boundSql, SqlCommandType commandType) throws JSQLParserException { - ModelTenantInfo info = cachedTenantMap.get(className); - if (info == null || CollUtil.contains(info.getExcludeMethodNameSet(), methodName)) { - return null; - } - String sql = boundSql.getSql(); - Statement statement = CCJSqlParserUtil.parse(sql); - StringBuilder filterBuilder = new StringBuilder(64); - filterBuilder.append(info.tableName).append(".") - .append(info.columnName) - .append("=") - .append(TokenData.takeFromRequest().getTenantId()); - String dataFilter = filterBuilder.toString(); - if (commandType == SqlCommandType.UPDATE) { - Update update = (Update) statement; - this.buildWhereClause(update, dataFilter); - } else if (commandType == SqlCommandType.DELETE) { - Delete delete = (Delete) statement; - this.buildWhereClause(delete, dataFilter); - } else { - Select select = (Select) statement; - PlainSelect selectBody = (PlainSelect) select.getSelectBody(); - FromItem fromItem = selectBody.getFromItem(); - if (fromItem != null) { - PlainSelect subSelect = null; - if (fromItem instanceof SubSelect) { - subSelect = (PlainSelect) ((SubSelect) fromItem).getSelectBody(); - } - if (subSelect != null) { - buildWhereClause(subSelect, dataFilter); - } else { - buildWhereClause(selectBody, dataFilter); - } - } - } - log.info("Tenant Filter Where Clause [{}]", dataFilter); - ReflectUtil.setFieldValue(boundSql, "sql", statement.toString()); - return statement; - } - - private void processDataPermFilter( - String className, String methodName, BoundSql boundSql, SqlCommandType commandType, Statement statement, String sqlId) - throws JSQLParserException { - // 判断当前线程本地存储中,业务操作是否禁用了数据权限过滤,如果禁用,则不进行后续的数据过滤处理了。 - // 数据过滤权限中,INSERT不过滤。如果是管理员则不参与数据权限的数据过滤,显示全部数据。 - TokenData tokenData = TokenData.takeFromRequest(); - if (Boolean.TRUE.equals(tokenData.getIsAdmin())) { - return; - } - ModelDataPermInfo info = cachedDataPermMap.get(className); - // 再次查找当前方法是否为排除方法,如果不是,就参与数据权限注入过滤。 - if (info == null || CollUtil.contains(info.getExcludeMethodNameSet(), methodName)) { - return; - } - String dataPermSessionKey = RedisKeyUtil.makeSessionDataPermIdKey(tokenData.getSessionId()); - Object cachedData = redissonClient.getBucket(dataPermSessionKey).get(); - if (cachedData == null) { - throw new NoDataPermException("No Related DataPerm found for SQL_ID [ " + sqlId + " ]."); - } - String dataPermData = cachedData.toString(); - Map dataPermMap = new HashMap<>(8); - for (Map.Entry entry : JSON.parseObject(dataPermData).entrySet()) { - dataPermMap.put(Integer.valueOf(entry.getKey()), entry.getValue().toString()); - } - if (MapUtils.isEmpty(dataPermMap)) { - throw new NoDataPermException("No Related DataPerm found for SQL_ID [ " + sqlId + " ]."); - } - if (dataPermMap.containsKey(DataPermRuleType.TYPE_ALL)) { - return; - } - // 如果当前过滤注解中mustIncludeUserRule参数为true,同时当前用户的数据权限中,不包含TYPE_USER_ONLY, - // 这里就需要自动添加该数据权限。 - if (info.getMustIncludeUserRule() - && !dataPermMap.containsKey(DataPermRuleType.TYPE_USER_ONLY)) { - dataPermMap.put(DataPermRuleType.TYPE_USER_ONLY, null); - } - this.processDataPerm(info, dataPermMap, boundSql, commandType, statement); - } - - private void processDataPerm( - ModelDataPermInfo info, - Map dataPermMap, - BoundSql boundSql, - SqlCommandType commandType, - Statement statement) throws JSQLParserException { - List criteriaList = new LinkedList<>(); - for (Map.Entry entry : dataPermMap.entrySet()) { - String filterClause = processDataPermRule(info, entry.getKey(), entry.getValue()); - if (StringUtils.isNotBlank(filterClause)) { - criteriaList.add(filterClause); - } - } - if (CollectionUtils.isEmpty(criteriaList)) { - return; - } - StringBuilder filterBuilder = new StringBuilder(128); - filterBuilder.append("("); - filterBuilder.append(StringUtils.join(criteriaList, " OR ")); - filterBuilder.append(")"); - String dataFilter = filterBuilder.toString(); - if (statement == null) { - String sql = boundSql.getSql(); - statement = CCJSqlParserUtil.parse(sql); - } - if (commandType == SqlCommandType.UPDATE) { - Update update = (Update) statement; - this.buildWhereClause(update, dataFilter); - } else if (commandType == SqlCommandType.DELETE) { - Delete delete = (Delete) statement; - this.buildWhereClause(delete, dataFilter); - } else { - Select select = (Select) statement; - PlainSelect selectBody = (PlainSelect) select.getSelectBody(); - FromItem fromItem = selectBody.getFromItem(); - PlainSelect subSelect = null; - if (fromItem != null) { - if (fromItem instanceof SubSelect) { - subSelect = (PlainSelect) ((SubSelect) fromItem).getSelectBody(); - } - if (subSelect != null) { - buildWhereClause(subSelect, dataFilter); - } else { - buildWhereClause(selectBody, dataFilter); - } - } - } - log.info("DataPerm Filter Where Clause [{}]", dataFilter); - ReflectUtil.setFieldValue(boundSql, "sql", statement.toString()); - } - - private String processDataPermRule(ModelDataPermInfo info, Integer ruleType, String deptIds) { - TokenData tokenData = TokenData.takeFromRequest(); - StringBuilder filter = new StringBuilder(128); - if (ruleType == DataPermRuleType.TYPE_USER_ONLY) { - if (StringUtils.isNotBlank(info.getUserFilterColumn())) { - if (properties.getAddTableNamePrefix()) { - filter.append(info.getMainTableName()).append("."); - } - filter.append(info.getUserFilterColumn()) - .append(" = ") - .append(tokenData.getUserId()); - } - } else { - if (StringUtils.isNotBlank(info.getDeptFilterColumn())) { - if (ruleType == DataPermRuleType.TYPE_DEPT_ONLY) { - if (properties.getAddTableNamePrefix()) { - filter.append(info.getMainTableName()).append("."); - } - filter.append(info.getDeptFilterColumn()) - .append(" = ") - .append(tokenData.getDeptId()); - } else if (ruleType == DataPermRuleType.TYPE_DEPT_AND_CHILD_DEPT) { - filter.append(" EXISTS ") - .append("(SELECT 1 FROM ") - .append(properties.getDeptRelationTablePrefix()) - .append("sys_dept_relation WHERE ") - .append(properties.getDeptRelationTablePrefix()) - .append("sys_dept_relation.parent_dept_id = ") - .append(tokenData.getDeptId()) - .append(" AND "); - if (properties.getAddTableNamePrefix()) { - filter.append(info.getMainTableName()).append("."); - } - filter.append(info.getDeptFilterColumn()) - .append(" = ") - .append(properties.getDeptRelationTablePrefix()) - .append("sys_dept_relation.dept_id) "); - } else if (ruleType == DataPermRuleType.TYPE_MULTI_DEPT_AND_CHILD_DEPT) { - filter.append(" EXISTS ") - .append("(SELECT 1 FROM ") - .append(properties.getDeptRelationTablePrefix()) - .append("sys_dept_relation WHERE ") - .append(properties.getDeptRelationTablePrefix()) - .append("sys_dept_relation.parent_dept_id IN (") - .append(deptIds) - .append(") AND "); - if (properties.getAddTableNamePrefix()) { - filter.append(info.getMainTableName()).append("."); - } - filter.append(info.getDeptFilterColumn()) - .append(" = ") - .append(properties.getDeptRelationTablePrefix()) - .append("sys_dept_relation.dept_id) "); - } else if (ruleType == DataPermRuleType.TYPE_CUSTOM_DEPT_LIST) { - if (properties.getAddTableNamePrefix()) { - filter.append(info.getMainTableName()).append("."); - } - filter.append(info.getDeptFilterColumn()) - .append(" IN (") - .append(deptIds) - .append(") "); - } - } - } - return filter.toString(); - } - - private void buildWhereClause(Update update, String dataFilter) throws JSQLParserException { - if (update.getWhere() == null) { - update.setWhere(CCJSqlParserUtil.parseCondExpression(dataFilter)); - } else { - AndExpression and = new AndExpression( - CCJSqlParserUtil.parseCondExpression(dataFilter), update.getWhere()); - update.setWhere(and); - } - } - - private void buildWhereClause(Delete delete, String dataFilter) throws JSQLParserException { - if (delete.getWhere() == null) { - delete.setWhere(CCJSqlParserUtil.parseCondExpression(dataFilter)); - } else { - AndExpression and = new AndExpression( - CCJSqlParserUtil.parseCondExpression(dataFilter), delete.getWhere()); - delete.setWhere(and); - } - } - - private void buildWhereClause(PlainSelect select, String dataFilter) throws JSQLParserException { - if (select.getWhere() == null) { - select.setWhere(CCJSqlParserUtil.parseCondExpression(dataFilter)); - } else { - AndExpression and = new AndExpression( - CCJSqlParserUtil.parseCondExpression(dataFilter), select.getWhere()); - select.setWhere(and); - } - } - - @Override - public Object plugin(Object target) { - return Plugin.wrap(target, this); - } - - @Override - public void setProperties(Properties properties) { - // 这里需要空注解,否则sonar会不happy。 - } - - @Data - private static final class ModelDataPermInfo { - private Set excludeMethodNameSet; - private String userFilterColumn; - private String deptFilterColumn; - private String mainTableName; - private Boolean mustIncludeUserRule; - } - - @Data - private static final class ModelTenantInfo { - private Set excludeMethodNameSet; - private String modelName; - private String tableName; - private String fieldName; - private String columnName; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/listener/LoadDataFilterInfoListener.java b/orange-demo-multi/orange-demo-multi-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/listener/LoadDataFilterInfoListener.java deleted file mode 100644 index e78bed3b..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-datafilter/src/main/java/com/orangeforms/common/datafilter/listener/LoadDataFilterInfoListener.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.orangeforms.common.datafilter.listener; - -import com.orangeforms.common.datafilter.interceptor.MybatisDataFilterInterceptor; -import org.springframework.boot.context.event.ApplicationReadyEvent; -import org.springframework.context.ApplicationListener; -import org.springframework.stereotype.Component; - -/** - * 应用服务启动监听器。 - * 目前主要功能是调用MybatisDataFilterInterceptor中的loadInfoWithDataFilter方法, - * 将标记有过滤注解的数据加载到缓存,以提升系统运行时效率。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Component -public class LoadDataFilterInfoListener implements ApplicationListener { - - @Override - public void onApplicationEvent(ApplicationReadyEvent applicationReadyEvent) { - MybatisDataFilterInterceptor interceptor = - applicationReadyEvent.getApplicationContext().getBean(MybatisDataFilterInterceptor.class); - interceptor.loadInfoWithDataFilter(); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-datafilter/src/main/resources/META-INF/spring.factories b/orange-demo-multi/orange-demo-multi-service/common/common-datafilter/src/main/resources/META-INF/spring.factories deleted file mode 100644 index e9628e63..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-datafilter/src/main/resources/META-INF/spring.factories +++ /dev/null @@ -1,2 +0,0 @@ -org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ -com.orangeforms.common.datafilter.config.DataFilterAutoConfig \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-log/pom.xml b/orange-demo-multi/orange-demo-multi-service/common/common-log/pom.xml deleted file mode 100644 index 4b097f7c..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-log/pom.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - common - com.orangeforms - 1.0.0 - - 4.0.0 - - common-log - 1.0.0 - common-log - jar - - - - com.orangeforms - common-sequence - 1.0.0 - - - org.springframework.kafka - spring-kafka - - - - - - - src/main/resources - - **/*.* - - false - - - src/main/java - - **/*.xml - - false - - - - \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-log/src/main/java/com/orangeforms/common/log/annotation/OperationLog.java b/orange-demo-multi/orange-demo-multi-service/common/common-log/src/main/java/com/orangeforms/common/log/annotation/OperationLog.java deleted file mode 100644 index ba3c95b9..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-log/src/main/java/com/orangeforms/common/log/annotation/OperationLog.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.orangeforms.common.log.annotation; - -import com.orangeforms.common.log.model.constant.SysOperationLogType; - -import java.lang.annotation.*; - -/** - * 操作日志记录注解。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Target({ElementType.METHOD}) -@Retention(RetentionPolicy.RUNTIME) -@Documented -public @interface OperationLog { - - /** - * 描述。 - */ - String description() default ""; - - /** - * 操作类型。 - */ - int type() default SysOperationLogType.OTHER; - - /** - * 是否保存应答结果。 - * 对于类似导出和文件下载之类的接口,该参与应该设置为false。 - */ - boolean saveResponse() default true; -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-log/src/main/java/com/orangeforms/common/log/aop/OperationLogAspect.java b/orange-demo-multi/orange-demo-multi-service/common/common-log/src/main/java/com/orangeforms/common/log/aop/OperationLogAspect.java deleted file mode 100644 index 10be0111..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-log/src/main/java/com/orangeforms/common/log/aop/OperationLogAspect.java +++ /dev/null @@ -1,260 +0,0 @@ -package com.orangeforms.common.log.aop; - -import cn.hutool.core.collection.CollUtil; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; -import com.orangeforms.common.core.constant.ApplicationConstant; -import com.orangeforms.common.core.object.ResponseResult; -import com.orangeforms.common.core.object.TokenData; -import com.orangeforms.common.core.util.ContextUtil; -import com.orangeforms.common.core.util.IpUtil; -import com.orangeforms.common.core.util.MyCommonUtil; -import com.orangeforms.common.log.annotation.OperationLog; -import com.orangeforms.common.log.config.OperationLogProperties; -import com.orangeforms.common.log.model.SysOperationLog; -import com.orangeforms.common.log.model.constant.SysOperationLogType; -import com.orangeforms.common.sequence.wrapper.IdGeneratorWrapper; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.aspectj.lang.JoinPoint; -import org.aspectj.lang.ProceedingJoinPoint; -import org.aspectj.lang.Signature; -import org.aspectj.lang.annotation.*; -import org.aspectj.lang.reflect.MethodSignature; -import org.slf4j.MDC; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.core.annotation.Order; -import org.springframework.kafka.core.KafkaTemplate; -import org.springframework.stereotype.Component; -import org.springframework.web.multipart.MultipartFile; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.lang.reflect.Method; -import java.util.*; - -/** - * 操作日志记录处理AOP对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Aspect -@Component -@Order(1) -@Slf4j -public class OperationLogAspect { - - @Value("${spring.application.name}") - private String serviceName; - @Autowired - private KafkaTemplate kafkaTemplate; - @Autowired - private OperationLogProperties properties; - @Autowired - private IdGeneratorWrapper idGenerator; - - /** - * 错误信息、请求参数和应答结果字符串的最大长度。 - */ - private final static int MAX_LENGTH = 2000; - - /** - * 所有controller方法。 - */ - @Pointcut("execution(public * com.orangeforms..controller..*(..))") - public void operationLogPointCut() { - // 空注释,避免sonar警告 - } - - @Around("operationLogPointCut()") - public Object around(ProceedingJoinPoint joinPoint) throws Throwable { - // 计时。 - long start = System.currentTimeMillis(); - HttpServletRequest request = ContextUtil.getHttpRequest(); - HttpServletResponse response = ContextUtil.getHttpResponse(); - String traceId = this.getTraceId(request); - request.setAttribute(ApplicationConstant.HTTP_HEADER_TRACE_ID, traceId); - // 将流水号通过应答头返回给前端,便于问题精确定位。 - response.setHeader(ApplicationConstant.HTTP_HEADER_TRACE_ID, traceId); - MDC.put(ApplicationConstant.HTTP_HEADER_TRACE_ID, traceId); - TokenData tokenData = TokenData.takeFromRequest(); - // 为日志框架设定变量,使日志可以输出更多有价值的信息。 - if (tokenData != null) { - MDC.put("sessionId", tokenData.getSessionId()); - MDC.put("userId", tokenData.getUserId().toString()); - } - String[] parameterNames = this.getParameterNames(joinPoint); - Object[] args = joinPoint.getArgs(); - JSONObject jsonArgs = new JSONObject(); - for (int i = 0; i < args.length; i++) { - Object arg = args[i]; - if (this.isNormalArgs(arg)) { - String parameterName = parameterNames[i]; - jsonArgs.put(parameterName, arg); - } - } - String params = jsonArgs.toJSONString(); - SysOperationLog operationLog = null; - OperationLog operationLogAnnotation = null; - boolean saveOperationLog = properties.isEnabled(); - if (saveOperationLog) { - operationLogAnnotation = getOperationLogAnnotation(joinPoint); - saveOperationLog = (operationLogAnnotation != null); - } - if (saveOperationLog) { - operationLog = this.buildSysOperationLog(operationLogAnnotation, joinPoint, params, traceId, tokenData); - } - Object result; - log.info("开始请求,url={}, reqData={}", request.getRequestURI(), params); - try { - // 调用原来的方法 - result = joinPoint.proceed(); - String respData = result == null ? "null" : JSON.toJSONString(result); - Long elapse = System.currentTimeMillis() - start; - if (saveOperationLog) { - this.operationLogPostProcess(operationLogAnnotation, respData, operationLog, result); - } - if (elapse > properties.getSlowLogMs()) { - log.warn("耗时较长的请求完成警告, url={},elapse={}ms reqData={} respData={}", - request.getRequestURI(), elapse, params, respData); - } - log.info("请求完成, url={},elapse={}ms, respData={}", request.getRequestURI(), elapse, respData); - } catch (Exception e) { - if (saveOperationLog) { - operationLog.setSuccess(false); - operationLog.setErrorMsg(StringUtils.substring(e.getMessage(), 0, MAX_LENGTH)); - } - log.error("请求报错,url={}, reqData={}, error={}", request.getRequestURI(), params, e.getMessage()); - throw e; - } finally { - if (saveOperationLog) { - operationLog.setElapse(System.currentTimeMillis() - start); - kafkaTemplate.send(properties.getKafkaTopic(), JSON.toJSONString(operationLog)); - } - MDC.remove(ApplicationConstant.HTTP_HEADER_TRACE_ID); - if (tokenData != null) { - MDC.remove("sessionId"); - MDC.remove("userId"); - } - } - return result; - } - - private SysOperationLog buildSysOperationLog( - OperationLog operationLogAnnotation, - ProceedingJoinPoint joinPoint, - String params, - String traceId, - TokenData tokenData) { - HttpServletRequest request = ContextUtil.getHttpRequest(); - SysOperationLog operationLog = new SysOperationLog(); - operationLog.setLogId(idGenerator.nextLongId()); - operationLog.setTraceId(traceId); - operationLog.setDescription(operationLogAnnotation.description()); - operationLog.setOperationType(operationLogAnnotation.type()); - operationLog.setServiceName(this.serviceName); - operationLog.setApiClass(joinPoint.getTarget().getClass().getName()); - operationLog.setApiMethod(operationLog.getApiClass() + "." + joinPoint.getSignature().getName()); - operationLog.setRequestMethod(request.getMethod()); - operationLog.setRequestUrl(request.getRequestURI()); - if (tokenData != null) { - operationLog.setRequestIp(tokenData.getLoginIp()); - } else { - operationLog.setRequestIp(IpUtil.getRemoteIpAddress(request)); - } - operationLog.setOperationTime(new Date()); - if (params != null) { - if (params.length() <= MAX_LENGTH) { - operationLog.setRequestArguments(params); - } else { - operationLog.setRequestArguments(StringUtils.substring(params, 0, MAX_LENGTH)); - } - } - if (tokenData != null) { - // 对于非多租户系统,该值为空可以忽略。 - operationLog.setTenantId(tokenData.getTenantId()); - operationLog.setSessionId(tokenData.getSessionId()); - operationLog.setOperatorId(tokenData.getUserId()); - operationLog.setOperatorName(tokenData.getLoginName()); - } - return operationLog; - } - - private void operationLogPostProcess( - OperationLog operationLogAnnotation, String respData, SysOperationLog operationLog, Object result) { - if (operationLogAnnotation.saveResponse()) { - if (respData.length() <= MAX_LENGTH) { - operationLog.setResponseResult(respData); - } else { - operationLog.setResponseResult(StringUtils.substring(respData, 0, MAX_LENGTH)); - } - } - // 处理大部分返回ResponseResult的接口。 - if (!(result instanceof ResponseResult)) { - if (ContextUtil.hasRequestContext()) { - operationLog.setSuccess(ContextUtil.getHttpResponse().getStatus() == HttpServletResponse.SC_OK); - } - return; - } - ResponseResult responseResult = (ResponseResult) result; - operationLog.setSuccess(responseResult.isSuccess()); - if (!responseResult.isSuccess()) { - operationLog.setErrorMsg(responseResult.getErrorMessage()); - } - if (operationLog.getOperationType().equals(SysOperationLogType.LOGIN)) { - // 对于登录操作,由于在调用登录方法之前,没有可用的TokenData。 - // 因此如果登录成功,可再次通过TokenData.takeFromRequest()获取TokenData。 - if (operationLog.getSuccess()) { - // 这里为了保证LoginController.doLogin方法,一定将TokenData存入Request.Attribute之中, - // 我们将不做空值判断,一旦出错,开发者可在调试时立刻发现异常,并根据这里的注释进行修复。 - TokenData tokenData = TokenData.takeFromRequest(); - // 对于非多租户系统,为了保证代码一致性,仍可保留对tenantId的赋值代码。 - operationLog.setTenantId(tokenData.getTenantId()); - operationLog.setSessionId(tokenData.getSessionId()); - operationLog.setOperatorId(tokenData.getUserId()); - operationLog.setOperatorName(tokenData.getLoginName()); - } else { - HttpServletRequest request = ContextUtil.getHttpRequest(); - // 登录操作需要特殊处理,无论是登录成功还是失败,都要记录operator_name字段。 - operationLog.setOperatorName(request.getParameter("loginName")); - } - } - } - - private String[] getParameterNames(ProceedingJoinPoint joinPoint) { - Signature signature = joinPoint.getSignature(); - MethodSignature methodSignature = (MethodSignature) signature; - return methodSignature.getParameterNames(); - } - - private OperationLog getOperationLogAnnotation(JoinPoint joinPoint) throws Exception { - Signature signature = joinPoint.getSignature(); - MethodSignature methodSignature = (MethodSignature) signature; - Method method = methodSignature.getMethod(); - return method.getAnnotation(OperationLog.class); - } - - private String getTraceId(HttpServletRequest request) { - // 获取请求流水号。 - // 对于微服务系统,为了保证traceId在全调用链的唯一性,因此在网关的过滤器中创建了该值。 - String traceId = request.getHeader(ApplicationConstant.HTTP_HEADER_TRACE_ID); - if (StringUtils.isBlank(traceId)) { - traceId = MyCommonUtil.generateUuid(); - } - return traceId; - } - - private boolean isNormalArgs(Object o) { - if (o instanceof List) { - List list = (List) o; - if (CollUtil.isNotEmpty(list)) { - return !(list.get(0) instanceof MultipartFile); - } - } - return !(o instanceof HttpServletRequest) - && !(o instanceof HttpServletResponse) - && !(o instanceof MultipartFile); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-log/src/main/java/com/orangeforms/common/log/config/CommonLogAutoConfig.java b/orange-demo-multi/orange-demo-multi-service/common/common-log/src/main/java/com/orangeforms/common/log/config/CommonLogAutoConfig.java deleted file mode 100644 index 1fbd8cfe..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-log/src/main/java/com/orangeforms/common/log/config/CommonLogAutoConfig.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.orangeforms.common.log.config; - -import org.springframework.boot.context.properties.EnableConfigurationProperties; - -/** - * common-log模块的自动配置引导类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@EnableConfigurationProperties({OperationLogProperties.class}) -public class CommonLogAutoConfig { -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-log/src/main/java/com/orangeforms/common/log/config/OperationLogProperties.java b/orange-demo-multi/orange-demo-multi-service/common/common-log/src/main/java/com/orangeforms/common/log/config/OperationLogProperties.java deleted file mode 100644 index 4b748a2d..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-log/src/main/java/com/orangeforms/common/log/config/OperationLogProperties.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.orangeforms.common.log.config; - -import lombok.Data; -import org.springframework.boot.context.properties.ConfigurationProperties; - -/** - * 操作日志的配置类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@ConfigurationProperties(prefix = "common-log.operation-log") -public class OperationLogProperties { - - /** - * 是否采集操作日志。 - */ - private boolean enabled = true; - /** - * 接口调用的毫秒数大于该值后,将输出慢日志警告。 - */ - private long slowLogMs = 50000; - /** - * kafka topic - */ - private String kafkaTopic = "SysOperationLog"; -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-log/src/main/java/com/orangeforms/common/log/dao/SysOperationLogMapper.java b/orange-demo-multi/orange-demo-multi-service/common/common-log/src/main/java/com/orangeforms/common/log/dao/SysOperationLogMapper.java deleted file mode 100644 index 40bef58d..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-log/src/main/java/com/orangeforms/common/log/dao/SysOperationLogMapper.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.orangeforms.common.log.dao; - -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.common.log.model.SysOperationLog; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * 系统操作日志对应的数据访问对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface SysOperationLogMapper extends BaseDaoMapper { - - /** - * 批量插入。 - * - * @param operationLogList 操作日志列表。 - */ - void insertList(List operationLogList); - - /** - * 根据过滤条件和排序规则,查询操作日志。 - * - * @param sysOperationLogFilter 操作日志的过滤对象。 - * @param orderBy 排序规则。 - * @return 查询列表。 - */ - List getSysOperationLogList( - @Param("sysOperationLogFilter") SysOperationLog sysOperationLogFilter, - @Param("orderBy") String orderBy); -} \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-log/src/main/java/com/orangeforms/common/log/dao/mapper/SysOperationLogMapper.xml b/orange-demo-multi/orange-demo-multi-service/common/common-log/src/main/java/com/orangeforms/common/log/dao/mapper/SysOperationLogMapper.xml deleted file mode 100644 index 4523c8af..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-log/src/main/java/com/orangeforms/common/log/dao/mapper/SysOperationLogMapper.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AND zz_sys_operation_log.operation_type = #{sysOperationLogFilter.operationType} - - - - AND zz_sys_operation_log.request_url LIKE #{safeRequestUrl} - - - AND zz_sys_operation_log.trace_id = #{sysOperationLogFilter.traceId} - - - AND zz_sys_operation_log.success = #{sysOperationLogFilter.success} - - - - AND zz_sys_operation_log.operator_name LIKE #{safeOperatorName} - - - AND zz_sys_operation_log.elapse >= #{sysOperationLogFilter.elapseMin} - - - AND zz_sys_operation_log.elapse <= #{sysOperationLogFilter.elapseMax} - - - AND zz_sys_operation_log.operation_time >= #{sysOperationLogFilter.operationTimeStart} - - - AND zz_sys_operation_log.operation_time <= #{sysOperationLogFilter.operationTimeEnd} - - - - - - INSERT INTO zz_sys_operation_log VALUES - - ( - #{item.logId}, - #{item.description}, - #{item.operationType}, - #{item.serviceName}, - #{item.apiClass}, - #{item.apiMethod}, - #{item.sessionId}, - #{item.traceId}, - #{item.elapse}, - #{item.requestMethod}, - #{item.requestUrl}, - #{item.requestArguments}, - #{item.responseResult}, - #{item.requestIp}, - #{item.success}, - #{item.errorMsg}, - #{item.tenantId}, - #{item.operatorId}, - #{item.operatorName}, - #{item.operationTime} - ) - - - - - \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-log/src/main/java/com/orangeforms/common/log/model/SysOperationLog.java b/orange-demo-multi/orange-demo-multi-service/common/common-log/src/main/java/com/orangeforms/common/log/model/SysOperationLog.java deleted file mode 100644 index f4a94778..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-log/src/main/java/com/orangeforms/common/log/model/SysOperationLog.java +++ /dev/null @@ -1,170 +0,0 @@ -package com.orangeforms.common.log.model; - -import com.baomidou.mybatisplus.annotation.*; -import com.orangeforms.common.core.annotation.TenantFilterColumn; -import lombok.Data; - -import java.util.Date; - -/** - * 操作日志记录表 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@TableName("zz_sys_operation_log") -public class SysOperationLog { - - /** - * 主键Id。 - */ - @TableId(value = "log_id") - private Long logId; - - /** - * 日志描述。 - */ - @TableField(value = "description") - private String description; - - /** - * 操作类型。 - * 常量值定义可参考SysOperationLogType对象。 - */ - @TableField(value = "operation_type") - private Integer operationType; - - /** - * 接口所在服务名称。 - * 通常为spring.application.name配置项的值。 - */ - @TableField(value = "service_name") - private String serviceName; - - /** - * 调用的controller全类名。 - * 之所以为独立字段,是为了便于查询和统计接口的调用频度。 - */ - @TableField(value = "api_class") - private String apiClass; - - /** - * 调用的controller中的方法。 - * 格式为:接口类名 + "." + 方法名。 - */ - @TableField(value = "api_method") - private String apiMethod; - - /** - * 用户会话sessionId。 - * 主要是为了便于统计,以及跟踪查询定位问题。 - */ - @TableField(value = "session_id") - private String sessionId; - - /** - * 每次请求的Id。 - * 对于微服务之间的调用,在同一个请求的调用链中,该值是相同的。 - */ - @TableField(value = "trace_id") - private String traceId; - - /** - * 调用时长。 - */ - @TableField(value = "elapse") - private Long elapse; - - /** - * HTTP 请求方法,如GET。 - */ - @TableField(value = "request_method") - private String requestMethod; - - /** - * HTTP 请求地址。 - */ - @TableField(value = "request_url") - private String requestUrl; - - /** - * controller接口参数。 - */ - @TableField(value = "request_arguments") - private String requestArguments; - - /** - * controller应答结果。 - */ - @TableField(value = "response_result") - private String responseResult; - - /** - * 请求IP。 - */ - @TableField(value = "request_ip") - private String requestIp; - - /** - * 应答状态。 - */ - @TableField(value = "success") - private Boolean success; - - /** - * 错误信息。 - */ - @TableField(value = "error_msg") - private String errorMsg; - - /** - * 租户Id。 - * 仅用于多租户系统,是便于进行对租户的操作查询和统计分析。 - */ - @TenantFilterColumn - @TableField(value = "tenant_id") - private Long tenantId; - - /** - * 操作员Id。 - */ - @TableField(value = "operator_id") - private Long operatorId; - - /** - * 操作员名称。 - */ - @TableField(value = "operator_name") - private String operatorName; - - /** - * 操作时间。 - */ - @TableField(value = "operation_time") - private Date operationTime; - - /** - * 调用时长最小值。 - */ - @TableField(exist = false) - private Long elapseMin; - - /** - * 调用时长最大值。 - */ - @TableField(exist = false) - private Long elapseMax; - - /** - * 操作开始时间。 - */ - @TableField(exist = false) - private String operationTimeStart; - - /** - * 操作结束时间。 - */ - @TableField(exist = false) - private String operationTimeEnd; -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-log/src/main/java/com/orangeforms/common/log/model/constant/SysOperationLogType.java b/orange-demo-multi/orange-demo-multi-service/common/common-log/src/main/java/com/orangeforms/common/log/model/constant/SysOperationLogType.java deleted file mode 100644 index 9eee6acf..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-log/src/main/java/com/orangeforms/common/log/model/constant/SysOperationLogType.java +++ /dev/null @@ -1,166 +0,0 @@ -package com.orangeforms.common.log.model.constant; - -import java.util.HashMap; -import java.util.Map; - -/** - * 操作日志类型常量字典对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -public final class SysOperationLogType { - - /** - * 其他。 - */ - public static final int OTHER = -1; - /** - * 登录。 - */ - public static final int LOGIN = 0; - /** - * 登出。 - */ - public static final int LOGOUT = 5; - /** - * 新增。 - */ - public static final int ADD = 10; - /** - * 修改。 - */ - public static final int UPDATE = 15; - /** - * 删除。 - */ - public static final int DELETE = 20; - /** - * 批量删除。 - */ - public static final int DELETE_BATCH = 21; - /** - * 新增多对多关联。 - */ - public static final int ADD_M2M = 25; - /** - * 移除多对多关联。 - */ - public static final int DELETE_M2M = 30; - /** - * 批量移除多对多关联。 - */ - public static final int DELETE_M2M_BATCH = 31; - /** - * 查询。 - */ - public static final int LIST = 35; - /** - * 分组查询。 - */ - public static final int LIST_WITH_GROUP = 40; - /** - * 导出。 - */ - public static final int EXPORT = 45; - /** - * 导入。 - */ - public static final int IMPORT = 46; - /** - * 上传。 - */ - public static final int UPLOAD = 50; - /** - * 下载。 - */ - public static final int DOWNLOAD = 55; - /** - * 重置缓存。 - */ - public static final int RELOAD_CACHE = 60; - /** - * 发布。 - */ - public static final int PUBLISH = 65; - /** - * 取消发布。 - */ - public static final int UNPUBLISH = 70; - /** - * 暂停。 - */ - public static final int SUSPEND = 75; - /** - * 恢复。 - */ - public static final int RESUME = 80; - /** - * 启动流程。 - */ - public static final int START_FLOW = 100; - /** - * 停止流程。 - */ - public static final int STOP_FLOW = 105; - /** - * 删除流程。 - */ - public static final int DELETE_FLOW = 110; - /** - * 取消流程。 - */ - public static final int CANCEL_FLOW = 115; - /** - * 提交任务。 - */ - public static final int SUBMIT_TASK = 120; - /** - * 催办任务。 - */ - public static final int REMIND_TASK = 125; - - private static final Map DICT_MAP = new HashMap<>(15); - static { - DICT_MAP.put(OTHER, "其他"); - DICT_MAP.put(LOGIN, "登录"); - DICT_MAP.put(LOGOUT, "登出"); - DICT_MAP.put(ADD, "新增"); - DICT_MAP.put(UPDATE, "修改"); - DICT_MAP.put(DELETE, "删除"); - DICT_MAP.put(ADD_M2M, "新增多对多关联"); - DICT_MAP.put(DELETE_M2M, "移除多对多关联"); - DICT_MAP.put(LIST, "查询"); - DICT_MAP.put(LIST_WITH_GROUP, "分组查询"); - DICT_MAP.put(EXPORT, "导出"); - DICT_MAP.put(UPLOAD, "上传"); - DICT_MAP.put(DOWNLOAD, "下载"); - DICT_MAP.put(RELOAD_CACHE, "重置缓存"); - DICT_MAP.put(PUBLISH, "发布"); - DICT_MAP.put(UNPUBLISH, "取消发布"); - DICT_MAP.put(SUSPEND, "暂停"); - DICT_MAP.put(RESUME, "恢复"); - DICT_MAP.put(START_FLOW, "启动流程"); - DICT_MAP.put(STOP_FLOW, "停止流程"); - DICT_MAP.put(DELETE_FLOW, "删除流程"); - DICT_MAP.put(CANCEL_FLOW, "取消流程"); - DICT_MAP.put(SUBMIT_TASK, "提交任务"); - DICT_MAP.put(REMIND_TASK, "催办任务"); - } - - /** - * 判断参数是否为当前常量字典的合法值。 - * - * @param value 待验证的参数值。 - * @return 合法返回true,否则false。 - */ - public static boolean isValid(Integer value) { - return value != null && DICT_MAP.containsKey(value); - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private SysOperationLogType() { - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-log/src/main/java/com/orangeforms/common/log/service/SysOperationLogService.java b/orange-demo-multi/orange-demo-multi-service/common/common-log/src/main/java/com/orangeforms/common/log/service/SysOperationLogService.java deleted file mode 100644 index b073a261..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-log/src/main/java/com/orangeforms/common/log/service/SysOperationLogService.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.orangeforms.common.log.service; - -import com.orangeforms.common.core.base.service.IBaseService; -import com.orangeforms.common.log.model.SysOperationLog; - -import java.util.List; - -/** - * 操作日志服务接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface SysOperationLogService extends IBaseService { - - /** - * 异步的插入一条新操作日志。 - * - * @param operationLog 操作日志对象。 - */ - void saveNewAsync(SysOperationLog operationLog); - - /** - * 插入一条新操作日志。 - * - * @param operationLog 操作日志对象。 - */ - void saveNew(SysOperationLog operationLog); - - /** - * 批量插入。 - * - * @param sysOperationLogList 操作日志列表。 - */ - void batchSave(List sysOperationLogList); - - /** - * 根据过滤条件和排序规则,查询操作日志。 - * - * @param filter 操作日志的过滤对象。 - * @param orderBy 排序规则。 - * @return 查询列表。 - */ - List getSysOperationLogList(SysOperationLog filter, String orderBy); -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-log/src/main/java/com/orangeforms/common/log/service/impl/SysOperationLogServiceImpl.java b/orange-demo-multi/orange-demo-multi-service/common/common-log/src/main/java/com/orangeforms/common/log/service/impl/SysOperationLogServiceImpl.java deleted file mode 100644 index f989d7c7..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-log/src/main/java/com/orangeforms/common/log/service/impl/SysOperationLogServiceImpl.java +++ /dev/null @@ -1,84 +0,0 @@ -package com.orangeforms.common.log.service.impl; - -import com.orangeforms.common.core.annotation.MyDataSource; -import com.orangeforms.common.core.base.dao.BaseDaoMapper; -import com.orangeforms.common.core.base.service.BaseService; -import com.orangeforms.common.core.constant.ApplicationConstant; -import com.orangeforms.common.log.dao.SysOperationLogMapper; -import com.orangeforms.common.log.model.SysOperationLog; -import com.orangeforms.common.log.service.SysOperationLogService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.scheduling.annotation.Async; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -/** - * 操作日志服务实现类。 - * 这里需要重点解释下MyDataSource注解。在单数据源服务中,由于没有DataSourceAspect的切面类,所以该注解不会 - * 有任何作用和影响。然而在多数据源情况下,由于每个服务都有自己的DataSourceType常量对象,表示不同的数据源。 - * 而common-log在公用模块中,不能去依赖业务服务,因此这里给出了一个固定值。我们在业务的DataSourceType中,也要 - * 使用该值ApplicationConstant.OPERATION_LOG_DATASOURCE_TYPE,去关联操作日志所需的数据源配置。 - * - * @author Jerry - * @date 2020-08-08 - */ -@MyDataSource(ApplicationConstant.OPERATION_LOG_DATASOURCE_TYPE) -@Service -public class SysOperationLogServiceImpl extends BaseService implements SysOperationLogService { - - @Autowired - private SysOperationLogMapper sysOperationLogMapper; - - @Override - protected BaseDaoMapper mapper() { - return sysOperationLogMapper; - } - - /** - * 异步插入一条新操作日志。通常用于在橙单中创建的单体工程服务。 - * - * @param operationLog 操作日志对象。 - */ - @Async - @Transactional(rollbackFor = Exception.class) - @Override - public void saveNewAsync(SysOperationLog operationLog) { - sysOperationLogMapper.insert(operationLog); - } - - /** - * 插入一条新操作日志。 - * - * @param operationLog 操作日志对象。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public void saveNew(SysOperationLog operationLog) { - sysOperationLogMapper.insert(operationLog); - } - - /** - * 批量插入。通常用于在橙单中创建的微服务工程服务。 - * - * @param sysOperationLogList 操作日志列表。 - */ - @Transactional(rollbackFor = Exception.class) - @Override - public void batchSave(List sysOperationLogList) { - sysOperationLogMapper.insertList(sysOperationLogList); - } - - /** - * 根据过滤条件和排序规则,查询操作日志。 - * - * @param filter 操作日志的过滤对象。 - * @param orderBy 排序规则。 - * @return 查询列表。 - */ - @Override - public List getSysOperationLogList(SysOperationLog filter, String orderBy) { - return sysOperationLogMapper.getSysOperationLogList(filter, orderBy); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-log/src/main/resources/META-INF/spring.factories b/orange-demo-multi/orange-demo-multi-service/common/common-log/src/main/resources/META-INF/spring.factories deleted file mode 100644 index c1551ebc..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-log/src/main/resources/META-INF/spring.factories +++ /dev/null @@ -1,2 +0,0 @@ -org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ -com.orangeforms.common.log.config.CommonLogAutoConfig \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-redis/pom.xml b/orange-demo-multi/orange-demo-multi-service/common/common-redis/pom.xml deleted file mode 100644 index c0fe169d..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-redis/pom.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - common - com.orangeforms - 1.0.0 - - 4.0.0 - - common-redis - 1.0.0 - common-redis - jar - - - - com.orangeforms - common-core - 1.0.0 - - - org.redisson - redisson - ${redisson.version} - - - \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-redis/src/main/java/com/orangeforms/common/redis/cache/RedisDictionaryCache.java b/orange-demo-multi/orange-demo-multi-service/common/common-redis/src/main/java/com/orangeforms/common/redis/cache/RedisDictionaryCache.java deleted file mode 100644 index 5695de02..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-redis/src/main/java/com/orangeforms/common/redis/cache/RedisDictionaryCache.java +++ /dev/null @@ -1,417 +0,0 @@ -package com.orangeforms.common.redis.cache; - -import com.alibaba.fastjson.JSON; -import com.orangeforms.common.core.cache.DictionaryCache; -import com.orangeforms.common.core.constant.ApplicationConstant; -import com.orangeforms.common.core.exception.RedisCacheAccessException; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; -import org.redisson.api.RMap; -import org.redisson.api.RedissonClient; - -import java.util.*; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.TimeoutException; -import java.util.concurrent.locks.ReadWriteLock; -import java.util.concurrent.locks.ReentrantReadWriteLock; -import java.util.function.Function; -import java.util.stream.Collectors; - -/** - * 字典数据Redis缓存对象。 - * - * @param 字典表主键类型。 - * @param 字典表对象类型。 - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -public class RedisDictionaryCache implements DictionaryCache { - - /** - * 字典数据前缀,便于Redis工具分组显示。 - */ - protected static final String DICT_PREFIX = "DICT-TABLE:"; - /** - * redisson客户端。 - */ - protected final RedissonClient redissonClient; - /** - * 数据存储对象。 - */ - protected final RMap dataMap; - /** - * 字典值对象类型。 - */ - protected final Class valueClazz; - /** - * 由于大部分场景是读取操作,所以使用读写锁提高并发的伸缩性。 - */ - protected final ReadWriteLock lock; - /** - * 获取字典主键数据的函数对象。 - */ - protected final Function idGetter; - /** - * 超时时长。单位毫秒。 - */ - protected static final long TIMEOUT = 2000L; - - /** - * 当前对象的构造器函数。 - * - * @param redissonClient Redisson的客户端对象。 - * @param dictionaryName 字典表的名称。等同于redis hash对象的key。 - * @param valueClazz 值对象的Class对象。 - * @param idGetter 获取当前类主键字段值的函数对象。 - * @param 字典主键类型。 - * @param 字典对象类型 - * @return 实例化后的字典内存缓存对象。 - */ - public static RedisDictionaryCache create( - RedissonClient redissonClient, - String dictionaryName, - Class valueClazz, - Function idGetter) { - if (idGetter == null) { - throw new IllegalArgumentException("IdGetter can't be NULL."); - } - return new RedisDictionaryCache<>(redissonClient, dictionaryName, valueClazz, idGetter); - } - - /** - * 构造函数。 - * - * @param redissonClient Redisson的客户端对象。 - * @param dictionaryName 字典表的名称。等同于redis hash对象的key。确保全局唯一。 - * @param valueClazz 值对象的Class对象。 - * @param idGetter 获取当前类主键字段值的函数对象。 - */ - public RedisDictionaryCache( - RedissonClient redissonClient, - String dictionaryName, - Class valueClazz, - Function idGetter) { - this.redissonClient = redissonClient; - this.dataMap = redissonClient.getMap( - DICT_PREFIX + dictionaryName + ApplicationConstant.DICT_CACHE_NAME_SUFFIX); - this.lock = new ReentrantReadWriteLock(); - this.valueClazz = valueClazz; - this.idGetter = idGetter; - } - - /** - * 按照数据插入的顺序返回全部字典对象的列表。 - * - * @return 全部字段数据列表。 - */ - @Override - public List getAll() { - Collection dataList; - String exceptionMessage; - try { - if (lock.readLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - dataList = dataMap.readAllValues(); - } finally { - // 如果上面的操作时间超过redisson.lockWatchdogTimeout的时长, - // redis会将与该锁关联的键删除,此后调用unlock的时候,就会抛出运行时异常。 - lock.readLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [RedisDictionaryCache::getAll] encountered EXCEPTION [%s] for DICT [%s].", - e.getClass().getSimpleName(), valueClazz.getSimpleName()); - log.warn(exceptionMessage); - throw new RedisCacheAccessException(exceptionMessage, e); - } - if (CollectionUtils.isEmpty(dataList)) { - return new LinkedList<>(); - } - return dataList.stream() - .map(data -> JSON.parseObject(data, valueClazz)) - .collect(Collectors.toCollection(LinkedList::new)); - } - - /** - * 获取缓存中与键列表对应的对象列表。 - * - * @param keys 主键集合。 - * @return 对象列表。 - */ - @Override - public List getInList(Set keys) { - if (CollectionUtils.isEmpty(keys)) { - return new LinkedList<>(); - } - Collection dataList; - String exceptionMessage; - try { - if (lock.readLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - dataList = dataMap.getAll(keys).values(); - } finally { - lock.readLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [RedisDictionaryCache::getInList] encountered EXCEPTION [%s] for DICT [%s].", - e.getClass().getSimpleName(), valueClazz.getSimpleName()); - log.warn(exceptionMessage); - throw new RedisCacheAccessException(exceptionMessage, e); - } - if (dataList == null) { - return new LinkedList<>(); - } - return dataList.stream() - .map(data -> JSON.parseObject(data, valueClazz)) - .collect(Collectors.toCollection(LinkedList::new)); - } - - /** - * 从缓存中获取指定的数据。 - * - * @param id 数据的key。 - * @return 获取到的数据,如果没有返回null。 - */ - @Override - public V get(K id) { - if (id == null) { - return null; - } - String data; - String exceptionMessage; - try { - if (lock.readLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - data = dataMap.get(id); - } finally { - lock.readLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [RedisDictionaryCache::get] encountered EXCEPTION [%s] for DICT [%s].", - e.getClass().getSimpleName(), valueClazz.getSimpleName()); - log.warn(exceptionMessage); - throw new RedisCacheAccessException(exceptionMessage, e); - } - if (data == null) { - return null; - } - return JSON.parseObject(data, valueClazz); - } - - /** - * 获取缓存中数据条目的数量。 - * - * @return 返回缓存的数据数量。 - */ - @Override - public int getCount() { - return dataMap.size(); - } - - /** - * 将参数List中的数据保存到缓存中,同时保证getAll返回的数据列表,与参数列表中数据项的顺序保持一致。 - * - * @param dataList 待缓存的数据列表。 - */ - @Override - public void putAll(List dataList) { - if (CollectionUtils.isEmpty(dataList)) { - return; - } - Map map = dataList.stream() - .collect(Collectors.toMap(idGetter, JSON::toJSONString)); - String exceptionMessage; - try { - if (lock.writeLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - dataMap.putAll(map, 1000); - } finally { - lock.writeLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [RedisDictionaryCache::putAll] encountered EXCEPTION [%s] for DICT [%s].", - e.getClass().getSimpleName(), valueClazz.getSimpleName()); - log.warn(exceptionMessage); - throw new RedisCacheAccessException(exceptionMessage, e); - } - } - - /** - * 将数据存入缓存。 - * - * @param id 通常为字典数据的主键。 - * @param data 字典数据对象。 - */ - @Override - public void put(K id, V data) { - if (id == null || data == null) { - return; - } - String exceptionMessage; - try { - if (lock.writeLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - dataMap.fastPut(id, JSON.toJSONString(data)); - } finally { - lock.writeLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [RedisDictionaryCache::put] encountered EXCEPTION [%s] for DICT [%s].", - e.getClass().getSimpleName(), valueClazz.getSimpleName()); - log.warn(exceptionMessage); - throw new RedisCacheAccessException(exceptionMessage, e); - } - } - - /** - * 重新加载,先清空原有数据,在执行putAll的操作。 - * - * @param dataList 待缓存的数据列表。 - * @param force true则强制刷新,如果false,当缓存中存在数据时不刷新。 - */ - @Override - public void reload(List dataList, boolean force) { - Map map = null; - if (CollectionUtils.isNotEmpty(dataList)) { - map = dataList.stream().collect(Collectors.toMap(idGetter, JSON::toJSONString)); - } - String exceptionMessage; - try { - if (lock.writeLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - // 如果不强制刷新,需要先判断缓存中是否存在数据。 - if (!force && this.getCount() > 0) { - return; - } - dataMap.clear(); - if (map != null) { - dataMap.putAll(map, 1000); - } - } finally { - lock.writeLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [RedisDictionaryCache::reload] encountered EXCEPTION [%s] for DICT [%s].", - e.getClass().getSimpleName(), valueClazz.getSimpleName()); - log.warn(exceptionMessage); - throw new RedisCacheAccessException(exceptionMessage, e); - } - } - - /** - * 删除缓存中指定的键。 - * - * @param id 待删除数据的主键。 - * @return 返回被删除的对象,如果主键不存在,返回null。 - */ - @Override - public V invalidate(K id) { - if (id == null) { - return null; - } - String data; - String exceptionMessage; - try { - if (lock.writeLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - data = dataMap.remove(id); - } finally { - lock.writeLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [RedisDictionaryCache::invalidate] encountered EXCEPTION [%s] for DICT [%s].", - e.getClass().getSimpleName(), valueClazz.getSimpleName()); - log.warn(exceptionMessage); - throw new RedisCacheAccessException(exceptionMessage, e); - } - if (data == null) { - return null; - } - return JSON.parseObject(data, valueClazz); - } - - /** - * 删除缓存中,参数列表中包含的键。 - * - * @param keys 待删除数据的主键集合。 - */ - @SuppressWarnings("unchecked") - @Override - public void invalidateSet(Set keys) { - if (CollectionUtils.isEmpty(keys)) { - return; - } - Object[] keyArray = keys.toArray(new Object[]{}); - String exceptionMessage; - try { - if (lock.writeLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - dataMap.fastRemove((K[]) keyArray); - } finally { - lock.writeLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [RedisDictionaryCache::invalidateSet] encountered EXCEPTION [%s] for DICT [%s].", - e.getClass().getSimpleName(), valueClazz.getSimpleName()); - log.warn(exceptionMessage); - throw new RedisCacheAccessException(exceptionMessage, e); - } - } - - /** - * 清空缓存。 - */ - @Override - public void invalidateAll() { - String exceptionMessage; - try { - if (lock.writeLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - dataMap.clear(); - } finally { - lock.writeLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [RedisDictionaryCache::invalidateAll] encountered EXCEPTION [%s] for DICT [%s].", - e.getClass().getSimpleName(), valueClazz.getSimpleName()); - log.warn(exceptionMessage); - throw new RedisCacheAccessException(exceptionMessage, e); - } - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-redis/src/main/java/com/orangeforms/common/redis/cache/RedisTenantDictionaryCache.java b/orange-demo-multi/orange-demo-multi-service/common/common-redis/src/main/java/com/orangeforms/common/redis/cache/RedisTenantDictionaryCache.java deleted file mode 100644 index 527bec2b..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-redis/src/main/java/com/orangeforms/common/redis/cache/RedisTenantDictionaryCache.java +++ /dev/null @@ -1,432 +0,0 @@ -package com.orangeforms.common.redis.cache; - -import com.alibaba.fastjson.JSON; -import com.orangeforms.common.core.cache.DictionaryCache; -import com.orangeforms.common.core.constant.ApplicationConstant; -import com.orangeforms.common.core.exception.RedisCacheAccessException; -import com.orangeforms.common.core.object.TokenData; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; -import org.redisson.api.RMap; -import org.redisson.api.RedissonClient; - -import java.util.*; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.TimeoutException; -import java.util.concurrent.locks.ReadWriteLock; -import java.util.concurrent.locks.ReentrantReadWriteLock; -import java.util.function.Function; -import java.util.stream.Collectors; - -/** - * 租户字典数据Redis缓存对象。 - * - * @param 字典表主键类型。 - * @param 字典表对象类型。 - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -public class RedisTenantDictionaryCache implements DictionaryCache { - - /** - * 字典数据前缀,便于Redis工具分组显示。 - */ - protected static final String TENANT_DICT_PREFIX = "TENANT-DICT-TABLE:"; - /** - * redisson客户端。 - */ - protected final RedissonClient redissonClient; - /** - * 字典名称。 - */ - protected final String dictionaryName; - /** - * 字典值对象类型。 - */ - protected final Class valueClazz; - /** - * 由于大部分场景是读取操作,所以使用读写锁提高并发的伸缩性。 - */ - protected final ReadWriteLock lock; - /** - * 获取字典主键数据的函数对象。 - */ - protected final Function idGetter; - /** - * 超时时长。单位毫秒。 - */ - protected static final long TIMEOUT = 2000L; - - /** - * 当前对象的构造器函数。 - * - * @param redissonClient Redisson的客户端对象。 - * @param valueClazz 值对象的Class对象。 - * @param idGetter 获取当前类主键字段值的函数对象。 - * @param 字典主键类型。 - * @param 字典对象类型 - * @return 实例化后的字典内存缓存对象。 - */ - public static RedisTenantDictionaryCache create( - RedissonClient redissonClient, - String dictionaryName, - Class valueClazz, - Function idGetter) { - if (idGetter == null) { - throw new IllegalArgumentException("IdGetter can't be NULL."); - } - return new RedisTenantDictionaryCache<>(redissonClient, dictionaryName, valueClazz, idGetter); - } - - /** - * 构造函数。 - * - * @param redissonClient Redisson的客户端对象。 - * @param valueClazz 值对象的Class对象。 - * @param idGetter 获取当前类主键字段值的函数对象。 - */ - public RedisTenantDictionaryCache( - RedissonClient redissonClient, - String dictionaryName, - Class valueClazz, - Function idGetter) { - this.redissonClient = redissonClient; - this.lock = new ReentrantReadWriteLock(); - this.dictionaryName = dictionaryName; - this.valueClazz = valueClazz; - this.idGetter = idGetter; - } - - /** - * 获取租户的字典数据Map。 - * - * @return 当前租户的字典数据Map。 - */ - protected RMap getTenantDataMap() { - Long tenantId = TokenData.takeFromRequest().getTenantId(); - StringBuilder s = new StringBuilder(64); - s.append(TENANT_DICT_PREFIX).append(dictionaryName).append("-") - .append(tenantId).append(ApplicationConstant.DICT_CACHE_NAME_SUFFIX); - return redissonClient.getMap(s.toString()); - } - - /** - * 按照数据插入的顺序返回全部字典对象的列表。 - * - * @return 全部字段数据列表。 - */ - @Override - public List getAll() { - Collection dataList; - String exceptionMessage; - try { - if (lock.readLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - dataList = this.getTenantDataMap().readAllValues(); - } finally { - // 如果上面的操作时间超过redisson.lockWatchdogTimeout的时长, - // redis会将与该锁关联的键删除,此后调用unlock的时候,就会抛出运行时异常。 - lock.readLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [RedisDictionaryCache::getAll] encountered EXCEPTION [%s] for DICT [%s].", - e.getClass().getSimpleName(), valueClazz.getSimpleName()); - log.warn(exceptionMessage); - throw new RedisCacheAccessException(exceptionMessage, e); - } - if (CollectionUtils.isEmpty(dataList)) { - return new LinkedList<>(); - } - return dataList.stream() - .map(data -> JSON.parseObject(data, valueClazz)) - .collect(Collectors.toCollection(LinkedList::new)); - } - - /** - * 获取缓存中与键列表对应的对象列表。 - * - * @param keys 主键集合。 - * @return 对象列表。 - */ - @Override - public List getInList(Set keys) { - if (CollectionUtils.isEmpty(keys)) { - return new LinkedList<>(); - } - Collection dataList = null; - String exceptionMessage; - try { - if (lock.readLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - Map m = this.getTenantDataMap().getAll(keys); - if (m != null) { - dataList = m.values(); - } - } finally { - lock.readLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [RedisDictionaryCache::getInList] encountered EXCEPTION [%s] for DICT [%s].", - e.getClass().getSimpleName(), valueClazz.getSimpleName()); - log.warn(exceptionMessage); - throw new RedisCacheAccessException(exceptionMessage, e); - } - if (dataList == null) { - return new LinkedList<>(); - } - return dataList.stream() - .map(data -> JSON.parseObject(data, valueClazz)) - .collect(Collectors.toCollection(LinkedList::new)); - } - - /** - * 从缓存中获取指定的数据。 - * - * @param id 数据的key。 - * @return 获取到的数据,如果没有返回null。 - */ - @Override - public V get(K id) { - if (id == null) { - return null; - } - String data; - String exceptionMessage; - try { - if (lock.readLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - data = this.getTenantDataMap().get(id); - } finally { - lock.readLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [RedisDictionaryCache::get] encountered EXCEPTION [%s] for DICT [%s].", - e.getClass().getSimpleName(), valueClazz.getSimpleName()); - log.warn(exceptionMessage); - throw new RedisCacheAccessException(exceptionMessage, e); - } - if (data == null) { - return null; - } - return JSON.parseObject(data, valueClazz); - } - - /** - * 获取缓存中数据条目的数量。 - * - * @return 返回缓存的数据数量。 - */ - @Override - public int getCount() { - return this.getTenantDataMap().size(); - } - - /** - * 将参数List中的数据保存到缓存中,同时保证getAll返回的数据列表,与参数列表中数据项的顺序保持一致。 - * - * @param dataList 待缓存的数据列表。 - */ - @Override - public void putAll(List dataList) { - if (CollectionUtils.isEmpty(dataList)) { - return; - } - Map map = dataList.stream() - .collect(Collectors.toMap(idGetter, JSON::toJSONString)); - String exceptionMessage; - try { - if (lock.writeLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - this.getTenantDataMap().putAll(map, 1000); - } finally { - lock.writeLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [RedisDictionaryCache::putAll] encountered EXCEPTION [%s] for DICT [%s].", - e.getClass().getSimpleName(), valueClazz.getSimpleName()); - log.warn(exceptionMessage); - throw new RedisCacheAccessException(exceptionMessage, e); - } - } - - /** - * 将数据存入缓存。 - * - * @param id 通常为字典数据的主键。 - * @param data 字典数据对象。 - */ - @Override - public void put(K id, V data) { - if (id == null || data == null) { - return; - } - String exceptionMessage; - try { - if (lock.writeLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - this.getTenantDataMap().fastPut(id, JSON.toJSONString(data)); - } finally { - lock.writeLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [RedisDictionaryCache::put] encountered EXCEPTION [%s] for DICT [%s].", - e.getClass().getSimpleName(), valueClazz.getSimpleName()); - log.warn(exceptionMessage); - throw new RedisCacheAccessException(exceptionMessage, e); - } - } - - /** - * 重新加载,先清空原有数据,在执行putAll的操作。 - * - * @param dataList 待缓存的数据列表。 - * @param force true则强制刷新,如果false,当缓存中存在数据时不刷新。 - */ - @Override - public void reload(List dataList, boolean force) { - Map map = null; - if (CollectionUtils.isNotEmpty(dataList)) { - map = dataList.stream().collect(Collectors.toMap(idGetter, JSON::toJSONString)); - } - String exceptionMessage; - try { - if (lock.writeLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - // 如果不强制刷新,需要先判断缓存中是否存在数据。 - if (!force && this.getCount() > 0) { - return; - } - RMap tenantDataMap = this.getTenantDataMap(); - tenantDataMap.clear(); - if (map != null) { - tenantDataMap.putAll(map, 1000); - } - } finally { - lock.writeLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [RedisDictionaryCache::reload] encountered EXCEPTION [%s] for DICT [%s].", - e.getClass().getSimpleName(), valueClazz.getSimpleName()); - log.warn(exceptionMessage); - throw new RedisCacheAccessException(exceptionMessage, e); - } - } - - /** - * 删除缓存中指定的键。 - * - * @param id 待删除数据的主键。 - * @return 返回被删除的对象,如果主键不存在,返回null。 - */ - @Override - public V invalidate(K id) { - if (id == null) { - return null; - } - String data = null; - String exceptionMessage; - try { - if (lock.writeLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - this.getTenantDataMap().remove(id); - } finally { - lock.writeLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [RedisDictionaryCache::invalidate] encountered EXCEPTION [%s] for DICT [%s].", - e.getClass().getSimpleName(), valueClazz.getSimpleName()); - log.warn(exceptionMessage); - throw new RedisCacheAccessException(exceptionMessage, e); - } - if (data == null) { - return null; - } - return JSON.parseObject(data, valueClazz); - } - - /** - * 删除缓存中,参数列表中包含的键。 - * - * @param keys 待删除数据的主键集合。 - */ - @SuppressWarnings("unchecked") - @Override - public void invalidateSet(Set keys) { - if (CollectionUtils.isEmpty(keys)) { - return; - } - Object[] keyArray = keys.toArray(new Object[]{}); - String exceptionMessage; - try { - if (lock.writeLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - this.getTenantDataMap().fastRemove((K[]) keyArray); - } finally { - lock.writeLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [RedisDictionaryCache::invalidateSet] encountered EXCEPTION [%s] for DICT [%s].", - e.getClass().getSimpleName(), valueClazz.getSimpleName()); - log.warn(exceptionMessage); - throw new RedisCacheAccessException(exceptionMessage, e); - } - } - - /** - * 清空缓存。 - */ - @Override - public void invalidateAll() { - String exceptionMessage; - try { - if (lock.writeLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - this.getTenantDataMap().clear(); - } finally { - lock.writeLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [RedisDictionaryCache::invalidateAll] encountered EXCEPTION [%s] for DICT [%s].", - e.getClass().getSimpleName(), valueClazz.getSimpleName()); - log.warn(exceptionMessage); - throw new RedisCacheAccessException(exceptionMessage, e); - } - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-redis/src/main/java/com/orangeforms/common/redis/cache/RedisTenantTreeDictionaryCache.java b/orange-demo-multi/orange-demo-multi-service/common/common-redis/src/main/java/com/orangeforms/common/redis/cache/RedisTenantTreeDictionaryCache.java deleted file mode 100644 index 6e5c9b7a..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-redis/src/main/java/com/orangeforms/common/redis/cache/RedisTenantTreeDictionaryCache.java +++ /dev/null @@ -1,369 +0,0 @@ -package com.orangeforms.common.redis.cache; - -import com.alibaba.fastjson.JSON; -import com.orangeforms.common.core.constant.ApplicationConstant; -import com.orangeforms.common.core.exception.RedisCacheAccessException; -import com.orangeforms.common.core.object.TokenData; -import com.google.common.collect.LinkedListMultimap; -import com.google.common.collect.Multimap; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; -import org.redisson.api.RListMultimap; -import org.redisson.api.RMap; -import org.redisson.api.RedissonClient; - -import java.util.*; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.TimeoutException; -import java.util.function.Function; -import java.util.stream.Collectors; - -/** - * 租户树形字典数据Redis缓存对象。 - * - * @param 字典表主键类型。 - * @param 字典表对象类型。 - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -public class RedisTenantTreeDictionaryCache extends RedisTenantDictionaryCache { - - /** - * 获取字典父主键数据的函数对象。 - */ - protected final Function parentIdGetter; - - /** - * 当前对象的构造器函数。 - * - * @param redissonClient Redisson的客户端对象。 - * @param dictionaryName 字典表的名称。等同于redis hash对象的key。 - * @param valueClazz 值对象的Class对象。 - * @param idGetter 获取当前类主键字段值的函数对象。 - * @param parentIdGetter 获取当前类父主键字段值的函数对象。 - * @param 字典主键类型。 - * @param 字典对象类型 - * @return 实例化后的树形字典内存缓存对象。 - */ - public static RedisTenantTreeDictionaryCache create( - RedissonClient redissonClient, - String dictionaryName, - Class valueClazz, - Function idGetter, - Function parentIdGetter) { - if (idGetter == null) { - throw new IllegalArgumentException("IdGetter can't be NULL."); - } - if (parentIdGetter == null) { - throw new IllegalArgumentException("ParentIdGetter can't be NULL."); - } - return new RedisTenantTreeDictionaryCache<>( - redissonClient, dictionaryName, valueClazz, idGetter, parentIdGetter); - } - - /** - * 构造函数。 - * - * @param redissonClient Redisson的客户端对象。 - * @param dictionaryName 字典表的名称。等同于redis hash对象的key。 - * @param valueClazz 值对象的Class对象。 - * @param idGetter 获取当前类主键字段值的函数对象。 - * @param parentIdGetter 获取当前类父主键字段值的函数对象。 - */ - public RedisTenantTreeDictionaryCache( - RedissonClient redissonClient, - String dictionaryName, - Class valueClazz, - Function idGetter, - Function parentIdGetter) { - super(redissonClient, dictionaryName, valueClazz, idGetter); - this.parentIdGetter = parentIdGetter; - } - - protected RListMultimap getTenantTreeDataMap() { - Long tenantId = TokenData.takeFromRequest().getTenantId(); - StringBuilder s = new StringBuilder(64); - s.append(TENANT_DICT_PREFIX).append(dictionaryName).append("-") - .append(tenantId).append(ApplicationConstant.TREE_DICT_CACHE_NAME_SUFFIX); - return redissonClient.getListMultimap(s.toString()); - } - - /** - * 获取该父主键的子数据列表。 - * - * @param parentId 父主键Id。如果parentId为null,则返回所有一级节点数据。 - * @return 子数据列表。 - */ - public List getListByParentId(K parentId) { - List dataList; - String exceptionMessage; - Long tenantId = TokenData.takeFromRequest().getTenantId(); - try { - if (lock.readLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - dataList = this.getTenantTreeDataMap().get(parentId); - } finally { - lock.readLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [RedisTreeDictionaryCache::getListByParentId] encountered EXCEPTION [%s] for DICT [%s].", - e.getClass().getSimpleName(), valueClazz.getSimpleName()); - log.warn(exceptionMessage); - throw new RedisCacheAccessException(exceptionMessage, e); - } - if (CollectionUtils.isEmpty(dataList)) { - return new LinkedList<>(); - } - List resultList = new LinkedList<>(); - dataList.forEach(data -> resultList.add(JSON.parseObject(data, valueClazz))); - return resultList; - } - - /** - * 将参数List中的数据保存到缓存中,同时保证getAll返回的数据列表,与参数列表中数据项的顺序保持一致。 - * - * @param dataList 待缓存的数据列表。 - */ - @Override - public void putAll(List dataList) { - if (CollectionUtils.isEmpty(dataList)) { - return; - } - // 锁外执行数据结构组装,降低锁的粒度,提高并发性。 - Map map = dataList.stream() - .collect(Collectors.toMap(idGetter, JSON::toJSONString)); - Multimap treeMap = LinkedListMultimap.create(); - for (V data : dataList) { - treeMap.put(parentIdGetter.apply(data), JSON.toJSONString(data)); - } - Set>> entries = treeMap.asMap().entrySet(); - String exceptionMessage; - Long tenantId = TokenData.takeFromRequest().getTenantId(); - try { - if (this.lock.writeLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - this.getTenantDataMap().putAll(map, 1000); - RListMultimap allTenantTreeMap = this.getTenantTreeDataMap(); - for (Map.Entry> entry : entries) { - allTenantTreeMap.removeAll(entry.getKey()); - allTenantTreeMap.putAll(entry.getKey(), entry.getValue()); - } - } finally { - lock.writeLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [RedisTreeDictionaryCache::putAll] encountered EXCEPTION [%s] for DICT [%s].", - e.getClass().getSimpleName(), valueClazz.getSimpleName()); - log.warn(exceptionMessage); - throw new RedisCacheAccessException(exceptionMessage, e); - } - } - - /** - * 将数据存入缓存。 - * - * @param id 通常为字典数据的主键。 - * @param data 字典数据对象。 - */ - @Override - public void put(K id, V data) { - if (id == null || data == null) { - return; - } - String stringData = JSON.toJSONString(data); - K parentId = parentIdGetter.apply(data); - String exceptionMessage; - Long tenantId = TokenData.takeFromRequest().getTenantId(); - try { - if (this.lock.writeLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - RMap tenantDataMap = this.getTenantDataMap(); - String oldData = tenantDataMap.put(id, stringData); - if (oldData != null) { - tenantDataMap.remove(parentId, oldData); - } - getTenantDataMap().put(parentId, stringData); - } finally { - lock.writeLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [RedisTreeDictionaryCache::put] encountered EXCEPTION [%s] for DICT [%s].", - e.getClass().getSimpleName(), valueClazz.getSimpleName()); - log.warn(exceptionMessage); - throw new RedisCacheAccessException(exceptionMessage, e); - } - } - - /** - * 行为等同于接口中的描述。这里之所以重写,是因为不确定redisson的读写锁, - * 是否为可重入锁。 - * - * @param dataList 待缓存的数据列表。 - * @param force true则强制刷新,如果false,当缓存中存在数据时不刷新。 - */ - @Override - public void reload(List dataList, boolean force) { - // 锁外执行数据结构组装,降低锁的粒度,提高并发性。 - Map map = null; - Set>> entries = null; - if (CollectionUtils.isNotEmpty(dataList)) { - map = dataList.stream().collect(Collectors.toMap(idGetter, JSON::toJSONString)); - Multimap treeMap = LinkedListMultimap.create(); - for (V data : dataList) { - treeMap.put(parentIdGetter.apply(data), JSON.toJSONString(data)); - } - entries = treeMap.asMap().entrySet(); - } - String exceptionMessage; - Long tenantId = TokenData.takeFromRequest().getTenantId(); - try { - if (lock.writeLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - // 如果不强制刷新,需要先判断缓存中是否存在数据。 - if (!force && this.getCount() > 0) { - return; - } - RMap tenantDataMap = this.getTenantDataMap(); - tenantDataMap.clear(); - RListMultimap allTenantTreeMap = this.getTenantTreeDataMap(); - allTenantTreeMap.clear(); - if (map != null) { - tenantDataMap.putAll(map, 1000); - for (Map.Entry> entry : entries) { - allTenantTreeMap.removeAll(entry.getKey()); - allTenantTreeMap.putAll(entry.getKey(), entry.getValue()); - } - } - } finally { - lock.writeLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [RedisDictionaryCache::reload] encountered EXCEPTION [%s] for DICT [%s].", - e.getClass().getSimpleName(), valueClazz.getSimpleName()); - log.warn(exceptionMessage); - throw new RedisCacheAccessException(exceptionMessage, e); - } - } - - /** - * 删除缓存中指定的键。 - * - * @param id 待删除数据的主键。 - * @return 返回被删除的对象,如果主键不存在,返回null。 - */ - @Override - public V invalidate(K id) { - if (id == null) { - return null; - } - V data = null; - String exceptionMessage; - Long tenantId = TokenData.takeFromRequest().getTenantId(); - try { - if (this.lock.writeLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - String stringData = this.getTenantDataMap().remove(id); - if (stringData != null) { - data = JSON.parseObject(stringData, valueClazz); - K parentId = parentIdGetter.apply(data); - this.getTenantTreeDataMap().remove(parentId, stringData); - } - } finally { - lock.writeLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [RedisTreeDictionaryCache::invalidate] encountered EXCEPTION [%s] for DICT [%s].", - e.getClass().getSimpleName(), valueClazz.getSimpleName()); - log.warn(exceptionMessage); - throw new RedisCacheAccessException(exceptionMessage, e); - } - return data; - } - - /** - * 删除缓存中,参数列表中包含的键。 - * - * @param keys 待删除数据的主键集合。 - */ - @Override - public void invalidateSet(Set keys) { - if (CollectionUtils.isEmpty(keys)) { - return; - } - String exceptionMessage; - Long tenantId = TokenData.takeFromRequest().getTenantId(); - try { - if (lock.writeLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - keys.forEach(id -> { - if (id != null) { - String stringData = this.getTenantDataMap().remove(id); - if (stringData != null) { - K parentId = parentIdGetter.apply(JSON.parseObject(stringData, valueClazz)); - this.getTenantTreeDataMap().remove(parentId, stringData); - } - } - }); - } finally { - lock.writeLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [RedisTreeDictionaryCache::invalidateSet] encountered EXCEPTION [%s] for DICT [%s].", - e.getClass().getSimpleName(), valueClazz.getSimpleName()); - log.warn(exceptionMessage); - throw new RedisCacheAccessException(exceptionMessage, e); - } - } - - /** - * 清空缓存。 - */ - @Override - public void invalidateAll() { - String exceptionMessage; - Long tenantId = TokenData.takeFromRequest().getTenantId(); - try { - if (lock.writeLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - this.getTenantDataMap().clear(); - this.getTenantTreeDataMap().clear(); - } finally { - lock.writeLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [RedisTreeDictionaryCache::invalidateAll] encountered EXCEPTION [%s] for DICT [%s].", - e.getClass().getSimpleName(), valueClazz.getSimpleName()); - log.warn(exceptionMessage); - throw new RedisCacheAccessException(exceptionMessage, e); - } - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-redis/src/main/java/com/orangeforms/common/redis/cache/RedisTreeDictionaryCache.java b/orange-demo-multi/orange-demo-multi-service/common/common-redis/src/main/java/com/orangeforms/common/redis/cache/RedisTreeDictionaryCache.java deleted file mode 100644 index 55cc986f..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-redis/src/main/java/com/orangeforms/common/redis/cache/RedisTreeDictionaryCache.java +++ /dev/null @@ -1,354 +0,0 @@ -package com.orangeforms.common.redis.cache; - -import com.alibaba.fastjson.JSON; -import lombok.extern.slf4j.Slf4j; -import com.orangeforms.common.core.constant.ApplicationConstant; -import com.orangeforms.common.core.exception.RedisCacheAccessException; -import com.google.common.collect.LinkedListMultimap; -import com.google.common.collect.Multimap; -import org.apache.commons.collections4.CollectionUtils; -import org.redisson.api.RListMultimap; -import org.redisson.api.RedissonClient; - -import java.util.*; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.TimeoutException; -import java.util.function.Function; -import java.util.stream.Collectors; - -/** - * 树形字典数据Redis缓存对象。 - * - * @param 字典表主键类型。 - * @param 字典表对象类型。 - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -public class RedisTreeDictionaryCache extends RedisDictionaryCache { - - /** - * 树形数据存储对象。 - */ - private final RListMultimap allTreeMap; - /** - * 获取字典父主键数据的函数对象。 - */ - protected final Function parentIdGetter; - - /** - * 当前对象的构造器函数。 - * - * @param redissonClient Redisson的客户端对象。 - * @param dictionaryName 字典表的名称。等同于redis hash对象的key。 - * @param valueClazz 值对象的Class对象。 - * @param idGetter 获取当前类主键字段值的函数对象。 - * @param parentIdGetter 获取当前类父主键字段值的函数对象。 - * @param 字典主键类型。 - * @param 字典对象类型 - * @return 实例化后的树形字典内存缓存对象。 - */ - public static RedisTreeDictionaryCache create( - RedissonClient redissonClient, - String dictionaryName, - Class valueClazz, - Function idGetter, - Function parentIdGetter) { - if (idGetter == null) { - throw new IllegalArgumentException("IdGetter can't be NULL."); - } - if (parentIdGetter == null) { - throw new IllegalArgumentException("ParentIdGetter can't be NULL."); - } - return new RedisTreeDictionaryCache<>( - redissonClient, dictionaryName, valueClazz, idGetter, parentIdGetter); - } - - /** - * 构造函数。 - * - * @param redissonClient Redisson的客户端对象。 - * @param dictionaryName 字典表的名称。等同于redis hash对象的key。 - * @param valueClazz 值对象的Class对象。 - * @param idGetter 获取当前类主键字段值的函数对象。 - * @param parentIdGetter 获取当前类父主键字段值的函数对象。 - */ - public RedisTreeDictionaryCache( - RedissonClient redissonClient, - String dictionaryName, - Class valueClazz, - Function idGetter, - Function parentIdGetter) { - super(redissonClient, dictionaryName, valueClazz, idGetter); - this.allTreeMap = redissonClient.getListMultimap( - DICT_PREFIX + dictionaryName + ApplicationConstant.TREE_DICT_CACHE_NAME_SUFFIX); - this.parentIdGetter = parentIdGetter; - } - - /** - * 获取该父主键的子数据列表。 - * - * @param parentId 父主键Id。如果parentId为null,则返回所有一级节点数据。 - * @return 子数据列表。 - */ - public List getListByParentId(K parentId) { - List dataList; - String exceptionMessage; - try { - if (lock.readLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - dataList = allTreeMap.get(parentId); - } finally { - lock.readLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [RedisTreeDictionaryCache::getListByParentId] encountered EXCEPTION [%s] for DICT [%s].", - e.getClass().getSimpleName(), valueClazz.getSimpleName()); - log.warn(exceptionMessage); - throw new RedisCacheAccessException(exceptionMessage, e); - } - if (CollectionUtils.isEmpty(dataList)) { - return new LinkedList<>(); - } - List resultList = new LinkedList<>(); - dataList.forEach(data -> resultList.add(JSON.parseObject(data, valueClazz))); - return resultList; - } - - /** - * 将参数List中的数据保存到缓存中,同时保证getAll返回的数据列表,与参数列表中数据项的顺序保持一致。 - * - * @param dataList 待缓存的数据列表。 - */ - @Override - public void putAll(List dataList) { - if (CollectionUtils.isEmpty(dataList)) { - return; - } - // 锁外执行数据结构组装,降低锁的粒度,提高并发性。 - Map map = dataList.stream() - .collect(Collectors.toMap(idGetter, JSON::toJSONString)); - Multimap treeMap = LinkedListMultimap.create(); - for (V data : dataList) { - treeMap.put(parentIdGetter.apply(data), JSON.toJSONString(data)); - } - Set>> entries = treeMap.asMap().entrySet(); - String exceptionMessage; - try { - if (this.lock.writeLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - dataMap.putAll(map, 1000); - for (Map.Entry> entry : entries) { - allTreeMap.removeAll(entry.getKey()); - allTreeMap.putAll(entry.getKey(), entry.getValue()); - } - } finally { - lock.writeLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [RedisTreeDictionaryCache::putAll] encountered EXCEPTION [%s] for DICT [%s].", - e.getClass().getSimpleName(), valueClazz.getSimpleName()); - log.warn(exceptionMessage); - throw new RedisCacheAccessException(exceptionMessage, e); - } - } - - /** - * 将数据存入缓存。 - * - * @param id 通常为字典数据的主键。 - * @param data 字典数据对象。 - */ - @Override - public void put(K id, V data) { - if (id == null || data == null) { - return; - } - String stringData = JSON.toJSONString(data); - K parentId = parentIdGetter.apply(data); - String exceptionMessage; - try { - if (this.lock.writeLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - String oldData = dataMap.put(id, stringData); - if (oldData != null) { - allTreeMap.remove(parentId, oldData); - } - allTreeMap.put(parentId, stringData); - } finally { - lock.writeLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [RedisTreeDictionaryCache::put] encountered EXCEPTION [%s] for DICT [%s].", - e.getClass().getSimpleName(), valueClazz.getSimpleName()); - log.warn(exceptionMessage); - throw new RedisCacheAccessException(exceptionMessage, e); - } - } - - /** - * 行为等同于接口中的描述。这里之所以重写,是因为不确定redisson的读写锁, - * 是否为可重入锁。 - * - * @param dataList 待缓存的数据列表。 - * @param force true则强制刷新,如果false,当缓存中存在数据时不刷新。 - */ - @Override - public void reload(List dataList, boolean force) { - // 锁外执行数据结构组装,降低锁的粒度,提高并发性。 - Map map = null; - Set>> entries = null; - if (CollectionUtils.isNotEmpty(dataList)) { - map = dataList.stream().collect(Collectors.toMap(idGetter, JSON::toJSONString)); - Multimap treeMap = LinkedListMultimap.create(); - for (V data : dataList) { - treeMap.put(parentIdGetter.apply(data), JSON.toJSONString(data)); - } - entries = treeMap.asMap().entrySet(); - } - String exceptionMessage; - try { - if (lock.writeLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - // 如果不强制刷新,需要先判断缓存中是否存在数据。 - if (!force && this.getCount() > 0) { - return; - } - dataMap.clear(); - allTreeMap.clear(); - if (map != null) { - dataMap.putAll(map, 1000); - for (Map.Entry> entry : entries) { - allTreeMap.removeAll(entry.getKey()); - allTreeMap.putAll(entry.getKey(), entry.getValue()); - } - } - } finally { - lock.writeLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [RedisDictionaryCache::reload] encountered EXCEPTION [%s] for DICT [%s].", - e.getClass().getSimpleName(), valueClazz.getSimpleName()); - log.warn(exceptionMessage); - throw new RedisCacheAccessException(exceptionMessage, e); - } - } - - /** - * 删除缓存中指定的键。 - * - * @param id 待删除数据的主键。 - * @return 返回被删除的对象,如果主键不存在,返回null。 - */ - @Override - public V invalidate(K id) { - if (id == null) { - return null; - } - V data = null; - String exceptionMessage; - try { - if (this.lock.writeLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - String stringData = dataMap.remove(id); - if (stringData != null) { - data = JSON.parseObject(stringData, valueClazz); - K parentId = parentIdGetter.apply(data); - allTreeMap.remove(parentId, stringData); - } - } finally { - lock.writeLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [RedisTreeDictionaryCache::invalidate] encountered EXCEPTION [%s] for DICT [%s].", - e.getClass().getSimpleName(), valueClazz.getSimpleName()); - log.warn(exceptionMessage); - throw new RedisCacheAccessException(exceptionMessage, e); - } - return data; - } - - /** - * 删除缓存中,参数列表中包含的键。 - * - * @param keys 待删除数据的主键集合。 - */ - @Override - public void invalidateSet(Set keys) { - if (CollectionUtils.isEmpty(keys)) { - return; - } - String exceptionMessage; - try { - if (lock.writeLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - keys.forEach(id -> { - if (id != null) { - String stringData = dataMap.remove(id); - if (stringData != null) { - K parentId = parentIdGetter.apply(JSON.parseObject(stringData, valueClazz)); - allTreeMap.remove(parentId, stringData); - } - } - }); - } finally { - lock.writeLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [RedisTreeDictionaryCache::invalidateSet] encountered EXCEPTION [%s] for DICT [%s].", - e.getClass().getSimpleName(), valueClazz.getSimpleName()); - log.warn(exceptionMessage); - throw new RedisCacheAccessException(exceptionMessage, e); - } - } - - /** - * 清空缓存。 - */ - @Override - public void invalidateAll() { - String exceptionMessage; - try { - if (lock.writeLock().tryLock(TIMEOUT, TimeUnit.MILLISECONDS)) { - try { - dataMap.clear(); - allTreeMap.clear(); - } finally { - lock.writeLock().unlock(); - } - } else { - throw new TimeoutException(); - } - } catch (Exception e) { - exceptionMessage = String.format( - "LOCK Operation of [RedisTreeDictionaryCache::invalidateAll] encountered EXCEPTION [%s] for DICT [%s].", - e.getClass().getSimpleName(), valueClazz.getSimpleName()); - log.warn(exceptionMessage); - throw new RedisCacheAccessException(exceptionMessage, e); - } - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-redis/src/main/java/com/orangeforms/common/redis/cache/RedissonCacheConfig.java b/orange-demo-multi/orange-demo-multi-service/common/common-redis/src/main/java/com/orangeforms/common/redis/cache/RedissonCacheConfig.java deleted file mode 100644 index 84c3828c..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-redis/src/main/java/com/orangeforms/common/redis/cache/RedissonCacheConfig.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.orangeforms.common.redis.cache; - -import com.google.common.collect.Maps; -import org.redisson.api.RedissonClient; -import org.redisson.spring.cache.CacheConfig; -import org.redisson.spring.cache.RedissonSpringCacheManager; -import org.springframework.cache.CacheManager; -import org.springframework.cache.annotation.EnableCaching; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -import java.util.Map; - -/** - * 使用Redisson作为Redis的分布式缓存库。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Configuration -@EnableCaching -public class RedissonCacheConfig { - - private static final int DEFAULT_TTL = 3600000; - - /** - * 定义cache名称、超时时长(毫秒)。 - */ - public enum CacheEnum { - /** - * session下上传文件名的缓存(时间是24小时)。 - */ - UPLOAD_FILENAME_CACHE(86400000), - /** - * 缺省全局缓存(时间是24小时)。 - */ - GLOBAL_CACHE(86400000); - - /** - * 缓存的时长(单位:毫秒) - */ - private int ttl = DEFAULT_TTL; - - CacheEnum() { - } - - CacheEnum(int ttl) { - this.ttl = ttl; - } - - public int getTtl() { - return ttl; - } - } - - /** - * 初始化缓存配置。 - */ - @Bean - CacheManager cacheManager(RedissonClient redissonClient) { - Map config = Maps.newHashMap(); - for (CacheEnum c : CacheEnum.values()) { - config.put(c.name(), new CacheConfig(c.getTtl(), 0)); - } - return new RedissonSpringCacheManager(redissonClient, config); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-redis/src/main/java/com/orangeforms/common/redis/cache/SessionCacheHelper.java b/orange-demo-multi/orange-demo-multi-service/common/common-redis/src/main/java/com/orangeforms/common/redis/cache/SessionCacheHelper.java deleted file mode 100644 index 1cd05593..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-redis/src/main/java/com/orangeforms/common/redis/cache/SessionCacheHelper.java +++ /dev/null @@ -1,97 +0,0 @@ -package com.orangeforms.common.redis.cache; - -import cn.hutool.core.collection.CollUtil; -import com.orangeforms.common.core.object.TokenData; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cache.Cache; -import org.springframework.cache.CacheManager; -import org.springframework.stereotype.Component; - -import java.util.HashSet; -import java.util.Set; - -/** - * Session数据缓存辅助类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@SuppressWarnings("unchecked") -@Component -public class SessionCacheHelper { - - @Autowired - private CacheManager cacheManager; - - /** - * 缓存当前session内,上传过的文件名。 - * - * @param filename 通常是本地存储的文件名,而不是上传时的原始文件名。 - */ - public void putSessionUploadFile(String filename) { - if (filename != null) { - Set sessionUploadFileSet = null; - Cache cache = cacheManager.getCache(RedissonCacheConfig.CacheEnum.UPLOAD_FILENAME_CACHE.name()); - Cache.ValueWrapper valueWrapper = cache.get(TokenData.takeFromRequest().getSessionId()); - if (valueWrapper != null) { - sessionUploadFileSet = (Set) valueWrapper.get(); - } - if (sessionUploadFileSet == null) { - sessionUploadFileSet = new HashSet<>(); - } - sessionUploadFileSet.add(filename); - cache.put(TokenData.takeFromRequest().getSessionId(), sessionUploadFileSet); - } - } - - /** - * 缓存当前Session可以下载的文件集合。 - * - * @param filenameSet 后台服务本地存储的文件名,而不是上传时的原始文件名。 - */ - public void putSessionDownloadableFileNameSet(Set filenameSet) { - if (CollUtil.isEmpty(filenameSet)) { - return; - } - Set sessionUploadFileSet = null; - Cache cache = cacheManager.getCache(RedissonCacheConfig.CacheEnum.UPLOAD_FILENAME_CACHE.name()); - Cache.ValueWrapper valueWrapper = cache.get(TokenData.takeFromRequest().getSessionId()); - if (valueWrapper != null) { - sessionUploadFileSet = (Set) valueWrapper.get(); - } - if (sessionUploadFileSet == null) { - sessionUploadFileSet = new HashSet<>(); - } - sessionUploadFileSet.addAll(filenameSet); - cache.put(TokenData.takeFromRequest().getSessionId(), sessionUploadFileSet); - } - - /** - * 判断参数中的文件名,是否有当前session上传。 - * - * @param filename 通常是本地存储的文件名,而不是上传时的原始文件名。 - * @return true表示该文件是由当前session上传并存储在本地的,否则false。 - */ - public boolean existSessionUploadFile(String filename) { - if (filename == null) { - return false; - } - Cache cache = cacheManager.getCache(RedissonCacheConfig.CacheEnum.UPLOAD_FILENAME_CACHE.name()); - Cache.ValueWrapper valueWrapper = cache.get(TokenData.takeFromRequest().getSessionId()); - if (valueWrapper == null) { - return false; - } - return ((Set) valueWrapper.get()).contains(filename); - } - - /** - * 清除当前session的所有缓存数据。 - * - * @param sessionId 当前会话的SessionId。 - */ - public void removeAllSessionCache(String sessionId) { - for (RedissonCacheConfig.CacheEnum c : RedissonCacheConfig.CacheEnum.values()) { - cacheManager.getCache(c.name()).evict(sessionId); - } - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-redis/src/main/java/com/orangeforms/common/redis/config/RedissonConfig.java b/orange-demo-multi/orange-demo-multi-service/common/common-redis/src/main/java/com/orangeforms/common/redis/config/RedissonConfig.java deleted file mode 100644 index 98151868..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-redis/src/main/java/com/orangeforms/common/redis/config/RedissonConfig.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.orangeforms.common.redis.config; - -import cn.hutool.core.util.ArrayUtil; -import cn.hutool.core.util.StrUtil; -import com.orangeforms.common.core.exception.InvalidRedisModeException; -import org.redisson.Redisson; -import org.redisson.api.RedissonClient; -import org.redisson.config.Config; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -/** - * Redisson配置类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Configuration -@ConditionalOnProperty(name = "redis.redisson.enabled", havingValue = "true") -public class RedissonConfig { - - @Value("${redis.redisson.lockWatchdogTimeout}") - private Integer lockWatchdogTimeout; - - @Value("${redis.redisson.mode}") - private String mode; - - /** - * 仅仅用于sentinel模式。 - */ - @Value("${redis.redisson.masterName:}") - private String masterName; - - @Value("${redis.redisson.address}") - private String address; - - @Value("${redis.redisson.timeout}") - private Integer timeout; - - @Value("${redis.redisson.password:}") - private String password; - - @Value("${redis.redisson.pool.poolSize}") - private Integer poolSize; - - @Value("${redis.redisson.pool.minIdle}") - private Integer minIdle; - - @Bean - public RedissonClient redissonClient() { - if (StrUtil.isBlank(password)) { - password = null; - } - Config config = new Config(); - if ("single".equals(mode)) { - config.setLockWatchdogTimeout(lockWatchdogTimeout) - .useSingleServer() - .setPassword(password) - .setAddress(address) - .setConnectionPoolSize(poolSize) - .setConnectionMinimumIdleSize(minIdle) - .setConnectTimeout(timeout); - } else if ("cluster".equals(mode)) { - String[] clusterAddresses = StrUtil.splitToArray(address, ','); - config.setLockWatchdogTimeout(lockWatchdogTimeout) - .useClusterServers() - .setPassword(password) - .addNodeAddress(clusterAddresses) - .setConnectTimeout(timeout) - .setMasterConnectionPoolSize(poolSize) - .setMasterConnectionMinimumIdleSize(minIdle); - } else if ("sentinel".equals(mode)) { - String[] sentinelAddresses = StrUtil.splitToArray(address, ','); - config.setLockWatchdogTimeout(lockWatchdogTimeout) - .useSentinelServers() - .setPassword(password) - .setMasterName(masterName) - .addSentinelAddress(sentinelAddresses) - .setConnectTimeout(timeout) - .setMasterConnectionPoolSize(poolSize) - .setMasterConnectionMinimumIdleSize(minIdle); - } else if ("master-slave".equals(mode)) { - String[] masterSlaveAddresses = StrUtil.splitToArray(address, ','); - if (masterSlaveAddresses.length == 1) { - throw new IllegalArgumentException( - "redis.redisson.address MUST have multiple redis addresses for master-slave mode."); - } - String[] slaveAddresses = new String[masterSlaveAddresses.length - 1]; - ArrayUtil.copy(masterSlaveAddresses, 1, slaveAddresses, 0, slaveAddresses.length); - config.setLockWatchdogTimeout(lockWatchdogTimeout) - .useMasterSlaveServers() - .setPassword(password) - .setMasterAddress(masterSlaveAddresses[0]) - .addSlaveAddress(slaveAddresses) - .setConnectTimeout(timeout) - .setMasterConnectionPoolSize(poolSize) - .setMasterConnectionMinimumIdleSize(minIdle); - } else { - throw new InvalidRedisModeException(mode); - } - return Redisson.create(config); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-redis/src/main/resources/META-INF/spring.factories b/orange-demo-multi/orange-demo-multi-service/common/common-redis/src/main/resources/META-INF/spring.factories deleted file mode 100644 index f24e3d92..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-redis/src/main/resources/META-INF/spring.factories +++ /dev/null @@ -1,2 +0,0 @@ -org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ -com.orangeforms.common.redis.config.RedissonConfig \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-sequence/pom.xml b/orange-demo-multi/orange-demo-multi-service/common/common-sequence/pom.xml deleted file mode 100644 index 36502af3..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-sequence/pom.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - common - com.orangeforms - 1.0.0 - - 4.0.0 - - common-sequence - 1.0.0 - common-sequence - jar - - - - com.orangeforms - common-core - 1.0.0 - - - \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-sequence/src/main/java/com/orangeforms/common/sequence/config/IdGeneratorAutoConfig.java b/orange-demo-multi/orange-demo-multi-service/common/common-sequence/src/main/java/com/orangeforms/common/sequence/config/IdGeneratorAutoConfig.java deleted file mode 100644 index fa853f8d..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-sequence/src/main/java/com/orangeforms/common/sequence/config/IdGeneratorAutoConfig.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.orangeforms.common.sequence.config; - -import org.springframework.boot.context.properties.EnableConfigurationProperties; - -/** - * common-sequence模块的自动配置引导类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@EnableConfigurationProperties({IdGeneratorProperties.class}) -public class IdGeneratorAutoConfig { - -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-sequence/src/main/java/com/orangeforms/common/sequence/config/IdGeneratorProperties.java b/orange-demo-multi/orange-demo-multi-service/common/common-sequence/src/main/java/com/orangeforms/common/sequence/config/IdGeneratorProperties.java deleted file mode 100644 index 3d55b85b..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-sequence/src/main/java/com/orangeforms/common/sequence/config/IdGeneratorProperties.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.orangeforms.common.sequence.config; - -import lombok.Data; -import org.springframework.boot.context.properties.ConfigurationProperties; - -/** - * common-sequence模块的配置类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@ConfigurationProperties(prefix = "sequence") -public class IdGeneratorProperties { - - /** - * 是否使用基于美团Leaf的分布式Id生成器。 - */ - private Boolean advanceIdGenerator = false; - /** - * 基础版生成器所需的WorkNode参数值。仅当advanceIdGenerator为false时生效。 - */ - private Integer snowflakeWorkNode = 1; - /** - * zk的地址。多个ip和端口之间逗号分隔。仅当advanceIdGenerator为true时生效。 - * 如:10.1.1.2:2181;10.1.1.3:2181。 - */ - private String zkAddress; - /** - * 用于识别同一主机(ip相同)不同服务的端口号。与本机的ip一起构成zk中标识不同服务实例的key值。 - * 仅当advanceIdGenerator为true时生效。 - */ - private Integer idPort; - /** - * zk中生成WorkNode的路径。不同的业务可以使用不同的路径,以免冲突。 - * 仅当advanceIdGenerator为true时生效。 - */ - private String zkPath; -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-sequence/src/main/java/com/orangeforms/common/sequence/generator/BasicIdGenerator.java b/orange-demo-multi/orange-demo-multi-service/common/common-sequence/src/main/java/com/orangeforms/common/sequence/generator/BasicIdGenerator.java deleted file mode 100644 index cf5cd96f..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-sequence/src/main/java/com/orangeforms/common/sequence/generator/BasicIdGenerator.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.orangeforms.common.sequence.generator; - -import cn.hutool.core.lang.Snowflake; -import cn.hutool.core.util.IdUtil; - -/** - * 基础版snowflake计算工具类。 - * 和SnowflakeIdGenerator相比,相同点是均为基于Snowflake算法的生成器。不同点在于当前类的 - * WorkNodeId是通过配置文件静态指定的。而SnowflakeIdGenerator的WorkNodeId是由zk生成的。 - * - * @author Jerry - * @date 2020-08-08 - */ -public class BasicIdGenerator implements MyIdGenerator { - - private final Snowflake snowflake; - - /** - * 构造函数。 - * - * @param workNode 工作节点。 - */ - public BasicIdGenerator(Integer workNode) { - snowflake = IdUtil.createSnowflake(workNode, 0); - } - - /** - * 获取基于Snowflake算法的数值型Id。 - * 由于底层实现为synchronized方法,因此计算过程串行化,且线程安全。 - * - * @return 计算后的全局唯一Id。 - */ - @Override - public long nextLongId() { - return this.snowflake.nextId(); - } - - /** - * 获取基于Snowflake算法的字符串Id。 - * 由于底层实现为synchronized方法,因此计算过程串行化,且线程安全。 - * - * @return 计算后的全局唯一Id。 - */ - @Override - public String nextStringId() { - return this.snowflake.nextIdStr(); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-sequence/src/main/java/com/orangeforms/common/sequence/generator/MyIdGenerator.java b/orange-demo-multi/orange-demo-multi-service/common/common-sequence/src/main/java/com/orangeforms/common/sequence/generator/MyIdGenerator.java deleted file mode 100644 index 89b4562a..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-sequence/src/main/java/com/orangeforms/common/sequence/generator/MyIdGenerator.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.orangeforms.common.sequence.generator; - -/** - * 分布式Id生成器的统一接口。 - * - * @author Jerry - * @date 2020-08-08 - */ -public interface MyIdGenerator { - - /** - * 获取数值型分布式Id。 - * - * @return 生成后的Id。 - */ - long nextLongId(); - - /** - * 获取字符型分布式Id。 - * - * @return 生成后的Id。 - */ - String nextStringId(); -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-sequence/src/main/java/com/orangeforms/common/sequence/generator/SnowflakeIdGenerator.java b/orange-demo-multi/orange-demo-multi-service/common/common-sequence/src/main/java/com/orangeforms/common/sequence/generator/SnowflakeIdGenerator.java deleted file mode 100644 index 17e72ed9..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-sequence/src/main/java/com/orangeforms/common/sequence/generator/SnowflakeIdGenerator.java +++ /dev/null @@ -1,126 +0,0 @@ -package com.orangeforms.common.sequence.generator; - -import cn.hutool.core.thread.ThreadUtil; -import cn.hutool.core.util.RandomUtil; -import com.orangeforms.common.core.util.IpUtil; -import com.google.common.base.Preconditions; -import lombok.extern.slf4j.Slf4j; - -import java.util.Random; - -/** - * Snowflake Id生成器。该实现完全copy美团的leaf。 - * - * @author MeiTuan.Team - * @date 2020-08-08 - */ -@Slf4j -public class SnowflakeIdGenerator implements MyIdGenerator { - private static final long TWEPOCH = 1288834974657L; - private static final long WORKER_ID_BITS = 10L; - /** - * 最大能够分配的workerid =1023 - */ - private static final long MAX_WORKER_ID = ~(-1L << WORKER_ID_BITS); - private static final long SEQUENCE_BITS = 12L; - private static final long TIMESTAMP_LEFT_SHIFT = SEQUENCE_BITS + WORKER_ID_BITS; - private static final long SEQUENCE_MASK = ~(-1L << SEQUENCE_BITS); - private final long workerId; - private long sequence = 0L; - private long lastTimestamp = -1L; - private static final Random RANDOM = RandomUtil.getRandom(); - - /** - * @param zkAddress zk地址 - * @param idPort 用于识别相同ip内不同服务的端口号。仅作为标识用,不会对该端口进行监听。 - */ - public SnowflakeIdGenerator(String zkAddress, int idPort, String zkPath) { - Preconditions.checkArgument( - timeGen() > TWEPOCH, "Snowflake not support twepoch greater than currentTime"); - final String ip = IpUtil.getFirstLocalIpAddress(); - SnowflakeZookeeperHolder holder = - new SnowflakeZookeeperHolder(ip, String.valueOf(idPort), zkAddress, zkPath); - log.info("twepoch:{} ,ip:{} ,zkAddress:{} port:{}", TWEPOCH, ip, zkAddress, idPort); - boolean initFlag = holder.init(); - Preconditions.checkArgument(initFlag, "Snowflake Id Gen is not init ok"); - workerId = holder.getWorkerId(); - log.info("START SUCCESS USE ZK WORKERID-{}", workerId); - Preconditions.checkArgument( - workerId >= 0 && workerId <= MAX_WORKER_ID, "WorkerId must (>= 0 and <=> 1023"); - } - - /** - * 获取字符型分布式Id。 - * - * @return 生成后的Id。 - */ - @Override - public synchronized String nextStringId() { - return String.valueOf(this.nextLongId()); - } - - /** - * 获取数值型分布式Id。 - * - * @return 生成后的Id。 - */ - @Override - public synchronized long nextLongId() { - long timestamp = timeGen(); - int maxGap = 10; - if (timestamp < lastTimestamp) { - long offset = lastTimestamp - timestamp; - if (offset <= maxGap) { - if (!ThreadUtil.sleep(offset << 1)) { - log.error("Thread is interrupted while synchronizing to LastTimeStamp."); - throw new SnowflakeGenerateException( - "Thread is interrupted while synchronizing to LastTimeStamp.."); - } - timestamp = timeGen(); - if (timestamp < lastTimestamp) { - log.error("CurrentTime is less than LastTimeStamp too much (> 10ms) after synchronized."); - throw new SnowflakeGenerateException( - "CurrentTime is less than LastTimeStamp too much (> 10ms) after synchronized."); - } - } else { - log.error("CurrentTime is less than LastTimeStamp too much (> 10ms)."); - throw new SnowflakeGenerateException( - "CurrentTime is less than LastTimeStamp too much (> 10ms)."); - } - } - if (lastTimestamp == timestamp) { - sequence = (sequence + 1) & SEQUENCE_MASK; - if (sequence == 0) { - // seq 为0的时候表示是下一毫秒时间开始对seq做随机 - sequence = RANDOM.nextInt(100); - timestamp = tilNextMillis(lastTimestamp); - } - } else { - // 如果是新的ms开始 - sequence = RANDOM.nextInt(100); - } - lastTimestamp = timestamp; - return ((timestamp - TWEPOCH) << TIMESTAMP_LEFT_SHIFT) | (workerId << SEQUENCE_BITS) | sequence; - } - - protected long tilNextMillis(long lastTimestamp) { - long timestamp = timeGen(); - while (timestamp <= lastTimestamp) { - timestamp = timeGen(); - } - return timestamp; - } - - protected long timeGen() { - return System.currentTimeMillis(); - } - - public static class SnowflakeGenerateException extends RuntimeException { - public SnowflakeGenerateException(String msg, Throwable e) { - super(msg, e); - } - public SnowflakeGenerateException(String msg) { - super(msg); - } - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-sequence/src/main/java/com/orangeforms/common/sequence/generator/SnowflakeZookeeperHolder.java b/orange-demo-multi/orange-demo-multi-service/common/common-sequence/src/main/java/com/orangeforms/common/sequence/generator/SnowflakeZookeeperHolder.java deleted file mode 100644 index e3934057..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-sequence/src/main/java/com/orangeforms/common/sequence/generator/SnowflakeZookeeperHolder.java +++ /dev/null @@ -1,231 +0,0 @@ -package com.orangeforms.common.sequence.generator; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.google.common.collect.Maps; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.io.FileUtils; -import org.apache.commons.lang3.concurrent.BasicThreadFactory; -import org.apache.curator.RetryPolicy; -import org.apache.curator.framework.CuratorFramework; -import org.apache.curator.framework.CuratorFrameworkFactory; -import org.apache.curator.retry.RetryUntilElapsed; -import org.apache.zookeeper.CreateMode; -import org.apache.zookeeper.data.Stat; - -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.nio.charset.StandardCharsets; -import java.util.*; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.ScheduledThreadPoolExecutor; -import java.util.concurrent.TimeUnit; - -/** - * Snowflake Id生成器所依赖的zk工具类。该实现完全copy美团的leaf。 - * - * @author MeiTuan.Team - * @date 2020-08-08 - */ -@Slf4j -@Data -public class SnowflakeZookeeperHolder { - private static final int CONNECTION_TIMEOUT_MS = 10000; - private static final int SESSION_TIMEOUT_MS = 6000; - private String zkAddressNode = null; - private String listenAddress; - private int workerId; - private String ip; - private String port; - private String connectionString; - private String pathForever; - private final String cachePath; - private long lastUpdateTime; - - public SnowflakeZookeeperHolder(String ip, String port, String connectionString, String zkPath) { - this.ip = ip; - this.port = port; - this.listenAddress = ip + ":" + port; - this.connectionString = connectionString; - this.pathForever = "/snowflake/" + zkPath + "/forever"; - this.cachePath = System.getProperty("java.io.tmpdir") - + File.separator + zkPath + "/leafconf/{port}/workerID.properties"; - } - - /** - * 初始化zk中的持久化SEQUENTIAL节点数据。如果不存在就创建新的,存在则引用原有的。 - * - * @return true初始化成功,否则失败。 - */ - public boolean init() { - try { - CuratorFramework curator = createWithOptions(connectionString, - new RetryUntilElapsed(1000, 4)); - curator.start(); - Stat stat = curator.checkExists().forPath(pathForever); - if (stat == null) { - // 不存在根节点,机器第一次启动,创建/snowflake/ip:port-000000000,并上传数据 - zkAddressNode = createNode(curator); - // worker id 默认是0 - updateLocalWorkerId(workerId); - // 定时上报本机时间给forever节点 - scheduledUploadData(curator, zkAddressNode); - return true; - } else { - // ip:port->00001 - Map nodeMap = Maps.newHashMap(); - // ip:port->(ipport-000001) - Map realNode = Maps.newHashMap(); - // 存在根节点,先检查是否有属于自己的根节点 - List keys = curator.getChildren().forPath(pathForever); - for (String key : keys) { - String[] nodeKey = key.split("-"); - realNode.put(nodeKey[0], key); - nodeMap.put(nodeKey[0], Integer.parseInt(nodeKey[1])); - } - Integer workerid = nodeMap.get(listenAddress); - if (workerid != null) { - // 有自己的节点,zk_AddressNode=ip:port - zkAddressNode = pathForever + "/" + realNode.get(listenAddress); - // 启动worder时使用会使用 - workerId = workerid; - if (!checkInitTimeStamp(curator, zkAddressNode)) { - throw new CheckLastTimeException( - "Init timestamp check error,forever node timestamp greater than this node time"); - } - } else { - // 表示新启动的节点,创建持久节点 ,不用check时间 - String newNode = createNode(curator); - zkAddressNode = newNode; - String[] nodeKey = newNode.split("-"); - workerId = Integer.parseInt(nodeKey[1]); - } - doService(curator); - updateLocalWorkerId(workerId); - } - } catch (Exception e) { - log.error("Start node ERROR", e); - try { - Properties properties = new Properties(); - properties.load(new FileInputStream(new File(cachePath.replace("{port}", port + "")))); - workerId = Integer.parseInt(properties.getProperty("workerId")); - log.warn("START FAILED ,use local node file properties workerID-{}", workerId); - } catch (Exception e1) { - log.error("Read file error ", e1); - return false; - } - } - return true; - } - - private void doService(CuratorFramework curator) { - scheduledUploadData(curator, zkAddressNode); - } - - private void scheduledUploadData(final CuratorFramework curator, final String zkAddressNode) { - ScheduledExecutorService executorService = new ScheduledThreadPoolExecutor(1, - new BasicThreadFactory.Builder().namingPattern("schedule-upload-time-%d").daemon(true).build()); - executorService.scheduleWithFixedDelay(() -> - updateNewData(curator, zkAddressNode), 1, 3, TimeUnit.SECONDS); - } - - private boolean checkInitTimeStamp(CuratorFramework curator, String zkAddressNode) throws Exception { - byte[] bytes = curator.getData().forPath(zkAddressNode); - ObjectMapper mapper = new ObjectMapper(); - Endpoint endPoint = mapper.readValue(new String(bytes), Endpoint.class); - // 该节点的时间不能小于最后一次上报的时间 - return endPoint.getTimestamp() <= System.currentTimeMillis(); - } - - private String createNode(CuratorFramework curator) throws Exception { - try { - return curator.create() - .creatingParentsIfNeeded() - .withMode(CreateMode.PERSISTENT_SEQUENTIAL) - .forPath(pathForever + "/" + listenAddress + "-", buildData().getBytes()); - } catch (Exception e) { - log.error("create node error msg {} ", e.getMessage()); - throw e; - } - } - - private void updateNewData(CuratorFramework curator, String path) { - try { - if (System.currentTimeMillis() < lastUpdateTime) { - return; - } - curator.setData().forPath(path, buildData().getBytes()); - lastUpdateTime = System.currentTimeMillis(); - } catch (Exception e) { - log.info("update init data error path is {} error is {}", path, e); - } - } - - private String buildData() throws JsonProcessingException { - Endpoint endpoint = new Endpoint(ip, port, System.currentTimeMillis()); - ObjectMapper mapper = new ObjectMapper(); - return mapper.writeValueAsString(endpoint); - } - - private void updateLocalWorkerId(int workId) { - File leafConfFile = new File(cachePath.replace("{port}", port)); - boolean exists = leafConfFile.exists(); - log.info("file exists status is {}", exists); - if (exists) { - try { - FileUtils.writeStringToFile( - leafConfFile, "workId=" + workId, StandardCharsets.UTF_8, false); - log.info("update file cache workId is {}", workId); - } catch (IOException e) { - log.error("update file cache error ", e); - } - } else { - // 不存在文件,父目录页肯定不存在 - try { - boolean mkdirs = leafConfFile.getParentFile().mkdirs(); - log.info("init local file cache create parent dis status is {}, worker id is {}", mkdirs, workId); - if (mkdirs) { - if (leafConfFile.createNewFile()) { - FileUtils.writeStringToFile( - leafConfFile, "workId=" + workId, StandardCharsets.UTF_8, false); - log.info("local file cache workId is {}", workId); - } - } else { - log.warn("create parent dir error==="); - } - } catch (IOException e) { - log.warn("craete workId conf file error", e); - } - } - } - - private CuratorFramework createWithOptions(String connectionString, RetryPolicy retryPolicy) { - return CuratorFrameworkFactory.builder().connectString(connectionString) - .retryPolicy(retryPolicy) - .connectionTimeoutMs(CONNECTION_TIMEOUT_MS) - .sessionTimeoutMs(SESSION_TIMEOUT_MS) - .build(); - } - - /** - * 上报数据结构 - */ - @Data - @AllArgsConstructor - @NoArgsConstructor - static class Endpoint { - private String ip; - private String port; - private long timestamp; - } - - public static class CheckLastTimeException extends RuntimeException { - public CheckLastTimeException(String msg) { - super(msg); - } - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-sequence/src/main/java/com/orangeforms/common/sequence/wrapper/IdGeneratorWrapper.java b/orange-demo-multi/orange-demo-multi-service/common/common-sequence/src/main/java/com/orangeforms/common/sequence/wrapper/IdGeneratorWrapper.java deleted file mode 100644 index 872f7d9b..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-sequence/src/main/java/com/orangeforms/common/sequence/wrapper/IdGeneratorWrapper.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.orangeforms.common.sequence.wrapper; - -import com.orangeforms.common.sequence.config.IdGeneratorProperties; -import com.orangeforms.common.sequence.generator.BasicIdGenerator; -import com.orangeforms.common.sequence.generator.MyIdGenerator; -import com.orangeforms.common.sequence.generator.SnowflakeIdGenerator; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import javax.annotation.PostConstruct; - -/** - * 分布式Id生成器的封装类。该对象可根据配置选择不同的生成器实现类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Component -public class IdGeneratorWrapper { - - @Autowired - private IdGeneratorProperties properties; - /** - * Id生成器接口对象。 - */ - private MyIdGenerator idGenerator; - - @PostConstruct - public void init() { - if (properties.getAdvanceIdGenerator()) { - idGenerator = new SnowflakeIdGenerator( - properties.getZkAddress(), properties.getIdPort(), properties.getZkPath()); - } else { - idGenerator = new BasicIdGenerator(properties.getSnowflakeWorkNode()); - } - } - - /** - * 获取基于Snowflake算法的数值型Id。 - * 由于底层实现为synchronized方法,因此计算过程串行化,且线程安全。 - * - * @return 计算后的全局唯一Id。 - */ - public long nextLongId() { - return idGenerator.nextLongId(); - } - - /** - * 获取基于Snowflake算法的字符串Id。 - * 由于底层实现为synchronized方法,因此计算过程串行化,且线程安全。 - * - * @return 计算后的全局唯一Id。 - */ - public String nextStringId() { - return idGenerator.nextStringId(); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-sequence/src/main/resources/META-INF/spring.factories b/orange-demo-multi/orange-demo-multi-service/common/common-sequence/src/main/resources/META-INF/spring.factories deleted file mode 100644 index dd267e85..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-sequence/src/main/resources/META-INF/spring.factories +++ /dev/null @@ -1,2 +0,0 @@ -org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ -com.orangeforms.common.sequence.config.IdGeneratorAutoConfig \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-swagger/pom.xml b/orange-demo-multi/orange-demo-multi-service/common/common-swagger/pom.xml deleted file mode 100644 index 8229ebbc..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-swagger/pom.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - common - com.orangeforms - 1.0.0 - - 4.0.0 - - common-swagger - 1.0.0 - common-swagger - jar - - - - com.github.xiaoymin - knife4j-micro-spring-boot-starter - ${knife4j.version} - - - org.springframework.plugin - spring-plugin-core - - - org.springframework.plugin - spring-plugin-metadata - - - - - com.orangeforms - common-core - 1.0.0 - - - \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/config/SwaggerAutoConfiguration.java b/orange-demo-multi/orange-demo-multi-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/config/SwaggerAutoConfiguration.java deleted file mode 100644 index 9029e4b2..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/config/SwaggerAutoConfiguration.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.orangeforms.common.swagger.config; - -import com.orangeforms.common.core.annotation.MyRequestBody; -import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.context.annotation.Bean; -import springfox.documentation.builders.ApiInfoBuilder; -import springfox.documentation.builders.PathSelectors; -import springfox.documentation.builders.RequestHandlerSelectors; -import springfox.documentation.service.ApiInfo; -import springfox.documentation.spi.DocumentationType; -import springfox.documentation.spring.web.plugins.Docket; -import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc; - -/** - * 自动加载bean的配置对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@EnableSwagger2WebMvc -@EnableKnife4j -@EnableConfigurationProperties(SwaggerProperties.class) -@ConditionalOnProperty(prefix = "swagger", name = "enabled") -public class SwaggerAutoConfiguration { - - @Bean - public Docket rotbotDocket(SwaggerProperties properties) { - return new Docket(DocumentationType.SWAGGER_2) - .ignoredParameterTypes(MyRequestBody.class) - .apiInfo(apiInfo(properties)) - .select() - .apis(RequestHandlerSelectors.basePackage(properties.getBasePackage())) - .paths(PathSelectors.any()).build(); - } - - private ApiInfo apiInfo(SwaggerProperties properties) { - return new ApiInfoBuilder() - .title(properties.getTitle()) - .description(properties.getDescription()) - .version(properties.getVersion()).build(); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/config/SwaggerProperties.java b/orange-demo-multi/orange-demo-multi-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/config/SwaggerProperties.java deleted file mode 100644 index d15b3792..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/config/SwaggerProperties.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.orangeforms.common.swagger.config; - -import lombok.Data; -import org.springframework.boot.context.properties.ConfigurationProperties; - -/** - * 配置参数对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -@ConfigurationProperties("swagger") -public class SwaggerProperties { - - /** - * 是否开启Swagger。 - */ - private Boolean enabled; - - /** - * Swagger解析的基础包路径。 - **/ - private String basePackage = ""; - - /** - * Swagger解析的服务包路径。 - **/ - private String serviceBasePackage = ""; - - /** - * ApiInfo中的标题。 - **/ - private String title = ""; - - /** - * ApiInfo中的描述信息。 - **/ - private String description = ""; - - /** - * ApiInfo中的版本信息。 - **/ - private String version = ""; -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/ByteBuddyUtil.java b/orange-demo-multi/orange-demo-multi-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/ByteBuddyUtil.java deleted file mode 100644 index f1bf3522..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/ByteBuddyUtil.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.orangeforms.common.swagger.plugin; - -import cn.hutool.core.lang.Assert; -import com.orangeforms.common.core.annotation.MyRequestBody; -import com.github.xiaoymin.knife4j.core.conf.Consts; -import javassist.*; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import springfox.documentation.service.ResolvedMethodParameter; - -import java.util.List; - -/** - * 通过字节码方式动态创建接口参数封装对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Slf4j -class ByteBuddyUtil { - private static final ClassPool CLASS_POOL = ClassPool.getDefault(); - - static Class createDynamicModelClass(String name, List parameters) { - String clazzName = Consts.BASE_PACKAGE_PREFIX + name; - try { - CtClass tmp = CLASS_POOL.getCtClass(clazzName); - if (tmp != null) { - tmp.detach(); - } - } catch (NotFoundException e) { - // 需要吃掉这个异常。 - } - CtClass ctClass = CLASS_POOL.makeClass(clazzName); - try { - int fieldCount = 0; - for (ResolvedMethodParameter dynamicParameter : parameters) { - // 因为在调用这个方法之前,这些参数都包含MyRequestBody注解。 - MyRequestBody myRequestBody = - dynamicParameter.findAnnotation(MyRequestBody.class).orElse(null); - Assert.notNull(myRequestBody); - String fieldName = dynamicParameter.defaultName().isPresent() - ? dynamicParameter.defaultName().get() : "parameter"; - if (StringUtils.isNotBlank(myRequestBody.value())) { - fieldName = myRequestBody.value(); - } - ctClass.addField(createField(dynamicParameter, fieldName, ctClass)); - fieldCount++; - } - if (fieldCount > 0) { - return ctClass.toClass(); - } - } catch (Throwable e) { - log.error(e.getMessage()); - } - return null; - } - - private static CtField createField(ResolvedMethodParameter parameter, String parameterName, CtClass ctClass) - throws NotFoundException, CannotCompileException { - CtField field = new CtField(getFieldType(parameter.getParameterType().getErasedType()), parameterName, ctClass); - field.setModifiers(Modifier.PUBLIC); - return field; - } - - private static CtClass getFieldType(Class propetyType) { - CtClass fieldType = null; - try { - if (!propetyType.isAssignableFrom(Void.class)) { - fieldType = CLASS_POOL.get(propetyType.getName()); - } else { - fieldType = CLASS_POOL.get(String.class.getName()); - } - } catch (NotFoundException e) { - // 抛异常 - ClassClassPath path = new ClassClassPath(propetyType); - CLASS_POOL.insertClassPath(path); - try { - fieldType = CLASS_POOL.get(propetyType.getName()); - } catch (NotFoundException e1) { - log.error(e1.getMessage(), e1); - } - } - return fieldType; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/DynamicBodyModelPlugin.java b/orange-demo-multi/orange-demo-multi-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/DynamicBodyModelPlugin.java deleted file mode 100644 index d9b98caf..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/DynamicBodyModelPlugin.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.orangeforms.common.swagger.plugin; - -import com.orangeforms.common.core.annotation.MyRequestBody; -import com.fasterxml.classmate.TypeResolver; -import com.google.common.base.CaseFormat; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.core.Ordered; -import org.springframework.core.annotation.Order; -import org.springframework.stereotype.Component; -import springfox.documentation.service.ResolvedMethodParameter; -import springfox.documentation.spi.DocumentationType; -import springfox.documentation.spi.service.OperationModelsProviderPlugin; -import springfox.documentation.spi.service.contexts.RequestMappingContext; - -import java.util.List; -import java.util.stream.Collectors; - -/** - * 生成参数包装类的插件。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Component -@Order(Ordered.HIGHEST_PRECEDENCE + 200) -@ConditionalOnProperty(prefix = "swagger", name = "enabled") -public class DynamicBodyModelPlugin implements OperationModelsProviderPlugin { - - private final TypeResolver typeResolver; - - public DynamicBodyModelPlugin(TypeResolver typeResolver) { - this.typeResolver = typeResolver; - } - - @Override - public void apply(RequestMappingContext context) { - List parameterTypes = context.getParameters(); - if (CollectionUtils.isEmpty(parameterTypes)) { - return; - } - List bodyParameter = parameterTypes.stream() - .filter(p -> p.hasParameterAnnotation(MyRequestBody.class)).collect(Collectors.toList()); - if (CollectionUtils.isEmpty(bodyParameter)) { - return; - } - String groupName = CaseFormat.LOWER_HYPHEN.to(CaseFormat.UPPER_CAMEL, context.getGroupName()); - String clazzName = groupName + StringUtils.capitalize(context.getName()); - Class clazz = ByteBuddyUtil.createDynamicModelClass(clazzName, bodyParameter); - if (clazz != null) { - context.operationModelsBuilder().addInputParam(typeResolver.resolve(clazz)); - } - } - - @Override - public boolean supports(DocumentationType delimiter) { - // 支持2.0版本 - return delimiter == DocumentationType.SWAGGER_2; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/DynamicBodyParameterBuilder.java b/orange-demo-multi/orange-demo-multi-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/DynamicBodyParameterBuilder.java deleted file mode 100644 index 97bfac41..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-swagger/src/main/java/com/orangeforms/common/swagger/plugin/DynamicBodyParameterBuilder.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.orangeforms.common.swagger.plugin; - -import com.orangeforms.common.core.annotation.MyRequestBody; -import com.google.common.base.CaseFormat; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.core.Ordered; -import org.springframework.core.annotation.Order; -import org.springframework.stereotype.Component; -import springfox.documentation.builders.ParameterBuilder; -import springfox.documentation.schema.ModelRef; -import springfox.documentation.service.Parameter; -import springfox.documentation.service.ResolvedMethodParameter; -import springfox.documentation.spi.DocumentationType; -import springfox.documentation.spi.service.OperationBuilderPlugin; -import springfox.documentation.spi.service.contexts.OperationContext; -import springfox.documentation.spi.service.contexts.ParameterContext; - -import java.util.ArrayList; -import java.util.List; -import java.util.stream.Collectors; - -/** - * 构建操作接口参数对象的插件。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Component -@Order(Ordered.HIGHEST_PRECEDENCE + 102) -@ConditionalOnProperty(prefix = "swagger", name = "enabled") -public class DynamicBodyParameterBuilder implements OperationBuilderPlugin { - - @Override - public void apply(OperationContext context) { - List methodParameters = context.getParameters(); - List parameters = new ArrayList<>(); - if (CollectionUtils.isNotEmpty(methodParameters)) { - List bodyParameter = methodParameters.stream() - .filter(p -> p.hasParameterAnnotation(MyRequestBody.class)).collect(Collectors.toList()); - if (CollectionUtils.isNotEmpty(bodyParameter)) { - // 构造model - String groupName = CaseFormat.LOWER_HYPHEN.to(CaseFormat.UPPER_CAMEL, context.getGroupName()); - String clazzName = groupName + StringUtils.capitalize(context.getName()); - ResolvedMethodParameter methodParameter = bodyParameter.get(0); - ParameterContext parameterContext = new ParameterContext(methodParameter, - new ParameterBuilder(), - context.getDocumentationContext(), - context.getGenericsNamingStrategy(), - context); - Parameter parameter = parameterContext.parameterBuilder() - .parameterType("body").modelRef(new ModelRef(clazzName)).name(clazzName).build(); - parameters.add(parameter); - } - } - context.operationBuilder().parameters(parameters); - } - - @Override - public boolean supports(DocumentationType delimiter) { - return delimiter == DocumentationType.SWAGGER_2; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-swagger/src/main/resources/META-INF/spring.factories b/orange-demo-multi/orange-demo-multi-service/common/common-swagger/src/main/resources/META-INF/spring.factories deleted file mode 100644 index cc7814c5..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-swagger/src/main/resources/META-INF/spring.factories +++ /dev/null @@ -1,2 +0,0 @@ -org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ -com.orangeforms.common.swagger.config.SwaggerAutoConfiguration \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-xxljob/pom.xml b/orange-demo-multi/orange-demo-multi-service/common/common-xxljob/pom.xml deleted file mode 100644 index e8f179da..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-xxljob/pom.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - common - com.orangeforms - 1.0.0 - - 4.0.0 - - common-xxljob - 1.0.0 - common-xxljob - jar - - - 2.2.0 - - - - - com.orangeforms - common-core - 1.0.0 - - - com.xuxueli - xxl-job-core - ${xxl-job.version} - - - \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-xxljob/src/main/java/com/orangeforms/common/xxljob/aop/JobHandlerAspect.java b/orange-demo-multi/orange-demo-multi-service/common/common-xxljob/src/main/java/com/orangeforms/common/xxljob/aop/JobHandlerAspect.java deleted file mode 100644 index 891ac880..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-xxljob/src/main/java/com/orangeforms/common/xxljob/aop/JobHandlerAspect.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.orangeforms.common.xxljob.aop; - -import lombok.extern.slf4j.Slf4j; -import org.aspectj.lang.ProceedingJoinPoint; -import org.aspectj.lang.annotation.Around; -import org.aspectj.lang.annotation.Aspect; -import org.aspectj.lang.annotation.Pointcut; -import org.springframework.core.annotation.Order; -import org.springframework.stereotype.Component; - -/** - * Job处理器的AOP,目前仅仅实现了将拦截后的异常记录到本地日志服务系统,记录后重新抛给xxl-job。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Aspect -@Component -@Order(1) -@Slf4j -public class JobHandlerAspect { - - @Pointcut("execution(public * com.orangeforms.*.handler..*(..))") - public void handlerPointCut() { - // 空注释,sonar要求的。 - } - - @Around("handlerPointCut()") - public Object around(ProceedingJoinPoint point) throws Throwable { - Class clazz = point.getTarget().getClass(); - try { - return point.proceed(); - } catch (Exception e) { - log.error("JobHandler [" + clazz.getSimpleName() + "] throws exception.", e); - throw e; - } - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/common/common-xxljob/src/main/java/com/orangeforms/common/xxljob/config/XxlJobConfig.java b/orange-demo-multi/orange-demo-multi-service/common/common-xxljob/src/main/java/com/orangeforms/common/xxljob/config/XxlJobConfig.java deleted file mode 100644 index 311babeb..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/common-xxljob/src/main/java/com/orangeforms/common/xxljob/config/XxlJobConfig.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.orangeforms.common.xxljob.config; - -import com.xxl.job.core.executor.impl.XxlJobSpringExecutor; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -/** - * xxl-job config - * - * @author xuxueli 2017-04-28 - */ -@Configuration -public class XxlJobConfig { - private final Logger logger = LoggerFactory.getLogger(XxlJobConfig.class); - - @Value("${xxl.job.admin.addresses}") - private String adminAddresses; - - @Value("${xxl.job.executor.appname}") - private String appName; - - @Value("${xxl.job.executor.port}") - private int port; - - @Value("${xxl.job.executor.logpath}") - private String logPath; - - @Value("${xxl.job.executor.logretentiondays}") - private int logRetentionDays; - - @Bean - public XxlJobSpringExecutor xxlJobExecutor() { - logger.info(">>>>>>>>>>> xxl-job config init."); - XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor(); - xxlJobSpringExecutor.setAdminAddresses(adminAddresses); - xxlJobSpringExecutor.setAppname(appName); - xxlJobSpringExecutor.setPort(port); - xxlJobSpringExecutor.setLogPath(logPath); - xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays); - return xxlJobSpringExecutor; - } -} \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/common/pom.xml b/orange-demo-multi/orange-demo-multi-service/common/pom.xml deleted file mode 100644 index 561784ab..00000000 --- a/orange-demo-multi/orange-demo-multi-service/common/pom.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - com.orangeforms - OrangeMultiDemo - 1.0.0 - - 4.0.0 - - common - pom - - - common-core - common-log - common-datafilter - common-xxljob - common-redis - common-sequence - common-swagger - - diff --git a/orange-demo-multi/orange-demo-multi-service/framework/admin-monitor/pom.xml b/orange-demo-multi/orange-demo-multi-service/framework/admin-monitor/pom.xml deleted file mode 100644 index 60d22065..00000000 --- a/orange-demo-multi/orange-demo-multi-service/framework/admin-monitor/pom.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - com.orangeforms - framework - 1.0.0 - - 4.0.0 - - admin-monitor - 1.0.0 - admin-monitor - jar - - - - - com.alibaba.cloud - spring-cloud-starter-alibaba-nacos-discovery - - - org.springframework.boot - spring-boot-starter-web - - - de.codecentric - spring-boot-admin-starter-server - - - - - - - de.codecentric - spring-boot-admin-dependencies - ${spring-boot-admin.version} - pom - import - - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - - diff --git a/orange-demo-multi/orange-demo-multi-service/framework/admin-monitor/src/main/java/com/orangeforms/adminmonitor/AdminMonitorApplication.java b/orange-demo-multi/orange-demo-multi-service/framework/admin-monitor/src/main/java/com/orangeforms/adminmonitor/AdminMonitorApplication.java deleted file mode 100644 index 4652d8ea..00000000 --- a/orange-demo-multi/orange-demo-multi-service/framework/admin-monitor/src/main/java/com/orangeforms/adminmonitor/AdminMonitorApplication.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.orangeforms.adminmonitor; - -import de.codecentric.boot.admin.server.config.EnableAdminServer; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.cloud.client.discovery.EnableDiscoveryClient; - -/** - * 服务指标监控启动类。 - * - * @author Jerry - * @date 2020-08-08 - */ -@SpringBootApplication -@EnableAdminServer -@EnableDiscoveryClient -public class AdminMonitorApplication { - - public static void main(String[] args) { - SpringApplication.run(AdminMonitorApplication.class, args); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/framework/admin-monitor/src/main/resources/bootstrap.yml b/orange-demo-multi/orange-demo-multi-service/framework/admin-monitor/src/main/resources/bootstrap.yml deleted file mode 100644 index 67040f87..00000000 --- a/orange-demo-multi/orange-demo-multi-service/framework/admin-monitor/src/main/resources/bootstrap.yml +++ /dev/null @@ -1,14 +0,0 @@ -server: - port: 8769 - -spring: - application: - name: admin-monitor - profiles: - active: dev - cloud: - nacos: - discovery: - server-addr: localhost:8848 - config: - server-addr: localhost:8848 diff --git a/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/pom.xml b/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/pom.xml deleted file mode 100644 index 384b3743..00000000 --- a/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/pom.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - framework - com.orangeforms - 1.0.0 - - 4.0.0 - - apidoc-tools - 1.0.0 - apidoc-tools - jar - - - - com.orangeforms - common-core - 1.0.0 - - - com.thoughtworks.qdox - qdox - ${qdox.version} - - - \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/ExportApiApp.java b/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/ExportApiApp.java deleted file mode 100644 index 16236cd5..00000000 --- a/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/ExportApiApp.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.orangeforms.apidoc.tools; - -import com.alibaba.fastjson.JSON; -import com.orangeforms.apidoc.tools.codeparser.ApiCodeConfig; -import com.orangeforms.apidoc.tools.codeparser.ApiCodeParser; -import com.orangeforms.apidoc.tools.export.ApiPostmanExporter; -import freemarker.template.TemplateException; -import org.springframework.util.StreamUtils; - -import java.io.IOException; -import java.io.InputStream; -import java.nio.charset.StandardCharsets; - -public class ExportApiApp { - - public static void main(String[] args) throws IOException, TemplateException { - // 在第一次导出时,需要打开export-api-config.json配置文件, - // 修改其中的工程根目录配置项(projectRootPath),其他配置保持不变即可。 - InputStream in = ExportApiApp.class.getResourceAsStream("/export-api-config.json"); - String jsonData = StreamUtils.copyToString(in, StandardCharsets.UTF_8); - ApiCodeConfig apiCodeConfig = JSON.parseObject(jsonData, ApiCodeConfig.class); - ApiCodeParser apiCodeParser = new ApiCodeParser(apiCodeConfig); - ApiCodeParser.ApiProject project = apiCodeParser.doParse(); - ApiPostmanExporter exporter = new ApiPostmanExporter(); - // 将下面的目录改为实际输出目录。 - exporter.doGenerate(project, "/xxx/Desktop/1.json"); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/ExportDocApp.java b/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/ExportDocApp.java deleted file mode 100644 index 06c9613a..00000000 --- a/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/ExportDocApp.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.orangeforms.apidoc.tools; - -import com.alibaba.fastjson.JSON; -import com.orangeforms.apidoc.tools.codeparser.ApiCodeConfig; -import com.orangeforms.apidoc.tools.codeparser.ApiCodeParser; -import com.orangeforms.apidoc.tools.export.ApiDocExporter; -import freemarker.template.TemplateException; -import org.springframework.util.StreamUtils; - -import java.io.IOException; -import java.io.InputStream; -import java.nio.charset.StandardCharsets; - -public class ExportDocApp { - - public static void main(String[] args) throws IOException, TemplateException { - // 在第一次导出时,需要打开export-api-config.json配置文件, - // 修改其中的工程根目录配置项(projectRootPath),其他配置保持不变即可。 - InputStream in = ExportDocApp.class.getResourceAsStream("/export-api-config.json"); - String jsonData = StreamUtils.copyToString(in, StandardCharsets.UTF_8); - ApiCodeConfig apiCodeConfig = JSON.parseObject(jsonData, ApiCodeConfig.class); - ApiCodeParser apiCodeParser = new ApiCodeParser(apiCodeConfig); - ApiCodeParser.ApiProject project = apiCodeParser.doParse(); - ApiDocExporter exporter = new ApiDocExporter(); - // 将下面的目录改为实际输出目录。 - exporter.doGenerate(project, "/xxx/Desktop/2.md"); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/codeparser/ApiCodeConfig.java b/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/codeparser/ApiCodeConfig.java deleted file mode 100644 index 073b0d2f..00000000 --- a/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/codeparser/ApiCodeConfig.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.orangeforms.apidoc.tools.codeparser; - -import lombok.Data; - -import java.util.List; -import java.util.Set; - -/** - * 解析项目中接口信息的配置对象。 - * - * @author Jerry - * @date 2020-08-08 - */ -@Data -public class ApiCodeConfig { - - /** - * 项目名称。 - */ - private String projectName; - /** - * 项目的基础包名,如(com.demo.multi)。 - */ - private String basePackage; - /** - * 项目在本地文件系统中的根目录。这里需要注意的是,Windows用户请务必使用反斜杠作为目录分隔符。 - * 如:"e:/mypath/OrangeSingleDemo","/Users/xxx/OrangeSingleDemo"。 - */ - private String projectRootPath; - /** - * 是否为微服务项目。 - */ - private Boolean microService; - /** - * 服务配置列表。对于单体服务,至少也会有一个ServiceConfig对象。 - */ - private List serviceList; - - @Data - public static class ServiceConfig { - /** - * 服务名称。 - */ - private String serviceName; - /** - * 服务中文显示名称。 - */ - private String showName; - /** - * 服务所在目录,相对于工程目录的子目录。 - */ - private String servicePath; - /** - * 仅用于微服务工程。通常为服务路由路径,如:/admin/coursepaper。服务内的接口,都会加上该路径前缀。 - */ - private String serviceRequestPath; - /** - * 服务的端口号。 - */ - private String port; - /** - * Api Controller信息列表。 - */ - private List controllerInfoList; - } - - @Data - public static class ControllerInfo { - /** - * Controller.java等接口文件的所在目录。该目录仅为相对于服务代码目录的子目录。 - * 目录分隔符请务必使用反斜杠。如:"/com/orange/demo/app/controller"。 - */ - private String path; - /** - * 如果一个服务内,存在多个Controller目录,将再次生成二级子目录,目录名为groupName。(可使用中文) - */ - private String groupName; - /** - * 在当前Controller目录下,需要忽略的Controller列表 (只写类名即可)。如:LoginController。 - */ - private Set skipControllers; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/codeparser/ApiCodeParser.java b/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/codeparser/ApiCodeParser.java deleted file mode 100644 index 2fc108f6..00000000 --- a/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/codeparser/ApiCodeParser.java +++ /dev/null @@ -1,672 +0,0 @@ -package com.orangeforms.apidoc.tools.codeparser; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.io.FileUtil; -import cn.hutool.core.util.StrUtil; -import com.orangeforms.common.core.object.Tuple2; -import com.orangeforms.apidoc.tools.exception.ApiCodeConfigParseException; -import com.thoughtworks.qdox.JavaProjectBuilder; -import com.thoughtworks.qdox.model.*; -import com.thoughtworks.qdox.model.impl.DefaultJavaParameterizedType; -import lombok.Data; - -import java.io.File; -import java.io.IOException; -import java.nio.charset.StandardCharsets; -import java.util.*; - -/** - * 解析项目中的接口信息,以及关联的Model、Dto和Mapper,主要用于生成接口文档。 - * - * @author Jerry - * @date 2020-08-08 - */ -public class ApiCodeParser { - - private static final String PATH_SEPERATOR = "/"; - private static final String REQUEST_MAPPING = "RequestMapping"; - private static final String FULL_REQUEST_MAPPING = "org.springframework.web.bind.annotation.RequestMapping"; - private static final String GET_MAPPING = "GetMapping"; - private static final String FULL_GET_MAPPING = "org.springframework.web.bind.annotation.GetMapping"; - private static final String POST_MAPPING = "PostMapping"; - private static final String FULL_POST_MAPPING = "org.springframework.web.bind.annotation.PostMapping"; - private static final String VALUE_PROP = "value"; - private static final String REQUIRED_PROP = "required"; - private static final String DELETED_COLUMN = "DeletedFlagColumn"; - - /** - * 忽略微服务间标准调用接口的导出。 - */ - private static final Set IGNORED_API_METHOD_SET = new HashSet<>(8); - - static { - IGNORED_API_METHOD_SET.add("listByIds"); - IGNORED_API_METHOD_SET.add("getById"); - IGNORED_API_METHOD_SET.add("existIds"); - IGNORED_API_METHOD_SET.add("existId"); - IGNORED_API_METHOD_SET.add("deleteById"); - IGNORED_API_METHOD_SET.add("deleteBy"); - IGNORED_API_METHOD_SET.add("listBy"); - IGNORED_API_METHOD_SET.add("listMapBy"); - IGNORED_API_METHOD_SET.add("listByNotInList"); - IGNORED_API_METHOD_SET.add("getBy"); - IGNORED_API_METHOD_SET.add("countBy"); - IGNORED_API_METHOD_SET.add("aggregateBy"); - } - - /** - * 基础配置。 - */ - private ApiCodeConfig config; - /** - * 工程对象。 - */ - private ApiProject apiProject; - /** - * 项目中所有的解析后Java文件,key是Java对象的全名,如:com.orangeforms.xxxx.Student。 - */ - private final Map projectJavaClassMap = new HashMap<>(128); - /** - * 存储服务数据。key为配置的serviceName。 - */ - private final Map serviceDataMap = new HashMap<>(8); - - /** - * 构造函数。 - * - * @param config 配置对象。 - */ - public ApiCodeParser(ApiCodeConfig config) { - this.config = config; - // 验证配置中的数据是否正确,出现错误直接抛出运行时异常。 - this.verifyConfigData(); - // 将配置文件中所有目录相关的参数,全部规格化处理,后续的使用中不用再做处理了。 - this.normalizeConfigPath(); - for (ApiCodeConfig.ServiceConfig serviceConfig : config.getServiceList()) { - InternalServiceData serviceData = new InternalServiceData(); - // 仅有微服务项目,需要添加服务路由路径。 - if (StrUtil.isNotBlank(serviceConfig.getServiceRequestPath())) { - String serviceRequestPath = ""; - if (!serviceRequestPath.equals(PATH_SEPERATOR)) { - serviceRequestPath = normalizePath(serviceConfig.getServiceRequestPath()); - } - serviceData.setServiceRequestPath(serviceRequestPath); - } - serviceDataMap.put(serviceConfig.getServiceName(), serviceData); - } - } - - /** - * 执行解析操作。 - * - * @return 解析后的工程对象。 - */ - public ApiProject doParse() throws IOException { - // 先把工程完整编译一遍,以便工程内的Java对象的引用信息更加完整。 - this.parseProject(); - // 开始逐级推演。 - apiProject = new ApiProject(); - apiProject.setProjectName(config.getProjectName()); - apiProject.setMicroService(config.getMicroService()); - apiProject.setServiceList(new LinkedList<>()); - for (ApiCodeConfig.ServiceConfig serviceConfig : config.getServiceList()) { - ApiService apiService = this.parseService(serviceConfig); - apiProject.getServiceList().add(apiService); - } - return apiProject; - } - - private void parseProject() throws IOException { - JavaProjectBuilder javaProjectBuilder = new JavaProjectBuilder(); - javaProjectBuilder.setEncoding(StandardCharsets.UTF_8.name()); - javaProjectBuilder.addSourceTree(new File(config.getProjectRootPath())); - // 全部导入,便于后续解析中使用和检索。 - for (JavaClass javaClass : javaProjectBuilder.getClasses()) { - projectJavaClassMap.put(javaClass.getFullyQualifiedName(), javaClass); - } - } - - private ApiService parseService(ApiCodeConfig.ServiceConfig serviceConfig) { - InternalServiceData serviceData = serviceDataMap.get(serviceConfig.getServiceName()); - ApiService apiService = new ApiService(); - apiService.setServiceName(serviceConfig.getServiceName()); - apiService.setShowName(serviceConfig.getShowName()); - apiService.setPort(serviceConfig.getPort()); - List controllerInfoList = serviceConfig.getControllerInfoList(); - // 准备解析接口文件 - for (ApiCodeConfig.ControllerInfo controllerInfo : controllerInfoList) { - JavaProjectBuilder javaControllerBuilder = new JavaProjectBuilder(); - javaControllerBuilder.addSourceTree(new File(controllerInfo.getPath())); - for (JavaClass javaClass : javaControllerBuilder.getClasses()) { - if (controllerInfo.getSkipControllers() != null - && controllerInfo.getSkipControllers().contains(javaClass.getName())) { - continue; - } - ApiClass apiClass = this.parseApiClass(controllerInfo, javaClass.getFullyQualifiedName(), serviceData); - if (apiClass != null) { - // 如果配置中,为当前ControllerInfo添加了groupName属性, - // 所有的生成后接口都会位于serviceName/groupName子目录,否则,都直接位于当前服务的子目录。 - if (StrUtil.isBlank(apiClass.getGroupName())) { - apiService.getDefaultGroupClassSet().add(apiClass); - } else { - Set groupedClassList = apiService.getGroupedClassMap() - .computeIfAbsent(apiClass.getGroupName(), k -> new TreeSet<>()); - groupedClassList.add(apiClass); - } - } - } - } - return apiService; - } - - private ApiClass parseApiClass( - ApiCodeConfig.ControllerInfo controllerInfo, - String classFullname, - InternalServiceData serviceData) { - // 去包含工程全部Class的Map中,找到当前ControllerClass。 - // 之所以这样做,主要是因为全工程分析controller文件,会包含更多更精确的对象关联信息。 - JavaClass controllerClass = this.projectJavaClassMap.get(classFullname); - List classAnnotations = controllerClass.getAnnotations(); - boolean hasControllerAnnotation = false; - String requestPath = ""; - for (JavaAnnotation annotation : classAnnotations) { - String annotationName = annotation.getType().getValue(); - if (this.isRequestMapping(annotationName) && annotation.getNamedParameter(VALUE_PROP) != null) { - requestPath = StrUtil.removeAll( - annotation.getNamedParameter(VALUE_PROP).toString(), "\""); - if (requestPath.equals(PATH_SEPERATOR) || StrUtil.isBlank(requestPath)) { - requestPath = ""; - } else { - requestPath = normalizePath(requestPath); - } - } - if (isController(annotationName)) { - hasControllerAnnotation = true; - } - } - if (!hasControllerAnnotation) { - return null; - } - requestPath = serviceData.getServiceRequestPath() + requestPath; - ApiClass apiClass = new ApiClass(); - apiClass.setName(controllerClass.getName()); - apiClass.setFullName(controllerClass.getFullyQualifiedName()); - apiClass.setComment(controllerClass.getComment()); - apiClass.setGroupName(controllerInfo.getGroupName()); - apiClass.setRequestPath(requestPath); - List methodList = this.parseApiMethodList(apiClass, controllerClass); - apiClass.setMethodList(methodList); - return apiClass; - } - - private boolean needToIgnore(JavaMethod method) { - return !method.isPublic() || method.isStatic() || IGNORED_API_METHOD_SET.contains(method.getName()); - } - - private List parseApiMethodList(ApiClass apiClass, JavaClass javaClass) { - List apiMethodList = new LinkedList<>(); - List methodList = javaClass.getMethods(); - for (JavaMethod method : methodList) { - if (this.needToIgnore(method)) { - continue; - } - List methodAnnotations = method.getAnnotations(); - Tuple2 result = this.parseRequestPathAndHttpMethod(methodAnnotations); - String methodRequestPath = result.getFirst(); - String httpMethod = result.getSecond(); - if (StrUtil.isNotBlank(methodRequestPath)) { - ApiMethod apiMethod = new ApiMethod(); - apiMethod.setName(method.getName()); - apiMethod.setComment(method.getComment()); - apiMethod.setHttpMethod(httpMethod); - methodRequestPath = StrUtil.removeAll(methodRequestPath, "\""); - methodRequestPath = apiClass.getRequestPath() + normalizePath(methodRequestPath); - apiMethod.setRequestPath(methodRequestPath); - apiMethod.setPathList(StrUtil.splitTrim(apiMethod.getRequestPath(), PATH_SEPERATOR)); - if (apiMethod.getRequestPath().contains("/listDict")) { - apiMethod.setListDictUrl(true); - } else if (apiMethod.getRequestPath().endsWith("/list") - || apiMethod.getRequestPath().endsWith("/listWithGroup") - || apiMethod.getRequestPath().contains("/listNotIn") - || apiMethod.getRequestPath().contains("/list")) { - apiMethod.setListUrl(true); - } else if (apiMethod.getRequestPath().contains("/doLogin")) { - apiMethod.setLoginUrl(true); - } - JavaClass returnClass = method.getReturns(); - if (returnClass.isVoid()) { - apiMethod.setReturnString("void"); - } else { - apiMethod.setReturnString(returnClass.getGenericValue()); - } - apiMethodList.add(apiMethod); - List apiArgumentList = this.parseApiMethodArgumentList(method); - apiMethod.setArgumentList(apiArgumentList); - this.classifyArgumentList(apiMethod, apiArgumentList); - } - } - return apiMethodList; - } - - private void classifyArgumentList(ApiMethod apiMethod, List apiArgumentList) { - for (ApiArgument arg : apiArgumentList) { - if (arg.getAnnotationType() == ApiArgumentAnnotationType.REQUEST_PARAM) { - if (arg.uploadFileParam) { - apiMethod.getUploadParamArgumentList().add(arg); - } else { - apiMethod.getQueryParamArgumentList().add(arg); - } - } - if (arg.getAnnotationType() != ApiArgumentAnnotationType.REQUEST_PARAM) { - apiMethod.getJsonParamArgumentList().add(arg); - } - } - } - - private Tuple2 parseRequestPathAndHttpMethod(List methodAnnotations) { - for (JavaAnnotation annotation : methodAnnotations) { - String annotationName = annotation.getType().getValue(); - if (GET_MAPPING.equals(annotationName) || FULL_GET_MAPPING.equals(annotationName)) { - String methodRequestPath = annotation.getNamedParameter(VALUE_PROP).toString(); - String httpMethod = "GET"; - return new Tuple2<>(methodRequestPath, httpMethod); - } - if (POST_MAPPING.equals(annotationName) || FULL_POST_MAPPING.equals(annotationName)) { - String methodRequestPath = annotation.getNamedParameter(VALUE_PROP).toString(); - String httpMethod = "POST"; - return new Tuple2<>(methodRequestPath, httpMethod); - } - } - return new Tuple2<>(null, null); - } - - private List parseApiMethodArgumentList(JavaMethod javaMethod) { - List apiArgumentList = new LinkedList<>(); - List parameterList = javaMethod.getParameters(); - if (CollUtil.isEmpty(parameterList)) { - return apiArgumentList; - } - for (JavaParameter parameter : parameterList) { - String typeName = parameter.getType().getValue(); - // 该类型的参数为Validator的验证结果对象,因此忽略。 - if ("BindingResult".equals(typeName) || this.isServletArgument(typeName)) { - continue; - } - ApiArgument apiArgument = this.parseApiMethodArgument(parameter); - apiArgumentList.add(apiArgument); - } - return apiArgumentList; - } - - private String parseMethodArgmentComment(JavaParameter parameter) { - String comment = null; - JavaExecutable executable = parameter.getExecutable(); - List tags = executable.getTagsByName("param"); - if (CollUtil.isNotEmpty(tags)) { - for (DocletTag tag : tags) { - if (tag.getValue().startsWith(parameter.getName())) { - comment = StrUtil.removePrefix(tag.getValue(), parameter.getName()).trim(); - break; - } - } - } - return comment; - } - - private ApiArgument parseApiMethodArgument(JavaParameter parameter) { - String typeName = parameter.getType().getValue(); - ApiArgument apiArgument = new ApiArgument(); - ApiArgumentAnnotation argumentAnnotation = - this.parseArgumentAnnotationTypeAndName(parameter.getAnnotations(), parameter.getName()); - apiArgument.setAnnotationType(argumentAnnotation.getType()); - apiArgument.setName(argumentAnnotation.getName()); - apiArgument.setTypeName(typeName); - apiArgument.setFullTypeName(parameter.getFullyQualifiedName()); - if (argumentAnnotation.getType() == ApiArgumentAnnotationType.REQUEST_PARAM) { - apiArgument.setRequired(argumentAnnotation.isRequired()); - } - String comment = parseMethodArgmentComment(parameter); - apiArgument.setComment(comment); - // 文件上传字段,是必填参数。 - if ("MultipartFile".equals(typeName)) { - apiArgument.setUploadFileParam(true); - apiArgument.setRequired(true); - return apiArgument; - } - // 对于内置类型,则无需继续处理了。所有和内置类型参数相关的处理,应该在之前完成。 - if (this.verifyAndSetBuiltinParam(apiArgument, typeName)) { - return apiArgument; - } - // 判断是否为集合类型的参数。 - if (this.isCollectionType(typeName)) { - apiArgument.setCollectionParam(true); - if (parameter.getType() instanceof DefaultJavaParameterizedType) { - DefaultJavaParameterizedType javaType = (DefaultJavaParameterizedType) parameter.getType(); - JavaType genericType = javaType.getActualTypeArguments().get(0); - ApiModel apiModel = this.buildApiModelForArgument(genericType.getFullyQualifiedName()); - apiArgument.setModelData(apiModel); - apiArgument.setFullTypeName(parameter.getGenericFullyQualifiedName()); - apiArgument.setTypeName(parameter.getGenericValue()); - } - } else { - ApiModel apiModel = this.buildApiModelForArgument(parameter.getFullyQualifiedName()); - apiArgument.setModelData(apiModel); - } - return apiArgument; - } - - private boolean verifyAndSetBuiltinParam(ApiArgument apiArgument, String typeName) { - if ("MyOrderParam".equals(typeName)) { - apiArgument.setOrderParam(true); - } else if ("MyPageParam".equals(typeName)) { - apiArgument.setPageParam(true); - } else if ("MyGroupParam".equals(typeName)) { - apiArgument.setGroupParam(true); - } else if ("MyQueryParam".equals(typeName)) { - apiArgument.setQueryParam(true); - } else if ("MyAggregationParam".equals(typeName)) { - apiArgument.setAggregationParam(true); - } - return apiArgument.isOrderParam() - || apiArgument.isPageParam() - || apiArgument.isGroupParam() - || apiArgument.isQueryParam() - || apiArgument.isAggregationParam(); - } - - private ApiArgumentAnnotation parseArgumentAnnotationTypeAndName( - List annotationList, String defaultName) { - ApiArgumentAnnotation argumentAnnotation = new ApiArgumentAnnotation(); - argumentAnnotation.setType(ApiArgumentAnnotationType.REQUEST_PARAM); - argumentAnnotation.setName(defaultName); - for (JavaAnnotation annotation : annotationList) { - String annotationName = annotation.getType().getValue(); - if ("RequestBody".equals(annotationName)) { - argumentAnnotation.setType(ApiArgumentAnnotationType.REQUEST_BODY); - return argumentAnnotation; - } else if ("MyRequestBody".equals(annotationName)) { - String annotationValue = this.getArgumentNameFromAnnotationValue(annotation, VALUE_PROP); - argumentAnnotation.setType(ApiArgumentAnnotationType.MY_REQUEST_BODY); - argumentAnnotation.setName(annotationValue != null ? annotationValue : defaultName); - return argumentAnnotation; - } else if ("RequestParam".equals(annotationName)) { - String annotationValue = this.getArgumentNameFromAnnotationValue(annotation, VALUE_PROP); - argumentAnnotation.setType(ApiArgumentAnnotationType.REQUEST_PARAM); - argumentAnnotation.setName(annotationValue != null ? annotationValue : defaultName); - String requiredValue = this.getArgumentNameFromAnnotationValue(annotation, REQUIRED_PROP); - if (StrUtil.isNotBlank(requiredValue)) { - argumentAnnotation.setRequired(Boolean.parseBoolean(requiredValue)); - } - return argumentAnnotation; - } - } - // 缺省为@RequestParam - return argumentAnnotation; - } - - private String getArgumentNameFromAnnotationValue(JavaAnnotation annotation, String attribute) { - Object value = annotation.getNamedParameter(attribute); - if (value == null) { - return null; - } - String paramAlias = value.toString(); - if (StrUtil.isNotBlank(paramAlias)) { - paramAlias = StrUtil.removeAll(paramAlias, "\""); - } - return paramAlias; - } - - private ApiModel buildApiModelForArgument(String fullJavaClassName) { - // 先从当前服务内的Model中找,如果参数是Model类型的对象,微服务和单体行为一致。 - ApiModel apiModel = apiProject.getFullNameModelMap().get(fullJavaClassName); - if (apiModel != null) { - return apiModel; - } - // 判断工程全局对象映射中是否包括该对象类型,如果不包含,就直接返回了。 - JavaClass modelClass = projectJavaClassMap.get(fullJavaClassName); - if (modelClass == null) { - return apiModel; - } - // 先行解析对象中的字段。 - apiModel = parseModel(modelClass); - apiProject.getFullNameModelMap().put(fullJavaClassName, apiModel); - return apiModel; - } - - private ApiModel parseModel(JavaClass javaClass) { - ApiModel apiModel = new ApiModel(); - apiModel.setName(javaClass.getName()); - apiModel.setFullName(javaClass.getFullyQualifiedName()); - apiModel.setComment(javaClass.getComment()); - apiModel.setFieldList(new LinkedList<>()); - List fieldList = javaClass.getFields(); - for (JavaField field : fieldList) { - if (field.isStatic()) { - continue; - } - ApiField apiField = new ApiField(); - apiField.setName(field.getName()); - apiField.setComment(field.getComment()); - apiField.setTypeName(field.getType().getSimpleName()); - apiModel.getFieldList().add(apiField); - } - return apiModel; - } - - private void verifyConfigData() { - if (StrUtil.isBlank(config.getProjectName())) { - throw new ApiCodeConfigParseException("ProjectName field can't be EMPTY."); - } - if (StrUtil.isBlank(config.getBasePackage())) { - throw new ApiCodeConfigParseException("BasePackage field can't be EMPTY."); - } - if (StrUtil.isBlank(config.getProjectRootPath())) { - throw new ApiCodeConfigParseException("ProjectRootPath field can't be EMPTY."); - } - if (!FileUtil.exist(config.getProjectRootPath())) { - throw new ApiCodeConfigParseException( - "ProjectRootPath doesn't exist, please check ./resources/export-api-config.json as DEFAULT."); - } - if (config.getMicroService() == null) { - throw new ApiCodeConfigParseException("MicroService field can't be NULL."); - } - if (CollUtil.isEmpty(config.getServiceList())) { - throw new ApiCodeConfigParseException("ServiceList field can't be EMPTY."); - } - this.verifyServiceConfig(config.getServiceList()); - } - - private void verifyServiceConfig(List serviceConfigList) { - Set serviceNameSet = new HashSet<>(8); - Set servicePathSet = new HashSet<>(8); - for (ApiCodeConfig.ServiceConfig serviceConfig : serviceConfigList) { - if (StrUtil.isBlank(serviceConfig.getServiceName())) { - throw new ApiCodeConfigParseException("One of the ServiceName Field in Services List is NULL."); - } - String serviceName = serviceConfig.getServiceName(); - if (StrUtil.isBlank(serviceConfig.getServicePath())) { - throw new ApiCodeConfigParseException( - "The ServicePath Field in Service [" + serviceName + "] is NULL."); - } - if (serviceNameSet.contains(serviceName)) { - throw new ApiCodeConfigParseException("The ServiceName [" + serviceName + "] is duplicated."); - } - serviceNameSet.add(serviceName); - if (servicePathSet.contains(serviceConfig.getServicePath())) { - throw new ApiCodeConfigParseException( - "The ServicePath [" + serviceConfig.getServicePath() + "] is duplicated."); - } - servicePathSet.add(serviceConfig.getServicePath()); - if (StrUtil.isBlank(serviceConfig.getPort())) { - throw new ApiCodeConfigParseException( - "The Port Field in Service [" + serviceName + "] is NULL."); - } - this.verifyServiceControllerConfig(serviceConfig.getControllerInfoList(), serviceName); - } - } - - private void verifyServiceControllerConfig( - List controllerInfoList, String serviceName) { - if (CollUtil.isEmpty(controllerInfoList)) { - throw new ApiCodeConfigParseException( - "The ControllerInfoList Field of Service [" + serviceName + "] is EMPTY"); - } - for (ApiCodeConfig.ControllerInfo controllerInfo : controllerInfoList) { - if (StrUtil.isBlank(controllerInfo.getPath())) { - throw new ApiCodeConfigParseException( - "One of the ControllerInfo.Path Field of Service [" + serviceName + "] is EMPTY"); - } - } - } - - private void normalizeConfigPath() { - config.setProjectRootPath(normalizePath(config.getProjectRootPath())); - for (ApiCodeConfig.ServiceConfig serviceConfig : config.getServiceList()) { - serviceConfig.setServicePath(config.getProjectRootPath() + normalizePath(serviceConfig.getServicePath())); - for (ApiCodeConfig.ControllerInfo controllerInfo : serviceConfig.getControllerInfoList()) { - controllerInfo.setPath(serviceConfig.getServicePath() + normalizePath(controllerInfo.getPath())); - } - } - } - - private String normalizePath(String path) { - if (!path.startsWith(PATH_SEPERATOR)) { - path = PATH_SEPERATOR + path; - } - return StrUtil.removeSuffix(path, PATH_SEPERATOR); - } - - private boolean isCollectionType(String typeName) { - return "List".equals(typeName) || "Set".equals(typeName) || "Collection".equals(typeName); - } - - private boolean isServletArgument(String typeName) { - return "HttpServletResponse".equals(typeName) || "HttpServletRequest".equals(typeName); - } - - private boolean isController(String annotationName) { - return "Controller".equals(annotationName) - || "org.springframework.stereotype.Controller".equals(annotationName) - || "RestController".equals(annotationName) - || "org.springframework.web.bind.annotation.RestController".equals(annotationName); - } - - private boolean isRequiredColumn(String annotationName) { - return "NotNull".equals(annotationName) - || "javax.validation.constraints.NotNull".equals(annotationName) - || "NotBlank".equals(annotationName) - || "javax.validation.constraints.NotBlank".equals(annotationName) - || "NotEmpty".equals(annotationName) - || "javax.validation.constraints.NotEmpty".equals(annotationName); - } - - private boolean isRequestMapping(String name) { - return REQUEST_MAPPING.equals(name) || FULL_REQUEST_MAPPING.equals(name); - } - - @Data - public static class ApiProject { - private String projectName; - private Boolean microService; - private List serviceList; - private Map fullNameModelMap = new HashMap<>(32); - private Map simpleNameModelMap = new HashMap<>(32); - } - - @Data - public static class ApiService { - private String serviceName; - private String showName; - private String port; - private Set defaultGroupClassSet = new TreeSet<>(); - private Map> groupedClassMap = new LinkedHashMap<>(); - } - - @Data - public static class ApiClass implements Comparable { - private String name; - private String fullName; - private String groupName; - private String comment; - private String requestPath; - private List methodList; - - @Override - public int compareTo(ApiClass o) { - return this.name.compareTo(o.name); - } - } - - @Data - public static class ApiMethod { - private String name; - private String comment; - private String returnString; - private String requestPath; - private String httpMethod; - private boolean listDictUrl = false; - private boolean listUrl = false; - private boolean loginUrl = false; - private List pathList = new LinkedList<>(); - private List argumentList; - private List queryParamArgumentList = new LinkedList<>(); - private List jsonParamArgumentList = new LinkedList<>(); - private List uploadParamArgumentList = new LinkedList<>(); - } - - @Data - public static class ApiArgument { - private String name; - private String typeName; - private String fullTypeName; - private String comment; - private Integer annotationType; - private boolean required = true; - private boolean uploadFileParam = false; - private boolean collectionParam = false; - private boolean orderParam = false; - private boolean pageParam = false; - private boolean groupParam = false; - private boolean queryParam = false; - private boolean aggregationParam = false; - private boolean jsonData = false; - private ApiModel modelData; - } - - @Data - public static class ApiArgumentAnnotation { - private String name; - private Integer type; - private boolean required = true; - } - - @Data - public static class ApiModel { - private String name; - private String fullName; - private String comment; - private List fieldList; - } - - @Data - public static class ApiField { - private String name; - private String comment; - private String typeName; - private boolean requiredColumn = false; - } - - public static final class ApiArgumentAnnotationType { - public static final int REQUEST_PARAM = 0; - public static final int REQUEST_BODY = 1; - public static final int MY_REQUEST_BODY = 2; - - private ApiArgumentAnnotationType() { - } - } - - @Data - private static class InternalServiceData { - private String serviceRequestPath = ""; - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/exception/ApiCodeConfigParseException.java b/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/exception/ApiCodeConfigParseException.java deleted file mode 100644 index 14e86fdd..00000000 --- a/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/exception/ApiCodeConfigParseException.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.orangeforms.apidoc.tools.exception; - -/** - * 解析接口信息配置对象中的异常。 - * - * @author Jerry - * @date 2020-08-08 - */ -public class ApiCodeConfigParseException extends RuntimeException { - - /** - * 构造函数。 - */ - public ApiCodeConfigParseException() { - - } - - /** - * 构造函数。 - * - * @param msg 错误信息。 - */ - public ApiCodeConfigParseException(String msg) { - super(msg); - } - -} diff --git a/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/exception/MapperParseException.java b/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/exception/MapperParseException.java deleted file mode 100644 index 6541ce67..00000000 --- a/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/exception/MapperParseException.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.orangeforms.apidoc.tools.exception; - -/** - * 解析Mybatis XML Mapper中的异常。 - * - * @author Jerry - * @date 2020-08-08 - */ -public class MapperParseException extends RuntimeException { - - /** - * 构造函数。 - */ - public MapperParseException() { - - } - - /** - * 构造函数。 - * - * @param msg 错误信息。 - */ - public MapperParseException(String msg) { - super(msg); - } - -} diff --git a/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/export/ApiDocExporter.java b/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/export/ApiDocExporter.java deleted file mode 100644 index aa7250f9..00000000 --- a/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/export/ApiDocExporter.java +++ /dev/null @@ -1,84 +0,0 @@ -package com.orangeforms.apidoc.tools.export; - -import com.orangeforms.apidoc.tools.codeparser.ApiCodeParser; -import com.orangeforms.apidoc.tools.util.FreeMarkerUtils; -import freemarker.template.Configuration; -import freemarker.template.TemplateException; -import freemarker.template.TemplateExceptionHandler; -import freemarker.template.TemplateModelException; -import org.apache.commons.io.FileUtils; - -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; - -/** - * 根据代码解析后的工程对象数据,导出到Markdown格式的接口文档文件。 - * - * @author Jerry - * @date 2020-08-08 - */ -public class ApiDocExporter { - - private final Configuration config; - - public ApiDocExporter() throws TemplateModelException { - config = new Configuration(Configuration.VERSION_2_3_28); - config.setNumberFormat("0.####"); - config.setClassicCompatible(true); - config.setAPIBuiltinEnabled(true); - config.setClassForTemplateLoading(ApiPostmanExporter.class, "/templates/"); - config.setDefaultEncoding("UTF-8"); - config.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER); - config.setSharedVariable("freemarkerUtils", new FreeMarkerUtils()); - config.unsetCacheStorage(); - config.clearTemplateCache(); - } - - /** - * 生成Markdown格式的API接口文档。 - * - * @param apiProject 解析后的工程对象。 - * @param outputFile 生成后的、包含全路径的输出文件名。 - * @throws IOException 文件操作异常。 - * @throws TemplateException 模板实例化异常。 - */ - public void doGenerate(ApiCodeParser.ApiProject apiProject, String outputFile) throws IOException, TemplateException { - Map paramMap = new HashMap<>(1); - paramMap.put("project", apiProject); - List newServiceList = new LinkedList<>(); - if (apiProject.getMicroService()) { - // 在微服务场景中,我们需要把upms服务放到最前面显示。 - for (ApiCodeParser.ApiService apiService : apiProject.getServiceList()) { - if ("upms".equals(apiService.getServiceName())) { - newServiceList.add(apiService); - break; - } - } - for (ApiCodeParser.ApiService apiService : apiProject.getServiceList()) { - if (!"upms".equals(apiService.getServiceName())) { - newServiceList.add(apiService); - } - } - } else { - ApiCodeParser.ApiService appService = apiProject.getServiceList().get(0); - ApiCodeParser.ApiService newUpmsService = new ApiCodeParser.ApiService(); - newUpmsService.setDefaultGroupClassSet(appService.getGroupedClassMap().get("upms")); - newUpmsService.setServiceName("upms"); - newUpmsService.setShowName("用户权限模块"); - newServiceList.add(newUpmsService); - ApiCodeParser.ApiService newAppService = new ApiCodeParser.ApiService(); - newAppService.setDefaultGroupClassSet(appService.getGroupedClassMap().get("app")); - newAppService.setServiceName("app"); - newAppService.setShowName("业务应用模块"); - newServiceList.add(newAppService); - } - apiProject.setServiceList(newServiceList); - FileUtils.forceMkdirParent(new File(outputFile)); - config.getTemplate("./api-doc.md.ftl").process(paramMap, new FileWriter(outputFile)); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/export/ApiPostmanExporter.java b/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/export/ApiPostmanExporter.java deleted file mode 100644 index f24b7c26..00000000 --- a/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/export/ApiPostmanExporter.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.orangeforms.apidoc.tools.export; - -import com.orangeforms.apidoc.tools.codeparser.ApiCodeParser; -import com.orangeforms.apidoc.tools.util.FreeMarkerUtils; -import freemarker.template.Configuration; -import freemarker.template.TemplateException; -import freemarker.template.TemplateExceptionHandler; -import freemarker.template.TemplateModelException; -import org.apache.commons.io.FileUtils; - -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; - -/** - * 根据代码解析后的工程对象数据,导出到Postman支持的JSON格式的文件。 - * - * @author Jerry - * @date 2020-08-08 - */ -public class ApiPostmanExporter { - - private final Configuration config; - - public ApiPostmanExporter() throws TemplateModelException { - config = new Configuration(Configuration.VERSION_2_3_28); - config.setNumberFormat("0.####"); - config.setClassicCompatible(true); - config.setAPIBuiltinEnabled(true); - config.setClassForTemplateLoading(ApiPostmanExporter.class, "/templates/"); - config.setDefaultEncoding("UTF-8"); - config.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER); - config.setSharedVariable("freemarkerUtils", new FreeMarkerUtils()); - config.unsetCacheStorage(); - config.clearTemplateCache(); - } - - /** - * 生成Postman支持的JSON文档。 - * @param apiProject 解析后的工程对象。 - * @param outputFile 生成后的、包含全路径的输出文件名。 - * @throws IOException 文件操作异常。 - * @throws TemplateException 模板实例化异常。 - */ - public void doGenerate(ApiCodeParser.ApiProject apiProject, String outputFile) throws IOException, TemplateException { - Map paramMap = new HashMap<>(1); - paramMap.put("project", apiProject); - FileUtils.forceMkdirParent(new File(outputFile)); - config.getTemplate("./postman_collection.json.ftl").process(paramMap, new FileWriter(outputFile)); - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/util/FreeMarkerUtils.java b/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/util/FreeMarkerUtils.java deleted file mode 100644 index 3244ea8a..00000000 --- a/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/java/com/orangeforms/apidoc/tools/util/FreeMarkerUtils.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.orangeforms.apidoc.tools.util; - -import java.util.UUID; - -/** - * 仅供Freemarker模板内部使用的Java工具函数。 - * - * @author Jerry - * @date 2020-08-08 - */ -public class FreeMarkerUtils { - - /** - * 生成GUID。 - * - * @return 生成后的GUID。 - */ - public static String generateGuid() { - return UUID.randomUUID().toString(); - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - public FreeMarkerUtils() { - // FreeMarker的工具对象,Sonarqube建议给出空构造的注释。 - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/resources/export-api-config.json b/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/resources/export-api-config.json deleted file mode 100644 index 0b8d0f59..00000000 --- a/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/resources/export-api-config.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "projectName": "橙单微服务开源版", - "basePackage": "com.orangeforms", - "projectRootPath": "这里请使用当前工程的根目录,如:e:/xxx/OrangeDemo 或者 /Users/xxx/OrangeDemo", - "microService": "true", - "serviceList": [ - { - "serviceName": "course-class", - "showName": "班级服务", - "servicePath": "/application/course-class", - "serviceRequestPath": "/admin/CourseClass", - "port": "8082", - "controllerInfoList": [ - { - "path": "/course-class-service/src/main/java/com/orangeforms/courseclassservice/controller" - } - ] - }, - { - "serviceName": "stats", - "showName": "统计服务", - "servicePath": "/application/stats", - "serviceRequestPath": "/admin/stats", - "port": "8082", - "controllerInfoList": [ - { - "path": "/stats-service/src/main/java/com/orangeforms/statsservice/controller" - } - ] - }, - { - "serviceName": "upms", - "showName": "用户权限服务", - "servicePath": "/application/upms", - "serviceRequestPath": "/admin/upms", - "port": "8082", - "controllerInfoList": [ - { - "path": "/upms-service/src/main/java/com/orangeforms/upmsservice/controller" - } - ] - } - ] -} diff --git a/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/resources/templates/api-doc.md.ftl b/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/resources/templates/api-doc.md.ftl deleted file mode 100644 index dcf7d8dc..00000000 --- a/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/resources/templates/api-doc.md.ftl +++ /dev/null @@ -1,144 +0,0 @@ -## 用户登录 -### 登录接口 -#### 登录 -- **URI:** /admin/upms/login/doLogin -- **Type:** GET -- **Content-Type:** multipart/form-data -- **Request-Headers:** -Name|Type|Description ---|--|-- -Authorization|String|身份验证的Token -- **Request-Parameters:** -Parameter|Type|Required|Description ---|--|--|-- -loginName|string|true|用户名 -password|string|true|加密后的用户密码 - -#### 退出 -- **URI:** /admin/upms/login/logout -- **Type:** POST -- **Content-Type:** application/json; chartset=utf-8 -- **Request-Headers:** -Name|Type|Description ---|--|-- -Authorization|String|身份验证的Token - -#### 修改密码 -- **URI:** /admin/upms/login/changePassword -- **Type:** POST -- **Content-Type:** application/json; chartset=utf-8 -- **Request-Headers:** -Name|Type|Description ---|--|-- -Authorization|String|身份验证的Token -- **Request-Parameters:** -Parameter|Type|Required|Description ---|--|--|-- -oldPass|string|true|加密后的原用户密码 -newPass|string|true|加密后的新用户密码 -<#list project.serviceList as service> - -## ${service.showName} -<#list service.defaultGroupClassSet as apiClass> -### ${apiClass.name} -<#list apiClass.methodList as apiMethod> -#### ${apiMethod.name} -- **URI:** ${apiMethod.requestPath} -- **Type:** ${apiMethod.httpMethod} -- **Content-Type:** <#if apiMethod.httpMethod == "GET" || apiMethod.queryParamArgumentList?size gt 0 || apiMethod.uploadParamArgumentList?size gt 0>multipart/form-data<#else>application/json; chartset=utf-8 -- **Request-Headers:** -Name|Type|Description ---|--|-- -Authorization|String|身份验证的Token -<#if apiMethod.queryParamArgumentList?size gt 0 || apiMethod.uploadParamArgumentList?size gt 0> -- **Request-Parameters:** -Parameter|Type|Required|Description ---|--|--|-- -<#list apiMethod.queryParamArgumentList as apiArgument> -<#if apiArgument.modelData??> -<#list apiArgument.modelData.tableFieldList as apiField> -${apiField.name}|${apiField.typeName}|<#if apiMethod.listDictUrl>false<#else><#if apiField.requiredColumn>true<#else>false|${apiField.comment} - -<#else> -${apiArgument.name}|${apiArgument.typeName}|<#if apiMethod.listDictUrl>false<#else><#if apiArgument.required>true<#else>false|${apiArgument.comment} -<#-- apiArgument.modelData?? --> - - -<#list apiMethod.uploadParamArgumentList as apiArgument> -${apiArgument.name}|File|true|${apiArgument.comment} - -<#if apiMethod.jsonParamArgumentList?size gt 0> -- **Request-Body:** -``` json -{ -<#list apiMethod.jsonParamArgumentList as apiArgument> -<#if apiArgument.modelData??> - <#if apiArgument.collectionParam> - "${apiArgument.name}" : [ - { - <#if apiMethod.listUrl> - <#list apiArgument.modelData.filteredFieldList as apiField> - "${apiField.name}" : "${apiField.typeName} | false | <#if apiField.name == "searchString">模糊搜索字符串。<#else>${apiField.comment}"<#if apiField_has_next>, - - <#else><#-- apiMethod.listUrl --> - <#list apiArgument.modelData.tableFieldList as apiField> - <#if !apiMethod.addUrl || !apiField.primaryKey> - "${apiField.name}" : "${apiField.typeName} | <#if apiField.requiredColumn>true<#else>false | ${apiField.comment}"<#if apiField_has_next>, - - - <#-- apiMethod.listUrl --> - } - ]<#if apiArgument_has_next>, - <#else><#-- apiArgument.collectionParam --> - "${apiArgument.name}" : { - <#if apiMethod.listUrl> - <#list apiArgument.modelData.filteredFieldList as apiField> - "${apiField.name}" : "${apiField.typeName} | false | <#if apiField.name == "searchString">模糊搜索字符串。<#else>${apiField.comment}"<#if apiField_has_next>, - - <#else><#-- apiMethod.listUrl --> - <#list apiArgument.modelData.tableFieldList as apiField> - <#if !apiMethod.addUrl || !apiField.primaryKey> - "${apiField.name}" : "${apiField.typeName} | <#if apiField.requiredColumn>true<#else>false | ${apiField.comment}"<#if apiField_has_next>, - - - <#-- apiMethod.listUrl --> - }<#if apiArgument_has_next>, - <#-- apiArgument.collectionParam --> -<#elseif apiArgument.orderParam> - "${apiArgument.name}" : [ - { - "fieldName" : "String | false | 排序字段名", - "asc" : "Boolean | false | 是否升序" - } - ]<#if apiArgument_has_next>, -<#elseif apiArgument.groupParam> - "${apiArgument.name}" : [ - { - "fieldName" : "String | false | 分组字段名", - "aliasName" : "String | false | 分组字段别名", - "dateAggregateBy" : "String | false | 是否按照日期聚合,可选项(day|month|year)" - } - ]<#if apiArgument_has_next>, -<#elseif apiArgument.pageParam> - "${apiArgument.name}" : { - "pageNum": "Integer | false | 分页页号", - "pageSize": "Integer | false | 每页数据量" - }<#if apiArgument_has_next>, -<#elseif apiArgument.queryParam || apiArgument.aggregationParam> - ${apiArgument.name}" : { - - }<#if apiArgument_has_next>, -<#else><#-- apiArgument.modelData?? --> - <#if apiArgument.collectionParam> - "${apiArgument.name}" : [ "${apiArgument.typeName} | ${apiArgument.required}<#if apiArgument.comment??> | ${apiArgument.comment}" ]<#if apiArgument_has_next>, - <#else> - "${apiArgument.name}" : "${apiArgument.typeName} | ${apiArgument.required}<#if apiArgument.comment??> | ${apiArgument.comment}"<#if apiArgument_has_next>, - -<#-- apiArgument.modelData?? --> - -} -``` - -<#-- apiClass.methodList as apiMethod --> -<#-- upmsClassList as apiClass --> - diff --git a/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/resources/templates/postman_collection.json.ftl b/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/resources/templates/postman_collection.json.ftl deleted file mode 100644 index 2db6c184..00000000 --- a/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/resources/templates/postman_collection.json.ftl +++ /dev/null @@ -1,42 +0,0 @@ -<#import "postman_common.ftl" as Common> -{ - "info": { - "_postman_id": "92b51dc5-3611-49ac-8d94-a0718dba5bf1", - "name": "${project.projectName}", - "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" - }, - "item": [ - <#list project.serviceList as service> - { - "name": "${service.serviceName}", - "item": [ - <#if service.groupedClassMap?size gt 0> - <#list service.groupedClassMap?keys as groupName> - <#assign groupedClassList=service.groupedClassMap[groupName] /> - { - "name": "${groupName}", - "item": [ - <#list groupedClassList as apiClass> - { - <@Common.generateControllerRequest service apiClass 7/> - }<#if apiClass_has_next>, - - ], - "protocolProfileBehavior": {}, - "_postman_isSubFolder": true - }<#if groupName_has_next>, - - - <#list service.defaultGroupClassSet as apiClass> - { - <@Common.generateControllerRequest service apiClass 5/> - }<#if apiClass_has_next>, - - ], - "protocolProfileBehavior": {}, - "_postman_isSubFolder": true - }<#if service_has_next>, - <#-- project.serviceList as service --> - ], - "protocolProfileBehavior": {} -} diff --git a/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/resources/templates/postman_common.ftl b/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/resources/templates/postman_common.ftl deleted file mode 100644 index 9bf2a47e..00000000 --- a/orange-demo-multi/orange-demo-multi-service/framework/apidoc-tools/src/main/resources/templates/postman_common.ftl +++ /dev/null @@ -1,120 +0,0 @@ -<#macro doIndent level><#if level != 0><#list 0..(level-1) as i> - -<#macro generateControllerRequest service apiClass indentLevel> -<@doIndent indentLevel/>"name": "${apiClass.name}", -<@doIndent indentLevel/>"item": [ - <#list apiClass.methodList as apiMethod> -<@doIndent indentLevel/> { -<@doIndent indentLevel/> "name": "${apiMethod.name}", - <#if apiMethod.loginUrl> -<@doIndent indentLevel/> "event": [ -<@doIndent indentLevel/> { -<@doIndent indentLevel/> "listen": "test", -<@doIndent indentLevel/> "script": { -<@doIndent indentLevel/> "id": "${freemarkerUtils.generateGuid()}", -<@doIndent indentLevel/> "type": "text/javascript", -<@doIndent indentLevel/> "exec": [ -<@doIndent indentLevel/> "pm.test(\"登录操作\", function () {", -<@doIndent indentLevel/> " var jsonData = pm.response.json();", -<@doIndent indentLevel/> " var token = jsonData.data.tokenData;", -<@doIndent indentLevel/> " pm.environment.set(\"token\", token);", -<@doIndent indentLevel/> " console.log(\"login token \" + token);", -<@doIndent indentLevel/> "});", -<@doIndent indentLevel/> "" -<@doIndent indentLevel/> ] -<@doIndent indentLevel/> } -<@doIndent indentLevel/> }, -<@doIndent indentLevel/> { -<@doIndent indentLevel/> "listen": "prerequest", -<@doIndent indentLevel/> "script": { -<@doIndent indentLevel/> "id": "${freemarkerUtils.generateGuid()}", -<@doIndent indentLevel/> "type": "text/javascript", -<@doIndent indentLevel/> "exec": [ -<@doIndent indentLevel/> "" -<@doIndent indentLevel/> ] -<@doIndent indentLevel/> } -<@doIndent indentLevel/> } -<@doIndent indentLevel/> ], - -<@doIndent indentLevel/> "request": { -<@doIndent indentLevel/> "method": "${apiMethod.httpMethod}", - <#if apiMethod.loginUrl> -<@doIndent indentLevel/> "header": [], - <#else> -<@doIndent indentLevel/> "header": [ -<@doIndent indentLevel/> { -<@doIndent indentLevel/> "key": "Authorization", -<@doIndent indentLevel/> "value": "{{token}}", -<@doIndent indentLevel/> "type": "text" -<@doIndent indentLevel/> } -<@doIndent indentLevel/> ], - -<@doIndent indentLevel/> "url": { -<@doIndent indentLevel/> "raw": "http://{{host}}:${service.port}/${apiMethod.requestPath}", -<@doIndent indentLevel/> "protocol": "http", -<@doIndent indentLevel/> "host": [ -<@doIndent indentLevel/> "{{host}}" -<@doIndent indentLevel/> ], -<@doIndent indentLevel/> "port": "${service.port}", -<@doIndent indentLevel/> "path": [ - <#list apiMethod.pathList as path> -<@doIndent indentLevel/> "${path}"<#if path_has_next>, - -<@doIndent indentLevel/> ]<#if apiMethod.queryParamArgumentList?size gt 0>, - <#if apiMethod.queryParamArgumentList?size gt 0> -<@doIndent indentLevel/> "query": [ - <#list apiMethod.queryParamArgumentList as apiArgument> - <#if apiArgument.modelData??> - <#list apiArgument.modelData.tableFieldList as apiField> -<@doIndent indentLevel/> { -<@doIndent indentLevel/> "key": "${apiField.name}", -<@doIndent indentLevel/> "value": "" -<@doIndent indentLevel/> }<#if apiArgument_has_next || apiField_has_next>, - - <#else> -<@doIndent indentLevel/> { -<@doIndent indentLevel/> "key": "${apiArgument.name}", -<@doIndent indentLevel/> "value": "" -<@doIndent indentLevel/> }<#if apiArgument_has_next>, - - -<@doIndent indentLevel/> ] - -<@doIndent indentLevel/> }<#if (apiMethod.httpMethod == "POST" && apiMethod.jsonParamArgumentList?size gt 0) || apiMethod.uploadParamArgumentList?size gt 0>, - <#if apiMethod.uploadParamArgumentList?size gt 0> -<@doIndent indentLevel/> "body": { -<@doIndent indentLevel/> "mode": "formdata", -<@doIndent indentLevel/> "formdata": [ - <#list apiMethod.uploadParamArgumentList as apiArgument> -<@doIndent indentLevel/> { -<@doIndent indentLevel/> "key": "${apiArgument.name}", -<@doIndent indentLevel/> "type": "file", -<@doIndent indentLevel/> "src": [] -<@doIndent indentLevel/> }<#if apiArgument_has_next>, - -<@doIndent indentLevel/> ] -<@doIndent indentLevel/> }<#if apiMethod.httpMethod == "POST" && apiMethod.jsonParamArgumentList?size gt 0>, - <#-- apiMethod.uploadParamArgumentList?size gt 0 --> - <#if apiMethod.httpMethod == "POST" && apiMethod.jsonParamArgumentList?size gt 0> -<@doIndent indentLevel/> "body": { -<@doIndent indentLevel/> "mode": "raw", - <#if !apiMethod.loginUrl> -<@doIndent indentLevel/> "raw": "{\n<#list apiMethod.jsonParamArgumentList as apiArgument><#if apiArgument.modelData??><#if apiArgument.collectionParam>\t\"${apiArgument.name}\" : [\n\t\t{\n<#list apiArgument.modelData.fieldList as apiField><#if apiMethod.listUrl>\t\t\t\"${apiField.name}\" : \"\"<#if apiField_has_next>,\n<#else>\t\t\t\"${apiField.name}\" : \"<#if apiField.typeName == "Integer" || apiField.typeName == "Long">0\"<#if apiField_has_next>,\n<#-- apiMethod.listUrl -->\t\t}\n\t]<#if apiArgument_has_next>,\n<#else><#-- apiArgument.collectionParam -->\t\"${apiArgument.name}\" : {\n<#list apiArgument.modelData.fieldList as apiField><#if apiMethod.listUrl>\t\t\"${apiField.name}\" : \"\"<#if apiField_has_next>,\n<#else>\t\t\"${apiField.name}\" : \"<#if apiField.typeName == "Integer" || apiField.typeName == "Long">0\"<#if apiField_has_next>,\n<#-- apiMethod.listUrl -->\t}<#if apiArgument_has_next>,\n<#-- apiArgument.collectionParam --><#elseif apiArgument.orderParam>\t\"${apiArgument.name}\" : [\n\t\t{\n\t\t\t\"fieldName\" : \"\",\n\t\t\t\"asc\" : \"true\"\n\t\t}\n\t]<#if apiArgument_has_next>,\n<#elseif apiArgument.groupParam>\t\"${apiArgument.name}\" : [\n\t\t{\n\t\t\t\"fieldName\" : \"\",\n\t\t\t\"aliasName\" : \"\",\n\t\t\t\"dateAggregateBy\" : \"\"\n\t\t}\n\t]<#if apiArgument_has_next>,\n<#elseif apiArgument.pageParam>\t\"${apiArgument.name}\" : {\n\t\t\"pageNum\": \"1\",\n\t\t\"pageSize\": \"10\"\n\t}<#if apiArgument_has_next>,\n<#elseif apiArgument.queryParam || apiArgument.aggregationParam>\t\"${apiArgument.name}\" : {\n\t}<#if apiArgument_has_next>,\n<#else><#if apiArgument.collectionParam>\t\"${apiArgument.name}\" : [ ]<#if apiArgument_has_next>,\n<#else>\t\"${apiArgument.name}\" : \"\"<#if apiArgument_has_next>,\n<#-- apiArgument.modelData?? --><#-- apiMethod.jsonParamArgumentList?size gt 0 -->}\n", - <#else> -<@doIndent indentLevel/> "raw": "{\n \"loginName\":\"admin\",\n \"password\":\"IP3ccke3GhH45iGHB5qP9p7iZw6xUyj28Ju10rnBiPKOI35sc%2BjI7%2FdsjOkHWMfUwGYGfz8ik31HC2Ruk%2Fhkd9f6RPULTHj7VpFdNdde2P9M4mQQnFBAiPM7VT9iW3RyCtPlJexQ3nAiA09OqG%2F0sIf1kcyveSrulxembARDbDo%3D\"\n}", - -<@doIndent indentLevel/> "options": { -<@doIndent indentLevel/> "raw": { -<@doIndent indentLevel/> "language": "json" -<@doIndent indentLevel/> } -<@doIndent indentLevel/> } -<@doIndent indentLevel/> } - -<@doIndent indentLevel/> }, -<@doIndent indentLevel/> "response": [] -<@doIndent indentLevel/> }<#if apiMethod_has_next>, - <#-- apiClass.methodList as apiMethod --> -<@doIndent indentLevel/>], -<@doIndent indentLevel/>"protocolProfileBehavior": {}, -<@doIndent indentLevel/>"_postman_isSubFolder": true - diff --git a/orange-demo-multi/orange-demo-multi-service/framework/pom.xml b/orange-demo-multi/orange-demo-multi-service/framework/pom.xml deleted file mode 100644 index b40ef756..00000000 --- a/orange-demo-multi/orange-demo-multi-service/framework/pom.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - com.orangeforms - OrangeMultiDemo - 1.0.0 - - 4.0.0 - - framework - pom - - - admin-monitor - apidoc-tools - - diff --git a/orange-demo-multi/orange-demo-multi-service/pom.xml b/orange-demo-multi/orange-demo-multi-service/pom.xml deleted file mode 100644 index 00cbb95f..00000000 --- a/orange-demo-multi/orange-demo-multi-service/pom.xml +++ /dev/null @@ -1,352 +0,0 @@ - - - 4.0.0 - - com.orangeforms - OrangeMultiDemo - 1.0.0 - OrangeMultiDemo - pom - - - 2020.0.4 - 2021.1 - 2.5.8 - 2.5.5 - UTF-8 - 1.8 - 1.8 - 1.8 - - 2.10.13 - 20.0 - 2.6 - 4.4 - 1.8 - 5.0.0 - 5.7.18 - 0.9.1 - 1.2.76 - 1.1.5 - 3.0.2 - 1.4.2.Final - 1.18.20 - 4.3.0 - 2.4.0 - 2.12.10 - 2.17.0 - 3.4.3 - 6.2.0.Final - 0.2.0 - 3.15.4 - 2.0.0 - 2.0.8 - 2.10.5 - 1.5.22 - 1.3.0 - - 1.2.6 - 3.4.2 - 1.3.0 - - - - application - application-consumer - common - framework - - - - - org.springframework.cloud - spring-cloud-starter-bootstrap - - - - org.springframework.boot - spring-boot-starter-freemarker - - - spring-boot-starter-logging - org.springframework.boot - - - - - - javax.servlet - javax.servlet-api - - - - org.springframework.boot - spring-boot-starter-log4j2 - 2.6.1 - - - log4j-core - org.apache.logging.log4j - - - log4j-jul - org.apache.logging.log4j - - - log4j-slf4j-impl - org.apache.logging.log4j - - - - - org.apache.logging.log4j - log4j-core - ${log4j2.version} - - - log4j-api - org.apache.logging.log4j - - - - - org.apache.logging.log4j - log4j-jul - ${log4j2.version} - - - log4j-api - org.apache.logging.log4j - - - - - org.apache.logging.log4j - log4j-slf4j-impl - ${log4j2.version} - - - log4j-core - org.apache.logging.log4j - - - log4j-api - org.apache.logging.log4j - - - - - org.apache.logging.log4j - log4j-api - ${log4j2.version} - - - - org.springframework.boot - spring-boot-starter-aop - - - spring-boot-starter-logging - org.springframework.boot - - - - - - org.springframework.boot - spring-boot-starter-cache - - - - org.springframework.boot - spring-boot-configuration-processor - true - - - - org.springframework.boot - spring-boot-starter-actuator - - - - de.codecentric - spring-boot-admin-starter-client - ${spring-boot-admin.version} - - - - com.alibaba.cloud - spring-cloud-starter-alibaba-nacos-config - - - - org.springframework.cloud - spring-cloud-starter-openfeign - - - org.springframework.cloud - spring-cloud-starter-loadbalancer - - - - org.hibernate.validator - hibernate-validator - ${hibernate-validator.version} - - - - org.mapstruct - mapstruct - ${mapstruct.version} - - - org.mapstruct - mapstruct-processor - ${mapstruct.version} - provided - - - - org.projectlombok - lombok - provided - - - - org.apache.curator - curator-recipes - ${curator.version} - - - - org.apache.kafka - kafka-clients - ${kafka.version} - - - org.scala-lang - scala-library - ${scala-library.version} - - - - com.lmax - disruptor - ${disruptor.version} - - - - org.apache.skywalking - apm-toolkit-log4j-2.x - 7.0.0 - - - - org.springframework.plugin - spring-plugin-core - 2.0.0.RELEASE - - - org.springframework.plugin - spring-plugin-metadata - 2.0.0.RELEASE - - - - org.springframework.boot - spring-boot-starter-test - test - - - - - - - org.springframework.cloud - spring-cloud-dependencies - ${spring-cloud.version} - pom - import - - - com.alibaba.cloud - spring-cloud-alibaba-dependencies - ${spring-cloud-alibaba.version} - pom - import - - - org.springframework.boot - spring-boot-dependencies - ${spring-boot.version} - pom - import - - - - - - ${project.name} - - - src/main/resources - - **/*.* - - false - - - src/main/java - - **/*.xml - - false - - - - - - org.springframework.boot - spring-boot-maven-plugin - ${spring-boot.version} - - - - repackage - - - - - - - - - maven-compiler-plugin - 3.8.0 - - ${maven.compiler.target} - ${maven.compiler.source} - UTF-8 - - - org.projectlombok - lombok - ${lombok.version} - - - org.projectlombok - lombok-mapstruct-binding - 0.2.0 - - - org.mapstruct - mapstruct-processor - ${mapstruct.version} - - - - - - - diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/config-data/application-dev.yaml b/orange-demo-multi/orange-demo-multi-service/zz-resource/config-data/application-dev.yaml deleted file mode 100644 index 77a9637f..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/config-data/application-dev.yaml +++ /dev/null @@ -1,140 +0,0 @@ -server: - tomcat: - uri-encoding: UTF-8 - threads: - max: 100 - min-spare: 10 - servlet: - encoding: - force: true - charset: UTF-8 - enabled: true - -logging: - config: classpath:log4j2.xml - -spring: - servlet: - multipart: - max-file-size: 50MB - max-request-size: 50MB - mvc: - converters: - preferred-json-mapper: fastjson - freemarker: - template-loader-path: classpath:/template/ - cache: false - charset: UTF-8 - check-template-location: true - content-type: text/html - expose-request-attributes: false - expose-session-attributes: false - request-context-attribute: request - suffix: .ftl - cloud: - sentinel: - transport: - # sentinel控制台地址。 - # 由于8080端口容易与其他服务端口冲突,可以在启动sentinel控制台时动态修改,如: - # java -Dserver.port=8858 -jar sentinel-dashboard-$VERSION.jar - # 改为8858后,下面的配置端口也需要改为:localhost:8858。 - dashboard: localhost:8858 - -# feign 配置 -feign: - sentinel: - enabled: true - httpclient: - enabled: true - max-connections: 200 - max-connections-per-route: 50 - client: - config: - default: - # 输出feignclient的日志,缺省值为none,可选值为none/basic/headers/full - # 注意:需要把feignclient类所在包的日志级别设置为debug时才生效。如: - # logging: - # level: - # com.demo.multi: info - # com.demo.multi.coursepaperinterface.client: debug - loggerLevel: full - connectTimeout: 5000 - readTimeout: 10000 - compression: - request: - enabled: true - response: - enabled: true - -common-core: - # 可选值为 mysql / postgresql - databaseType: mysql - -swagger: - # 当enabled为false的时候,则可禁用swagger。 - enabled: true - # 工程的基础包名。 - basePackage: com.orangeforms - # 工程服务的基础包名。 - serviceBasePackage: - title: 橙单单体服务工程 - description: 橙单单体服务工程详情 - version: 1.0 - -# 暴露监控端点 -management: - metrics: - tags: - application: ${spring.application.name} - endpoints: - web: - exposure: - include: '*' - jmx: - exposure: - include: '*' - endpoint: - # 与中间件相关的健康详情也会被展示 - health: - show-details: always - configprops: - # 在/actuator/configprops中,所有包含password的配置,将用 * 隐藏。 - # 如果不想隐藏任何配置项的值,可以直接使用如下被注释的空值。 - # keys-to-sanitize: - keys-to-sanitize: password - server: - base-path: "/" - -# 存储session数据的Redis,所有服务均需要,因此放到公共配置中。 -# 根据实际情况,该Redis也可以用于存储其他数据。 -redis: - # redisson的配置。每个服务可以自己的配置文件中覆盖此选项。 - redisson: - # 如果该值为false,系统将不会创建RedissionClient的bean。 - enabled: true - # mode的可用值为,single/cluster/sentinel/master-slave - mode: single - # single: 单机模式 - # address: redis://localhost:6379 - # cluster: 集群模式 - # 每个节点逗号分隔,同时每个节点前必须以redis://开头。 - # address: redis://localhost:6379,redis://localhost:6378,... - # sentinel: - # 每个节点逗号分隔,同时每个节点前必须以redis://开头。 - # address: redis://localhost:6379,redis://localhost:6378,... - # master-slave: - # 每个节点逗号分隔,第一个为主节点,其余为从节点。同时每个节点前必须以redis://开头。 - # address: redis://localhost:6379,redis://localhost:6378,... - address: redis://localhost:6379 - # 链接超时,单位毫秒。 - timeout: 6000 - # 单位毫秒。分布式锁的超时检测时长。 - # 如果一次锁内操作超该毫秒数,或在释放锁之前异常退出,Redis会在该时长之后主动删除该锁使用的key。 - lockWatchdogTimeout: 60000 - # redis 密码,空可以不填。 - password: - pool: - # 连接池数量。 - poolSize: 20 - # 连接池中最小空闲数量。 - minIdle: 5 diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/config-data/course-class-dev.yaml b/orange-demo-multi/orange-demo-multi-service/zz-resource/config-data/course-class-dev.yaml deleted file mode 100644 index 9ae40814..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/config-data/course-class-dev.yaml +++ /dev/null @@ -1,97 +0,0 @@ -logging: - level: - # 这里设置的日志级别优先于log4j2.xml文件Loggers中的日志级别。 - com.orangeforms: info - -server: - port: 9001 - -application: - # 缺省的文件上传根目录。 - uploadFileBaseDir: ./zz-resource/upload-files/course-class - # 每个微服务的url目录上下文,如(/admin/upms),通常和网关的路由path一致。 - serviceContextPath: /admin/CourseClass - # 是否忽略远程调用中出现的任何错误,包括逻辑异常和系统异常。 - # 通常在调试和测试阶段设置为false,以便及时发现问题。 - ignoreRpcError: false - -datafilter: - tenant: - enabled: false - dataperm: - enabled: true - # 在拼接数据权限过滤的SQL时,我们会用到sys_dept_relation表,该表的前缀由此配置项指定。 - # 如果没有前缀,请使用 "" 。 - deptRelationTablePrefix: zz_ - -sequence: - # 是否使用基于美团Leaf的分布式Id生成器。 - advanceIdGenerator: true - # 多个zk服务之间逗号分隔。 - zkAddress: localhost:2181 - # 与本机的ip一起构成zk中标识不同服务实例的key值。 - idPort: 19001 - # zk中生成WorkNode的路径。不同的业务可以使用不同的路径,以免冲突。 - zkPath: com/orangeforms - -common-log: - # 操作日志配置,对应配置文件common-log/OperationLogProperties.java - operation-log: - enabled: true - kafkaTopic: SysOperationLog - -mybatis-plus: - mapper-locations: classpath:com/orangeforms/*/dao/mapper/*Mapper.xml - type-aliases-package: com.orangeforms.*.model - global-config: - db-config: - logic-delete-value: -1 - logic-not-delete-value: 1 - -pagehelper: - helperDialect: mysql - reasonable: true - supportMethodsArguments: false - params: count=countSql - -spring: - kafka: - bootstrap-servers: localhost:9092 - producer: - batch-size: 16 - retries: 0 - buffer-memory: 33554432 - key-serializer: org.apache.kafka.common.serialization.StringSerializer - value-serializer: org.apache.kafka.common.serialization.StringSerializer - datasource: - type: com.alibaba.druid.pool.DruidDataSource - druid: - url: jdbc:mysql://localhost:3306/zzdemo-multi?characterEncoding=utf8&useSSL=true&serverTimezone=Asia/Shanghai - username: root - password: 123456 - driver-class-name: com.mysql.cj.jdbc.Driver - name: course-class - initialSize: 10 - minIdle: 10 - maxActive: 50 - maxWait: 60000 - timeBetweenEvictionRunsMillis: 60000 - minEvictableIdleTimeMillis: 300000 - poolPreparedStatements: true - maxPoolPreparedStatementPerConnectionSize: 20 - maxOpenPreparedStatements: 20 - validationQuery: SELECT 'x' - testWhileIdle: true - testOnBorrow: false - testOnReturn: false - connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 - filters: stat,wall - useGlobalDataSourceStat: true - web-stat-filter: - enabled: true - url-pattern: "/*" - exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*,/actuator/*" - stat-view-servlet: - enabled: true - urlPattern: /druid/* - resetEnable: true diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/config-data/gateway-dev.yaml b/orange-demo-multi/orange-demo-multi-service/zz-resource/config-data/gateway-dev.yaml deleted file mode 100644 index 89ce922d..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/config-data/gateway-dev.yaml +++ /dev/null @@ -1,47 +0,0 @@ -server: - port: 8082 - -application: - # Jwt令牌加密的签名值。该值的长度要超过10个字符(过短会报错)。 - tokenSigningKey: OrangeMultiDemo-signing-key - # Jwt令牌在Http Header中的键名称。 - tokenHeaderKey: Authorization - # Jwt令牌刷新后在Http Header中的键名称。 - refreshedTokenHeaderKey: RefreshedToken - # Jwt令牌过期时间(毫秒)。 - expiration: 72000000 - # 跨域的IP(http://192.168.10.10:8086)白名单列表,多个IP之间逗号分隔(* 表示全部信任,空白表示禁用跨域信任)。 - credentialIpList: "*" - # Session会话和用户权限在Redis中的过期时间(秒)。 - sessionExpiredSeconds: 86400 - -spring: - cloud: - gateway: - discovery: - locator: - enabled: false - lower-case-service-id: true - routes: - - id: upms-captcha - uri: lb://upms - predicates: - - Path=/captcha/** - - id: upms - uri: lb://upms - predicates: - - Path=/admin/upms/** - filters: - - StripPrefix=2 - - id: course-class - uri: lb://course-class - predicates: - - Path=/admin/CourseClass/** - filters: - - StripPrefix=2 - - id: stats - uri: lb://stats - predicates: - - Path=/admin/stats/** - filters: - - StripPrefix=2 diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/config-data/operation-log-consumer-dev.yaml b/orange-demo-multi/orange-demo-multi-service/zz-resource/config-data/operation-log-consumer-dev.yaml deleted file mode 100644 index 69c00b23..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/config-data/operation-log-consumer-dev.yaml +++ /dev/null @@ -1,92 +0,0 @@ -logging: - level: - # 这里设置的日志级别优先于log4j2.xml文件Loggers中的日志级别。 - com.orangeforms: info - -server: - port: 8705 - -common-log: - # 操作日志配置,对应配置文件common-log/OperationLogProperties.java - operation-log: - enabled: true - # OperationLogConsumer对象会直接读取该配置项。 - kafkaTopic: SysOperationLog - -mybatis-plus: - mapper-locations: classpath:com/orangeforms/*/dao/mapper/*Mapper.xml,com/orangeforms/common/log/dao/mapper/*Mapper.xml - type-aliases-package: com.orangeforms.*.model,com.orangeforms.common.log.model - global-config: - db-config: - logic-delete-value: -1 - logic-not-delete-value: 1 - -pagehelper: - helperDialect: mysql - reasonable: true - supportMethodsArguments: false - params: count=countSql - -# 开发数据库相关配置 -spring: - kafka: - bootstrap-servers: localhost:9092 - consumer: - # 自动提交的时间间隔 在spring boot 2.X 版本中这里采用的是值的类型为Duration 需要符合特定的格式,如1S,1M,2H,5D - auto-commit-interval: 1S - # 该属性指定了消费者在读取一个没有偏移量的分区或者偏移量无效的情况下该作何处理: - # latest(默认值)在偏移量无效的情况下,消费者将从最新的记录开始读取数据(在消费者启动之后生成的记录) - # earliest :在偏移量无效的情况下,消费者将从起始位置读取分区的记录 - auto-offset-reset: earliest - # 是否自动提交偏移量,默认值是true,为了避免出现重复数据和数据丢失,可以把它设置为false,然后手动提交偏移量 - enable-auto-commit: false - # 下面的三个配置项fetch-min-size、fetch-max-wait、max-poll-records, - # 主要是为了保持批量消费,从而提升效率。 - # 最少接收的字节数。 - fetch-min-size: 2MB - # 最大等待的时间。 - fetch-max-wait: 2S - # 最大获取记录数量。 - max-poll-records: 100 - # 键的反序列化方式 - key-deserializer: org.apache.kafka.common.serialization.StringDeserializer - # 值的反序列化方式 - value-deserializer: org.apache.kafka.common.serialization.StringDeserializer - listener: - # 在侦听器容器中运行的线程数。 - concurrency: 5 - # listener负责ack,每调用一次,就立即commit - ack-mode: manual_immediate - missing-topics-fatal: false - datasource: - type: com.alibaba.druid.pool.DruidDataSource - druid: - url: jdbc:mysql://localhost:3306/zzdemo-multi?characterEncoding=utf8&useSSL=true&serverTimezone=Asia/Shanghai - username: root - password: 123456 - driver-class-name: com.mysql.cj.jdbc.Driver - name: operation-log-consumer - initialSize: 10 - minIdle: 10 - maxActive: 50 - maxWait: 60000 - timeBetweenEvictionRunsMillis: 60000 - minEvictableIdleTimeMillis: 300000 - poolPreparedStatements: true - maxPoolPreparedStatementPerConnectionSize: 20 - maxOpenPreparedStatements: 20 - validationQuery: SELECT 'x' - testWhileIdle: true - testOnBorrow: false - testOnReturn: false - connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 - filters: stat,wall - useGlobalDataSourceStat: true - web-stat-filter: - enabled: true - url-pattern: "/*" - exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*,/actuator/*" - stat-view-servlet: - enabled: true - urlPattern: /druid/* - resetEnable: true diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/config-data/stats-dev.yaml b/orange-demo-multi/orange-demo-multi-service/zz-resource/config-data/stats-dev.yaml deleted file mode 100644 index 2f02ed16..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/config-data/stats-dev.yaml +++ /dev/null @@ -1,97 +0,0 @@ -logging: - level: - # 这里设置的日志级别优先于log4j2.xml文件Loggers中的日志级别。 - com.orangeforms: info - -server: - port: 9002 - -application: - # 缺省的文件上传根目录。 - uploadFileBaseDir: ./zz-resource/upload-files/stats - # 每个微服务的url目录上下文,如(/admin/upms),通常和网关的路由path一致。 - serviceContextPath: /admin/stats - # 是否忽略远程调用中出现的任何错误,包括逻辑异常和系统异常。 - # 通常在调试和测试阶段设置为false,以便及时发现问题。 - ignoreRpcError: false - -datafilter: - tenant: - enabled: false - dataperm: - enabled: true - # 在拼接数据权限过滤的SQL时,我们会用到sys_dept_relation表,该表的前缀由此配置项指定。 - # 如果没有前缀,请使用 "" 。 - deptRelationTablePrefix: zz_ - -sequence: - # 是否使用基于美团Leaf的分布式Id生成器。 - advanceIdGenerator: true - # 多个zk服务之间逗号分隔。 - zkAddress: localhost:2181 - # 与本机的ip一起构成zk中标识不同服务实例的key值。 - idPort: 19002 - # zk中生成WorkNode的路径。不同的业务可以使用不同的路径,以免冲突。 - zkPath: com/orangeforms - -common-log: - # 操作日志配置,对应配置文件common-log/OperationLogProperties.java - operation-log: - enabled: true - kafkaTopic: SysOperationLog - -mybatis-plus: - mapper-locations: classpath:com/orangeforms/*/dao/mapper/*Mapper.xml - type-aliases-package: com.orangeforms.*.model - global-config: - db-config: - logic-delete-value: -1 - logic-not-delete-value: 1 - -pagehelper: - helperDialect: mysql - reasonable: true - supportMethodsArguments: false - params: count=countSql - -spring: - kafka: - bootstrap-servers: localhost:9092 - producer: - batch-size: 16 - retries: 0 - buffer-memory: 33554432 - key-serializer: org.apache.kafka.common.serialization.StringSerializer - value-serializer: org.apache.kafka.common.serialization.StringSerializer - datasource: - type: com.alibaba.druid.pool.DruidDataSource - druid: - url: jdbc:mysql://localhost:3306/zzdemo-multi?characterEncoding=utf8&useSSL=true&serverTimezone=Asia/Shanghai - username: root - password: 123456 - driver-class-name: com.mysql.cj.jdbc.Driver - name: stats - initialSize: 10 - minIdle: 10 - maxActive: 50 - maxWait: 60000 - timeBetweenEvictionRunsMillis: 60000 - minEvictableIdleTimeMillis: 300000 - poolPreparedStatements: true - maxPoolPreparedStatementPerConnectionSize: 20 - maxOpenPreparedStatements: 20 - validationQuery: SELECT 'x' - testWhileIdle: true - testOnBorrow: false - testOnReturn: false - connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 - filters: stat,wall - useGlobalDataSourceStat: true - web-stat-filter: - enabled: true - url-pattern: "/*" - exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*,/actuator/*" - stat-view-servlet: - enabled: true - urlPattern: /druid/* - resetEnable: true diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/config-data/upms-dev.yaml b/orange-demo-multi/orange-demo-multi-service/zz-resource/config-data/upms-dev.yaml deleted file mode 100644 index 7518256b..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/config-data/upms-dev.yaml +++ /dev/null @@ -1,149 +0,0 @@ -logging: - level: - # 这里设置的日志级别优先于log4j2.xml文件Loggers中的日志级别。 - com.orangeforms: info - -server: - port: 9000 - -application: - # 缺省的文件上传根目录。 - uploadFileBaseDir: ./zz-resource/upload-files/upms - # 初始化密码。 - defaultUserPassword: 123456 - # 每个微服务的url目录上下文,如(/admin/upms),通常和网关的路由path一致。 - serviceContextPath: /admin/upms - # 是否忽略远程调用中出现的任何错误,包括逻辑异常和系统异常。 - # 通常在调试和测试阶段设置为false,以便及时发现问题。 - ignoreRpcError: false - # Session的数据权限信息在Redis中的过期时间(秒)。 - dataPermExpiredSeconds: 86460 - -datafilter: - tenant: - enabled: false - dataperm: - enabled: true - # 在拼接数据权限过滤的SQL时,我们会用到sys_dept_relation表,该表的前缀由此配置项指定。 - # 如果没有前缀,请使用 "" 。 - deptRelationTablePrefix: zz_ - -sequence: - # 是否使用基于美团Leaf的分布式Id生成器。 - advanceIdGenerator: true - # 多个zk服务之间逗号分隔。 - zkAddress: localhost:2181 - # 与本机的ip一起构成zk中标识不同服务实例的key值。 - idPort: 19000 - # zk中生成WorkNode的路径。不同的业务可以使用不同的路径,以免冲突。 - zkPath: com/orangeforms - -common-log: - # 操作日志配置,对应配置文件common-log/OperationLogProperties.java - operation-log: - enabled: true - kafkaTopic: SysOperationLog - -mybatis-plus: - mapper-locations: classpath:com/orangeforms/*/dao/mapper/*Mapper.xml,com/orangeforms/common/datasync/dao/mapper/*Mapper.xml,com/orangeforms/common/log/dao/mapper/*Mapper.xml - type-aliases-package: com.orangeforms.*.model,com.orangeforms.common.datasync.model,com.orangeforms.common.log.model - global-config: - db-config: - logic-delete-value: -1 - logic-not-delete-value: 1 - -pagehelper: - helperDialect: mysql - reasonable: true - supportMethodsArguments: false - params: count=countSql - -aj: - captcha: - # 缓存local/redis.. - cache-type: redis - # 验证码类型default两种都实例化。 - type: default - # 右下角水印文字(我的水印) - water-mark: 我的水印 - #点选字体样式 默认Font.BOLD - font-style: 1 - #点选字体字体大小 - font-size: 25 - # 支持项目路径,以classpath:开头,取resource目录下路径,例:classpath:images/jigsaw - jigsaw: classpath:images/jigsaw - # 支持项目路径,以classpath:开头,取resource目录下路径,例:classpath:images/pic-click - pic-click: classpath:images/pic-click - history-data-clear-enable: false - # 接口请求次数一分钟限制是否开启 true|false - req-frequency-limit-enable: false - # 验证失败5次,get接口锁定 - req-get-lock-limit: 5 - # 验证失败后,锁定时间间隔,s - req-get-lock-seconds: 360 - # get接口一分钟内请求数限制 - req-get-minute-limit: 30 - # check接口一分钟内请求数限制 - req-check-minute-limit: 30 - # verify接口一分钟内请求数限制 - req-verify-minute-limit: 60 - # 校验滑动拼图允许误差偏移量(默认5像素) - slip-offset: 5 - # aes加密坐标开启或者禁用(true|false) - aes-status: true - # 滑动干扰项(0/1/2) - interference-options: 2 - -spring: - # aj-captcha 对redis缓存的依赖。 - redis: - database: 2 - host: localhost - port: 6379 - password: '' - timeout: 60000 - kafka: - bootstrap-servers: localhost:9092 - producer: - batch-size: 16 - retries: 0 - buffer-memory: 33554432 - key-serializer: org.apache.kafka.common.serialization.StringSerializer - value-serializer: org.apache.kafka.common.serialization.StringSerializer - datasource: - type: com.alibaba.druid.pool.DruidDataSource - druid: - main: - url: jdbc:mysql://localhost:3306/zzdemo-multi?characterEncoding=utf8&useSSL=true&serverTimezone=Asia/Shanghai - username: root - password: 123456 - operation-log: - url: jdbc:mysql://localhost:3306/zzdemo-multi?characterEncoding=utf8&useSSL=true&serverTimezone=Asia/Shanghai - username: root - password: 123456 - driver-class-name: com.mysql.cj.jdbc.Driver - name: upms - initialSize: 10 - minIdle: 10 - maxActive: 50 - maxWait: 60000 - timeBetweenEvictionRunsMillis: 60000 - minEvictableIdleTimeMillis: 300000 - poolPreparedStatements: true - maxPoolPreparedStatementPerConnectionSize: 20 - maxOpenPreparedStatements: 20 - validationQuery: SELECT 'x' - testWhileIdle: true - testOnBorrow: false - testOnReturn: false - connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 - filters: stat,wall - useGlobalDataSourceStat: true - web-stat-filter: - enabled: true - url-pattern: "/*" - exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*,/actuator/*" - stat-view-servlet: - enabled: true - urlPattern: /druid/* - resetEnable: true diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/db-scripts/seata-script.sql b/orange-demo-multi/orange-demo-multi-service/zz-resource/db-scripts/seata-script.sql deleted file mode 100644 index c740168b..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/db-scripts/seata-script.sql +++ /dev/null @@ -1,21 +0,0 @@ -SET NAMES utf8mb4; -SET FOREIGN_KEY_CHECKS = 0; - --- ---------------------------- --- Seata AT模式本地事务补偿表。请在所有数据库中创建该表。 --- ---------------------------- -CREATE TABLE IF NOT EXISTS `undo_log` ( - `id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT 'increment id', - `branch_id` BIGINT(20) NOT NULL COMMENT 'branch transaction id', - `xid` VARCHAR(100) NOT NULL COMMENT 'global transaction id', - `context` VARCHAR(128) NOT NULL COMMENT 'undo_log context,such as serialization', - `rollback_info` LONGBLOB NOT NULL COMMENT 'rollback info', - `log_status` INT(11) NOT NULL COMMENT '0:normal status,1:defense status', - `log_created` DATETIME NOT NULL COMMENT 'create datetime', - `log_modified` DATETIME NOT NULL COMMENT 'modify datetime', - PRIMARY KEY (`id`), - UNIQUE KEY `ux_undo_log` (`xid`, `branch_id`) -) ENGINE = InnoDB -AUTO_INCREMENT = 1 -DEFAULT CHARSET = utf8 COMMENT ='AT transaction mode undo table'; -SET FOREIGN_KEY_CHECKS = 1; diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/db-scripts/xxl-job.sql b/orange-demo-multi/orange-demo-multi-service/zz-resource/db-scripts/xxl-job.sql deleted file mode 100644 index 2ad39bc2..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/db-scripts/xxl-job.sql +++ /dev/null @@ -1,181 +0,0 @@ --- ---------------------------- --- 重要声明:xxl_job 官方仅仅提供了 mysql 脚本,目前尚不支持 postgresql。 --- ---------------------------- - -CREATE DATABASE `xxl_job` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; -USE `xxl_job`; - -SET NAMES utf8mb4; -SET FOREIGN_KEY_CHECKS = 0; - --- ---------------------------- --- Table structure for xxl_job_group --- ---------------------------- -DROP TABLE IF EXISTS `xxl_job_group`; -CREATE TABLE `xxl_job_group` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `app_name` varchar(64) NOT NULL COMMENT '执行器AppName', - `title` varchar(12) NOT NULL COMMENT '执行器名称', - `order` int(11) NOT NULL DEFAULT '0' COMMENT '排序', - `address_type` tinyint(4) NOT NULL DEFAULT '0' COMMENT '执行器地址类型:0=自动注册、1=手动录入', - `address_list` varchar(512) DEFAULT NULL COMMENT '执行器地址列表,多地址逗号分隔', - PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- ---------------------------- --- Records of xxl_job_group --- ---------------------------- -BEGIN; -INSERT INTO `xxl_job_group` VALUES (1, 'biz-job', '定时任务服务', 0, 0, NULL); -COMMIT; - --- ---------------------------- --- Table structure for xxl_job_info --- ---------------------------- -DROP TABLE IF EXISTS `xxl_job_info`; -CREATE TABLE `xxl_job_info` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `job_group` int(11) NOT NULL COMMENT '执行器主键ID', - `job_cron` varchar(128) NOT NULL COMMENT '任务执行CRON', - `job_desc` varchar(255) NOT NULL, - `add_time` datetime DEFAULT NULL, - `update_time` datetime DEFAULT NULL, - `author` varchar(64) DEFAULT NULL COMMENT '作者', - `alarm_email` varchar(255) DEFAULT NULL COMMENT '报警邮件', - `executor_route_strategy` varchar(50) DEFAULT NULL COMMENT '执行器路由策略', - `executor_handler` varchar(255) DEFAULT NULL COMMENT '执行器任务handler', - `executor_param` varchar(512) DEFAULT NULL COMMENT '执行器任务参数', - `executor_block_strategy` varchar(50) DEFAULT NULL COMMENT '阻塞处理策略', - `executor_timeout` int(11) NOT NULL DEFAULT '0' COMMENT '任务执行超时时间,单位秒', - `executor_fail_retry_count` int(11) NOT NULL DEFAULT '0' COMMENT '失败重试次数', - `glue_type` varchar(50) NOT NULL COMMENT 'GLUE类型', - `glue_source` mediumtext COMMENT 'GLUE源代码', - `glue_remark` varchar(128) DEFAULT NULL COMMENT 'GLUE备注', - `glue_updatetime` datetime DEFAULT NULL COMMENT 'GLUE更新时间', - `child_jobid` varchar(255) DEFAULT NULL COMMENT '子任务ID,多个逗号分隔', - `trigger_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '调度状态:0-停止,1-运行', - `trigger_last_time` bigint(13) NOT NULL DEFAULT '0' COMMENT '上次调度时间', - `trigger_next_time` bigint(13) NOT NULL DEFAULT '0' COMMENT '下次调度时间', - PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- ---------------------------- --- Records of xxl_job_info --- ---------------------------- -BEGIN; -INSERT INTO `xxl_job_info` VALUES (1, 1, '0/30 * 1 * * ? *', '学生学币统计', CURDATE(), CURDATE(), 'admin', '', 'FIRST', 'StudentCoinTransHandler', '', 'SERIAL_EXECUTION', 0, 0, 'BEAN', '', 'GLUE代码初始化', CURDATE(), '', 0, 0, 0); -INSERT INTO `xxl_job_info` VALUES (2, 1, '0/30 * 1 * * ? *', '作业习题统计', CURDATE(), CURDATE(), 'admin', '', 'FIRST', 'ExerciseStatsHandler', '', 'SERIAL_EXECUTION', 0, 0, 'BEAN', '', 'GLUE代码初始化', CURDATE(), '', 0, 0, 0); -INSERT INTO `xxl_job_info` VALUES (3, 1, '0/30 * 1 * * ? *', '视频流水统计', CURDATE(), CURDATE(), 'admin', '', 'FIRST', 'VideoTransStatsHandler', '', 'SERIAL_EXECUTION', 0, 0, 'BEAN', '', 'GLUE代码初始化', CURDATE(), '', 0, 0, 0); -INSERT INTO `xxl_job_info` VALUES (4, 1, '0/30 * 1 * * ? *', '习题流水统计', CURDATE(), CURDATE(), 'admin', '', 'FIRST', 'ExerciseTransStatsHandler', '', 'SERIAL_EXECUTION', 0, 0, 'BEAN', '', 'GLUE代码初始化', CURDATE(), '', 0, 0, 0); -INSERT INTO `xxl_job_info` VALUES (5, 1, '0/30 * 1 * * ? *', '学生注册统计', CURDATE(), CURDATE(), 'admin', '', 'FIRST', 'StudentRegistryHandler', '', 'SERIAL_EXECUTION', 0, 0, 'BEAN', '', 'GLUE代码初始化', CURDATE(), '', 0, 0, 0); -INSERT INTO `xxl_job_info` VALUES (6, 1, '0/30 * 1 * * ? *', '课程行为流水统计', CURDATE(), CURDATE(), 'admin', '', 'FIRST', 'CourseTransHandler', '', 'SERIAL_EXECUTION', 0, 0, 'BEAN', '', 'GLUE代码初始化', CURDATE(), '', 0, 0, 0); -INSERT INTO `xxl_job_info` VALUES (7, 1, '0/30 * 1 * * ? *', '全量同步校区', CURDATE(), CURDATE(), 'admin', '', 'FIRST', 'FullSyncSchoolHandler', '', 'SERIAL_EXECUTION', 0, 0, 'BEAN', '', 'GLUE代码初始化', CURDATE(), '', 0, 0, 0); -INSERT INTO `xxl_job_info` VALUES (8, 1, '0/30 * 1 * * ? *', '学生行为统计', CURDATE(), CURDATE(), 'admin', '', 'FIRST', 'StudentActionHandler', '', 'SERIAL_EXECUTION', 0, 0, 'BEAN', '', 'GLUE代码初始化', CURDATE(), '', 0, 0, 0); -COMMIT; - --- ---------------------------- --- Table structure for xxl_job_lock --- ---------------------------- -DROP TABLE IF EXISTS `xxl_job_lock`; -CREATE TABLE `xxl_job_lock` ( - `lock_name` varchar(50) NOT NULL COMMENT '锁名称', - PRIMARY KEY (`lock_name`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- ---------------------------- --- Records of xxl_job_lock --- ---------------------------- -BEGIN; -INSERT INTO `xxl_job_lock` VALUES ('schedule_lock'); -COMMIT; - --- ---------------------------- --- Table structure for xxl_job_log --- ---------------------------- -DROP TABLE IF EXISTS `xxl_job_log`; -CREATE TABLE `xxl_job_log` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT, - `job_group` int(11) NOT NULL COMMENT '执行器主键ID', - `job_id` int(11) NOT NULL COMMENT '任务,主键ID', - `executor_address` varchar(255) DEFAULT NULL COMMENT '执行器地址,本次执行的地址', - `executor_handler` varchar(255) DEFAULT NULL COMMENT '执行器任务handler', - `executor_param` varchar(512) DEFAULT NULL COMMENT '执行器任务参数', - `executor_sharding_param` varchar(20) DEFAULT NULL COMMENT '执行器任务分片参数,格式如 1/2', - `executor_fail_retry_count` int(11) NOT NULL DEFAULT '0' COMMENT '失败重试次数', - `trigger_time` datetime DEFAULT NULL COMMENT '调度-时间', - `trigger_code` int(11) NOT NULL COMMENT '调度-结果', - `trigger_msg` text COMMENT '调度-日志', - `handle_time` datetime DEFAULT NULL COMMENT '执行-时间', - `handle_code` int(11) NOT NULL COMMENT '执行-状态', - `handle_msg` text COMMENT '执行-日志', - `alarm_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '告警状态:0-默认、1-无需告警、2-告警成功、3-告警失败', - PRIMARY KEY (`id`) USING BTREE, - KEY `I_trigger_time` (`trigger_time`) USING BTREE, - KEY `I_handle_code` (`handle_code`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- ---------------------------- --- Table structure for xxl_job_log_report --- ---------------------------- -DROP TABLE IF EXISTS `xxl_job_log_report`; -CREATE TABLE `xxl_job_log_report` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `trigger_day` datetime DEFAULT NULL COMMENT '调度-时间', - `running_count` int(11) NOT NULL DEFAULT '0' COMMENT '运行中-日志数量', - `suc_count` int(11) NOT NULL DEFAULT '0' COMMENT '执行成功-日志数量', - `fail_count` int(11) NOT NULL DEFAULT '0' COMMENT '执行失败-日志数量', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE KEY `i_trigger_day` (`trigger_day`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- ---------------------------- --- Table structure for xxl_job_logglue --- ---------------------------- -DROP TABLE IF EXISTS `xxl_job_logglue`; -CREATE TABLE `xxl_job_logglue` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `job_id` int(11) NOT NULL COMMENT '任务,主键ID', - `glue_type` varchar(50) DEFAULT NULL COMMENT 'GLUE类型', - `glue_source` mediumtext COMMENT 'GLUE源代码', - `glue_remark` varchar(128) NOT NULL COMMENT 'GLUE备注', - `add_time` datetime DEFAULT NULL, - `update_time` datetime DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- ---------------------------- --- Table structure for xxl_job_registry --- ---------------------------- -DROP TABLE IF EXISTS `xxl_job_registry`; -CREATE TABLE `xxl_job_registry` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `registry_group` varchar(50) NOT NULL, - `registry_key` varchar(255) NOT NULL, - `registry_value` varchar(255) NOT NULL, - `update_time` datetime DEFAULT NULL, - PRIMARY KEY (`id`) USING BTREE, - KEY `i_g_k_v` (`registry_group`,`registry_key`,`registry_value`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- ---------------------------- --- Table structure for xxl_job_user --- ---------------------------- -DROP TABLE IF EXISTS `xxl_job_user`; -CREATE TABLE `xxl_job_user` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `username` varchar(50) NOT NULL COMMENT '账号', - `password` varchar(50) NOT NULL COMMENT '密码', - `role` tinyint(4) NOT NULL COMMENT '角色:0-普通用户、1-管理员', - `permission` varchar(255) DEFAULT NULL COMMENT '权限:执行器ID列表,多个逗号分割', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE KEY `i_username` (`username`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - --- ---------------------------- --- Records of xxl_job_user --- ---------------------------- -BEGIN; -INSERT INTO `xxl_job_user` VALUES (1, 'admin', 'e10adc3949ba59abbe56e057f20f883e', 1, NULL); -COMMIT; - -SET FOREIGN_KEY_CHECKS = 1; diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/db-scripts/zzdemo-multi.sql b/orange-demo-multi/orange-demo-multi-service/zz-resource/db-scripts/zzdemo-multi.sql deleted file mode 100644 index 5d1a5350..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/db-scripts/zzdemo-multi.sql +++ /dev/null @@ -1,6928 +0,0 @@ -CREATE DATABASE `zzdemo-multi` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; -USE `zzdemo-multi`; - -SET NAMES utf8mb4; -SET FOREIGN_KEY_CHECKS = 0; - --- ---------------------------- --- Table structure for undo_log --- ---------------------------- -DROP TABLE IF EXISTS `undo_log`; -CREATE TABLE `undo_log` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'increment id', - `branch_id` bigint NOT NULL COMMENT 'branch transaction id', - `xid` varchar(100) NOT NULL COMMENT 'global transaction id', - `context` varchar(128) NOT NULL COMMENT 'undo_log context,such as serialization', - `rollback_info` longblob NOT NULL COMMENT 'rollback info', - `log_status` int NOT NULL COMMENT '0:normal status,1:defense status', - `log_created` datetime NOT NULL COMMENT 'create datetime', - `log_modified` datetime NOT NULL COMMENT 'modify datetime', - PRIMARY KEY (`id`), - UNIQUE KEY `ux_undo_log` (`xid`,`branch_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COMMENT='AT transaction mode undo table'; - --- ---------------------------- --- Table structure for zz_area_code --- ---------------------------- -DROP TABLE IF EXISTS `zz_area_code`; -CREATE TABLE `zz_area_code` ( - `area_id` bigint unsigned NOT NULL COMMENT '行政区划主键Id', - `area_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '行政区划名称', - `area_level` int NOT NULL COMMENT '行政区划级别 (1: 省级别 2: 市级别 3: 区级别)', - `parent_id` bigint DEFAULT NULL COMMENT '父级行政区划Id', - PRIMARY KEY (`area_id`) USING BTREE, - KEY `idx_level` (`area_level`) USING BTREE, - KEY `idx_area_name` (`area_name`) USING BTREE, - KEY `idx_parent_id` (`parent_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='行政区划表'; - --- ---------------------------- --- Records of zz_area_code --- ---------------------------- -BEGIN; -INSERT INTO `zz_area_code` VALUES (110000000000, '北京市', 1, NULL); -INSERT INTO `zz_area_code` VALUES (110100000000, '市辖区', 2, 110000000000); -INSERT INTO `zz_area_code` VALUES (110101000000, '东城区', 3, 110100000000); -INSERT INTO `zz_area_code` VALUES (110102000000, '西城区', 3, 110100000000); -INSERT INTO `zz_area_code` VALUES (110105000000, '朝阳区', 3, 110100000000); -INSERT INTO `zz_area_code` VALUES (110106000000, '丰台区', 3, 110100000000); -INSERT INTO `zz_area_code` VALUES (110107000000, '石景山区', 3, 110100000000); -INSERT INTO `zz_area_code` VALUES (110108000000, '海淀区', 3, 110100000000); -INSERT INTO `zz_area_code` VALUES (110109000000, '门头沟区', 3, 110100000000); -INSERT INTO `zz_area_code` VALUES (110111000000, '房山区', 3, 110100000000); -INSERT INTO `zz_area_code` VALUES (110112000000, '通州区', 3, 110100000000); -INSERT INTO `zz_area_code` VALUES (110113000000, '顺义区', 3, 110100000000); -INSERT INTO `zz_area_code` VALUES (110114000000, '昌平区', 3, 110100000000); -INSERT INTO `zz_area_code` VALUES (110115000000, '大兴区', 3, 110100000000); -INSERT INTO `zz_area_code` VALUES (110116000000, '怀柔区', 3, 110100000000); -INSERT INTO `zz_area_code` VALUES (110117000000, '平谷区', 3, 110100000000); -INSERT INTO `zz_area_code` VALUES (110118000000, '密云区', 3, 110100000000); -INSERT INTO `zz_area_code` VALUES (110119000000, '延庆区', 3, 110100000000); -INSERT INTO `zz_area_code` VALUES (120000000000, '天津市', 1, NULL); -INSERT INTO `zz_area_code` VALUES (120100000000, '市辖区', 2, 120000000000); -INSERT INTO `zz_area_code` VALUES (120101000000, '和平区', 3, 120100000000); -INSERT INTO `zz_area_code` VALUES (120102000000, '河东区', 3, 120100000000); -INSERT INTO `zz_area_code` VALUES (120103000000, '河西区', 3, 120100000000); -INSERT INTO `zz_area_code` VALUES (120104000000, '南开区', 3, 120100000000); -INSERT INTO `zz_area_code` VALUES (120105000000, '河北区', 3, 120100000000); -INSERT INTO `zz_area_code` VALUES (120106000000, '红桥区', 3, 120100000000); -INSERT INTO `zz_area_code` VALUES (120110000000, '东丽区', 3, 120100000000); -INSERT INTO `zz_area_code` VALUES (120111000000, '西青区', 3, 120100000000); -INSERT INTO `zz_area_code` VALUES (120112000000, '津南区', 3, 120100000000); -INSERT INTO `zz_area_code` VALUES (120113000000, '北辰区', 3, 120100000000); -INSERT INTO `zz_area_code` VALUES (120114000000, '武清区', 3, 120100000000); -INSERT INTO `zz_area_code` VALUES (120115000000, '宝坻区', 3, 120100000000); -INSERT INTO `zz_area_code` VALUES (120116000000, '滨海新区', 3, 120100000000); -INSERT INTO `zz_area_code` VALUES (120117000000, '宁河区', 3, 120100000000); -INSERT INTO `zz_area_code` VALUES (120118000000, '静海区', 3, 120100000000); -INSERT INTO `zz_area_code` VALUES (120119000000, '蓟州区', 3, 120100000000); -INSERT INTO `zz_area_code` VALUES (130000000000, '河北省', 1, NULL); -INSERT INTO `zz_area_code` VALUES (130100000000, '石家庄市', 2, 130000000000); -INSERT INTO `zz_area_code` VALUES (130101000000, '市辖区', 3, 130100000000); -INSERT INTO `zz_area_code` VALUES (130102000000, '长安区', 3, 130100000000); -INSERT INTO `zz_area_code` VALUES (130104000000, '桥西区', 3, 130100000000); -INSERT INTO `zz_area_code` VALUES (130105000000, '新华区', 3, 130100000000); -INSERT INTO `zz_area_code` VALUES (130107000000, '井陉矿区', 3, 130100000000); -INSERT INTO `zz_area_code` VALUES (130108000000, '裕华区', 3, 130100000000); -INSERT INTO `zz_area_code` VALUES (130109000000, '藁城区', 3, 130100000000); -INSERT INTO `zz_area_code` VALUES (130110000000, '鹿泉区', 3, 130100000000); -INSERT INTO `zz_area_code` VALUES (130111000000, '栾城区', 3, 130100000000); -INSERT INTO `zz_area_code` VALUES (130121000000, '井陉县', 3, 130100000000); -INSERT INTO `zz_area_code` VALUES (130123000000, '正定县', 3, 130100000000); -INSERT INTO `zz_area_code` VALUES (130125000000, '行唐县', 3, 130100000000); -INSERT INTO `zz_area_code` VALUES (130126000000, '灵寿县', 3, 130100000000); -INSERT INTO `zz_area_code` VALUES (130127000000, '高邑县', 3, 130100000000); -INSERT INTO `zz_area_code` VALUES (130128000000, '深泽县', 3, 130100000000); -INSERT INTO `zz_area_code` VALUES (130129000000, '赞皇县', 3, 130100000000); -INSERT INTO `zz_area_code` VALUES (130130000000, '无极县', 3, 130100000000); -INSERT INTO `zz_area_code` VALUES (130131000000, '平山县', 3, 130100000000); -INSERT INTO `zz_area_code` VALUES (130132000000, '元氏县', 3, 130100000000); -INSERT INTO `zz_area_code` VALUES (130133000000, '赵县', 3, 130100000000); -INSERT INTO `zz_area_code` VALUES (130171000000, '石家庄高新技术产业开发区', 3, 130100000000); -INSERT INTO `zz_area_code` VALUES (130172000000, '石家庄循环化工园区', 3, 130100000000); -INSERT INTO `zz_area_code` VALUES (130181000000, '辛集市', 3, 130100000000); -INSERT INTO `zz_area_code` VALUES (130183000000, '晋州市', 3, 130100000000); -INSERT INTO `zz_area_code` VALUES (130184000000, '新乐市', 3, 130100000000); -INSERT INTO `zz_area_code` VALUES (130200000000, '唐山市', 2, 130000000000); -INSERT INTO `zz_area_code` VALUES (130201000000, '市辖区', 3, 130200000000); -INSERT INTO `zz_area_code` VALUES (130202000000, '路南区', 3, 130200000000); -INSERT INTO `zz_area_code` VALUES (130203000000, '路北区', 3, 130200000000); -INSERT INTO `zz_area_code` VALUES (130204000000, '古冶区', 3, 130200000000); -INSERT INTO `zz_area_code` VALUES (130205000000, '开平区', 3, 130200000000); -INSERT INTO `zz_area_code` VALUES (130207000000, '丰南区', 3, 130200000000); -INSERT INTO `zz_area_code` VALUES (130208000000, '丰润区', 3, 130200000000); -INSERT INTO `zz_area_code` VALUES (130209000000, '曹妃甸区', 3, 130200000000); -INSERT INTO `zz_area_code` VALUES (130224000000, '滦南县', 3, 130200000000); -INSERT INTO `zz_area_code` VALUES (130225000000, '乐亭县', 3, 130200000000); -INSERT INTO `zz_area_code` VALUES (130227000000, '迁西县', 3, 130200000000); -INSERT INTO `zz_area_code` VALUES (130229000000, '玉田县', 3, 130200000000); -INSERT INTO `zz_area_code` VALUES (130271000000, '唐山市芦台经济技术开发区', 3, 130200000000); -INSERT INTO `zz_area_code` VALUES (130272000000, '唐山市汉沽管理区', 3, 130200000000); -INSERT INTO `zz_area_code` VALUES (130273000000, '唐山高新技术产业开发区', 3, 130200000000); -INSERT INTO `zz_area_code` VALUES (130274000000, '河北唐山海港经济开发区', 3, 130200000000); -INSERT INTO `zz_area_code` VALUES (130281000000, '遵化市', 3, 130200000000); -INSERT INTO `zz_area_code` VALUES (130283000000, '迁安市', 3, 130200000000); -INSERT INTO `zz_area_code` VALUES (130284000000, '滦州市', 3, 130200000000); -INSERT INTO `zz_area_code` VALUES (130300000000, '秦皇岛市', 2, 130000000000); -INSERT INTO `zz_area_code` VALUES (130301000000, '市辖区', 3, 130300000000); -INSERT INTO `zz_area_code` VALUES (130302000000, '海港区', 3, 130300000000); -INSERT INTO `zz_area_code` VALUES (130303000000, '山海关区', 3, 130300000000); -INSERT INTO `zz_area_code` VALUES (130304000000, '北戴河区', 3, 130300000000); -INSERT INTO `zz_area_code` VALUES (130306000000, '抚宁区', 3, 130300000000); -INSERT INTO `zz_area_code` VALUES (130321000000, '青龙满族自治县', 3, 130300000000); -INSERT INTO `zz_area_code` VALUES (130322000000, '昌黎县', 3, 130300000000); -INSERT INTO `zz_area_code` VALUES (130324000000, '卢龙县', 3, 130300000000); -INSERT INTO `zz_area_code` VALUES (130371000000, '秦皇岛市经济技术开发区', 3, 130300000000); -INSERT INTO `zz_area_code` VALUES (130372000000, '北戴河新区', 3, 130300000000); -INSERT INTO `zz_area_code` VALUES (130400000000, '邯郸市', 2, 130000000000); -INSERT INTO `zz_area_code` VALUES (130401000000, '市辖区', 3, 130400000000); -INSERT INTO `zz_area_code` VALUES (130402000000, '邯山区', 3, 130400000000); -INSERT INTO `zz_area_code` VALUES (130403000000, '丛台区', 3, 130400000000); -INSERT INTO `zz_area_code` VALUES (130404000000, '复兴区', 3, 130400000000); -INSERT INTO `zz_area_code` VALUES (130406000000, '峰峰矿区', 3, 130400000000); -INSERT INTO `zz_area_code` VALUES (130407000000, '肥乡区', 3, 130400000000); -INSERT INTO `zz_area_code` VALUES (130408000000, '永年区', 3, 130400000000); -INSERT INTO `zz_area_code` VALUES (130423000000, '临漳县', 3, 130400000000); -INSERT INTO `zz_area_code` VALUES (130424000000, '成安县', 3, 130400000000); -INSERT INTO `zz_area_code` VALUES (130425000000, '大名县', 3, 130400000000); -INSERT INTO `zz_area_code` VALUES (130426000000, '涉县', 3, 130400000000); -INSERT INTO `zz_area_code` VALUES (130427000000, '磁县', 3, 130400000000); -INSERT INTO `zz_area_code` VALUES (130430000000, '邱县', 3, 130400000000); -INSERT INTO `zz_area_code` VALUES (130431000000, '鸡泽县', 3, 130400000000); -INSERT INTO `zz_area_code` VALUES (130432000000, '广平县', 3, 130400000000); -INSERT INTO `zz_area_code` VALUES (130433000000, '馆陶县', 3, 130400000000); -INSERT INTO `zz_area_code` VALUES (130434000000, '魏县', 3, 130400000000); -INSERT INTO `zz_area_code` VALUES (130435000000, '曲周县', 3, 130400000000); -INSERT INTO `zz_area_code` VALUES (130471000000, '邯郸经济技术开发区', 3, 130400000000); -INSERT INTO `zz_area_code` VALUES (130473000000, '邯郸冀南新区', 3, 130400000000); -INSERT INTO `zz_area_code` VALUES (130481000000, '武安市', 3, 130400000000); -INSERT INTO `zz_area_code` VALUES (130500000000, '邢台市', 2, 130000000000); -INSERT INTO `zz_area_code` VALUES (130501000000, '市辖区', 3, 130500000000); -INSERT INTO `zz_area_code` VALUES (130502000000, '桥东区', 3, 130500000000); -INSERT INTO `zz_area_code` VALUES (130503000000, '桥西区', 3, 130500000000); -INSERT INTO `zz_area_code` VALUES (130521000000, '邢台县', 3, 130500000000); -INSERT INTO `zz_area_code` VALUES (130522000000, '临城县', 3, 130500000000); -INSERT INTO `zz_area_code` VALUES (130523000000, '内丘县', 3, 130500000000); -INSERT INTO `zz_area_code` VALUES (130524000000, '柏乡县', 3, 130500000000); -INSERT INTO `zz_area_code` VALUES (130525000000, '隆尧县', 3, 130500000000); -INSERT INTO `zz_area_code` VALUES (130526000000, '任县', 3, 130500000000); -INSERT INTO `zz_area_code` VALUES (130527000000, '南和县', 3, 130500000000); -INSERT INTO `zz_area_code` VALUES (130528000000, '宁晋县', 3, 130500000000); -INSERT INTO `zz_area_code` VALUES (130529000000, '巨鹿县', 3, 130500000000); -INSERT INTO `zz_area_code` VALUES (130530000000, '新河县', 3, 130500000000); -INSERT INTO `zz_area_code` VALUES (130531000000, '广宗县', 3, 130500000000); -INSERT INTO `zz_area_code` VALUES (130532000000, '平乡县', 3, 130500000000); -INSERT INTO `zz_area_code` VALUES (130533000000, '威县', 3, 130500000000); -INSERT INTO `zz_area_code` VALUES (130534000000, '清河县', 3, 130500000000); -INSERT INTO `zz_area_code` VALUES (130535000000, '临西县', 3, 130500000000); -INSERT INTO `zz_area_code` VALUES (130571000000, '河北邢台经济开发区', 3, 130500000000); -INSERT INTO `zz_area_code` VALUES (130581000000, '南宫市', 3, 130500000000); -INSERT INTO `zz_area_code` VALUES (130582000000, '沙河市', 3, 130500000000); -INSERT INTO `zz_area_code` VALUES (130600000000, '保定市', 2, 130000000000); -INSERT INTO `zz_area_code` VALUES (130601000000, '市辖区', 3, 130600000000); -INSERT INTO `zz_area_code` VALUES (130602000000, '竞秀区', 3, 130600000000); -INSERT INTO `zz_area_code` VALUES (130606000000, '莲池区', 3, 130600000000); -INSERT INTO `zz_area_code` VALUES (130607000000, '满城区', 3, 130600000000); -INSERT INTO `zz_area_code` VALUES (130608000000, '清苑区', 3, 130600000000); -INSERT INTO `zz_area_code` VALUES (130609000000, '徐水区', 3, 130600000000); -INSERT INTO `zz_area_code` VALUES (130623000000, '涞水县', 3, 130600000000); -INSERT INTO `zz_area_code` VALUES (130624000000, '阜平县', 3, 130600000000); -INSERT INTO `zz_area_code` VALUES (130626000000, '定兴县', 3, 130600000000); -INSERT INTO `zz_area_code` VALUES (130627000000, '唐县', 3, 130600000000); -INSERT INTO `zz_area_code` VALUES (130628000000, '高阳县', 3, 130600000000); -INSERT INTO `zz_area_code` VALUES (130629000000, '容城县', 3, 130600000000); -INSERT INTO `zz_area_code` VALUES (130630000000, '涞源县', 3, 130600000000); -INSERT INTO `zz_area_code` VALUES (130631000000, '望都县', 3, 130600000000); -INSERT INTO `zz_area_code` VALUES (130632000000, '安新县', 3, 130600000000); -INSERT INTO `zz_area_code` VALUES (130633000000, '易县', 3, 130600000000); -INSERT INTO `zz_area_code` VALUES (130634000000, '曲阳县', 3, 130600000000); -INSERT INTO `zz_area_code` VALUES (130635000000, '蠡县', 3, 130600000000); -INSERT INTO `zz_area_code` VALUES (130636000000, '顺平县', 3, 130600000000); -INSERT INTO `zz_area_code` VALUES (130637000000, '博野县', 3, 130600000000); -INSERT INTO `zz_area_code` VALUES (130638000000, '雄县', 3, 130600000000); -INSERT INTO `zz_area_code` VALUES (130671000000, '保定高新技术产业开发区', 3, 130600000000); -INSERT INTO `zz_area_code` VALUES (130672000000, '保定白沟新城', 3, 130600000000); -INSERT INTO `zz_area_code` VALUES (130681000000, '涿州市', 3, 130600000000); -INSERT INTO `zz_area_code` VALUES (130682000000, '定州市', 3, 130600000000); -INSERT INTO `zz_area_code` VALUES (130683000000, '安国市', 3, 130600000000); -INSERT INTO `zz_area_code` VALUES (130684000000, '高碑店市', 3, 130600000000); -INSERT INTO `zz_area_code` VALUES (130700000000, '张家口市', 2, 130000000000); -INSERT INTO `zz_area_code` VALUES (130701000000, '市辖区', 3, 130700000000); -INSERT INTO `zz_area_code` VALUES (130702000000, '桥东区', 3, 130700000000); -INSERT INTO `zz_area_code` VALUES (130703000000, '桥西区', 3, 130700000000); -INSERT INTO `zz_area_code` VALUES (130705000000, '宣化区', 3, 130700000000); -INSERT INTO `zz_area_code` VALUES (130706000000, '下花园区', 3, 130700000000); -INSERT INTO `zz_area_code` VALUES (130708000000, '万全区', 3, 130700000000); -INSERT INTO `zz_area_code` VALUES (130709000000, '崇礼区', 3, 130700000000); -INSERT INTO `zz_area_code` VALUES (130722000000, '张北县', 3, 130700000000); -INSERT INTO `zz_area_code` VALUES (130723000000, '康保县', 3, 130700000000); -INSERT INTO `zz_area_code` VALUES (130724000000, '沽源县', 3, 130700000000); -INSERT INTO `zz_area_code` VALUES (130725000000, '尚义县', 3, 130700000000); -INSERT INTO `zz_area_code` VALUES (130726000000, '蔚县', 3, 130700000000); -INSERT INTO `zz_area_code` VALUES (130727000000, '阳原县', 3, 130700000000); -INSERT INTO `zz_area_code` VALUES (130728000000, '怀安县', 3, 130700000000); -INSERT INTO `zz_area_code` VALUES (130730000000, '怀来县', 3, 130700000000); -INSERT INTO `zz_area_code` VALUES (130731000000, '涿鹿县', 3, 130700000000); -INSERT INTO `zz_area_code` VALUES (130732000000, '赤城县', 3, 130700000000); -INSERT INTO `zz_area_code` VALUES (130771000000, '张家口市高新技术产业开发区', 3, 130700000000); -INSERT INTO `zz_area_code` VALUES (130772000000, '张家口市察北管理区', 3, 130700000000); -INSERT INTO `zz_area_code` VALUES (130773000000, '张家口市塞北管理区', 3, 130700000000); -INSERT INTO `zz_area_code` VALUES (130800000000, '承德市', 2, 130000000000); -INSERT INTO `zz_area_code` VALUES (130801000000, '市辖区', 3, 130800000000); -INSERT INTO `zz_area_code` VALUES (130802000000, '双桥区', 3, 130800000000); -INSERT INTO `zz_area_code` VALUES (130803000000, '双滦区', 3, 130800000000); -INSERT INTO `zz_area_code` VALUES (130804000000, '鹰手营子矿区', 3, 130800000000); -INSERT INTO `zz_area_code` VALUES (130821000000, '承德县', 3, 130800000000); -INSERT INTO `zz_area_code` VALUES (130822000000, '兴隆县', 3, 130800000000); -INSERT INTO `zz_area_code` VALUES (130824000000, '滦平县', 3, 130800000000); -INSERT INTO `zz_area_code` VALUES (130825000000, '隆化县', 3, 130800000000); -INSERT INTO `zz_area_code` VALUES (130826000000, '丰宁满族自治县', 3, 130800000000); -INSERT INTO `zz_area_code` VALUES (130827000000, '宽城满族自治县', 3, 130800000000); -INSERT INTO `zz_area_code` VALUES (130828000000, '围场满族蒙古族自治县', 3, 130800000000); -INSERT INTO `zz_area_code` VALUES (130871000000, '承德高新技术产业开发区', 3, 130800000000); -INSERT INTO `zz_area_code` VALUES (130881000000, '平泉市', 3, 130800000000); -INSERT INTO `zz_area_code` VALUES (130900000000, '沧州市', 2, 130000000000); -INSERT INTO `zz_area_code` VALUES (130901000000, '市辖区', 3, 130900000000); -INSERT INTO `zz_area_code` VALUES (130902000000, '新华区', 3, 130900000000); -INSERT INTO `zz_area_code` VALUES (130903000000, '运河区', 3, 130900000000); -INSERT INTO `zz_area_code` VALUES (130921000000, '沧县', 3, 130900000000); -INSERT INTO `zz_area_code` VALUES (130922000000, '青县', 3, 130900000000); -INSERT INTO `zz_area_code` VALUES (130923000000, '东光县', 3, 130900000000); -INSERT INTO `zz_area_code` VALUES (130924000000, '海兴县', 3, 130900000000); -INSERT INTO `zz_area_code` VALUES (130925000000, '盐山县', 3, 130900000000); -INSERT INTO `zz_area_code` VALUES (130926000000, '肃宁县', 3, 130900000000); -INSERT INTO `zz_area_code` VALUES (130927000000, '南皮县', 3, 130900000000); -INSERT INTO `zz_area_code` VALUES (130928000000, '吴桥县', 3, 130900000000); -INSERT INTO `zz_area_code` VALUES (130929000000, '献县', 3, 130900000000); -INSERT INTO `zz_area_code` VALUES (130930000000, '孟村回族自治县', 3, 130900000000); -INSERT INTO `zz_area_code` VALUES (130971000000, '河北沧州经济开发区', 3, 130900000000); -INSERT INTO `zz_area_code` VALUES (130972000000, '沧州高新技术产业开发区', 3, 130900000000); -INSERT INTO `zz_area_code` VALUES (130973000000, '沧州渤海新区', 3, 130900000000); -INSERT INTO `zz_area_code` VALUES (130981000000, '泊头市', 3, 130900000000); -INSERT INTO `zz_area_code` VALUES (130982000000, '任丘市', 3, 130900000000); -INSERT INTO `zz_area_code` VALUES (130983000000, '黄骅市', 3, 130900000000); -INSERT INTO `zz_area_code` VALUES (130984000000, '河间市', 3, 130900000000); -INSERT INTO `zz_area_code` VALUES (131000000000, '廊坊市', 2, 130000000000); -INSERT INTO `zz_area_code` VALUES (131001000000, '市辖区', 3, 131000000000); -INSERT INTO `zz_area_code` VALUES (131002000000, '安次区', 3, 131000000000); -INSERT INTO `zz_area_code` VALUES (131003000000, '广阳区', 3, 131000000000); -INSERT INTO `zz_area_code` VALUES (131022000000, '固安县', 3, 131000000000); -INSERT INTO `zz_area_code` VALUES (131023000000, '永清县', 3, 131000000000); -INSERT INTO `zz_area_code` VALUES (131024000000, '香河县', 3, 131000000000); -INSERT INTO `zz_area_code` VALUES (131025000000, '大城县', 3, 131000000000); -INSERT INTO `zz_area_code` VALUES (131026000000, '文安县', 3, 131000000000); -INSERT INTO `zz_area_code` VALUES (131028000000, '大厂回族自治县', 3, 131000000000); -INSERT INTO `zz_area_code` VALUES (131071000000, '廊坊经济技术开发区', 3, 131000000000); -INSERT INTO `zz_area_code` VALUES (131081000000, '霸州市', 3, 131000000000); -INSERT INTO `zz_area_code` VALUES (131082000000, '三河市', 3, 131000000000); -INSERT INTO `zz_area_code` VALUES (131100000000, '衡水市', 2, 130000000000); -INSERT INTO `zz_area_code` VALUES (131101000000, '市辖区', 3, 131100000000); -INSERT INTO `zz_area_code` VALUES (131102000000, '桃城区', 3, 131100000000); -INSERT INTO `zz_area_code` VALUES (131103000000, '冀州区', 3, 131100000000); -INSERT INTO `zz_area_code` VALUES (131121000000, '枣强县', 3, 131100000000); -INSERT INTO `zz_area_code` VALUES (131122000000, '武邑县', 3, 131100000000); -INSERT INTO `zz_area_code` VALUES (131123000000, '武强县', 3, 131100000000); -INSERT INTO `zz_area_code` VALUES (131124000000, '饶阳县', 3, 131100000000); -INSERT INTO `zz_area_code` VALUES (131125000000, '安平县', 3, 131100000000); -INSERT INTO `zz_area_code` VALUES (131126000000, '故城县', 3, 131100000000); -INSERT INTO `zz_area_code` VALUES (131127000000, '景县', 3, 131100000000); -INSERT INTO `zz_area_code` VALUES (131128000000, '阜城县', 3, 131100000000); -INSERT INTO `zz_area_code` VALUES (131171000000, '河北衡水高新技术产业开发区', 3, 131100000000); -INSERT INTO `zz_area_code` VALUES (131172000000, '衡水滨湖新区', 3, 131100000000); -INSERT INTO `zz_area_code` VALUES (131182000000, '深州市', 3, 131100000000); -INSERT INTO `zz_area_code` VALUES (140000000000, '山西省', 1, NULL); -INSERT INTO `zz_area_code` VALUES (140100000000, '太原市', 2, 140000000000); -INSERT INTO `zz_area_code` VALUES (140101000000, '市辖区', 3, 140100000000); -INSERT INTO `zz_area_code` VALUES (140105000000, '小店区', 3, 140100000000); -INSERT INTO `zz_area_code` VALUES (140106000000, '迎泽区', 3, 140100000000); -INSERT INTO `zz_area_code` VALUES (140107000000, '杏花岭区', 3, 140100000000); -INSERT INTO `zz_area_code` VALUES (140108000000, '尖草坪区', 3, 140100000000); -INSERT INTO `zz_area_code` VALUES (140109000000, '万柏林区', 3, 140100000000); -INSERT INTO `zz_area_code` VALUES (140110000000, '晋源区', 3, 140100000000); -INSERT INTO `zz_area_code` VALUES (140121000000, '清徐县', 3, 140100000000); -INSERT INTO `zz_area_code` VALUES (140122000000, '阳曲县', 3, 140100000000); -INSERT INTO `zz_area_code` VALUES (140123000000, '娄烦县', 3, 140100000000); -INSERT INTO `zz_area_code` VALUES (140171000000, '山西转型综合改革示范区', 3, 140100000000); -INSERT INTO `zz_area_code` VALUES (140181000000, '古交市', 3, 140100000000); -INSERT INTO `zz_area_code` VALUES (140200000000, '大同市', 2, 140000000000); -INSERT INTO `zz_area_code` VALUES (140201000000, '市辖区', 3, 140200000000); -INSERT INTO `zz_area_code` VALUES (140212000000, '新荣区', 3, 140200000000); -INSERT INTO `zz_area_code` VALUES (140213000000, '平城区', 3, 140200000000); -INSERT INTO `zz_area_code` VALUES (140214000000, '云冈区', 3, 140200000000); -INSERT INTO `zz_area_code` VALUES (140215000000, '云州区', 3, 140200000000); -INSERT INTO `zz_area_code` VALUES (140221000000, '阳高县', 3, 140200000000); -INSERT INTO `zz_area_code` VALUES (140222000000, '天镇县', 3, 140200000000); -INSERT INTO `zz_area_code` VALUES (140223000000, '广灵县', 3, 140200000000); -INSERT INTO `zz_area_code` VALUES (140224000000, '灵丘县', 3, 140200000000); -INSERT INTO `zz_area_code` VALUES (140225000000, '浑源县', 3, 140200000000); -INSERT INTO `zz_area_code` VALUES (140226000000, '左云县', 3, 140200000000); -INSERT INTO `zz_area_code` VALUES (140271000000, '山西大同经济开发区', 3, 140200000000); -INSERT INTO `zz_area_code` VALUES (140300000000, '阳泉市', 2, 140000000000); -INSERT INTO `zz_area_code` VALUES (140301000000, '市辖区', 3, 140300000000); -INSERT INTO `zz_area_code` VALUES (140302000000, '城区', 3, 140300000000); -INSERT INTO `zz_area_code` VALUES (140303000000, '矿区', 3, 140300000000); -INSERT INTO `zz_area_code` VALUES (140311000000, '郊区', 3, 140300000000); -INSERT INTO `zz_area_code` VALUES (140321000000, '平定县', 3, 140300000000); -INSERT INTO `zz_area_code` VALUES (140322000000, '盂县', 3, 140300000000); -INSERT INTO `zz_area_code` VALUES (140400000000, '长治市', 2, 140000000000); -INSERT INTO `zz_area_code` VALUES (140401000000, '市辖区', 3, 140400000000); -INSERT INTO `zz_area_code` VALUES (140403000000, '潞州区', 3, 140400000000); -INSERT INTO `zz_area_code` VALUES (140404000000, '上党区', 3, 140400000000); -INSERT INTO `zz_area_code` VALUES (140405000000, '屯留区', 3, 140400000000); -INSERT INTO `zz_area_code` VALUES (140406000000, '潞城区', 3, 140400000000); -INSERT INTO `zz_area_code` VALUES (140423000000, '襄垣县', 3, 140400000000); -INSERT INTO `zz_area_code` VALUES (140425000000, '平顺县', 3, 140400000000); -INSERT INTO `zz_area_code` VALUES (140426000000, '黎城县', 3, 140400000000); -INSERT INTO `zz_area_code` VALUES (140427000000, '壶关县', 3, 140400000000); -INSERT INTO `zz_area_code` VALUES (140428000000, '长子县', 3, 140400000000); -INSERT INTO `zz_area_code` VALUES (140429000000, '武乡县', 3, 140400000000); -INSERT INTO `zz_area_code` VALUES (140430000000, '沁县', 3, 140400000000); -INSERT INTO `zz_area_code` VALUES (140431000000, '沁源县', 3, 140400000000); -INSERT INTO `zz_area_code` VALUES (140471000000, '山西长治高新技术产业园区', 3, 140400000000); -INSERT INTO `zz_area_code` VALUES (140500000000, '晋城市', 2, 140000000000); -INSERT INTO `zz_area_code` VALUES (140501000000, '市辖区', 3, 140500000000); -INSERT INTO `zz_area_code` VALUES (140502000000, '城区', 3, 140500000000); -INSERT INTO `zz_area_code` VALUES (140521000000, '沁水县', 3, 140500000000); -INSERT INTO `zz_area_code` VALUES (140522000000, '阳城县', 3, 140500000000); -INSERT INTO `zz_area_code` VALUES (140524000000, '陵川县', 3, 140500000000); -INSERT INTO `zz_area_code` VALUES (140525000000, '泽州县', 3, 140500000000); -INSERT INTO `zz_area_code` VALUES (140581000000, '高平市', 3, 140500000000); -INSERT INTO `zz_area_code` VALUES (140600000000, '朔州市', 2, 140000000000); -INSERT INTO `zz_area_code` VALUES (140601000000, '市辖区', 3, 140600000000); -INSERT INTO `zz_area_code` VALUES (140602000000, '朔城区', 3, 140600000000); -INSERT INTO `zz_area_code` VALUES (140603000000, '平鲁区', 3, 140600000000); -INSERT INTO `zz_area_code` VALUES (140621000000, '山阴县', 3, 140600000000); -INSERT INTO `zz_area_code` VALUES (140622000000, '应县', 3, 140600000000); -INSERT INTO `zz_area_code` VALUES (140623000000, '右玉县', 3, 140600000000); -INSERT INTO `zz_area_code` VALUES (140671000000, '山西朔州经济开发区', 3, 140600000000); -INSERT INTO `zz_area_code` VALUES (140681000000, '怀仁市', 3, 140600000000); -INSERT INTO `zz_area_code` VALUES (140700000000, '晋中市', 2, 140000000000); -INSERT INTO `zz_area_code` VALUES (140701000000, '市辖区', 3, 140700000000); -INSERT INTO `zz_area_code` VALUES (140702000000, '榆次区', 3, 140700000000); -INSERT INTO `zz_area_code` VALUES (140721000000, '榆社县', 3, 140700000000); -INSERT INTO `zz_area_code` VALUES (140722000000, '左权县', 3, 140700000000); -INSERT INTO `zz_area_code` VALUES (140723000000, '和顺县', 3, 140700000000); -INSERT INTO `zz_area_code` VALUES (140724000000, '昔阳县', 3, 140700000000); -INSERT INTO `zz_area_code` VALUES (140725000000, '寿阳县', 3, 140700000000); -INSERT INTO `zz_area_code` VALUES (140726000000, '太谷县', 3, 140700000000); -INSERT INTO `zz_area_code` VALUES (140727000000, '祁县', 3, 140700000000); -INSERT INTO `zz_area_code` VALUES (140728000000, '平遥县', 3, 140700000000); -INSERT INTO `zz_area_code` VALUES (140729000000, '灵石县', 3, 140700000000); -INSERT INTO `zz_area_code` VALUES (140781000000, '介休市', 3, 140700000000); -INSERT INTO `zz_area_code` VALUES (140800000000, '运城市', 2, 140000000000); -INSERT INTO `zz_area_code` VALUES (140801000000, '市辖区', 3, 140800000000); -INSERT INTO `zz_area_code` VALUES (140802000000, '盐湖区', 3, 140800000000); -INSERT INTO `zz_area_code` VALUES (140821000000, '临猗县', 3, 140800000000); -INSERT INTO `zz_area_code` VALUES (140822000000, '万荣县', 3, 140800000000); -INSERT INTO `zz_area_code` VALUES (140823000000, '闻喜县', 3, 140800000000); -INSERT INTO `zz_area_code` VALUES (140824000000, '稷山县', 3, 140800000000); -INSERT INTO `zz_area_code` VALUES (140825000000, '新绛县', 3, 140800000000); -INSERT INTO `zz_area_code` VALUES (140826000000, '绛县', 3, 140800000000); -INSERT INTO `zz_area_code` VALUES (140827000000, '垣曲县', 3, 140800000000); -INSERT INTO `zz_area_code` VALUES (140828000000, '夏县', 3, 140800000000); -INSERT INTO `zz_area_code` VALUES (140829000000, '平陆县', 3, 140800000000); -INSERT INTO `zz_area_code` VALUES (140830000000, '芮城县', 3, 140800000000); -INSERT INTO `zz_area_code` VALUES (140881000000, '永济市', 3, 140800000000); -INSERT INTO `zz_area_code` VALUES (140882000000, '河津市', 3, 140800000000); -INSERT INTO `zz_area_code` VALUES (140900000000, '忻州市', 2, 140000000000); -INSERT INTO `zz_area_code` VALUES (140901000000, '市辖区', 3, 140900000000); -INSERT INTO `zz_area_code` VALUES (140902000000, '忻府区', 3, 140900000000); -INSERT INTO `zz_area_code` VALUES (140921000000, '定襄县', 3, 140900000000); -INSERT INTO `zz_area_code` VALUES (140922000000, '五台县', 3, 140900000000); -INSERT INTO `zz_area_code` VALUES (140923000000, '代县', 3, 140900000000); -INSERT INTO `zz_area_code` VALUES (140924000000, '繁峙县', 3, 140900000000); -INSERT INTO `zz_area_code` VALUES (140925000000, '宁武县', 3, 140900000000); -INSERT INTO `zz_area_code` VALUES (140926000000, '静乐县', 3, 140900000000); -INSERT INTO `zz_area_code` VALUES (140927000000, '神池县', 3, 140900000000); -INSERT INTO `zz_area_code` VALUES (140928000000, '五寨县', 3, 140900000000); -INSERT INTO `zz_area_code` VALUES (140929000000, '岢岚县', 3, 140900000000); -INSERT INTO `zz_area_code` VALUES (140930000000, '河曲县', 3, 140900000000); -INSERT INTO `zz_area_code` VALUES (140931000000, '保德县', 3, 140900000000); -INSERT INTO `zz_area_code` VALUES (140932000000, '偏关县', 3, 140900000000); -INSERT INTO `zz_area_code` VALUES (140971000000, '五台山风景名胜区', 3, 140900000000); -INSERT INTO `zz_area_code` VALUES (140981000000, '原平市', 3, 140900000000); -INSERT INTO `zz_area_code` VALUES (141000000000, '临汾市', 2, 140000000000); -INSERT INTO `zz_area_code` VALUES (141001000000, '市辖区', 3, 141000000000); -INSERT INTO `zz_area_code` VALUES (141002000000, '尧都区', 3, 141000000000); -INSERT INTO `zz_area_code` VALUES (141021000000, '曲沃县', 3, 141000000000); -INSERT INTO `zz_area_code` VALUES (141022000000, '翼城县', 3, 141000000000); -INSERT INTO `zz_area_code` VALUES (141023000000, '襄汾县', 3, 141000000000); -INSERT INTO `zz_area_code` VALUES (141024000000, '洪洞县', 3, 141000000000); -INSERT INTO `zz_area_code` VALUES (141025000000, '古县', 3, 141000000000); -INSERT INTO `zz_area_code` VALUES (141026000000, '安泽县', 3, 141000000000); -INSERT INTO `zz_area_code` VALUES (141027000000, '浮山县', 3, 141000000000); -INSERT INTO `zz_area_code` VALUES (141028000000, '吉县', 3, 141000000000); -INSERT INTO `zz_area_code` VALUES (141029000000, '乡宁县', 3, 141000000000); -INSERT INTO `zz_area_code` VALUES (141030000000, '大宁县', 3, 141000000000); -INSERT INTO `zz_area_code` VALUES (141031000000, '隰县', 3, 141000000000); -INSERT INTO `zz_area_code` VALUES (141032000000, '永和县', 3, 141000000000); -INSERT INTO `zz_area_code` VALUES (141033000000, '蒲县', 3, 141000000000); -INSERT INTO `zz_area_code` VALUES (141034000000, '汾西县', 3, 141000000000); -INSERT INTO `zz_area_code` VALUES (141081000000, '侯马市', 3, 141000000000); -INSERT INTO `zz_area_code` VALUES (141082000000, '霍州市', 3, 141000000000); -INSERT INTO `zz_area_code` VALUES (141100000000, '吕梁市', 2, 140000000000); -INSERT INTO `zz_area_code` VALUES (141101000000, '市辖区', 3, 141100000000); -INSERT INTO `zz_area_code` VALUES (141102000000, '离石区', 3, 141100000000); -INSERT INTO `zz_area_code` VALUES (141121000000, '文水县', 3, 141100000000); -INSERT INTO `zz_area_code` VALUES (141122000000, '交城县', 3, 141100000000); -INSERT INTO `zz_area_code` VALUES (141123000000, '兴县', 3, 141100000000); -INSERT INTO `zz_area_code` VALUES (141124000000, '临县', 3, 141100000000); -INSERT INTO `zz_area_code` VALUES (141125000000, '柳林县', 3, 141100000000); -INSERT INTO `zz_area_code` VALUES (141126000000, '石楼县', 3, 141100000000); -INSERT INTO `zz_area_code` VALUES (141127000000, '岚县', 3, 141100000000); -INSERT INTO `zz_area_code` VALUES (141128000000, '方山县', 3, 141100000000); -INSERT INTO `zz_area_code` VALUES (141129000000, '中阳县', 3, 141100000000); -INSERT INTO `zz_area_code` VALUES (141130000000, '交口县', 3, 141100000000); -INSERT INTO `zz_area_code` VALUES (141181000000, '孝义市', 3, 141100000000); -INSERT INTO `zz_area_code` VALUES (141182000000, '汾阳市', 3, 141100000000); -INSERT INTO `zz_area_code` VALUES (150000000000, '内蒙古自治区', 1, NULL); -INSERT INTO `zz_area_code` VALUES (150100000000, '呼和浩特市', 2, 150000000000); -INSERT INTO `zz_area_code` VALUES (150101000000, '市辖区', 3, 150100000000); -INSERT INTO `zz_area_code` VALUES (150102000000, '新城区', 3, 150100000000); -INSERT INTO `zz_area_code` VALUES (150103000000, '回民区', 3, 150100000000); -INSERT INTO `zz_area_code` VALUES (150104000000, '玉泉区', 3, 150100000000); -INSERT INTO `zz_area_code` VALUES (150105000000, '赛罕区', 3, 150100000000); -INSERT INTO `zz_area_code` VALUES (150121000000, '土默特左旗', 3, 150100000000); -INSERT INTO `zz_area_code` VALUES (150122000000, '托克托县', 3, 150100000000); -INSERT INTO `zz_area_code` VALUES (150123000000, '和林格尔县', 3, 150100000000); -INSERT INTO `zz_area_code` VALUES (150124000000, '清水河县', 3, 150100000000); -INSERT INTO `zz_area_code` VALUES (150125000000, '武川县', 3, 150100000000); -INSERT INTO `zz_area_code` VALUES (150171000000, '呼和浩特金海工业园区', 3, 150100000000); -INSERT INTO `zz_area_code` VALUES (150172000000, '呼和浩特经济技术开发区', 3, 150100000000); -INSERT INTO `zz_area_code` VALUES (150200000000, '包头市', 2, 150000000000); -INSERT INTO `zz_area_code` VALUES (150201000000, '市辖区', 3, 150200000000); -INSERT INTO `zz_area_code` VALUES (150202000000, '东河区', 3, 150200000000); -INSERT INTO `zz_area_code` VALUES (150203000000, '昆都仑区', 3, 150200000000); -INSERT INTO `zz_area_code` VALUES (150204000000, '青山区', 3, 150200000000); -INSERT INTO `zz_area_code` VALUES (150205000000, '石拐区', 3, 150200000000); -INSERT INTO `zz_area_code` VALUES (150206000000, '白云鄂博矿区', 3, 150200000000); -INSERT INTO `zz_area_code` VALUES (150207000000, '九原区', 3, 150200000000); -INSERT INTO `zz_area_code` VALUES (150221000000, '土默特右旗', 3, 150200000000); -INSERT INTO `zz_area_code` VALUES (150222000000, '固阳县', 3, 150200000000); -INSERT INTO `zz_area_code` VALUES (150223000000, '达尔罕茂明安联合旗', 3, 150200000000); -INSERT INTO `zz_area_code` VALUES (150271000000, '包头稀土高新技术产业开发区', 3, 150200000000); -INSERT INTO `zz_area_code` VALUES (150300000000, '乌海市', 2, 150000000000); -INSERT INTO `zz_area_code` VALUES (150301000000, '市辖区', 3, 150300000000); -INSERT INTO `zz_area_code` VALUES (150302000000, '海勃湾区', 3, 150300000000); -INSERT INTO `zz_area_code` VALUES (150303000000, '海南区', 3, 150300000000); -INSERT INTO `zz_area_code` VALUES (150304000000, '乌达区', 3, 150300000000); -INSERT INTO `zz_area_code` VALUES (150400000000, '赤峰市', 2, 150000000000); -INSERT INTO `zz_area_code` VALUES (150401000000, '市辖区', 3, 150400000000); -INSERT INTO `zz_area_code` VALUES (150402000000, '红山区', 3, 150400000000); -INSERT INTO `zz_area_code` VALUES (150403000000, '元宝山区', 3, 150400000000); -INSERT INTO `zz_area_code` VALUES (150404000000, '松山区', 3, 150400000000); -INSERT INTO `zz_area_code` VALUES (150421000000, '阿鲁科尔沁旗', 3, 150400000000); -INSERT INTO `zz_area_code` VALUES (150422000000, '巴林左旗', 3, 150400000000); -INSERT INTO `zz_area_code` VALUES (150423000000, '巴林右旗', 3, 150400000000); -INSERT INTO `zz_area_code` VALUES (150424000000, '林西县', 3, 150400000000); -INSERT INTO `zz_area_code` VALUES (150425000000, '克什克腾旗', 3, 150400000000); -INSERT INTO `zz_area_code` VALUES (150426000000, '翁牛特旗', 3, 150400000000); -INSERT INTO `zz_area_code` VALUES (150428000000, '喀喇沁旗', 3, 150400000000); -INSERT INTO `zz_area_code` VALUES (150429000000, '宁城县', 3, 150400000000); -INSERT INTO `zz_area_code` VALUES (150430000000, '敖汉旗', 3, 150400000000); -INSERT INTO `zz_area_code` VALUES (150500000000, '通辽市', 2, 150000000000); -INSERT INTO `zz_area_code` VALUES (150501000000, '市辖区', 3, 150500000000); -INSERT INTO `zz_area_code` VALUES (150502000000, '科尔沁区', 3, 150500000000); -INSERT INTO `zz_area_code` VALUES (150521000000, '科尔沁左翼中旗', 3, 150500000000); -INSERT INTO `zz_area_code` VALUES (150522000000, '科尔沁左翼后旗', 3, 150500000000); -INSERT INTO `zz_area_code` VALUES (150523000000, '开鲁县', 3, 150500000000); -INSERT INTO `zz_area_code` VALUES (150524000000, '库伦旗', 3, 150500000000); -INSERT INTO `zz_area_code` VALUES (150525000000, '奈曼旗', 3, 150500000000); -INSERT INTO `zz_area_code` VALUES (150526000000, '扎鲁特旗', 3, 150500000000); -INSERT INTO `zz_area_code` VALUES (150571000000, '通辽经济技术开发区', 3, 150500000000); -INSERT INTO `zz_area_code` VALUES (150581000000, '霍林郭勒市', 3, 150500000000); -INSERT INTO `zz_area_code` VALUES (150600000000, '鄂尔多斯市', 2, 150000000000); -INSERT INTO `zz_area_code` VALUES (150601000000, '市辖区', 3, 150600000000); -INSERT INTO `zz_area_code` VALUES (150602000000, '东胜区', 3, 150600000000); -INSERT INTO `zz_area_code` VALUES (150603000000, '康巴什区', 3, 150600000000); -INSERT INTO `zz_area_code` VALUES (150621000000, '达拉特旗', 3, 150600000000); -INSERT INTO `zz_area_code` VALUES (150622000000, '准格尔旗', 3, 150600000000); -INSERT INTO `zz_area_code` VALUES (150623000000, '鄂托克前旗', 3, 150600000000); -INSERT INTO `zz_area_code` VALUES (150624000000, '鄂托克旗', 3, 150600000000); -INSERT INTO `zz_area_code` VALUES (150625000000, '杭锦旗', 3, 150600000000); -INSERT INTO `zz_area_code` VALUES (150626000000, '乌审旗', 3, 150600000000); -INSERT INTO `zz_area_code` VALUES (150627000000, '伊金霍洛旗', 3, 150600000000); -INSERT INTO `zz_area_code` VALUES (150700000000, '呼伦贝尔市', 2, 150000000000); -INSERT INTO `zz_area_code` VALUES (150701000000, '市辖区', 3, 150700000000); -INSERT INTO `zz_area_code` VALUES (150702000000, '海拉尔区', 3, 150700000000); -INSERT INTO `zz_area_code` VALUES (150703000000, '扎赉诺尔区', 3, 150700000000); -INSERT INTO `zz_area_code` VALUES (150721000000, '阿荣旗', 3, 150700000000); -INSERT INTO `zz_area_code` VALUES (150722000000, '莫力达瓦达斡尔族自治旗', 3, 150700000000); -INSERT INTO `zz_area_code` VALUES (150723000000, '鄂伦春自治旗', 3, 150700000000); -INSERT INTO `zz_area_code` VALUES (150724000000, '鄂温克族自治旗', 3, 150700000000); -INSERT INTO `zz_area_code` VALUES (150725000000, '陈巴尔虎旗', 3, 150700000000); -INSERT INTO `zz_area_code` VALUES (150726000000, '新巴尔虎左旗', 3, 150700000000); -INSERT INTO `zz_area_code` VALUES (150727000000, '新巴尔虎右旗', 3, 150700000000); -INSERT INTO `zz_area_code` VALUES (150781000000, '满洲里市', 3, 150700000000); -INSERT INTO `zz_area_code` VALUES (150782000000, '牙克石市', 3, 150700000000); -INSERT INTO `zz_area_code` VALUES (150783000000, '扎兰屯市', 3, 150700000000); -INSERT INTO `zz_area_code` VALUES (150784000000, '额尔古纳市', 3, 150700000000); -INSERT INTO `zz_area_code` VALUES (150785000000, '根河市', 3, 150700000000); -INSERT INTO `zz_area_code` VALUES (150800000000, '巴彦淖尔市', 2, 150000000000); -INSERT INTO `zz_area_code` VALUES (150801000000, '市辖区', 3, 150800000000); -INSERT INTO `zz_area_code` VALUES (150802000000, '临河区', 3, 150800000000); -INSERT INTO `zz_area_code` VALUES (150821000000, '五原县', 3, 150800000000); -INSERT INTO `zz_area_code` VALUES (150822000000, '磴口县', 3, 150800000000); -INSERT INTO `zz_area_code` VALUES (150823000000, '乌拉特前旗', 3, 150800000000); -INSERT INTO `zz_area_code` VALUES (150824000000, '乌拉特中旗', 3, 150800000000); -INSERT INTO `zz_area_code` VALUES (150825000000, '乌拉特后旗', 3, 150800000000); -INSERT INTO `zz_area_code` VALUES (150826000000, '杭锦后旗', 3, 150800000000); -INSERT INTO `zz_area_code` VALUES (150900000000, '乌兰察布市', 2, 150000000000); -INSERT INTO `zz_area_code` VALUES (150901000000, '市辖区', 3, 150900000000); -INSERT INTO `zz_area_code` VALUES (150902000000, '集宁区', 3, 150900000000); -INSERT INTO `zz_area_code` VALUES (150921000000, '卓资县', 3, 150900000000); -INSERT INTO `zz_area_code` VALUES (150922000000, '化德县', 3, 150900000000); -INSERT INTO `zz_area_code` VALUES (150923000000, '商都县', 3, 150900000000); -INSERT INTO `zz_area_code` VALUES (150924000000, '兴和县', 3, 150900000000); -INSERT INTO `zz_area_code` VALUES (150925000000, '凉城县', 3, 150900000000); -INSERT INTO `zz_area_code` VALUES (150926000000, '察哈尔右翼前旗', 3, 150900000000); -INSERT INTO `zz_area_code` VALUES (150927000000, '察哈尔右翼中旗', 3, 150900000000); -INSERT INTO `zz_area_code` VALUES (150928000000, '察哈尔右翼后旗', 3, 150900000000); -INSERT INTO `zz_area_code` VALUES (150929000000, '四子王旗', 3, 150900000000); -INSERT INTO `zz_area_code` VALUES (150981000000, '丰镇市', 3, 150900000000); -INSERT INTO `zz_area_code` VALUES (152200000000, '兴安盟', 2, 150000000000); -INSERT INTO `zz_area_code` VALUES (152201000000, '乌兰浩特市', 3, 152200000000); -INSERT INTO `zz_area_code` VALUES (152202000000, '阿尔山市', 3, 152200000000); -INSERT INTO `zz_area_code` VALUES (152221000000, '科尔沁右翼前旗', 3, 152200000000); -INSERT INTO `zz_area_code` VALUES (152222000000, '科尔沁右翼中旗', 3, 152200000000); -INSERT INTO `zz_area_code` VALUES (152223000000, '扎赉特旗', 3, 152200000000); -INSERT INTO `zz_area_code` VALUES (152224000000, '突泉县', 3, 152200000000); -INSERT INTO `zz_area_code` VALUES (152500000000, '锡林郭勒盟', 2, 150000000000); -INSERT INTO `zz_area_code` VALUES (152501000000, '二连浩特市', 3, 152500000000); -INSERT INTO `zz_area_code` VALUES (152502000000, '锡林浩特市', 3, 152500000000); -INSERT INTO `zz_area_code` VALUES (152522000000, '阿巴嘎旗', 3, 152500000000); -INSERT INTO `zz_area_code` VALUES (152523000000, '苏尼特左旗', 3, 152500000000); -INSERT INTO `zz_area_code` VALUES (152524000000, '苏尼特右旗', 3, 152500000000); -INSERT INTO `zz_area_code` VALUES (152525000000, '东乌珠穆沁旗', 3, 152500000000); -INSERT INTO `zz_area_code` VALUES (152526000000, '西乌珠穆沁旗', 3, 152500000000); -INSERT INTO `zz_area_code` VALUES (152527000000, '太仆寺旗', 3, 152500000000); -INSERT INTO `zz_area_code` VALUES (152528000000, '镶黄旗', 3, 152500000000); -INSERT INTO `zz_area_code` VALUES (152529000000, '正镶白旗', 3, 152500000000); -INSERT INTO `zz_area_code` VALUES (152530000000, '正蓝旗', 3, 152500000000); -INSERT INTO `zz_area_code` VALUES (152531000000, '多伦县', 3, 152500000000); -INSERT INTO `zz_area_code` VALUES (152571000000, '乌拉盖管委会', 3, 152500000000); -INSERT INTO `zz_area_code` VALUES (152900000000, '阿拉善盟', 2, 150000000000); -INSERT INTO `zz_area_code` VALUES (152921000000, '阿拉善左旗', 3, 152900000000); -INSERT INTO `zz_area_code` VALUES (152922000000, '阿拉善右旗', 3, 152900000000); -INSERT INTO `zz_area_code` VALUES (152923000000, '额济纳旗', 3, 152900000000); -INSERT INTO `zz_area_code` VALUES (152971000000, '内蒙古阿拉善经济开发区', 3, 152900000000); -INSERT INTO `zz_area_code` VALUES (210000000000, '辽宁省', 1, NULL); -INSERT INTO `zz_area_code` VALUES (210100000000, '沈阳市', 2, 210000000000); -INSERT INTO `zz_area_code` VALUES (210101000000, '市辖区', 3, 210100000000); -INSERT INTO `zz_area_code` VALUES (210102000000, '和平区', 3, 210100000000); -INSERT INTO `zz_area_code` VALUES (210103000000, '沈河区', 3, 210100000000); -INSERT INTO `zz_area_code` VALUES (210104000000, '大东区', 3, 210100000000); -INSERT INTO `zz_area_code` VALUES (210105000000, '皇姑区', 3, 210100000000); -INSERT INTO `zz_area_code` VALUES (210106000000, '铁西区', 3, 210100000000); -INSERT INTO `zz_area_code` VALUES (210111000000, '苏家屯区', 3, 210100000000); -INSERT INTO `zz_area_code` VALUES (210112000000, '浑南区', 3, 210100000000); -INSERT INTO `zz_area_code` VALUES (210113000000, '沈北新区', 3, 210100000000); -INSERT INTO `zz_area_code` VALUES (210114000000, '于洪区', 3, 210100000000); -INSERT INTO `zz_area_code` VALUES (210115000000, '辽中区', 3, 210100000000); -INSERT INTO `zz_area_code` VALUES (210123000000, '康平县', 3, 210100000000); -INSERT INTO `zz_area_code` VALUES (210124000000, '法库县', 3, 210100000000); -INSERT INTO `zz_area_code` VALUES (210181000000, '新民市', 3, 210100000000); -INSERT INTO `zz_area_code` VALUES (210200000000, '大连市', 2, 210000000000); -INSERT INTO `zz_area_code` VALUES (210201000000, '市辖区', 3, 210200000000); -INSERT INTO `zz_area_code` VALUES (210202000000, '中山区', 3, 210200000000); -INSERT INTO `zz_area_code` VALUES (210203000000, '西岗区', 3, 210200000000); -INSERT INTO `zz_area_code` VALUES (210204000000, '沙河口区', 3, 210200000000); -INSERT INTO `zz_area_code` VALUES (210211000000, '甘井子区', 3, 210200000000); -INSERT INTO `zz_area_code` VALUES (210212000000, '旅顺口区', 3, 210200000000); -INSERT INTO `zz_area_code` VALUES (210213000000, '金州区', 3, 210200000000); -INSERT INTO `zz_area_code` VALUES (210214000000, '普兰店区', 3, 210200000000); -INSERT INTO `zz_area_code` VALUES (210224000000, '长海县', 3, 210200000000); -INSERT INTO `zz_area_code` VALUES (210281000000, '瓦房店市', 3, 210200000000); -INSERT INTO `zz_area_code` VALUES (210283000000, '庄河市', 3, 210200000000); -INSERT INTO `zz_area_code` VALUES (210300000000, '鞍山市', 2, 210000000000); -INSERT INTO `zz_area_code` VALUES (210301000000, '市辖区', 3, 210300000000); -INSERT INTO `zz_area_code` VALUES (210302000000, '铁东区', 3, 210300000000); -INSERT INTO `zz_area_code` VALUES (210303000000, '铁西区', 3, 210300000000); -INSERT INTO `zz_area_code` VALUES (210304000000, '立山区', 3, 210300000000); -INSERT INTO `zz_area_code` VALUES (210311000000, '千山区', 3, 210300000000); -INSERT INTO `zz_area_code` VALUES (210321000000, '台安县', 3, 210300000000); -INSERT INTO `zz_area_code` VALUES (210323000000, '岫岩满族自治县', 3, 210300000000); -INSERT INTO `zz_area_code` VALUES (210381000000, '海城市', 3, 210300000000); -INSERT INTO `zz_area_code` VALUES (210400000000, '抚顺市', 2, 210000000000); -INSERT INTO `zz_area_code` VALUES (210401000000, '市辖区', 3, 210400000000); -INSERT INTO `zz_area_code` VALUES (210402000000, '新抚区', 3, 210400000000); -INSERT INTO `zz_area_code` VALUES (210403000000, '东洲区', 3, 210400000000); -INSERT INTO `zz_area_code` VALUES (210404000000, '望花区', 3, 210400000000); -INSERT INTO `zz_area_code` VALUES (210411000000, '顺城区', 3, 210400000000); -INSERT INTO `zz_area_code` VALUES (210421000000, '抚顺县', 3, 210400000000); -INSERT INTO `zz_area_code` VALUES (210422000000, '新宾满族自治县', 3, 210400000000); -INSERT INTO `zz_area_code` VALUES (210423000000, '清原满族自治县', 3, 210400000000); -INSERT INTO `zz_area_code` VALUES (210500000000, '本溪市', 2, 210000000000); -INSERT INTO `zz_area_code` VALUES (210501000000, '市辖区', 3, 210500000000); -INSERT INTO `zz_area_code` VALUES (210502000000, '平山区', 3, 210500000000); -INSERT INTO `zz_area_code` VALUES (210503000000, '溪湖区', 3, 210500000000); -INSERT INTO `zz_area_code` VALUES (210504000000, '明山区', 3, 210500000000); -INSERT INTO `zz_area_code` VALUES (210505000000, '南芬区', 3, 210500000000); -INSERT INTO `zz_area_code` VALUES (210521000000, '本溪满族自治县', 3, 210500000000); -INSERT INTO `zz_area_code` VALUES (210522000000, '桓仁满族自治县', 3, 210500000000); -INSERT INTO `zz_area_code` VALUES (210600000000, '丹东市', 2, 210000000000); -INSERT INTO `zz_area_code` VALUES (210601000000, '市辖区', 3, 210600000000); -INSERT INTO `zz_area_code` VALUES (210602000000, '元宝区', 3, 210600000000); -INSERT INTO `zz_area_code` VALUES (210603000000, '振兴区', 3, 210600000000); -INSERT INTO `zz_area_code` VALUES (210604000000, '振安区', 3, 210600000000); -INSERT INTO `zz_area_code` VALUES (210624000000, '宽甸满族自治县', 3, 210600000000); -INSERT INTO `zz_area_code` VALUES (210681000000, '东港市', 3, 210600000000); -INSERT INTO `zz_area_code` VALUES (210682000000, '凤城市', 3, 210600000000); -INSERT INTO `zz_area_code` VALUES (210700000000, '锦州市', 2, 210000000000); -INSERT INTO `zz_area_code` VALUES (210701000000, '市辖区', 3, 210700000000); -INSERT INTO `zz_area_code` VALUES (210702000000, '古塔区', 3, 210700000000); -INSERT INTO `zz_area_code` VALUES (210703000000, '凌河区', 3, 210700000000); -INSERT INTO `zz_area_code` VALUES (210711000000, '太和区', 3, 210700000000); -INSERT INTO `zz_area_code` VALUES (210726000000, '黑山县', 3, 210700000000); -INSERT INTO `zz_area_code` VALUES (210727000000, '义县', 3, 210700000000); -INSERT INTO `zz_area_code` VALUES (210781000000, '凌海市', 3, 210700000000); -INSERT INTO `zz_area_code` VALUES (210782000000, '北镇市', 3, 210700000000); -INSERT INTO `zz_area_code` VALUES (210800000000, '营口市', 2, 210000000000); -INSERT INTO `zz_area_code` VALUES (210801000000, '市辖区', 3, 210800000000); -INSERT INTO `zz_area_code` VALUES (210802000000, '站前区', 3, 210800000000); -INSERT INTO `zz_area_code` VALUES (210803000000, '西市区', 3, 210800000000); -INSERT INTO `zz_area_code` VALUES (210804000000, '鲅鱼圈区', 3, 210800000000); -INSERT INTO `zz_area_code` VALUES (210811000000, '老边区', 3, 210800000000); -INSERT INTO `zz_area_code` VALUES (210881000000, '盖州市', 3, 210800000000); -INSERT INTO `zz_area_code` VALUES (210882000000, '大石桥市', 3, 210800000000); -INSERT INTO `zz_area_code` VALUES (210900000000, '阜新市', 2, 210000000000); -INSERT INTO `zz_area_code` VALUES (210901000000, '市辖区', 3, 210900000000); -INSERT INTO `zz_area_code` VALUES (210902000000, '海州区', 3, 210900000000); -INSERT INTO `zz_area_code` VALUES (210903000000, '新邱区', 3, 210900000000); -INSERT INTO `zz_area_code` VALUES (210904000000, '太平区', 3, 210900000000); -INSERT INTO `zz_area_code` VALUES (210905000000, '清河门区', 3, 210900000000); -INSERT INTO `zz_area_code` VALUES (210911000000, '细河区', 3, 210900000000); -INSERT INTO `zz_area_code` VALUES (210921000000, '阜新蒙古族自治县', 3, 210900000000); -INSERT INTO `zz_area_code` VALUES (210922000000, '彰武县', 3, 210900000000); -INSERT INTO `zz_area_code` VALUES (211000000000, '辽阳市', 2, 210000000000); -INSERT INTO `zz_area_code` VALUES (211001000000, '市辖区', 3, 211000000000); -INSERT INTO `zz_area_code` VALUES (211002000000, '白塔区', 3, 211000000000); -INSERT INTO `zz_area_code` VALUES (211003000000, '文圣区', 3, 211000000000); -INSERT INTO `zz_area_code` VALUES (211004000000, '宏伟区', 3, 211000000000); -INSERT INTO `zz_area_code` VALUES (211005000000, '弓长岭区', 3, 211000000000); -INSERT INTO `zz_area_code` VALUES (211011000000, '太子河区', 3, 211000000000); -INSERT INTO `zz_area_code` VALUES (211021000000, '辽阳县', 3, 211000000000); -INSERT INTO `zz_area_code` VALUES (211081000000, '灯塔市', 3, 211000000000); -INSERT INTO `zz_area_code` VALUES (211100000000, '盘锦市', 2, 210000000000); -INSERT INTO `zz_area_code` VALUES (211101000000, '市辖区', 3, 211100000000); -INSERT INTO `zz_area_code` VALUES (211102000000, '双台子区', 3, 211100000000); -INSERT INTO `zz_area_code` VALUES (211103000000, '兴隆台区', 3, 211100000000); -INSERT INTO `zz_area_code` VALUES (211104000000, '大洼区', 3, 211100000000); -INSERT INTO `zz_area_code` VALUES (211122000000, '盘山县', 3, 211100000000); -INSERT INTO `zz_area_code` VALUES (211200000000, '铁岭市', 2, 210000000000); -INSERT INTO `zz_area_code` VALUES (211201000000, '市辖区', 3, 211200000000); -INSERT INTO `zz_area_code` VALUES (211202000000, '银州区', 3, 211200000000); -INSERT INTO `zz_area_code` VALUES (211204000000, '清河区', 3, 211200000000); -INSERT INTO `zz_area_code` VALUES (211221000000, '铁岭县', 3, 211200000000); -INSERT INTO `zz_area_code` VALUES (211223000000, '西丰县', 3, 211200000000); -INSERT INTO `zz_area_code` VALUES (211224000000, '昌图县', 3, 211200000000); -INSERT INTO `zz_area_code` VALUES (211281000000, '调兵山市', 3, 211200000000); -INSERT INTO `zz_area_code` VALUES (211282000000, '开原市', 3, 211200000000); -INSERT INTO `zz_area_code` VALUES (211300000000, '朝阳市', 2, 210000000000); -INSERT INTO `zz_area_code` VALUES (211301000000, '市辖区', 3, 211300000000); -INSERT INTO `zz_area_code` VALUES (211302000000, '双塔区', 3, 211300000000); -INSERT INTO `zz_area_code` VALUES (211303000000, '龙城区', 3, 211300000000); -INSERT INTO `zz_area_code` VALUES (211321000000, '朝阳县', 3, 211300000000); -INSERT INTO `zz_area_code` VALUES (211322000000, '建平县', 3, 211300000000); -INSERT INTO `zz_area_code` VALUES (211324000000, '喀喇沁左翼蒙古族自治县', 3, 211300000000); -INSERT INTO `zz_area_code` VALUES (211381000000, '北票市', 3, 211300000000); -INSERT INTO `zz_area_code` VALUES (211382000000, '凌源市', 3, 211300000000); -INSERT INTO `zz_area_code` VALUES (211400000000, '葫芦岛市', 2, 210000000000); -INSERT INTO `zz_area_code` VALUES (211401000000, '市辖区', 3, 211400000000); -INSERT INTO `zz_area_code` VALUES (211402000000, '连山区', 3, 211400000000); -INSERT INTO `zz_area_code` VALUES (211403000000, '龙港区', 3, 211400000000); -INSERT INTO `zz_area_code` VALUES (211404000000, '南票区', 3, 211400000000); -INSERT INTO `zz_area_code` VALUES (211421000000, '绥中县', 3, 211400000000); -INSERT INTO `zz_area_code` VALUES (211422000000, '建昌县', 3, 211400000000); -INSERT INTO `zz_area_code` VALUES (211481000000, '兴城市', 3, 211400000000); -INSERT INTO `zz_area_code` VALUES (220000000000, '吉林省', 1, NULL); -INSERT INTO `zz_area_code` VALUES (220100000000, '长春市', 2, 220000000000); -INSERT INTO `zz_area_code` VALUES (220101000000, '市辖区', 3, 220100000000); -INSERT INTO `zz_area_code` VALUES (220102000000, '南关区', 3, 220100000000); -INSERT INTO `zz_area_code` VALUES (220103000000, '宽城区', 3, 220100000000); -INSERT INTO `zz_area_code` VALUES (220104000000, '朝阳区', 3, 220100000000); -INSERT INTO `zz_area_code` VALUES (220105000000, '二道区', 3, 220100000000); -INSERT INTO `zz_area_code` VALUES (220106000000, '绿园区', 3, 220100000000); -INSERT INTO `zz_area_code` VALUES (220112000000, '双阳区', 3, 220100000000); -INSERT INTO `zz_area_code` VALUES (220113000000, '九台区', 3, 220100000000); -INSERT INTO `zz_area_code` VALUES (220122000000, '农安县', 3, 220100000000); -INSERT INTO `zz_area_code` VALUES (220171000000, '长春经济技术开发区', 3, 220100000000); -INSERT INTO `zz_area_code` VALUES (220172000000, '长春净月高新技术产业开发区', 3, 220100000000); -INSERT INTO `zz_area_code` VALUES (220173000000, '长春高新技术产业开发区', 3, 220100000000); -INSERT INTO `zz_area_code` VALUES (220174000000, '长春汽车经济技术开发区', 3, 220100000000); -INSERT INTO `zz_area_code` VALUES (220182000000, '榆树市', 3, 220100000000); -INSERT INTO `zz_area_code` VALUES (220183000000, '德惠市', 3, 220100000000); -INSERT INTO `zz_area_code` VALUES (220200000000, '吉林市', 2, 220000000000); -INSERT INTO `zz_area_code` VALUES (220201000000, '市辖区', 3, 220200000000); -INSERT INTO `zz_area_code` VALUES (220202000000, '昌邑区', 3, 220200000000); -INSERT INTO `zz_area_code` VALUES (220203000000, '龙潭区', 3, 220200000000); -INSERT INTO `zz_area_code` VALUES (220204000000, '船营区', 3, 220200000000); -INSERT INTO `zz_area_code` VALUES (220211000000, '丰满区', 3, 220200000000); -INSERT INTO `zz_area_code` VALUES (220221000000, '永吉县', 3, 220200000000); -INSERT INTO `zz_area_code` VALUES (220271000000, '吉林经济开发区', 3, 220200000000); -INSERT INTO `zz_area_code` VALUES (220272000000, '吉林高新技术产业开发区', 3, 220200000000); -INSERT INTO `zz_area_code` VALUES (220273000000, '吉林中国新加坡食品区', 3, 220200000000); -INSERT INTO `zz_area_code` VALUES (220281000000, '蛟河市', 3, 220200000000); -INSERT INTO `zz_area_code` VALUES (220282000000, '桦甸市', 3, 220200000000); -INSERT INTO `zz_area_code` VALUES (220283000000, '舒兰市', 3, 220200000000); -INSERT INTO `zz_area_code` VALUES (220284000000, '磐石市', 3, 220200000000); -INSERT INTO `zz_area_code` VALUES (220300000000, '四平市', 2, 220000000000); -INSERT INTO `zz_area_code` VALUES (220301000000, '市辖区', 3, 220300000000); -INSERT INTO `zz_area_code` VALUES (220302000000, '铁西区', 3, 220300000000); -INSERT INTO `zz_area_code` VALUES (220303000000, '铁东区', 3, 220300000000); -INSERT INTO `zz_area_code` VALUES (220322000000, '梨树县', 3, 220300000000); -INSERT INTO `zz_area_code` VALUES (220323000000, '伊通满族自治县', 3, 220300000000); -INSERT INTO `zz_area_code` VALUES (220381000000, '公主岭市', 3, 220300000000); -INSERT INTO `zz_area_code` VALUES (220382000000, '双辽市', 3, 220300000000); -INSERT INTO `zz_area_code` VALUES (220400000000, '辽源市', 2, 220000000000); -INSERT INTO `zz_area_code` VALUES (220401000000, '市辖区', 3, 220400000000); -INSERT INTO `zz_area_code` VALUES (220402000000, '龙山区', 3, 220400000000); -INSERT INTO `zz_area_code` VALUES (220403000000, '西安区', 3, 220400000000); -INSERT INTO `zz_area_code` VALUES (220421000000, '东丰县', 3, 220400000000); -INSERT INTO `zz_area_code` VALUES (220422000000, '东辽县', 3, 220400000000); -INSERT INTO `zz_area_code` VALUES (220500000000, '通化市', 2, 220000000000); -INSERT INTO `zz_area_code` VALUES (220501000000, '市辖区', 3, 220500000000); -INSERT INTO `zz_area_code` VALUES (220502000000, '东昌区', 3, 220500000000); -INSERT INTO `zz_area_code` VALUES (220503000000, '二道江区', 3, 220500000000); -INSERT INTO `zz_area_code` VALUES (220521000000, '通化县', 3, 220500000000); -INSERT INTO `zz_area_code` VALUES (220523000000, '辉南县', 3, 220500000000); -INSERT INTO `zz_area_code` VALUES (220524000000, '柳河县', 3, 220500000000); -INSERT INTO `zz_area_code` VALUES (220581000000, '梅河口市', 3, 220500000000); -INSERT INTO `zz_area_code` VALUES (220582000000, '集安市', 3, 220500000000); -INSERT INTO `zz_area_code` VALUES (220600000000, '白山市', 2, 220000000000); -INSERT INTO `zz_area_code` VALUES (220601000000, '市辖区', 3, 220600000000); -INSERT INTO `zz_area_code` VALUES (220602000000, '浑江区', 3, 220600000000); -INSERT INTO `zz_area_code` VALUES (220605000000, '江源区', 3, 220600000000); -INSERT INTO `zz_area_code` VALUES (220621000000, '抚松县', 3, 220600000000); -INSERT INTO `zz_area_code` VALUES (220622000000, '靖宇县', 3, 220600000000); -INSERT INTO `zz_area_code` VALUES (220623000000, '长白朝鲜族自治县', 3, 220600000000); -INSERT INTO `zz_area_code` VALUES (220681000000, '临江市', 3, 220600000000); -INSERT INTO `zz_area_code` VALUES (220700000000, '松原市', 2, 220000000000); -INSERT INTO `zz_area_code` VALUES (220701000000, '市辖区', 3, 220700000000); -INSERT INTO `zz_area_code` VALUES (220702000000, '宁江区', 3, 220700000000); -INSERT INTO `zz_area_code` VALUES (220721000000, '前郭尔罗斯蒙古族自治县', 3, 220700000000); -INSERT INTO `zz_area_code` VALUES (220722000000, '长岭县', 3, 220700000000); -INSERT INTO `zz_area_code` VALUES (220723000000, '乾安县', 3, 220700000000); -INSERT INTO `zz_area_code` VALUES (220771000000, '吉林松原经济开发区', 3, 220700000000); -INSERT INTO `zz_area_code` VALUES (220781000000, '扶余市', 3, 220700000000); -INSERT INTO `zz_area_code` VALUES (220800000000, '白城市', 2, 220000000000); -INSERT INTO `zz_area_code` VALUES (220801000000, '市辖区', 3, 220800000000); -INSERT INTO `zz_area_code` VALUES (220802000000, '洮北区', 3, 220800000000); -INSERT INTO `zz_area_code` VALUES (220821000000, '镇赉县', 3, 220800000000); -INSERT INTO `zz_area_code` VALUES (220822000000, '通榆县', 3, 220800000000); -INSERT INTO `zz_area_code` VALUES (220871000000, '吉林白城经济开发区', 3, 220800000000); -INSERT INTO `zz_area_code` VALUES (220881000000, '洮南市', 3, 220800000000); -INSERT INTO `zz_area_code` VALUES (220882000000, '大安市', 3, 220800000000); -INSERT INTO `zz_area_code` VALUES (222400000000, '延边朝鲜族自治州', 2, 220000000000); -INSERT INTO `zz_area_code` VALUES (222401000000, '延吉市', 3, 222400000000); -INSERT INTO `zz_area_code` VALUES (222402000000, '图们市', 3, 222400000000); -INSERT INTO `zz_area_code` VALUES (222403000000, '敦化市', 3, 222400000000); -INSERT INTO `zz_area_code` VALUES (222404000000, '珲春市', 3, 222400000000); -INSERT INTO `zz_area_code` VALUES (222405000000, '龙井市', 3, 222400000000); -INSERT INTO `zz_area_code` VALUES (222406000000, '和龙市', 3, 222400000000); -INSERT INTO `zz_area_code` VALUES (222424000000, '汪清县', 3, 222400000000); -INSERT INTO `zz_area_code` VALUES (222426000000, '安图县', 3, 222400000000); -INSERT INTO `zz_area_code` VALUES (230000000000, '黑龙江省', 1, NULL); -INSERT INTO `zz_area_code` VALUES (230100000000, '哈尔滨市', 2, 230000000000); -INSERT INTO `zz_area_code` VALUES (230101000000, '市辖区', 3, 230100000000); -INSERT INTO `zz_area_code` VALUES (230102000000, '道里区', 3, 230100000000); -INSERT INTO `zz_area_code` VALUES (230103000000, '南岗区', 3, 230100000000); -INSERT INTO `zz_area_code` VALUES (230104000000, '道外区', 3, 230100000000); -INSERT INTO `zz_area_code` VALUES (230108000000, '平房区', 3, 230100000000); -INSERT INTO `zz_area_code` VALUES (230109000000, '松北区', 3, 230100000000); -INSERT INTO `zz_area_code` VALUES (230110000000, '香坊区', 3, 230100000000); -INSERT INTO `zz_area_code` VALUES (230111000000, '呼兰区', 3, 230100000000); -INSERT INTO `zz_area_code` VALUES (230112000000, '阿城区', 3, 230100000000); -INSERT INTO `zz_area_code` VALUES (230113000000, '双城区', 3, 230100000000); -INSERT INTO `zz_area_code` VALUES (230123000000, '依兰县', 3, 230100000000); -INSERT INTO `zz_area_code` VALUES (230124000000, '方正县', 3, 230100000000); -INSERT INTO `zz_area_code` VALUES (230125000000, '宾县', 3, 230100000000); -INSERT INTO `zz_area_code` VALUES (230126000000, '巴彦县', 3, 230100000000); -INSERT INTO `zz_area_code` VALUES (230127000000, '木兰县', 3, 230100000000); -INSERT INTO `zz_area_code` VALUES (230128000000, '通河县', 3, 230100000000); -INSERT INTO `zz_area_code` VALUES (230129000000, '延寿县', 3, 230100000000); -INSERT INTO `zz_area_code` VALUES (230183000000, '尚志市', 3, 230100000000); -INSERT INTO `zz_area_code` VALUES (230184000000, '五常市', 3, 230100000000); -INSERT INTO `zz_area_code` VALUES (230200000000, '齐齐哈尔市', 2, 230000000000); -INSERT INTO `zz_area_code` VALUES (230201000000, '市辖区', 3, 230200000000); -INSERT INTO `zz_area_code` VALUES (230202000000, '龙沙区', 3, 230200000000); -INSERT INTO `zz_area_code` VALUES (230203000000, '建华区', 3, 230200000000); -INSERT INTO `zz_area_code` VALUES (230204000000, '铁锋区', 3, 230200000000); -INSERT INTO `zz_area_code` VALUES (230205000000, '昂昂溪区', 3, 230200000000); -INSERT INTO `zz_area_code` VALUES (230206000000, '富拉尔基区', 3, 230200000000); -INSERT INTO `zz_area_code` VALUES (230207000000, '碾子山区', 3, 230200000000); -INSERT INTO `zz_area_code` VALUES (230208000000, '梅里斯达斡尔族区', 3, 230200000000); -INSERT INTO `zz_area_code` VALUES (230221000000, '龙江县', 3, 230200000000); -INSERT INTO `zz_area_code` VALUES (230223000000, '依安县', 3, 230200000000); -INSERT INTO `zz_area_code` VALUES (230224000000, '泰来县', 3, 230200000000); -INSERT INTO `zz_area_code` VALUES (230225000000, '甘南县', 3, 230200000000); -INSERT INTO `zz_area_code` VALUES (230227000000, '富裕县', 3, 230200000000); -INSERT INTO `zz_area_code` VALUES (230229000000, '克山县', 3, 230200000000); -INSERT INTO `zz_area_code` VALUES (230230000000, '克东县', 3, 230200000000); -INSERT INTO `zz_area_code` VALUES (230231000000, '拜泉县', 3, 230200000000); -INSERT INTO `zz_area_code` VALUES (230281000000, '讷河市', 3, 230200000000); -INSERT INTO `zz_area_code` VALUES (230300000000, '鸡西市', 2, 230000000000); -INSERT INTO `zz_area_code` VALUES (230301000000, '市辖区', 3, 230300000000); -INSERT INTO `zz_area_code` VALUES (230302000000, '鸡冠区', 3, 230300000000); -INSERT INTO `zz_area_code` VALUES (230303000000, '恒山区', 3, 230300000000); -INSERT INTO `zz_area_code` VALUES (230304000000, '滴道区', 3, 230300000000); -INSERT INTO `zz_area_code` VALUES (230305000000, '梨树区', 3, 230300000000); -INSERT INTO `zz_area_code` VALUES (230306000000, '城子河区', 3, 230300000000); -INSERT INTO `zz_area_code` VALUES (230307000000, '麻山区', 3, 230300000000); -INSERT INTO `zz_area_code` VALUES (230321000000, '鸡东县', 3, 230300000000); -INSERT INTO `zz_area_code` VALUES (230381000000, '虎林市', 3, 230300000000); -INSERT INTO `zz_area_code` VALUES (230382000000, '密山市', 3, 230300000000); -INSERT INTO `zz_area_code` VALUES (230400000000, '鹤岗市', 2, 230000000000); -INSERT INTO `zz_area_code` VALUES (230401000000, '市辖区', 3, 230400000000); -INSERT INTO `zz_area_code` VALUES (230402000000, '向阳区', 3, 230400000000); -INSERT INTO `zz_area_code` VALUES (230403000000, '工农区', 3, 230400000000); -INSERT INTO `zz_area_code` VALUES (230404000000, '南山区', 3, 230400000000); -INSERT INTO `zz_area_code` VALUES (230405000000, '兴安区', 3, 230400000000); -INSERT INTO `zz_area_code` VALUES (230406000000, '东山区', 3, 230400000000); -INSERT INTO `zz_area_code` VALUES (230407000000, '兴山区', 3, 230400000000); -INSERT INTO `zz_area_code` VALUES (230421000000, '萝北县', 3, 230400000000); -INSERT INTO `zz_area_code` VALUES (230422000000, '绥滨县', 3, 230400000000); -INSERT INTO `zz_area_code` VALUES (230500000000, '双鸭山市', 2, 230000000000); -INSERT INTO `zz_area_code` VALUES (230501000000, '市辖区', 3, 230500000000); -INSERT INTO `zz_area_code` VALUES (230502000000, '尖山区', 3, 230500000000); -INSERT INTO `zz_area_code` VALUES (230503000000, '岭东区', 3, 230500000000); -INSERT INTO `zz_area_code` VALUES (230505000000, '四方台区', 3, 230500000000); -INSERT INTO `zz_area_code` VALUES (230506000000, '宝山区', 3, 230500000000); -INSERT INTO `zz_area_code` VALUES (230521000000, '集贤县', 3, 230500000000); -INSERT INTO `zz_area_code` VALUES (230522000000, '友谊县', 3, 230500000000); -INSERT INTO `zz_area_code` VALUES (230523000000, '宝清县', 3, 230500000000); -INSERT INTO `zz_area_code` VALUES (230524000000, '饶河县', 3, 230500000000); -INSERT INTO `zz_area_code` VALUES (230600000000, '大庆市', 2, 230000000000); -INSERT INTO `zz_area_code` VALUES (230601000000, '市辖区', 3, 230600000000); -INSERT INTO `zz_area_code` VALUES (230602000000, '萨尔图区', 3, 230600000000); -INSERT INTO `zz_area_code` VALUES (230603000000, '龙凤区', 3, 230600000000); -INSERT INTO `zz_area_code` VALUES (230604000000, '让胡路区', 3, 230600000000); -INSERT INTO `zz_area_code` VALUES (230605000000, '红岗区', 3, 230600000000); -INSERT INTO `zz_area_code` VALUES (230606000000, '大同区', 3, 230600000000); -INSERT INTO `zz_area_code` VALUES (230621000000, '肇州县', 3, 230600000000); -INSERT INTO `zz_area_code` VALUES (230622000000, '肇源县', 3, 230600000000); -INSERT INTO `zz_area_code` VALUES (230623000000, '林甸县', 3, 230600000000); -INSERT INTO `zz_area_code` VALUES (230624000000, '杜尔伯特蒙古族自治县', 3, 230600000000); -INSERT INTO `zz_area_code` VALUES (230671000000, '大庆高新技术产业开发区', 3, 230600000000); -INSERT INTO `zz_area_code` VALUES (230700000000, '伊春市', 2, 230000000000); -INSERT INTO `zz_area_code` VALUES (230701000000, '市辖区', 3, 230700000000); -INSERT INTO `zz_area_code` VALUES (230702000000, '伊春区', 3, 230700000000); -INSERT INTO `zz_area_code` VALUES (230703000000, '南岔区', 3, 230700000000); -INSERT INTO `zz_area_code` VALUES (230704000000, '友好区', 3, 230700000000); -INSERT INTO `zz_area_code` VALUES (230705000000, '西林区', 3, 230700000000); -INSERT INTO `zz_area_code` VALUES (230706000000, '翠峦区', 3, 230700000000); -INSERT INTO `zz_area_code` VALUES (230707000000, '新青区', 3, 230700000000); -INSERT INTO `zz_area_code` VALUES (230708000000, '美溪区', 3, 230700000000); -INSERT INTO `zz_area_code` VALUES (230709000000, '金山屯区', 3, 230700000000); -INSERT INTO `zz_area_code` VALUES (230710000000, '五营区', 3, 230700000000); -INSERT INTO `zz_area_code` VALUES (230711000000, '乌马河区', 3, 230700000000); -INSERT INTO `zz_area_code` VALUES (230712000000, '汤旺河区', 3, 230700000000); -INSERT INTO `zz_area_code` VALUES (230713000000, '带岭区', 3, 230700000000); -INSERT INTO `zz_area_code` VALUES (230714000000, '乌伊岭区', 3, 230700000000); -INSERT INTO `zz_area_code` VALUES (230715000000, '红星区', 3, 230700000000); -INSERT INTO `zz_area_code` VALUES (230716000000, '上甘岭区', 3, 230700000000); -INSERT INTO `zz_area_code` VALUES (230722000000, '嘉荫县', 3, 230700000000); -INSERT INTO `zz_area_code` VALUES (230781000000, '铁力市', 3, 230700000000); -INSERT INTO `zz_area_code` VALUES (230800000000, '佳木斯市', 2, 230000000000); -INSERT INTO `zz_area_code` VALUES (230801000000, '市辖区', 3, 230800000000); -INSERT INTO `zz_area_code` VALUES (230803000000, '向阳区', 3, 230800000000); -INSERT INTO `zz_area_code` VALUES (230804000000, '前进区', 3, 230800000000); -INSERT INTO `zz_area_code` VALUES (230805000000, '东风区', 3, 230800000000); -INSERT INTO `zz_area_code` VALUES (230811000000, '郊区', 3, 230800000000); -INSERT INTO `zz_area_code` VALUES (230822000000, '桦南县', 3, 230800000000); -INSERT INTO `zz_area_code` VALUES (230826000000, '桦川县', 3, 230800000000); -INSERT INTO `zz_area_code` VALUES (230828000000, '汤原县', 3, 230800000000); -INSERT INTO `zz_area_code` VALUES (230881000000, '同江市', 3, 230800000000); -INSERT INTO `zz_area_code` VALUES (230882000000, '富锦市', 3, 230800000000); -INSERT INTO `zz_area_code` VALUES (230883000000, '抚远市', 3, 230800000000); -INSERT INTO `zz_area_code` VALUES (230900000000, '七台河市', 2, 230000000000); -INSERT INTO `zz_area_code` VALUES (230901000000, '市辖区', 3, 230900000000); -INSERT INTO `zz_area_code` VALUES (230902000000, '新兴区', 3, 230900000000); -INSERT INTO `zz_area_code` VALUES (230903000000, '桃山区', 3, 230900000000); -INSERT INTO `zz_area_code` VALUES (230904000000, '茄子河区', 3, 230900000000); -INSERT INTO `zz_area_code` VALUES (230921000000, '勃利县', 3, 230900000000); -INSERT INTO `zz_area_code` VALUES (231000000000, '牡丹江市', 2, 230000000000); -INSERT INTO `zz_area_code` VALUES (231001000000, '市辖区', 3, 231000000000); -INSERT INTO `zz_area_code` VALUES (231002000000, '东安区', 3, 231000000000); -INSERT INTO `zz_area_code` VALUES (231003000000, '阳明区', 3, 231000000000); -INSERT INTO `zz_area_code` VALUES (231004000000, '爱民区', 3, 231000000000); -INSERT INTO `zz_area_code` VALUES (231005000000, '西安区', 3, 231000000000); -INSERT INTO `zz_area_code` VALUES (231025000000, '林口县', 3, 231000000000); -INSERT INTO `zz_area_code` VALUES (231071000000, '牡丹江经济技术开发区', 3, 231000000000); -INSERT INTO `zz_area_code` VALUES (231081000000, '绥芬河市', 3, 231000000000); -INSERT INTO `zz_area_code` VALUES (231083000000, '海林市', 3, 231000000000); -INSERT INTO `zz_area_code` VALUES (231084000000, '宁安市', 3, 231000000000); -INSERT INTO `zz_area_code` VALUES (231085000000, '穆棱市', 3, 231000000000); -INSERT INTO `zz_area_code` VALUES (231086000000, '东宁市', 3, 231000000000); -INSERT INTO `zz_area_code` VALUES (231100000000, '黑河市', 2, 230000000000); -INSERT INTO `zz_area_code` VALUES (231101000000, '市辖区', 3, 231100000000); -INSERT INTO `zz_area_code` VALUES (231102000000, '爱辉区', 3, 231100000000); -INSERT INTO `zz_area_code` VALUES (231121000000, '嫩江县', 3, 231100000000); -INSERT INTO `zz_area_code` VALUES (231123000000, '逊克县', 3, 231100000000); -INSERT INTO `zz_area_code` VALUES (231124000000, '孙吴县', 3, 231100000000); -INSERT INTO `zz_area_code` VALUES (231181000000, '北安市', 3, 231100000000); -INSERT INTO `zz_area_code` VALUES (231182000000, '五大连池市', 3, 231100000000); -INSERT INTO `zz_area_code` VALUES (231200000000, '绥化市', 2, 230000000000); -INSERT INTO `zz_area_code` VALUES (231201000000, '市辖区', 3, 231200000000); -INSERT INTO `zz_area_code` VALUES (231202000000, '北林区', 3, 231200000000); -INSERT INTO `zz_area_code` VALUES (231221000000, '望奎县', 3, 231200000000); -INSERT INTO `zz_area_code` VALUES (231222000000, '兰西县', 3, 231200000000); -INSERT INTO `zz_area_code` VALUES (231223000000, '青冈县', 3, 231200000000); -INSERT INTO `zz_area_code` VALUES (231224000000, '庆安县', 3, 231200000000); -INSERT INTO `zz_area_code` VALUES (231225000000, '明水县', 3, 231200000000); -INSERT INTO `zz_area_code` VALUES (231226000000, '绥棱县', 3, 231200000000); -INSERT INTO `zz_area_code` VALUES (231281000000, '安达市', 3, 231200000000); -INSERT INTO `zz_area_code` VALUES (231282000000, '肇东市', 3, 231200000000); -INSERT INTO `zz_area_code` VALUES (231283000000, '海伦市', 3, 231200000000); -INSERT INTO `zz_area_code` VALUES (232700000000, '大兴安岭地区', 2, 230000000000); -INSERT INTO `zz_area_code` VALUES (232701000000, '漠河市', 3, 232700000000); -INSERT INTO `zz_area_code` VALUES (232721000000, '呼玛县', 3, 232700000000); -INSERT INTO `zz_area_code` VALUES (232722000000, '塔河县', 3, 232700000000); -INSERT INTO `zz_area_code` VALUES (232761000000, '加格达奇区', 3, 232700000000); -INSERT INTO `zz_area_code` VALUES (232762000000, '松岭区', 3, 232700000000); -INSERT INTO `zz_area_code` VALUES (232763000000, '新林区', 3, 232700000000); -INSERT INTO `zz_area_code` VALUES (232764000000, '呼中区', 3, 232700000000); -INSERT INTO `zz_area_code` VALUES (310000000000, '上海市', 1, NULL); -INSERT INTO `zz_area_code` VALUES (310100000000, '市辖区', 2, 310000000000); -INSERT INTO `zz_area_code` VALUES (310101000000, '黄浦区', 3, 310100000000); -INSERT INTO `zz_area_code` VALUES (310104000000, '徐汇区', 3, 310100000000); -INSERT INTO `zz_area_code` VALUES (310105000000, '长宁区', 3, 310100000000); -INSERT INTO `zz_area_code` VALUES (310106000000, '静安区', 3, 310100000000); -INSERT INTO `zz_area_code` VALUES (310107000000, '普陀区', 3, 310100000000); -INSERT INTO `zz_area_code` VALUES (310109000000, '虹口区', 3, 310100000000); -INSERT INTO `zz_area_code` VALUES (310110000000, '杨浦区', 3, 310100000000); -INSERT INTO `zz_area_code` VALUES (310112000000, '闵行区', 3, 310100000000); -INSERT INTO `zz_area_code` VALUES (310113000000, '宝山区', 3, 310100000000); -INSERT INTO `zz_area_code` VALUES (310114000000, '嘉定区', 3, 310100000000); -INSERT INTO `zz_area_code` VALUES (310115000000, '浦东新区', 3, 310100000000); -INSERT INTO `zz_area_code` VALUES (310116000000, '金山区', 3, 310100000000); -INSERT INTO `zz_area_code` VALUES (310117000000, '松江区', 3, 310100000000); -INSERT INTO `zz_area_code` VALUES (310118000000, '青浦区', 3, 310100000000); -INSERT INTO `zz_area_code` VALUES (310120000000, '奉贤区', 3, 310100000000); -INSERT INTO `zz_area_code` VALUES (310151000000, '崇明区', 3, 310100000000); -INSERT INTO `zz_area_code` VALUES (320000000000, '江苏省', 1, NULL); -INSERT INTO `zz_area_code` VALUES (320100000000, '南京市', 2, 320000000000); -INSERT INTO `zz_area_code` VALUES (320101000000, '市辖区', 3, 320100000000); -INSERT INTO `zz_area_code` VALUES (320102000000, '玄武区', 3, 320100000000); -INSERT INTO `zz_area_code` VALUES (320104000000, '秦淮区', 3, 320100000000); -INSERT INTO `zz_area_code` VALUES (320105000000, '建邺区', 3, 320100000000); -INSERT INTO `zz_area_code` VALUES (320106000000, '鼓楼区', 3, 320100000000); -INSERT INTO `zz_area_code` VALUES (320111000000, '浦口区', 3, 320100000000); -INSERT INTO `zz_area_code` VALUES (320113000000, '栖霞区', 3, 320100000000); -INSERT INTO `zz_area_code` VALUES (320114000000, '雨花台区', 3, 320100000000); -INSERT INTO `zz_area_code` VALUES (320115000000, '江宁区', 3, 320100000000); -INSERT INTO `zz_area_code` VALUES (320116000000, '六合区', 3, 320100000000); -INSERT INTO `zz_area_code` VALUES (320117000000, '溧水区', 3, 320100000000); -INSERT INTO `zz_area_code` VALUES (320118000000, '高淳区', 3, 320100000000); -INSERT INTO `zz_area_code` VALUES (320200000000, '无锡市', 2, 320000000000); -INSERT INTO `zz_area_code` VALUES (320201000000, '市辖区', 3, 320200000000); -INSERT INTO `zz_area_code` VALUES (320205000000, '锡山区', 3, 320200000000); -INSERT INTO `zz_area_code` VALUES (320206000000, '惠山区', 3, 320200000000); -INSERT INTO `zz_area_code` VALUES (320211000000, '滨湖区', 3, 320200000000); -INSERT INTO `zz_area_code` VALUES (320213000000, '梁溪区', 3, 320200000000); -INSERT INTO `zz_area_code` VALUES (320214000000, '新吴区', 3, 320200000000); -INSERT INTO `zz_area_code` VALUES (320281000000, '江阴市', 3, 320200000000); -INSERT INTO `zz_area_code` VALUES (320282000000, '宜兴市', 3, 320200000000); -INSERT INTO `zz_area_code` VALUES (320300000000, '徐州市', 2, 320000000000); -INSERT INTO `zz_area_code` VALUES (320301000000, '市辖区', 3, 320300000000); -INSERT INTO `zz_area_code` VALUES (320302000000, '鼓楼区', 3, 320300000000); -INSERT INTO `zz_area_code` VALUES (320303000000, '云龙区', 3, 320300000000); -INSERT INTO `zz_area_code` VALUES (320305000000, '贾汪区', 3, 320300000000); -INSERT INTO `zz_area_code` VALUES (320311000000, '泉山区', 3, 320300000000); -INSERT INTO `zz_area_code` VALUES (320312000000, '铜山区', 3, 320300000000); -INSERT INTO `zz_area_code` VALUES (320321000000, '丰县', 3, 320300000000); -INSERT INTO `zz_area_code` VALUES (320322000000, '沛县', 3, 320300000000); -INSERT INTO `zz_area_code` VALUES (320324000000, '睢宁县', 3, 320300000000); -INSERT INTO `zz_area_code` VALUES (320371000000, '徐州经济技术开发区', 3, 320300000000); -INSERT INTO `zz_area_code` VALUES (320381000000, '新沂市', 3, 320300000000); -INSERT INTO `zz_area_code` VALUES (320382000000, '邳州市', 3, 320300000000); -INSERT INTO `zz_area_code` VALUES (320400000000, '常州市', 2, 320000000000); -INSERT INTO `zz_area_code` VALUES (320401000000, '市辖区', 3, 320400000000); -INSERT INTO `zz_area_code` VALUES (320402000000, '天宁区', 3, 320400000000); -INSERT INTO `zz_area_code` VALUES (320404000000, '钟楼区', 3, 320400000000); -INSERT INTO `zz_area_code` VALUES (320411000000, '新北区', 3, 320400000000); -INSERT INTO `zz_area_code` VALUES (320412000000, '武进区', 3, 320400000000); -INSERT INTO `zz_area_code` VALUES (320413000000, '金坛区', 3, 320400000000); -INSERT INTO `zz_area_code` VALUES (320481000000, '溧阳市', 3, 320400000000); -INSERT INTO `zz_area_code` VALUES (320500000000, '苏州市', 2, 320000000000); -INSERT INTO `zz_area_code` VALUES (320501000000, '市辖区', 3, 320500000000); -INSERT INTO `zz_area_code` VALUES (320505000000, '虎丘区', 3, 320500000000); -INSERT INTO `zz_area_code` VALUES (320506000000, '吴中区', 3, 320500000000); -INSERT INTO `zz_area_code` VALUES (320507000000, '相城区', 3, 320500000000); -INSERT INTO `zz_area_code` VALUES (320508000000, '姑苏区', 3, 320500000000); -INSERT INTO `zz_area_code` VALUES (320509000000, '吴江区', 3, 320500000000); -INSERT INTO `zz_area_code` VALUES (320571000000, '苏州工业园区', 3, 320500000000); -INSERT INTO `zz_area_code` VALUES (320581000000, '常熟市', 3, 320500000000); -INSERT INTO `zz_area_code` VALUES (320582000000, '张家港市', 3, 320500000000); -INSERT INTO `zz_area_code` VALUES (320583000000, '昆山市', 3, 320500000000); -INSERT INTO `zz_area_code` VALUES (320585000000, '太仓市', 3, 320500000000); -INSERT INTO `zz_area_code` VALUES (320600000000, '南通市', 2, 320000000000); -INSERT INTO `zz_area_code` VALUES (320601000000, '市辖区', 3, 320600000000); -INSERT INTO `zz_area_code` VALUES (320602000000, '崇川区', 3, 320600000000); -INSERT INTO `zz_area_code` VALUES (320611000000, '港闸区', 3, 320600000000); -INSERT INTO `zz_area_code` VALUES (320612000000, '通州区', 3, 320600000000); -INSERT INTO `zz_area_code` VALUES (320623000000, '如东县', 3, 320600000000); -INSERT INTO `zz_area_code` VALUES (320671000000, '南通经济技术开发区', 3, 320600000000); -INSERT INTO `zz_area_code` VALUES (320681000000, '启东市', 3, 320600000000); -INSERT INTO `zz_area_code` VALUES (320682000000, '如皋市', 3, 320600000000); -INSERT INTO `zz_area_code` VALUES (320684000000, '海门市', 3, 320600000000); -INSERT INTO `zz_area_code` VALUES (320685000000, '海安市', 3, 320600000000); -INSERT INTO `zz_area_code` VALUES (320700000000, '连云港市', 2, 320000000000); -INSERT INTO `zz_area_code` VALUES (320701000000, '市辖区', 3, 320700000000); -INSERT INTO `zz_area_code` VALUES (320703000000, '连云区', 3, 320700000000); -INSERT INTO `zz_area_code` VALUES (320706000000, '海州区', 3, 320700000000); -INSERT INTO `zz_area_code` VALUES (320707000000, '赣榆区', 3, 320700000000); -INSERT INTO `zz_area_code` VALUES (320722000000, '东海县', 3, 320700000000); -INSERT INTO `zz_area_code` VALUES (320723000000, '灌云县', 3, 320700000000); -INSERT INTO `zz_area_code` VALUES (320724000000, '灌南县', 3, 320700000000); -INSERT INTO `zz_area_code` VALUES (320771000000, '连云港经济技术开发区', 3, 320700000000); -INSERT INTO `zz_area_code` VALUES (320772000000, '连云港高新技术产业开发区', 3, 320700000000); -INSERT INTO `zz_area_code` VALUES (320800000000, '淮安市', 2, 320000000000); -INSERT INTO `zz_area_code` VALUES (320801000000, '市辖区', 3, 320800000000); -INSERT INTO `zz_area_code` VALUES (320803000000, '淮安区', 3, 320800000000); -INSERT INTO `zz_area_code` VALUES (320804000000, '淮阴区', 3, 320800000000); -INSERT INTO `zz_area_code` VALUES (320812000000, '清江浦区', 3, 320800000000); -INSERT INTO `zz_area_code` VALUES (320813000000, '洪泽区', 3, 320800000000); -INSERT INTO `zz_area_code` VALUES (320826000000, '涟水县', 3, 320800000000); -INSERT INTO `zz_area_code` VALUES (320830000000, '盱眙县', 3, 320800000000); -INSERT INTO `zz_area_code` VALUES (320831000000, '金湖县', 3, 320800000000); -INSERT INTO `zz_area_code` VALUES (320871000000, '淮安经济技术开发区', 3, 320800000000); -INSERT INTO `zz_area_code` VALUES (320900000000, '盐城市', 2, 320000000000); -INSERT INTO `zz_area_code` VALUES (320901000000, '市辖区', 3, 320900000000); -INSERT INTO `zz_area_code` VALUES (320902000000, '亭湖区', 3, 320900000000); -INSERT INTO `zz_area_code` VALUES (320903000000, '盐都区', 3, 320900000000); -INSERT INTO `zz_area_code` VALUES (320904000000, '大丰区', 3, 320900000000); -INSERT INTO `zz_area_code` VALUES (320921000000, '响水县', 3, 320900000000); -INSERT INTO `zz_area_code` VALUES (320922000000, '滨海县', 3, 320900000000); -INSERT INTO `zz_area_code` VALUES (320923000000, '阜宁县', 3, 320900000000); -INSERT INTO `zz_area_code` VALUES (320924000000, '射阳县', 3, 320900000000); -INSERT INTO `zz_area_code` VALUES (320925000000, '建湖县', 3, 320900000000); -INSERT INTO `zz_area_code` VALUES (320971000000, '盐城经济技术开发区', 3, 320900000000); -INSERT INTO `zz_area_code` VALUES (320981000000, '东台市', 3, 320900000000); -INSERT INTO `zz_area_code` VALUES (321000000000, '扬州市', 2, 320000000000); -INSERT INTO `zz_area_code` VALUES (321001000000, '市辖区', 3, 321000000000); -INSERT INTO `zz_area_code` VALUES (321002000000, '广陵区', 3, 321000000000); -INSERT INTO `zz_area_code` VALUES (321003000000, '邗江区', 3, 321000000000); -INSERT INTO `zz_area_code` VALUES (321012000000, '江都区', 3, 321000000000); -INSERT INTO `zz_area_code` VALUES (321023000000, '宝应县', 3, 321000000000); -INSERT INTO `zz_area_code` VALUES (321071000000, '扬州经济技术开发区', 3, 321000000000); -INSERT INTO `zz_area_code` VALUES (321081000000, '仪征市', 3, 321000000000); -INSERT INTO `zz_area_code` VALUES (321084000000, '高邮市', 3, 321000000000); -INSERT INTO `zz_area_code` VALUES (321100000000, '镇江市', 2, 320000000000); -INSERT INTO `zz_area_code` VALUES (321101000000, '市辖区', 3, 321100000000); -INSERT INTO `zz_area_code` VALUES (321102000000, '京口区', 3, 321100000000); -INSERT INTO `zz_area_code` VALUES (321111000000, '润州区', 3, 321100000000); -INSERT INTO `zz_area_code` VALUES (321112000000, '丹徒区', 3, 321100000000); -INSERT INTO `zz_area_code` VALUES (321171000000, '镇江新区', 3, 321100000000); -INSERT INTO `zz_area_code` VALUES (321181000000, '丹阳市', 3, 321100000000); -INSERT INTO `zz_area_code` VALUES (321182000000, '扬中市', 3, 321100000000); -INSERT INTO `zz_area_code` VALUES (321183000000, '句容市', 3, 321100000000); -INSERT INTO `zz_area_code` VALUES (321200000000, '泰州市', 2, 320000000000); -INSERT INTO `zz_area_code` VALUES (321201000000, '市辖区', 3, 321200000000); -INSERT INTO `zz_area_code` VALUES (321202000000, '海陵区', 3, 321200000000); -INSERT INTO `zz_area_code` VALUES (321203000000, '高港区', 3, 321200000000); -INSERT INTO `zz_area_code` VALUES (321204000000, '姜堰区', 3, 321200000000); -INSERT INTO `zz_area_code` VALUES (321271000000, '泰州医药高新技术产业开发区', 3, 321200000000); -INSERT INTO `zz_area_code` VALUES (321281000000, '兴化市', 3, 321200000000); -INSERT INTO `zz_area_code` VALUES (321282000000, '靖江市', 3, 321200000000); -INSERT INTO `zz_area_code` VALUES (321283000000, '泰兴市', 3, 321200000000); -INSERT INTO `zz_area_code` VALUES (321300000000, '宿迁市', 2, 320000000000); -INSERT INTO `zz_area_code` VALUES (321301000000, '市辖区', 3, 321300000000); -INSERT INTO `zz_area_code` VALUES (321302000000, '宿城区', 3, 321300000000); -INSERT INTO `zz_area_code` VALUES (321311000000, '宿豫区', 3, 321300000000); -INSERT INTO `zz_area_code` VALUES (321322000000, '沭阳县', 3, 321300000000); -INSERT INTO `zz_area_code` VALUES (321323000000, '泗阳县', 3, 321300000000); -INSERT INTO `zz_area_code` VALUES (321324000000, '泗洪县', 3, 321300000000); -INSERT INTO `zz_area_code` VALUES (321371000000, '宿迁经济技术开发区', 3, 321300000000); -INSERT INTO `zz_area_code` VALUES (330000000000, '浙江省', 1, NULL); -INSERT INTO `zz_area_code` VALUES (330100000000, '杭州市', 2, 330000000000); -INSERT INTO `zz_area_code` VALUES (330101000000, '市辖区', 3, 330100000000); -INSERT INTO `zz_area_code` VALUES (330102000000, '上城区', 3, 330100000000); -INSERT INTO `zz_area_code` VALUES (330103000000, '下城区', 3, 330100000000); -INSERT INTO `zz_area_code` VALUES (330104000000, '江干区', 3, 330100000000); -INSERT INTO `zz_area_code` VALUES (330105000000, '拱墅区', 3, 330100000000); -INSERT INTO `zz_area_code` VALUES (330106000000, '西湖区', 3, 330100000000); -INSERT INTO `zz_area_code` VALUES (330108000000, '滨江区', 3, 330100000000); -INSERT INTO `zz_area_code` VALUES (330109000000, '萧山区', 3, 330100000000); -INSERT INTO `zz_area_code` VALUES (330110000000, '余杭区', 3, 330100000000); -INSERT INTO `zz_area_code` VALUES (330111000000, '富阳区', 3, 330100000000); -INSERT INTO `zz_area_code` VALUES (330112000000, '临安区', 3, 330100000000); -INSERT INTO `zz_area_code` VALUES (330122000000, '桐庐县', 3, 330100000000); -INSERT INTO `zz_area_code` VALUES (330127000000, '淳安县', 3, 330100000000); -INSERT INTO `zz_area_code` VALUES (330182000000, '建德市', 3, 330100000000); -INSERT INTO `zz_area_code` VALUES (330200000000, '宁波市', 2, 330000000000); -INSERT INTO `zz_area_code` VALUES (330201000000, '市辖区', 3, 330200000000); -INSERT INTO `zz_area_code` VALUES (330203000000, '海曙区', 3, 330200000000); -INSERT INTO `zz_area_code` VALUES (330205000000, '江北区', 3, 330200000000); -INSERT INTO `zz_area_code` VALUES (330206000000, '北仑区', 3, 330200000000); -INSERT INTO `zz_area_code` VALUES (330211000000, '镇海区', 3, 330200000000); -INSERT INTO `zz_area_code` VALUES (330212000000, '鄞州区', 3, 330200000000); -INSERT INTO `zz_area_code` VALUES (330213000000, '奉化区', 3, 330200000000); -INSERT INTO `zz_area_code` VALUES (330225000000, '象山县', 3, 330200000000); -INSERT INTO `zz_area_code` VALUES (330226000000, '宁海县', 3, 330200000000); -INSERT INTO `zz_area_code` VALUES (330281000000, '余姚市', 3, 330200000000); -INSERT INTO `zz_area_code` VALUES (330282000000, '慈溪市', 3, 330200000000); -INSERT INTO `zz_area_code` VALUES (330300000000, '温州市', 2, 330000000000); -INSERT INTO `zz_area_code` VALUES (330301000000, '市辖区', 3, 330300000000); -INSERT INTO `zz_area_code` VALUES (330302000000, '鹿城区', 3, 330300000000); -INSERT INTO `zz_area_code` VALUES (330303000000, '龙湾区', 3, 330300000000); -INSERT INTO `zz_area_code` VALUES (330304000000, '瓯海区', 3, 330300000000); -INSERT INTO `zz_area_code` VALUES (330305000000, '洞头区', 3, 330300000000); -INSERT INTO `zz_area_code` VALUES (330324000000, '永嘉县', 3, 330300000000); -INSERT INTO `zz_area_code` VALUES (330326000000, '平阳县', 3, 330300000000); -INSERT INTO `zz_area_code` VALUES (330327000000, '苍南县', 3, 330300000000); -INSERT INTO `zz_area_code` VALUES (330328000000, '文成县', 3, 330300000000); -INSERT INTO `zz_area_code` VALUES (330329000000, '泰顺县', 3, 330300000000); -INSERT INTO `zz_area_code` VALUES (330371000000, '温州经济技术开发区', 3, 330300000000); -INSERT INTO `zz_area_code` VALUES (330381000000, '瑞安市', 3, 330300000000); -INSERT INTO `zz_area_code` VALUES (330382000000, '乐清市', 3, 330300000000); -INSERT INTO `zz_area_code` VALUES (330400000000, '嘉兴市', 2, 330000000000); -INSERT INTO `zz_area_code` VALUES (330401000000, '市辖区', 3, 330400000000); -INSERT INTO `zz_area_code` VALUES (330402000000, '南湖区', 3, 330400000000); -INSERT INTO `zz_area_code` VALUES (330411000000, '秀洲区', 3, 330400000000); -INSERT INTO `zz_area_code` VALUES (330421000000, '嘉善县', 3, 330400000000); -INSERT INTO `zz_area_code` VALUES (330424000000, '海盐县', 3, 330400000000); -INSERT INTO `zz_area_code` VALUES (330481000000, '海宁市', 3, 330400000000); -INSERT INTO `zz_area_code` VALUES (330482000000, '平湖市', 3, 330400000000); -INSERT INTO `zz_area_code` VALUES (330483000000, '桐乡市', 3, 330400000000); -INSERT INTO `zz_area_code` VALUES (330500000000, '湖州市', 2, 330000000000); -INSERT INTO `zz_area_code` VALUES (330501000000, '市辖区', 3, 330500000000); -INSERT INTO `zz_area_code` VALUES (330502000000, '吴兴区', 3, 330500000000); -INSERT INTO `zz_area_code` VALUES (330503000000, '南浔区', 3, 330500000000); -INSERT INTO `zz_area_code` VALUES (330521000000, '德清县', 3, 330500000000); -INSERT INTO `zz_area_code` VALUES (330522000000, '长兴县', 3, 330500000000); -INSERT INTO `zz_area_code` VALUES (330523000000, '安吉县', 3, 330500000000); -INSERT INTO `zz_area_code` VALUES (330600000000, '绍兴市', 2, 330000000000); -INSERT INTO `zz_area_code` VALUES (330601000000, '市辖区', 3, 330600000000); -INSERT INTO `zz_area_code` VALUES (330602000000, '越城区', 3, 330600000000); -INSERT INTO `zz_area_code` VALUES (330603000000, '柯桥区', 3, 330600000000); -INSERT INTO `zz_area_code` VALUES (330604000000, '上虞区', 3, 330600000000); -INSERT INTO `zz_area_code` VALUES (330624000000, '新昌县', 3, 330600000000); -INSERT INTO `zz_area_code` VALUES (330681000000, '诸暨市', 3, 330600000000); -INSERT INTO `zz_area_code` VALUES (330683000000, '嵊州市', 3, 330600000000); -INSERT INTO `zz_area_code` VALUES (330700000000, '金华市', 2, 330000000000); -INSERT INTO `zz_area_code` VALUES (330701000000, '市辖区', 3, 330700000000); -INSERT INTO `zz_area_code` VALUES (330702000000, '婺城区', 3, 330700000000); -INSERT INTO `zz_area_code` VALUES (330703000000, '金东区', 3, 330700000000); -INSERT INTO `zz_area_code` VALUES (330723000000, '武义县', 3, 330700000000); -INSERT INTO `zz_area_code` VALUES (330726000000, '浦江县', 3, 330700000000); -INSERT INTO `zz_area_code` VALUES (330727000000, '磐安县', 3, 330700000000); -INSERT INTO `zz_area_code` VALUES (330781000000, '兰溪市', 3, 330700000000); -INSERT INTO `zz_area_code` VALUES (330782000000, '义乌市', 3, 330700000000); -INSERT INTO `zz_area_code` VALUES (330783000000, '东阳市', 3, 330700000000); -INSERT INTO `zz_area_code` VALUES (330784000000, '永康市', 3, 330700000000); -INSERT INTO `zz_area_code` VALUES (330800000000, '衢州市', 2, 330000000000); -INSERT INTO `zz_area_code` VALUES (330801000000, '市辖区', 3, 330800000000); -INSERT INTO `zz_area_code` VALUES (330802000000, '柯城区', 3, 330800000000); -INSERT INTO `zz_area_code` VALUES (330803000000, '衢江区', 3, 330800000000); -INSERT INTO `zz_area_code` VALUES (330822000000, '常山县', 3, 330800000000); -INSERT INTO `zz_area_code` VALUES (330824000000, '开化县', 3, 330800000000); -INSERT INTO `zz_area_code` VALUES (330825000000, '龙游县', 3, 330800000000); -INSERT INTO `zz_area_code` VALUES (330881000000, '江山市', 3, 330800000000); -INSERT INTO `zz_area_code` VALUES (330900000000, '舟山市', 2, 330000000000); -INSERT INTO `zz_area_code` VALUES (330901000000, '市辖区', 3, 330900000000); -INSERT INTO `zz_area_code` VALUES (330902000000, '定海区', 3, 330900000000); -INSERT INTO `zz_area_code` VALUES (330903000000, '普陀区', 3, 330900000000); -INSERT INTO `zz_area_code` VALUES (330921000000, '岱山县', 3, 330900000000); -INSERT INTO `zz_area_code` VALUES (330922000000, '嵊泗县', 3, 330900000000); -INSERT INTO `zz_area_code` VALUES (331000000000, '台州市', 2, 330000000000); -INSERT INTO `zz_area_code` VALUES (331001000000, '市辖区', 3, 331000000000); -INSERT INTO `zz_area_code` VALUES (331002000000, '椒江区', 3, 331000000000); -INSERT INTO `zz_area_code` VALUES (331003000000, '黄岩区', 3, 331000000000); -INSERT INTO `zz_area_code` VALUES (331004000000, '路桥区', 3, 331000000000); -INSERT INTO `zz_area_code` VALUES (331022000000, '三门县', 3, 331000000000); -INSERT INTO `zz_area_code` VALUES (331023000000, '天台县', 3, 331000000000); -INSERT INTO `zz_area_code` VALUES (331024000000, '仙居县', 3, 331000000000); -INSERT INTO `zz_area_code` VALUES (331081000000, '温岭市', 3, 331000000000); -INSERT INTO `zz_area_code` VALUES (331082000000, '临海市', 3, 331000000000); -INSERT INTO `zz_area_code` VALUES (331083000000, '玉环市', 3, 331000000000); -INSERT INTO `zz_area_code` VALUES (331100000000, '丽水市', 2, 330000000000); -INSERT INTO `zz_area_code` VALUES (331101000000, '市辖区', 3, 331100000000); -INSERT INTO `zz_area_code` VALUES (331102000000, '莲都区', 3, 331100000000); -INSERT INTO `zz_area_code` VALUES (331121000000, '青田县', 3, 331100000000); -INSERT INTO `zz_area_code` VALUES (331122000000, '缙云县', 3, 331100000000); -INSERT INTO `zz_area_code` VALUES (331123000000, '遂昌县', 3, 331100000000); -INSERT INTO `zz_area_code` VALUES (331124000000, '松阳县', 3, 331100000000); -INSERT INTO `zz_area_code` VALUES (331125000000, '云和县', 3, 331100000000); -INSERT INTO `zz_area_code` VALUES (331126000000, '庆元县', 3, 331100000000); -INSERT INTO `zz_area_code` VALUES (331127000000, '景宁畲族自治县', 3, 331100000000); -INSERT INTO `zz_area_code` VALUES (331181000000, '龙泉市', 3, 331100000000); -INSERT INTO `zz_area_code` VALUES (340000000000, '安徽省', 1, NULL); -INSERT INTO `zz_area_code` VALUES (340100000000, '合肥市', 2, 340000000000); -INSERT INTO `zz_area_code` VALUES (340101000000, '市辖区', 3, 340100000000); -INSERT INTO `zz_area_code` VALUES (340102000000, '瑶海区', 3, 340100000000); -INSERT INTO `zz_area_code` VALUES (340103000000, '庐阳区', 3, 340100000000); -INSERT INTO `zz_area_code` VALUES (340104000000, '蜀山区', 3, 340100000000); -INSERT INTO `zz_area_code` VALUES (340111000000, '包河区', 3, 340100000000); -INSERT INTO `zz_area_code` VALUES (340121000000, '长丰县', 3, 340100000000); -INSERT INTO `zz_area_code` VALUES (340122000000, '肥东县', 3, 340100000000); -INSERT INTO `zz_area_code` VALUES (340123000000, '肥西县', 3, 340100000000); -INSERT INTO `zz_area_code` VALUES (340124000000, '庐江县', 3, 340100000000); -INSERT INTO `zz_area_code` VALUES (340171000000, '合肥高新技术产业开发区', 3, 340100000000); -INSERT INTO `zz_area_code` VALUES (340172000000, '合肥经济技术开发区', 3, 340100000000); -INSERT INTO `zz_area_code` VALUES (340173000000, '合肥新站高新技术产业开发区', 3, 340100000000); -INSERT INTO `zz_area_code` VALUES (340181000000, '巢湖市', 3, 340100000000); -INSERT INTO `zz_area_code` VALUES (340200000000, '芜湖市', 2, 340000000000); -INSERT INTO `zz_area_code` VALUES (340201000000, '市辖区', 3, 340200000000); -INSERT INTO `zz_area_code` VALUES (340202000000, '镜湖区', 3, 340200000000); -INSERT INTO `zz_area_code` VALUES (340203000000, '弋江区', 3, 340200000000); -INSERT INTO `zz_area_code` VALUES (340207000000, '鸠江区', 3, 340200000000); -INSERT INTO `zz_area_code` VALUES (340208000000, '三山区', 3, 340200000000); -INSERT INTO `zz_area_code` VALUES (340221000000, '芜湖县', 3, 340200000000); -INSERT INTO `zz_area_code` VALUES (340222000000, '繁昌县', 3, 340200000000); -INSERT INTO `zz_area_code` VALUES (340223000000, '南陵县', 3, 340200000000); -INSERT INTO `zz_area_code` VALUES (340225000000, '无为县', 3, 340200000000); -INSERT INTO `zz_area_code` VALUES (340271000000, '芜湖经济技术开发区', 3, 340200000000); -INSERT INTO `zz_area_code` VALUES (340272000000, '安徽芜湖长江大桥经济开发区', 3, 340200000000); -INSERT INTO `zz_area_code` VALUES (340300000000, '蚌埠市', 2, 340000000000); -INSERT INTO `zz_area_code` VALUES (340301000000, '市辖区', 3, 340300000000); -INSERT INTO `zz_area_code` VALUES (340302000000, '龙子湖区', 3, 340300000000); -INSERT INTO `zz_area_code` VALUES (340303000000, '蚌山区', 3, 340300000000); -INSERT INTO `zz_area_code` VALUES (340304000000, '禹会区', 3, 340300000000); -INSERT INTO `zz_area_code` VALUES (340311000000, '淮上区', 3, 340300000000); -INSERT INTO `zz_area_code` VALUES (340321000000, '怀远县', 3, 340300000000); -INSERT INTO `zz_area_code` VALUES (340322000000, '五河县', 3, 340300000000); -INSERT INTO `zz_area_code` VALUES (340323000000, '固镇县', 3, 340300000000); -INSERT INTO `zz_area_code` VALUES (340371000000, '蚌埠市高新技术开发区', 3, 340300000000); -INSERT INTO `zz_area_code` VALUES (340372000000, '蚌埠市经济开发区', 3, 340300000000); -INSERT INTO `zz_area_code` VALUES (340400000000, '淮南市', 2, 340000000000); -INSERT INTO `zz_area_code` VALUES (340401000000, '市辖区', 3, 340400000000); -INSERT INTO `zz_area_code` VALUES (340402000000, '大通区', 3, 340400000000); -INSERT INTO `zz_area_code` VALUES (340403000000, '田家庵区', 3, 340400000000); -INSERT INTO `zz_area_code` VALUES (340404000000, '谢家集区', 3, 340400000000); -INSERT INTO `zz_area_code` VALUES (340405000000, '八公山区', 3, 340400000000); -INSERT INTO `zz_area_code` VALUES (340406000000, '潘集区', 3, 340400000000); -INSERT INTO `zz_area_code` VALUES (340421000000, '凤台县', 3, 340400000000); -INSERT INTO `zz_area_code` VALUES (340422000000, '寿县', 3, 340400000000); -INSERT INTO `zz_area_code` VALUES (340500000000, '马鞍山市', 2, 340000000000); -INSERT INTO `zz_area_code` VALUES (340501000000, '市辖区', 3, 340500000000); -INSERT INTO `zz_area_code` VALUES (340503000000, '花山区', 3, 340500000000); -INSERT INTO `zz_area_code` VALUES (340504000000, '雨山区', 3, 340500000000); -INSERT INTO `zz_area_code` VALUES (340506000000, '博望区', 3, 340500000000); -INSERT INTO `zz_area_code` VALUES (340521000000, '当涂县', 3, 340500000000); -INSERT INTO `zz_area_code` VALUES (340522000000, '含山县', 3, 340500000000); -INSERT INTO `zz_area_code` VALUES (340523000000, '和县', 3, 340500000000); -INSERT INTO `zz_area_code` VALUES (340600000000, '淮北市', 2, 340000000000); -INSERT INTO `zz_area_code` VALUES (340601000000, '市辖区', 3, 340600000000); -INSERT INTO `zz_area_code` VALUES (340602000000, '杜集区', 3, 340600000000); -INSERT INTO `zz_area_code` VALUES (340603000000, '相山区', 3, 340600000000); -INSERT INTO `zz_area_code` VALUES (340604000000, '烈山区', 3, 340600000000); -INSERT INTO `zz_area_code` VALUES (340621000000, '濉溪县', 3, 340600000000); -INSERT INTO `zz_area_code` VALUES (340700000000, '铜陵市', 2, 340000000000); -INSERT INTO `zz_area_code` VALUES (340701000000, '市辖区', 3, 340700000000); -INSERT INTO `zz_area_code` VALUES (340705000000, '铜官区', 3, 340700000000); -INSERT INTO `zz_area_code` VALUES (340706000000, '义安区', 3, 340700000000); -INSERT INTO `zz_area_code` VALUES (340711000000, '郊区', 3, 340700000000); -INSERT INTO `zz_area_code` VALUES (340722000000, '枞阳县', 3, 340700000000); -INSERT INTO `zz_area_code` VALUES (340800000000, '安庆市', 2, 340000000000); -INSERT INTO `zz_area_code` VALUES (340801000000, '市辖区', 3, 340800000000); -INSERT INTO `zz_area_code` VALUES (340802000000, '迎江区', 3, 340800000000); -INSERT INTO `zz_area_code` VALUES (340803000000, '大观区', 3, 340800000000); -INSERT INTO `zz_area_code` VALUES (340811000000, '宜秀区', 3, 340800000000); -INSERT INTO `zz_area_code` VALUES (340822000000, '怀宁县', 3, 340800000000); -INSERT INTO `zz_area_code` VALUES (340825000000, '太湖县', 3, 340800000000); -INSERT INTO `zz_area_code` VALUES (340826000000, '宿松县', 3, 340800000000); -INSERT INTO `zz_area_code` VALUES (340827000000, '望江县', 3, 340800000000); -INSERT INTO `zz_area_code` VALUES (340828000000, '岳西县', 3, 340800000000); -INSERT INTO `zz_area_code` VALUES (340871000000, '安徽安庆经济开发区', 3, 340800000000); -INSERT INTO `zz_area_code` VALUES (340881000000, '桐城市', 3, 340800000000); -INSERT INTO `zz_area_code` VALUES (340882000000, '潜山市', 3, 340800000000); -INSERT INTO `zz_area_code` VALUES (341000000000, '黄山市', 2, 340000000000); -INSERT INTO `zz_area_code` VALUES (341001000000, '市辖区', 3, 341000000000); -INSERT INTO `zz_area_code` VALUES (341002000000, '屯溪区', 3, 341000000000); -INSERT INTO `zz_area_code` VALUES (341003000000, '黄山区', 3, 341000000000); -INSERT INTO `zz_area_code` VALUES (341004000000, '徽州区', 3, 341000000000); -INSERT INTO `zz_area_code` VALUES (341021000000, '歙县', 3, 341000000000); -INSERT INTO `zz_area_code` VALUES (341022000000, '休宁县', 3, 341000000000); -INSERT INTO `zz_area_code` VALUES (341023000000, '黟县', 3, 341000000000); -INSERT INTO `zz_area_code` VALUES (341024000000, '祁门县', 3, 341000000000); -INSERT INTO `zz_area_code` VALUES (341100000000, '滁州市', 2, 340000000000); -INSERT INTO `zz_area_code` VALUES (341101000000, '市辖区', 3, 341100000000); -INSERT INTO `zz_area_code` VALUES (341102000000, '琅琊区', 3, 341100000000); -INSERT INTO `zz_area_code` VALUES (341103000000, '南谯区', 3, 341100000000); -INSERT INTO `zz_area_code` VALUES (341122000000, '来安县', 3, 341100000000); -INSERT INTO `zz_area_code` VALUES (341124000000, '全椒县', 3, 341100000000); -INSERT INTO `zz_area_code` VALUES (341125000000, '定远县', 3, 341100000000); -INSERT INTO `zz_area_code` VALUES (341126000000, '凤阳县', 3, 341100000000); -INSERT INTO `zz_area_code` VALUES (341171000000, '苏滁现代产业园', 3, 341100000000); -INSERT INTO `zz_area_code` VALUES (341172000000, '滁州经济技术开发区', 3, 341100000000); -INSERT INTO `zz_area_code` VALUES (341181000000, '天长市', 3, 341100000000); -INSERT INTO `zz_area_code` VALUES (341182000000, '明光市', 3, 341100000000); -INSERT INTO `zz_area_code` VALUES (341200000000, '阜阳市', 2, 340000000000); -INSERT INTO `zz_area_code` VALUES (341201000000, '市辖区', 3, 341200000000); -INSERT INTO `zz_area_code` VALUES (341202000000, '颍州区', 3, 341200000000); -INSERT INTO `zz_area_code` VALUES (341203000000, '颍东区', 3, 341200000000); -INSERT INTO `zz_area_code` VALUES (341204000000, '颍泉区', 3, 341200000000); -INSERT INTO `zz_area_code` VALUES (341221000000, '临泉县', 3, 341200000000); -INSERT INTO `zz_area_code` VALUES (341222000000, '太和县', 3, 341200000000); -INSERT INTO `zz_area_code` VALUES (341225000000, '阜南县', 3, 341200000000); -INSERT INTO `zz_area_code` VALUES (341226000000, '颍上县', 3, 341200000000); -INSERT INTO `zz_area_code` VALUES (341271000000, '阜阳合肥现代产业园区', 3, 341200000000); -INSERT INTO `zz_area_code` VALUES (341272000000, '阜阳经济技术开发区', 3, 341200000000); -INSERT INTO `zz_area_code` VALUES (341282000000, '界首市', 3, 341200000000); -INSERT INTO `zz_area_code` VALUES (341300000000, '宿州市', 2, 340000000000); -INSERT INTO `zz_area_code` VALUES (341301000000, '市辖区', 3, 341300000000); -INSERT INTO `zz_area_code` VALUES (341302000000, '埇桥区', 3, 341300000000); -INSERT INTO `zz_area_code` VALUES (341321000000, '砀山县', 3, 341300000000); -INSERT INTO `zz_area_code` VALUES (341322000000, '萧县', 3, 341300000000); -INSERT INTO `zz_area_code` VALUES (341323000000, '灵璧县', 3, 341300000000); -INSERT INTO `zz_area_code` VALUES (341324000000, '泗县', 3, 341300000000); -INSERT INTO `zz_area_code` VALUES (341371000000, '宿州马鞍山现代产业园区', 3, 341300000000); -INSERT INTO `zz_area_code` VALUES (341372000000, '宿州经济技术开发区', 3, 341300000000); -INSERT INTO `zz_area_code` VALUES (341500000000, '六安市', 2, 340000000000); -INSERT INTO `zz_area_code` VALUES (341501000000, '市辖区', 3, 341500000000); -INSERT INTO `zz_area_code` VALUES (341502000000, '金安区', 3, 341500000000); -INSERT INTO `zz_area_code` VALUES (341503000000, '裕安区', 3, 341500000000); -INSERT INTO `zz_area_code` VALUES (341504000000, '叶集区', 3, 341500000000); -INSERT INTO `zz_area_code` VALUES (341522000000, '霍邱县', 3, 341500000000); -INSERT INTO `zz_area_code` VALUES (341523000000, '舒城县', 3, 341500000000); -INSERT INTO `zz_area_code` VALUES (341524000000, '金寨县', 3, 341500000000); -INSERT INTO `zz_area_code` VALUES (341525000000, '霍山县', 3, 341500000000); -INSERT INTO `zz_area_code` VALUES (341600000000, '亳州市', 2, 340000000000); -INSERT INTO `zz_area_code` VALUES (341601000000, '市辖区', 3, 341600000000); -INSERT INTO `zz_area_code` VALUES (341602000000, '谯城区', 3, 341600000000); -INSERT INTO `zz_area_code` VALUES (341621000000, '涡阳县', 3, 341600000000); -INSERT INTO `zz_area_code` VALUES (341622000000, '蒙城县', 3, 341600000000); -INSERT INTO `zz_area_code` VALUES (341623000000, '利辛县', 3, 341600000000); -INSERT INTO `zz_area_code` VALUES (341700000000, '池州市', 2, 340000000000); -INSERT INTO `zz_area_code` VALUES (341701000000, '市辖区', 3, 341700000000); -INSERT INTO `zz_area_code` VALUES (341702000000, '贵池区', 3, 341700000000); -INSERT INTO `zz_area_code` VALUES (341721000000, '东至县', 3, 341700000000); -INSERT INTO `zz_area_code` VALUES (341722000000, '石台县', 3, 341700000000); -INSERT INTO `zz_area_code` VALUES (341723000000, '青阳县', 3, 341700000000); -INSERT INTO `zz_area_code` VALUES (341800000000, '宣城市', 2, 340000000000); -INSERT INTO `zz_area_code` VALUES (341801000000, '市辖区', 3, 341800000000); -INSERT INTO `zz_area_code` VALUES (341802000000, '宣州区', 3, 341800000000); -INSERT INTO `zz_area_code` VALUES (341821000000, '郎溪县', 3, 341800000000); -INSERT INTO `zz_area_code` VALUES (341822000000, '广德县', 3, 341800000000); -INSERT INTO `zz_area_code` VALUES (341823000000, '泾县', 3, 341800000000); -INSERT INTO `zz_area_code` VALUES (341824000000, '绩溪县', 3, 341800000000); -INSERT INTO `zz_area_code` VALUES (341825000000, '旌德县', 3, 341800000000); -INSERT INTO `zz_area_code` VALUES (341871000000, '宣城市经济开发区', 3, 341800000000); -INSERT INTO `zz_area_code` VALUES (341881000000, '宁国市', 3, 341800000000); -INSERT INTO `zz_area_code` VALUES (350000000000, '福建省', 1, NULL); -INSERT INTO `zz_area_code` VALUES (350100000000, '福州市', 2, 350000000000); -INSERT INTO `zz_area_code` VALUES (350101000000, '市辖区', 3, 350100000000); -INSERT INTO `zz_area_code` VALUES (350102000000, '鼓楼区', 3, 350100000000); -INSERT INTO `zz_area_code` VALUES (350103000000, '台江区', 3, 350100000000); -INSERT INTO `zz_area_code` VALUES (350104000000, '仓山区', 3, 350100000000); -INSERT INTO `zz_area_code` VALUES (350105000000, '马尾区', 3, 350100000000); -INSERT INTO `zz_area_code` VALUES (350111000000, '晋安区', 3, 350100000000); -INSERT INTO `zz_area_code` VALUES (350112000000, '长乐区', 3, 350100000000); -INSERT INTO `zz_area_code` VALUES (350121000000, '闽侯县', 3, 350100000000); -INSERT INTO `zz_area_code` VALUES (350122000000, '连江县', 3, 350100000000); -INSERT INTO `zz_area_code` VALUES (350123000000, '罗源县', 3, 350100000000); -INSERT INTO `zz_area_code` VALUES (350124000000, '闽清县', 3, 350100000000); -INSERT INTO `zz_area_code` VALUES (350125000000, '永泰县', 3, 350100000000); -INSERT INTO `zz_area_code` VALUES (350128000000, '平潭县', 3, 350100000000); -INSERT INTO `zz_area_code` VALUES (350181000000, '福清市', 3, 350100000000); -INSERT INTO `zz_area_code` VALUES (350200000000, '厦门市', 2, 350000000000); -INSERT INTO `zz_area_code` VALUES (350201000000, '市辖区', 3, 350200000000); -INSERT INTO `zz_area_code` VALUES (350203000000, '思明区', 3, 350200000000); -INSERT INTO `zz_area_code` VALUES (350205000000, '海沧区', 3, 350200000000); -INSERT INTO `zz_area_code` VALUES (350206000000, '湖里区', 3, 350200000000); -INSERT INTO `zz_area_code` VALUES (350211000000, '集美区', 3, 350200000000); -INSERT INTO `zz_area_code` VALUES (350212000000, '同安区', 3, 350200000000); -INSERT INTO `zz_area_code` VALUES (350213000000, '翔安区', 3, 350200000000); -INSERT INTO `zz_area_code` VALUES (350300000000, '莆田市', 2, 350000000000); -INSERT INTO `zz_area_code` VALUES (350301000000, '市辖区', 3, 350300000000); -INSERT INTO `zz_area_code` VALUES (350302000000, '城厢区', 3, 350300000000); -INSERT INTO `zz_area_code` VALUES (350303000000, '涵江区', 3, 350300000000); -INSERT INTO `zz_area_code` VALUES (350304000000, '荔城区', 3, 350300000000); -INSERT INTO `zz_area_code` VALUES (350305000000, '秀屿区', 3, 350300000000); -INSERT INTO `zz_area_code` VALUES (350322000000, '仙游县', 3, 350300000000); -INSERT INTO `zz_area_code` VALUES (350400000000, '三明市', 2, 350000000000); -INSERT INTO `zz_area_code` VALUES (350401000000, '市辖区', 3, 350400000000); -INSERT INTO `zz_area_code` VALUES (350402000000, '梅列区', 3, 350400000000); -INSERT INTO `zz_area_code` VALUES (350403000000, '三元区', 3, 350400000000); -INSERT INTO `zz_area_code` VALUES (350421000000, '明溪县', 3, 350400000000); -INSERT INTO `zz_area_code` VALUES (350423000000, '清流县', 3, 350400000000); -INSERT INTO `zz_area_code` VALUES (350424000000, '宁化县', 3, 350400000000); -INSERT INTO `zz_area_code` VALUES (350425000000, '大田县', 3, 350400000000); -INSERT INTO `zz_area_code` VALUES (350426000000, '尤溪县', 3, 350400000000); -INSERT INTO `zz_area_code` VALUES (350427000000, '沙县', 3, 350400000000); -INSERT INTO `zz_area_code` VALUES (350428000000, '将乐县', 3, 350400000000); -INSERT INTO `zz_area_code` VALUES (350429000000, '泰宁县', 3, 350400000000); -INSERT INTO `zz_area_code` VALUES (350430000000, '建宁县', 3, 350400000000); -INSERT INTO `zz_area_code` VALUES (350481000000, '永安市', 3, 350400000000); -INSERT INTO `zz_area_code` VALUES (350500000000, '泉州市', 2, 350000000000); -INSERT INTO `zz_area_code` VALUES (350501000000, '市辖区', 3, 350500000000); -INSERT INTO `zz_area_code` VALUES (350502000000, '鲤城区', 3, 350500000000); -INSERT INTO `zz_area_code` VALUES (350503000000, '丰泽区', 3, 350500000000); -INSERT INTO `zz_area_code` VALUES (350504000000, '洛江区', 3, 350500000000); -INSERT INTO `zz_area_code` VALUES (350505000000, '泉港区', 3, 350500000000); -INSERT INTO `zz_area_code` VALUES (350521000000, '惠安县', 3, 350500000000); -INSERT INTO `zz_area_code` VALUES (350524000000, '安溪县', 3, 350500000000); -INSERT INTO `zz_area_code` VALUES (350525000000, '永春县', 3, 350500000000); -INSERT INTO `zz_area_code` VALUES (350526000000, '德化县', 3, 350500000000); -INSERT INTO `zz_area_code` VALUES (350527000000, '金门县', 3, 350500000000); -INSERT INTO `zz_area_code` VALUES (350581000000, '石狮市', 3, 350500000000); -INSERT INTO `zz_area_code` VALUES (350582000000, '晋江市', 3, 350500000000); -INSERT INTO `zz_area_code` VALUES (350583000000, '南安市', 3, 350500000000); -INSERT INTO `zz_area_code` VALUES (350600000000, '漳州市', 2, 350000000000); -INSERT INTO `zz_area_code` VALUES (350601000000, '市辖区', 3, 350600000000); -INSERT INTO `zz_area_code` VALUES (350602000000, '芗城区', 3, 350600000000); -INSERT INTO `zz_area_code` VALUES (350603000000, '龙文区', 3, 350600000000); -INSERT INTO `zz_area_code` VALUES (350622000000, '云霄县', 3, 350600000000); -INSERT INTO `zz_area_code` VALUES (350623000000, '漳浦县', 3, 350600000000); -INSERT INTO `zz_area_code` VALUES (350624000000, '诏安县', 3, 350600000000); -INSERT INTO `zz_area_code` VALUES (350625000000, '长泰县', 3, 350600000000); -INSERT INTO `zz_area_code` VALUES (350626000000, '东山县', 3, 350600000000); -INSERT INTO `zz_area_code` VALUES (350627000000, '南靖县', 3, 350600000000); -INSERT INTO `zz_area_code` VALUES (350628000000, '平和县', 3, 350600000000); -INSERT INTO `zz_area_code` VALUES (350629000000, '华安县', 3, 350600000000); -INSERT INTO `zz_area_code` VALUES (350681000000, '龙海市', 3, 350600000000); -INSERT INTO `zz_area_code` VALUES (350700000000, '南平市', 2, 350000000000); -INSERT INTO `zz_area_code` VALUES (350701000000, '市辖区', 3, 350700000000); -INSERT INTO `zz_area_code` VALUES (350702000000, '延平区', 3, 350700000000); -INSERT INTO `zz_area_code` VALUES (350703000000, '建阳区', 3, 350700000000); -INSERT INTO `zz_area_code` VALUES (350721000000, '顺昌县', 3, 350700000000); -INSERT INTO `zz_area_code` VALUES (350722000000, '浦城县', 3, 350700000000); -INSERT INTO `zz_area_code` VALUES (350723000000, '光泽县', 3, 350700000000); -INSERT INTO `zz_area_code` VALUES (350724000000, '松溪县', 3, 350700000000); -INSERT INTO `zz_area_code` VALUES (350725000000, '政和县', 3, 350700000000); -INSERT INTO `zz_area_code` VALUES (350781000000, '邵武市', 3, 350700000000); -INSERT INTO `zz_area_code` VALUES (350782000000, '武夷山市', 3, 350700000000); -INSERT INTO `zz_area_code` VALUES (350783000000, '建瓯市', 3, 350700000000); -INSERT INTO `zz_area_code` VALUES (350800000000, '龙岩市', 2, 350000000000); -INSERT INTO `zz_area_code` VALUES (350801000000, '市辖区', 3, 350800000000); -INSERT INTO `zz_area_code` VALUES (350802000000, '新罗区', 3, 350800000000); -INSERT INTO `zz_area_code` VALUES (350803000000, '永定区', 3, 350800000000); -INSERT INTO `zz_area_code` VALUES (350821000000, '长汀县', 3, 350800000000); -INSERT INTO `zz_area_code` VALUES (350823000000, '上杭县', 3, 350800000000); -INSERT INTO `zz_area_code` VALUES (350824000000, '武平县', 3, 350800000000); -INSERT INTO `zz_area_code` VALUES (350825000000, '连城县', 3, 350800000000); -INSERT INTO `zz_area_code` VALUES (350881000000, '漳平市', 3, 350800000000); -INSERT INTO `zz_area_code` VALUES (350900000000, '宁德市', 2, 350000000000); -INSERT INTO `zz_area_code` VALUES (350901000000, '市辖区', 3, 350900000000); -INSERT INTO `zz_area_code` VALUES (350902000000, '蕉城区', 3, 350900000000); -INSERT INTO `zz_area_code` VALUES (350921000000, '霞浦县', 3, 350900000000); -INSERT INTO `zz_area_code` VALUES (350922000000, '古田县', 3, 350900000000); -INSERT INTO `zz_area_code` VALUES (350923000000, '屏南县', 3, 350900000000); -INSERT INTO `zz_area_code` VALUES (350924000000, '寿宁县', 3, 350900000000); -INSERT INTO `zz_area_code` VALUES (350925000000, '周宁县', 3, 350900000000); -INSERT INTO `zz_area_code` VALUES (350926000000, '柘荣县', 3, 350900000000); -INSERT INTO `zz_area_code` VALUES (350981000000, '福安市', 3, 350900000000); -INSERT INTO `zz_area_code` VALUES (350982000000, '福鼎市', 3, 350900000000); -INSERT INTO `zz_area_code` VALUES (360000000000, '江西省', 1, NULL); -INSERT INTO `zz_area_code` VALUES (360100000000, '南昌市', 2, 360000000000); -INSERT INTO `zz_area_code` VALUES (360101000000, '市辖区', 3, 360100000000); -INSERT INTO `zz_area_code` VALUES (360102000000, '东湖区', 3, 360100000000); -INSERT INTO `zz_area_code` VALUES (360103000000, '西湖区', 3, 360100000000); -INSERT INTO `zz_area_code` VALUES (360104000000, '青云谱区', 3, 360100000000); -INSERT INTO `zz_area_code` VALUES (360105000000, '湾里区', 3, 360100000000); -INSERT INTO `zz_area_code` VALUES (360111000000, '青山湖区', 3, 360100000000); -INSERT INTO `zz_area_code` VALUES (360112000000, '新建区', 3, 360100000000); -INSERT INTO `zz_area_code` VALUES (360121000000, '南昌县', 3, 360100000000); -INSERT INTO `zz_area_code` VALUES (360123000000, '安义县', 3, 360100000000); -INSERT INTO `zz_area_code` VALUES (360124000000, '进贤县', 3, 360100000000); -INSERT INTO `zz_area_code` VALUES (360200000000, '景德镇市', 2, 360000000000); -INSERT INTO `zz_area_code` VALUES (360201000000, '市辖区', 3, 360200000000); -INSERT INTO `zz_area_code` VALUES (360202000000, '昌江区', 3, 360200000000); -INSERT INTO `zz_area_code` VALUES (360203000000, '珠山区', 3, 360200000000); -INSERT INTO `zz_area_code` VALUES (360222000000, '浮梁县', 3, 360200000000); -INSERT INTO `zz_area_code` VALUES (360281000000, '乐平市', 3, 360200000000); -INSERT INTO `zz_area_code` VALUES (360300000000, '萍乡市', 2, 360000000000); -INSERT INTO `zz_area_code` VALUES (360301000000, '市辖区', 3, 360300000000); -INSERT INTO `zz_area_code` VALUES (360302000000, '安源区', 3, 360300000000); -INSERT INTO `zz_area_code` VALUES (360313000000, '湘东区', 3, 360300000000); -INSERT INTO `zz_area_code` VALUES (360321000000, '莲花县', 3, 360300000000); -INSERT INTO `zz_area_code` VALUES (360322000000, '上栗县', 3, 360300000000); -INSERT INTO `zz_area_code` VALUES (360323000000, '芦溪县', 3, 360300000000); -INSERT INTO `zz_area_code` VALUES (360400000000, '九江市', 2, 360000000000); -INSERT INTO `zz_area_code` VALUES (360401000000, '市辖区', 3, 360400000000); -INSERT INTO `zz_area_code` VALUES (360402000000, '濂溪区', 3, 360400000000); -INSERT INTO `zz_area_code` VALUES (360403000000, '浔阳区', 3, 360400000000); -INSERT INTO `zz_area_code` VALUES (360404000000, '柴桑区', 3, 360400000000); -INSERT INTO `zz_area_code` VALUES (360423000000, '武宁县', 3, 360400000000); -INSERT INTO `zz_area_code` VALUES (360424000000, '修水县', 3, 360400000000); -INSERT INTO `zz_area_code` VALUES (360425000000, '永修县', 3, 360400000000); -INSERT INTO `zz_area_code` VALUES (360426000000, '德安县', 3, 360400000000); -INSERT INTO `zz_area_code` VALUES (360428000000, '都昌县', 3, 360400000000); -INSERT INTO `zz_area_code` VALUES (360429000000, '湖口县', 3, 360400000000); -INSERT INTO `zz_area_code` VALUES (360430000000, '彭泽县', 3, 360400000000); -INSERT INTO `zz_area_code` VALUES (360481000000, '瑞昌市', 3, 360400000000); -INSERT INTO `zz_area_code` VALUES (360482000000, '共青城市', 3, 360400000000); -INSERT INTO `zz_area_code` VALUES (360483000000, '庐山市', 3, 360400000000); -INSERT INTO `zz_area_code` VALUES (360500000000, '新余市', 2, 360000000000); -INSERT INTO `zz_area_code` VALUES (360501000000, '市辖区', 3, 360500000000); -INSERT INTO `zz_area_code` VALUES (360502000000, '渝水区', 3, 360500000000); -INSERT INTO `zz_area_code` VALUES (360521000000, '分宜县', 3, 360500000000); -INSERT INTO `zz_area_code` VALUES (360600000000, '鹰潭市', 2, 360000000000); -INSERT INTO `zz_area_code` VALUES (360601000000, '市辖区', 3, 360600000000); -INSERT INTO `zz_area_code` VALUES (360602000000, '月湖区', 3, 360600000000); -INSERT INTO `zz_area_code` VALUES (360603000000, '余江区', 3, 360600000000); -INSERT INTO `zz_area_code` VALUES (360681000000, '贵溪市', 3, 360600000000); -INSERT INTO `zz_area_code` VALUES (360700000000, '赣州市', 2, 360000000000); -INSERT INTO `zz_area_code` VALUES (360701000000, '市辖区', 3, 360700000000); -INSERT INTO `zz_area_code` VALUES (360702000000, '章贡区', 3, 360700000000); -INSERT INTO `zz_area_code` VALUES (360703000000, '南康区', 3, 360700000000); -INSERT INTO `zz_area_code` VALUES (360704000000, '赣县区', 3, 360700000000); -INSERT INTO `zz_area_code` VALUES (360722000000, '信丰县', 3, 360700000000); -INSERT INTO `zz_area_code` VALUES (360723000000, '大余县', 3, 360700000000); -INSERT INTO `zz_area_code` VALUES (360724000000, '上犹县', 3, 360700000000); -INSERT INTO `zz_area_code` VALUES (360725000000, '崇义县', 3, 360700000000); -INSERT INTO `zz_area_code` VALUES (360726000000, '安远县', 3, 360700000000); -INSERT INTO `zz_area_code` VALUES (360727000000, '龙南县', 3, 360700000000); -INSERT INTO `zz_area_code` VALUES (360728000000, '定南县', 3, 360700000000); -INSERT INTO `zz_area_code` VALUES (360729000000, '全南县', 3, 360700000000); -INSERT INTO `zz_area_code` VALUES (360730000000, '宁都县', 3, 360700000000); -INSERT INTO `zz_area_code` VALUES (360731000000, '于都县', 3, 360700000000); -INSERT INTO `zz_area_code` VALUES (360732000000, '兴国县', 3, 360700000000); -INSERT INTO `zz_area_code` VALUES (360733000000, '会昌县', 3, 360700000000); -INSERT INTO `zz_area_code` VALUES (360734000000, '寻乌县', 3, 360700000000); -INSERT INTO `zz_area_code` VALUES (360735000000, '石城县', 3, 360700000000); -INSERT INTO `zz_area_code` VALUES (360781000000, '瑞金市', 3, 360700000000); -INSERT INTO `zz_area_code` VALUES (360800000000, '吉安市', 2, 360000000000); -INSERT INTO `zz_area_code` VALUES (360801000000, '市辖区', 3, 360800000000); -INSERT INTO `zz_area_code` VALUES (360802000000, '吉州区', 3, 360800000000); -INSERT INTO `zz_area_code` VALUES (360803000000, '青原区', 3, 360800000000); -INSERT INTO `zz_area_code` VALUES (360821000000, '吉安县', 3, 360800000000); -INSERT INTO `zz_area_code` VALUES (360822000000, '吉水县', 3, 360800000000); -INSERT INTO `zz_area_code` VALUES (360823000000, '峡江县', 3, 360800000000); -INSERT INTO `zz_area_code` VALUES (360824000000, '新干县', 3, 360800000000); -INSERT INTO `zz_area_code` VALUES (360825000000, '永丰县', 3, 360800000000); -INSERT INTO `zz_area_code` VALUES (360826000000, '泰和县', 3, 360800000000); -INSERT INTO `zz_area_code` VALUES (360827000000, '遂川县', 3, 360800000000); -INSERT INTO `zz_area_code` VALUES (360828000000, '万安县', 3, 360800000000); -INSERT INTO `zz_area_code` VALUES (360829000000, '安福县', 3, 360800000000); -INSERT INTO `zz_area_code` VALUES (360830000000, '永新县', 3, 360800000000); -INSERT INTO `zz_area_code` VALUES (360881000000, '井冈山市', 3, 360800000000); -INSERT INTO `zz_area_code` VALUES (360900000000, '宜春市', 2, 360000000000); -INSERT INTO `zz_area_code` VALUES (360901000000, '市辖区', 3, 360900000000); -INSERT INTO `zz_area_code` VALUES (360902000000, '袁州区', 3, 360900000000); -INSERT INTO `zz_area_code` VALUES (360921000000, '奉新县', 3, 360900000000); -INSERT INTO `zz_area_code` VALUES (360922000000, '万载县', 3, 360900000000); -INSERT INTO `zz_area_code` VALUES (360923000000, '上高县', 3, 360900000000); -INSERT INTO `zz_area_code` VALUES (360924000000, '宜丰县', 3, 360900000000); -INSERT INTO `zz_area_code` VALUES (360925000000, '靖安县', 3, 360900000000); -INSERT INTO `zz_area_code` VALUES (360926000000, '铜鼓县', 3, 360900000000); -INSERT INTO `zz_area_code` VALUES (360981000000, '丰城市', 3, 360900000000); -INSERT INTO `zz_area_code` VALUES (360982000000, '樟树市', 3, 360900000000); -INSERT INTO `zz_area_code` VALUES (360983000000, '高安市', 3, 360900000000); -INSERT INTO `zz_area_code` VALUES (361000000000, '抚州市', 2, 360000000000); -INSERT INTO `zz_area_code` VALUES (361001000000, '市辖区', 3, 361000000000); -INSERT INTO `zz_area_code` VALUES (361002000000, '临川区', 3, 361000000000); -INSERT INTO `zz_area_code` VALUES (361003000000, '东乡区', 3, 361000000000); -INSERT INTO `zz_area_code` VALUES (361021000000, '南城县', 3, 361000000000); -INSERT INTO `zz_area_code` VALUES (361022000000, '黎川县', 3, 361000000000); -INSERT INTO `zz_area_code` VALUES (361023000000, '南丰县', 3, 361000000000); -INSERT INTO `zz_area_code` VALUES (361024000000, '崇仁县', 3, 361000000000); -INSERT INTO `zz_area_code` VALUES (361025000000, '乐安县', 3, 361000000000); -INSERT INTO `zz_area_code` VALUES (361026000000, '宜黄县', 3, 361000000000); -INSERT INTO `zz_area_code` VALUES (361027000000, '金溪县', 3, 361000000000); -INSERT INTO `zz_area_code` VALUES (361028000000, '资溪县', 3, 361000000000); -INSERT INTO `zz_area_code` VALUES (361030000000, '广昌县', 3, 361000000000); -INSERT INTO `zz_area_code` VALUES (361100000000, '上饶市', 2, 360000000000); -INSERT INTO `zz_area_code` VALUES (361101000000, '市辖区', 3, 361100000000); -INSERT INTO `zz_area_code` VALUES (361102000000, '信州区', 3, 361100000000); -INSERT INTO `zz_area_code` VALUES (361103000000, '广丰区', 3, 361100000000); -INSERT INTO `zz_area_code` VALUES (361121000000, '上饶县', 3, 361100000000); -INSERT INTO `zz_area_code` VALUES (361123000000, '玉山县', 3, 361100000000); -INSERT INTO `zz_area_code` VALUES (361124000000, '铅山县', 3, 361100000000); -INSERT INTO `zz_area_code` VALUES (361125000000, '横峰县', 3, 361100000000); -INSERT INTO `zz_area_code` VALUES (361126000000, '弋阳县', 3, 361100000000); -INSERT INTO `zz_area_code` VALUES (361127000000, '余干县', 3, 361100000000); -INSERT INTO `zz_area_code` VALUES (361128000000, '鄱阳县', 3, 361100000000); -INSERT INTO `zz_area_code` VALUES (361129000000, '万年县', 3, 361100000000); -INSERT INTO `zz_area_code` VALUES (361130000000, '婺源县', 3, 361100000000); -INSERT INTO `zz_area_code` VALUES (361181000000, '德兴市', 3, 361100000000); -INSERT INTO `zz_area_code` VALUES (370000000000, '山东省', 1, NULL); -INSERT INTO `zz_area_code` VALUES (370100000000, '济南市', 2, 370000000000); -INSERT INTO `zz_area_code` VALUES (370101000000, '市辖区', 3, 370100000000); -INSERT INTO `zz_area_code` VALUES (370102000000, '历下区', 3, 370100000000); -INSERT INTO `zz_area_code` VALUES (370103000000, '市中区', 3, 370100000000); -INSERT INTO `zz_area_code` VALUES (370104000000, '槐荫区', 3, 370100000000); -INSERT INTO `zz_area_code` VALUES (370105000000, '天桥区', 3, 370100000000); -INSERT INTO `zz_area_code` VALUES (370112000000, '历城区', 3, 370100000000); -INSERT INTO `zz_area_code` VALUES (370113000000, '长清区', 3, 370100000000); -INSERT INTO `zz_area_code` VALUES (370114000000, '章丘区', 3, 370100000000); -INSERT INTO `zz_area_code` VALUES (370115000000, '济阳区', 3, 370100000000); -INSERT INTO `zz_area_code` VALUES (370124000000, '平阴县', 3, 370100000000); -INSERT INTO `zz_area_code` VALUES (370126000000, '商河县', 3, 370100000000); -INSERT INTO `zz_area_code` VALUES (370171000000, '济南高新技术产业开发区', 3, 370100000000); -INSERT INTO `zz_area_code` VALUES (370200000000, '青岛市', 2, 370000000000); -INSERT INTO `zz_area_code` VALUES (370201000000, '市辖区', 3, 370200000000); -INSERT INTO `zz_area_code` VALUES (370202000000, '市南区', 3, 370200000000); -INSERT INTO `zz_area_code` VALUES (370203000000, '市北区', 3, 370200000000); -INSERT INTO `zz_area_code` VALUES (370211000000, '黄岛区', 3, 370200000000); -INSERT INTO `zz_area_code` VALUES (370212000000, '崂山区', 3, 370200000000); -INSERT INTO `zz_area_code` VALUES (370213000000, '李沧区', 3, 370200000000); -INSERT INTO `zz_area_code` VALUES (370214000000, '城阳区', 3, 370200000000); -INSERT INTO `zz_area_code` VALUES (370215000000, '即墨区', 3, 370200000000); -INSERT INTO `zz_area_code` VALUES (370271000000, '青岛高新技术产业开发区', 3, 370200000000); -INSERT INTO `zz_area_code` VALUES (370281000000, '胶州市', 3, 370200000000); -INSERT INTO `zz_area_code` VALUES (370283000000, '平度市', 3, 370200000000); -INSERT INTO `zz_area_code` VALUES (370285000000, '莱西市', 3, 370200000000); -INSERT INTO `zz_area_code` VALUES (370300000000, '淄博市', 2, 370000000000); -INSERT INTO `zz_area_code` VALUES (370301000000, '市辖区', 3, 370300000000); -INSERT INTO `zz_area_code` VALUES (370302000000, '淄川区', 3, 370300000000); -INSERT INTO `zz_area_code` VALUES (370303000000, '张店区', 3, 370300000000); -INSERT INTO `zz_area_code` VALUES (370304000000, '博山区', 3, 370300000000); -INSERT INTO `zz_area_code` VALUES (370305000000, '临淄区', 3, 370300000000); -INSERT INTO `zz_area_code` VALUES (370306000000, '周村区', 3, 370300000000); -INSERT INTO `zz_area_code` VALUES (370321000000, '桓台县', 3, 370300000000); -INSERT INTO `zz_area_code` VALUES (370322000000, '高青县', 3, 370300000000); -INSERT INTO `zz_area_code` VALUES (370323000000, '沂源县', 3, 370300000000); -INSERT INTO `zz_area_code` VALUES (370400000000, '枣庄市', 2, 370000000000); -INSERT INTO `zz_area_code` VALUES (370401000000, '市辖区', 3, 370400000000); -INSERT INTO `zz_area_code` VALUES (370402000000, '市中区', 3, 370400000000); -INSERT INTO `zz_area_code` VALUES (370403000000, '薛城区', 3, 370400000000); -INSERT INTO `zz_area_code` VALUES (370404000000, '峄城区', 3, 370400000000); -INSERT INTO `zz_area_code` VALUES (370405000000, '台儿庄区', 3, 370400000000); -INSERT INTO `zz_area_code` VALUES (370406000000, '山亭区', 3, 370400000000); -INSERT INTO `zz_area_code` VALUES (370481000000, '滕州市', 3, 370400000000); -INSERT INTO `zz_area_code` VALUES (370500000000, '东营市', 2, 370000000000); -INSERT INTO `zz_area_code` VALUES (370501000000, '市辖区', 3, 370500000000); -INSERT INTO `zz_area_code` VALUES (370502000000, '东营区', 3, 370500000000); -INSERT INTO `zz_area_code` VALUES (370503000000, '河口区', 3, 370500000000); -INSERT INTO `zz_area_code` VALUES (370505000000, '垦利区', 3, 370500000000); -INSERT INTO `zz_area_code` VALUES (370522000000, '利津县', 3, 370500000000); -INSERT INTO `zz_area_code` VALUES (370523000000, '广饶县', 3, 370500000000); -INSERT INTO `zz_area_code` VALUES (370571000000, '东营经济技术开发区', 3, 370500000000); -INSERT INTO `zz_area_code` VALUES (370572000000, '东营港经济开发区', 3, 370500000000); -INSERT INTO `zz_area_code` VALUES (370600000000, '烟台市', 2, 370000000000); -INSERT INTO `zz_area_code` VALUES (370601000000, '市辖区', 3, 370600000000); -INSERT INTO `zz_area_code` VALUES (370602000000, '芝罘区', 3, 370600000000); -INSERT INTO `zz_area_code` VALUES (370611000000, '福山区', 3, 370600000000); -INSERT INTO `zz_area_code` VALUES (370612000000, '牟平区', 3, 370600000000); -INSERT INTO `zz_area_code` VALUES (370613000000, '莱山区', 3, 370600000000); -INSERT INTO `zz_area_code` VALUES (370634000000, '长岛县', 3, 370600000000); -INSERT INTO `zz_area_code` VALUES (370671000000, '烟台高新技术产业开发区', 3, 370600000000); -INSERT INTO `zz_area_code` VALUES (370672000000, '烟台经济技术开发区', 3, 370600000000); -INSERT INTO `zz_area_code` VALUES (370681000000, '龙口市', 3, 370600000000); -INSERT INTO `zz_area_code` VALUES (370682000000, '莱阳市', 3, 370600000000); -INSERT INTO `zz_area_code` VALUES (370683000000, '莱州市', 3, 370600000000); -INSERT INTO `zz_area_code` VALUES (370684000000, '蓬莱市', 3, 370600000000); -INSERT INTO `zz_area_code` VALUES (370685000000, '招远市', 3, 370600000000); -INSERT INTO `zz_area_code` VALUES (370686000000, '栖霞市', 3, 370600000000); -INSERT INTO `zz_area_code` VALUES (370687000000, '海阳市', 3, 370600000000); -INSERT INTO `zz_area_code` VALUES (370700000000, '潍坊市', 2, 370000000000); -INSERT INTO `zz_area_code` VALUES (370701000000, '市辖区', 3, 370700000000); -INSERT INTO `zz_area_code` VALUES (370702000000, '潍城区', 3, 370700000000); -INSERT INTO `zz_area_code` VALUES (370703000000, '寒亭区', 3, 370700000000); -INSERT INTO `zz_area_code` VALUES (370704000000, '坊子区', 3, 370700000000); -INSERT INTO `zz_area_code` VALUES (370705000000, '奎文区', 3, 370700000000); -INSERT INTO `zz_area_code` VALUES (370724000000, '临朐县', 3, 370700000000); -INSERT INTO `zz_area_code` VALUES (370725000000, '昌乐县', 3, 370700000000); -INSERT INTO `zz_area_code` VALUES (370772000000, '潍坊滨海经济技术开发区', 3, 370700000000); -INSERT INTO `zz_area_code` VALUES (370781000000, '青州市', 3, 370700000000); -INSERT INTO `zz_area_code` VALUES (370782000000, '诸城市', 3, 370700000000); -INSERT INTO `zz_area_code` VALUES (370783000000, '寿光市', 3, 370700000000); -INSERT INTO `zz_area_code` VALUES (370784000000, '安丘市', 3, 370700000000); -INSERT INTO `zz_area_code` VALUES (370785000000, '高密市', 3, 370700000000); -INSERT INTO `zz_area_code` VALUES (370786000000, '昌邑市', 3, 370700000000); -INSERT INTO `zz_area_code` VALUES (370800000000, '济宁市', 2, 370000000000); -INSERT INTO `zz_area_code` VALUES (370801000000, '市辖区', 3, 370800000000); -INSERT INTO `zz_area_code` VALUES (370811000000, '任城区', 3, 370800000000); -INSERT INTO `zz_area_code` VALUES (370812000000, '兖州区', 3, 370800000000); -INSERT INTO `zz_area_code` VALUES (370826000000, '微山县', 3, 370800000000); -INSERT INTO `zz_area_code` VALUES (370827000000, '鱼台县', 3, 370800000000); -INSERT INTO `zz_area_code` VALUES (370828000000, '金乡县', 3, 370800000000); -INSERT INTO `zz_area_code` VALUES (370829000000, '嘉祥县', 3, 370800000000); -INSERT INTO `zz_area_code` VALUES (370830000000, '汶上县', 3, 370800000000); -INSERT INTO `zz_area_code` VALUES (370831000000, '泗水县', 3, 370800000000); -INSERT INTO `zz_area_code` VALUES (370832000000, '梁山县', 3, 370800000000); -INSERT INTO `zz_area_code` VALUES (370871000000, '济宁高新技术产业开发区', 3, 370800000000); -INSERT INTO `zz_area_code` VALUES (370881000000, '曲阜市', 3, 370800000000); -INSERT INTO `zz_area_code` VALUES (370883000000, '邹城市', 3, 370800000000); -INSERT INTO `zz_area_code` VALUES (370900000000, '泰安市', 2, 370000000000); -INSERT INTO `zz_area_code` VALUES (370901000000, '市辖区', 3, 370900000000); -INSERT INTO `zz_area_code` VALUES (370902000000, '泰山区', 3, 370900000000); -INSERT INTO `zz_area_code` VALUES (370911000000, '岱岳区', 3, 370900000000); -INSERT INTO `zz_area_code` VALUES (370921000000, '宁阳县', 3, 370900000000); -INSERT INTO `zz_area_code` VALUES (370923000000, '东平县', 3, 370900000000); -INSERT INTO `zz_area_code` VALUES (370982000000, '新泰市', 3, 370900000000); -INSERT INTO `zz_area_code` VALUES (370983000000, '肥城市', 3, 370900000000); -INSERT INTO `zz_area_code` VALUES (371000000000, '威海市', 2, 370000000000); -INSERT INTO `zz_area_code` VALUES (371001000000, '市辖区', 3, 371000000000); -INSERT INTO `zz_area_code` VALUES (371002000000, '环翠区', 3, 371000000000); -INSERT INTO `zz_area_code` VALUES (371003000000, '文登区', 3, 371000000000); -INSERT INTO `zz_area_code` VALUES (371071000000, '威海火炬高技术产业开发区', 3, 371000000000); -INSERT INTO `zz_area_code` VALUES (371072000000, '威海经济技术开发区', 3, 371000000000); -INSERT INTO `zz_area_code` VALUES (371073000000, '威海临港经济技术开发区', 3, 371000000000); -INSERT INTO `zz_area_code` VALUES (371082000000, '荣成市', 3, 371000000000); -INSERT INTO `zz_area_code` VALUES (371083000000, '乳山市', 3, 371000000000); -INSERT INTO `zz_area_code` VALUES (371100000000, '日照市', 2, 370000000000); -INSERT INTO `zz_area_code` VALUES (371101000000, '市辖区', 3, 371100000000); -INSERT INTO `zz_area_code` VALUES (371102000000, '东港区', 3, 371100000000); -INSERT INTO `zz_area_code` VALUES (371103000000, '岚山区', 3, 371100000000); -INSERT INTO `zz_area_code` VALUES (371121000000, '五莲县', 3, 371100000000); -INSERT INTO `zz_area_code` VALUES (371122000000, '莒县', 3, 371100000000); -INSERT INTO `zz_area_code` VALUES (371171000000, '日照经济技术开发区', 3, 371100000000); -INSERT INTO `zz_area_code` VALUES (371200000000, '莱芜市', 2, 370000000000); -INSERT INTO `zz_area_code` VALUES (371201000000, '市辖区', 3, 371200000000); -INSERT INTO `zz_area_code` VALUES (371202000000, '莱城区', 3, 371200000000); -INSERT INTO `zz_area_code` VALUES (371203000000, '钢城区', 3, 371200000000); -INSERT INTO `zz_area_code` VALUES (371300000000, '临沂市', 2, 370000000000); -INSERT INTO `zz_area_code` VALUES (371301000000, '市辖区', 3, 371300000000); -INSERT INTO `zz_area_code` VALUES (371302000000, '兰山区', 3, 371300000000); -INSERT INTO `zz_area_code` VALUES (371311000000, '罗庄区', 3, 371300000000); -INSERT INTO `zz_area_code` VALUES (371312000000, '河东区', 3, 371300000000); -INSERT INTO `zz_area_code` VALUES (371321000000, '沂南县', 3, 371300000000); -INSERT INTO `zz_area_code` VALUES (371322000000, '郯城县', 3, 371300000000); -INSERT INTO `zz_area_code` VALUES (371323000000, '沂水县', 3, 371300000000); -INSERT INTO `zz_area_code` VALUES (371324000000, '兰陵县', 3, 371300000000); -INSERT INTO `zz_area_code` VALUES (371325000000, '费县', 3, 371300000000); -INSERT INTO `zz_area_code` VALUES (371326000000, '平邑县', 3, 371300000000); -INSERT INTO `zz_area_code` VALUES (371327000000, '莒南县', 3, 371300000000); -INSERT INTO `zz_area_code` VALUES (371328000000, '蒙阴县', 3, 371300000000); -INSERT INTO `zz_area_code` VALUES (371329000000, '临沭县', 3, 371300000000); -INSERT INTO `zz_area_code` VALUES (371371000000, '临沂高新技术产业开发区', 3, 371300000000); -INSERT INTO `zz_area_code` VALUES (371372000000, '临沂经济技术开发区', 3, 371300000000); -INSERT INTO `zz_area_code` VALUES (371373000000, '临沂临港经济开发区', 3, 371300000000); -INSERT INTO `zz_area_code` VALUES (371400000000, '德州市', 2, 370000000000); -INSERT INTO `zz_area_code` VALUES (371401000000, '市辖区', 3, 371400000000); -INSERT INTO `zz_area_code` VALUES (371402000000, '德城区', 3, 371400000000); -INSERT INTO `zz_area_code` VALUES (371403000000, '陵城区', 3, 371400000000); -INSERT INTO `zz_area_code` VALUES (371422000000, '宁津县', 3, 371400000000); -INSERT INTO `zz_area_code` VALUES (371423000000, '庆云县', 3, 371400000000); -INSERT INTO `zz_area_code` VALUES (371424000000, '临邑县', 3, 371400000000); -INSERT INTO `zz_area_code` VALUES (371425000000, '齐河县', 3, 371400000000); -INSERT INTO `zz_area_code` VALUES (371426000000, '平原县', 3, 371400000000); -INSERT INTO `zz_area_code` VALUES (371427000000, '夏津县', 3, 371400000000); -INSERT INTO `zz_area_code` VALUES (371428000000, '武城县', 3, 371400000000); -INSERT INTO `zz_area_code` VALUES (371471000000, '德州经济技术开发区', 3, 371400000000); -INSERT INTO `zz_area_code` VALUES (371472000000, '德州运河经济开发区', 3, 371400000000); -INSERT INTO `zz_area_code` VALUES (371481000000, '乐陵市', 3, 371400000000); -INSERT INTO `zz_area_code` VALUES (371482000000, '禹城市', 3, 371400000000); -INSERT INTO `zz_area_code` VALUES (371500000000, '聊城市', 2, 370000000000); -INSERT INTO `zz_area_code` VALUES (371501000000, '市辖区', 3, 371500000000); -INSERT INTO `zz_area_code` VALUES (371502000000, '东昌府区', 3, 371500000000); -INSERT INTO `zz_area_code` VALUES (371521000000, '阳谷县', 3, 371500000000); -INSERT INTO `zz_area_code` VALUES (371522000000, '莘县', 3, 371500000000); -INSERT INTO `zz_area_code` VALUES (371523000000, '茌平县', 3, 371500000000); -INSERT INTO `zz_area_code` VALUES (371524000000, '东阿县', 3, 371500000000); -INSERT INTO `zz_area_code` VALUES (371525000000, '冠县', 3, 371500000000); -INSERT INTO `zz_area_code` VALUES (371526000000, '高唐县', 3, 371500000000); -INSERT INTO `zz_area_code` VALUES (371581000000, '临清市', 3, 371500000000); -INSERT INTO `zz_area_code` VALUES (371600000000, '滨州市', 2, 370000000000); -INSERT INTO `zz_area_code` VALUES (371601000000, '市辖区', 3, 371600000000); -INSERT INTO `zz_area_code` VALUES (371602000000, '滨城区', 3, 371600000000); -INSERT INTO `zz_area_code` VALUES (371603000000, '沾化区', 3, 371600000000); -INSERT INTO `zz_area_code` VALUES (371621000000, '惠民县', 3, 371600000000); -INSERT INTO `zz_area_code` VALUES (371622000000, '阳信县', 3, 371600000000); -INSERT INTO `zz_area_code` VALUES (371623000000, '无棣县', 3, 371600000000); -INSERT INTO `zz_area_code` VALUES (371625000000, '博兴县', 3, 371600000000); -INSERT INTO `zz_area_code` VALUES (371681000000, '邹平市', 3, 371600000000); -INSERT INTO `zz_area_code` VALUES (371700000000, '菏泽市', 2, 370000000000); -INSERT INTO `zz_area_code` VALUES (371701000000, '市辖区', 3, 371700000000); -INSERT INTO `zz_area_code` VALUES (371702000000, '牡丹区', 3, 371700000000); -INSERT INTO `zz_area_code` VALUES (371703000000, '定陶区', 3, 371700000000); -INSERT INTO `zz_area_code` VALUES (371721000000, '曹县', 3, 371700000000); -INSERT INTO `zz_area_code` VALUES (371722000000, '单县', 3, 371700000000); -INSERT INTO `zz_area_code` VALUES (371723000000, '成武县', 3, 371700000000); -INSERT INTO `zz_area_code` VALUES (371724000000, '巨野县', 3, 371700000000); -INSERT INTO `zz_area_code` VALUES (371725000000, '郓城县', 3, 371700000000); -INSERT INTO `zz_area_code` VALUES (371726000000, '鄄城县', 3, 371700000000); -INSERT INTO `zz_area_code` VALUES (371728000000, '东明县', 3, 371700000000); -INSERT INTO `zz_area_code` VALUES (371771000000, '菏泽经济技术开发区', 3, 371700000000); -INSERT INTO `zz_area_code` VALUES (371772000000, '菏泽高新技术开发区', 3, 371700000000); -INSERT INTO `zz_area_code` VALUES (410000000000, '河南省', 1, NULL); -INSERT INTO `zz_area_code` VALUES (410100000000, '郑州市', 2, 410000000000); -INSERT INTO `zz_area_code` VALUES (410101000000, '市辖区', 3, 410100000000); -INSERT INTO `zz_area_code` VALUES (410102000000, '中原区', 3, 410100000000); -INSERT INTO `zz_area_code` VALUES (410103000000, '二七区', 3, 410100000000); -INSERT INTO `zz_area_code` VALUES (410104000000, '管城回族区', 3, 410100000000); -INSERT INTO `zz_area_code` VALUES (410105000000, '金水区', 3, 410100000000); -INSERT INTO `zz_area_code` VALUES (410106000000, '上街区', 3, 410100000000); -INSERT INTO `zz_area_code` VALUES (410108000000, '惠济区', 3, 410100000000); -INSERT INTO `zz_area_code` VALUES (410122000000, '中牟县', 3, 410100000000); -INSERT INTO `zz_area_code` VALUES (410171000000, '郑州经济技术开发区', 3, 410100000000); -INSERT INTO `zz_area_code` VALUES (410172000000, '郑州高新技术产业开发区', 3, 410100000000); -INSERT INTO `zz_area_code` VALUES (410173000000, '郑州航空港经济综合实验区', 3, 410100000000); -INSERT INTO `zz_area_code` VALUES (410181000000, '巩义市', 3, 410100000000); -INSERT INTO `zz_area_code` VALUES (410182000000, '荥阳市', 3, 410100000000); -INSERT INTO `zz_area_code` VALUES (410183000000, '新密市', 3, 410100000000); -INSERT INTO `zz_area_code` VALUES (410184000000, '新郑市', 3, 410100000000); -INSERT INTO `zz_area_code` VALUES (410185000000, '登封市', 3, 410100000000); -INSERT INTO `zz_area_code` VALUES (410200000000, '开封市', 2, 410000000000); -INSERT INTO `zz_area_code` VALUES (410201000000, '市辖区', 3, 410200000000); -INSERT INTO `zz_area_code` VALUES (410202000000, '龙亭区', 3, 410200000000); -INSERT INTO `zz_area_code` VALUES (410203000000, '顺河回族区', 3, 410200000000); -INSERT INTO `zz_area_code` VALUES (410204000000, '鼓楼区', 3, 410200000000); -INSERT INTO `zz_area_code` VALUES (410205000000, '禹王台区', 3, 410200000000); -INSERT INTO `zz_area_code` VALUES (410212000000, '祥符区', 3, 410200000000); -INSERT INTO `zz_area_code` VALUES (410221000000, '杞县', 3, 410200000000); -INSERT INTO `zz_area_code` VALUES (410222000000, '通许县', 3, 410200000000); -INSERT INTO `zz_area_code` VALUES (410223000000, '尉氏县', 3, 410200000000); -INSERT INTO `zz_area_code` VALUES (410225000000, '兰考县', 3, 410200000000); -INSERT INTO `zz_area_code` VALUES (410300000000, '洛阳市', 2, 410000000000); -INSERT INTO `zz_area_code` VALUES (410301000000, '市辖区', 3, 410300000000); -INSERT INTO `zz_area_code` VALUES (410302000000, '老城区', 3, 410300000000); -INSERT INTO `zz_area_code` VALUES (410303000000, '西工区', 3, 410300000000); -INSERT INTO `zz_area_code` VALUES (410304000000, '瀍河回族区', 3, 410300000000); -INSERT INTO `zz_area_code` VALUES (410305000000, '涧西区', 3, 410300000000); -INSERT INTO `zz_area_code` VALUES (410306000000, '吉利区', 3, 410300000000); -INSERT INTO `zz_area_code` VALUES (410311000000, '洛龙区', 3, 410300000000); -INSERT INTO `zz_area_code` VALUES (410322000000, '孟津县', 3, 410300000000); -INSERT INTO `zz_area_code` VALUES (410323000000, '新安县', 3, 410300000000); -INSERT INTO `zz_area_code` VALUES (410324000000, '栾川县', 3, 410300000000); -INSERT INTO `zz_area_code` VALUES (410325000000, '嵩县', 3, 410300000000); -INSERT INTO `zz_area_code` VALUES (410326000000, '汝阳县', 3, 410300000000); -INSERT INTO `zz_area_code` VALUES (410327000000, '宜阳县', 3, 410300000000); -INSERT INTO `zz_area_code` VALUES (410328000000, '洛宁县', 3, 410300000000); -INSERT INTO `zz_area_code` VALUES (410329000000, '伊川县', 3, 410300000000); -INSERT INTO `zz_area_code` VALUES (410371000000, '洛阳高新技术产业开发区', 3, 410300000000); -INSERT INTO `zz_area_code` VALUES (410381000000, '偃师市', 3, 410300000000); -INSERT INTO `zz_area_code` VALUES (410400000000, '平顶山市', 2, 410000000000); -INSERT INTO `zz_area_code` VALUES (410401000000, '市辖区', 3, 410400000000); -INSERT INTO `zz_area_code` VALUES (410402000000, '新华区', 3, 410400000000); -INSERT INTO `zz_area_code` VALUES (410403000000, '卫东区', 3, 410400000000); -INSERT INTO `zz_area_code` VALUES (410404000000, '石龙区', 3, 410400000000); -INSERT INTO `zz_area_code` VALUES (410411000000, '湛河区', 3, 410400000000); -INSERT INTO `zz_area_code` VALUES (410421000000, '宝丰县', 3, 410400000000); -INSERT INTO `zz_area_code` VALUES (410422000000, '叶县', 3, 410400000000); -INSERT INTO `zz_area_code` VALUES (410423000000, '鲁山县', 3, 410400000000); -INSERT INTO `zz_area_code` VALUES (410425000000, '郏县', 3, 410400000000); -INSERT INTO `zz_area_code` VALUES (410471000000, '平顶山高新技术产业开发区', 3, 410400000000); -INSERT INTO `zz_area_code` VALUES (410472000000, '平顶山市新城区', 3, 410400000000); -INSERT INTO `zz_area_code` VALUES (410481000000, '舞钢市', 3, 410400000000); -INSERT INTO `zz_area_code` VALUES (410482000000, '汝州市', 3, 410400000000); -INSERT INTO `zz_area_code` VALUES (410500000000, '安阳市', 2, 410000000000); -INSERT INTO `zz_area_code` VALUES (410501000000, '市辖区', 3, 410500000000); -INSERT INTO `zz_area_code` VALUES (410502000000, '文峰区', 3, 410500000000); -INSERT INTO `zz_area_code` VALUES (410503000000, '北关区', 3, 410500000000); -INSERT INTO `zz_area_code` VALUES (410505000000, '殷都区', 3, 410500000000); -INSERT INTO `zz_area_code` VALUES (410506000000, '龙安区', 3, 410500000000); -INSERT INTO `zz_area_code` VALUES (410522000000, '安阳县', 3, 410500000000); -INSERT INTO `zz_area_code` VALUES (410523000000, '汤阴县', 3, 410500000000); -INSERT INTO `zz_area_code` VALUES (410526000000, '滑县', 3, 410500000000); -INSERT INTO `zz_area_code` VALUES (410527000000, '内黄县', 3, 410500000000); -INSERT INTO `zz_area_code` VALUES (410571000000, '安阳高新技术产业开发区', 3, 410500000000); -INSERT INTO `zz_area_code` VALUES (410581000000, '林州市', 3, 410500000000); -INSERT INTO `zz_area_code` VALUES (410600000000, '鹤壁市', 2, 410000000000); -INSERT INTO `zz_area_code` VALUES (410601000000, '市辖区', 3, 410600000000); -INSERT INTO `zz_area_code` VALUES (410602000000, '鹤山区', 3, 410600000000); -INSERT INTO `zz_area_code` VALUES (410603000000, '山城区', 3, 410600000000); -INSERT INTO `zz_area_code` VALUES (410611000000, '淇滨区', 3, 410600000000); -INSERT INTO `zz_area_code` VALUES (410621000000, '浚县', 3, 410600000000); -INSERT INTO `zz_area_code` VALUES (410622000000, '淇县', 3, 410600000000); -INSERT INTO `zz_area_code` VALUES (410671000000, '鹤壁经济技术开发区', 3, 410600000000); -INSERT INTO `zz_area_code` VALUES (410700000000, '新乡市', 2, 410000000000); -INSERT INTO `zz_area_code` VALUES (410701000000, '市辖区', 3, 410700000000); -INSERT INTO `zz_area_code` VALUES (410702000000, '红旗区', 3, 410700000000); -INSERT INTO `zz_area_code` VALUES (410703000000, '卫滨区', 3, 410700000000); -INSERT INTO `zz_area_code` VALUES (410704000000, '凤泉区', 3, 410700000000); -INSERT INTO `zz_area_code` VALUES (410711000000, '牧野区', 3, 410700000000); -INSERT INTO `zz_area_code` VALUES (410721000000, '新乡县', 3, 410700000000); -INSERT INTO `zz_area_code` VALUES (410724000000, '获嘉县', 3, 410700000000); -INSERT INTO `zz_area_code` VALUES (410725000000, '原阳县', 3, 410700000000); -INSERT INTO `zz_area_code` VALUES (410726000000, '延津县', 3, 410700000000); -INSERT INTO `zz_area_code` VALUES (410727000000, '封丘县', 3, 410700000000); -INSERT INTO `zz_area_code` VALUES (410728000000, '长垣县', 3, 410700000000); -INSERT INTO `zz_area_code` VALUES (410771000000, '新乡高新技术产业开发区', 3, 410700000000); -INSERT INTO `zz_area_code` VALUES (410772000000, '新乡经济技术开发区', 3, 410700000000); -INSERT INTO `zz_area_code` VALUES (410773000000, '新乡市平原城乡一体化示范区', 3, 410700000000); -INSERT INTO `zz_area_code` VALUES (410781000000, '卫辉市', 3, 410700000000); -INSERT INTO `zz_area_code` VALUES (410782000000, '辉县市', 3, 410700000000); -INSERT INTO `zz_area_code` VALUES (410800000000, '焦作市', 2, 410000000000); -INSERT INTO `zz_area_code` VALUES (410801000000, '市辖区', 3, 410800000000); -INSERT INTO `zz_area_code` VALUES (410802000000, '解放区', 3, 410800000000); -INSERT INTO `zz_area_code` VALUES (410803000000, '中站区', 3, 410800000000); -INSERT INTO `zz_area_code` VALUES (410804000000, '马村区', 3, 410800000000); -INSERT INTO `zz_area_code` VALUES (410811000000, '山阳区', 3, 410800000000); -INSERT INTO `zz_area_code` VALUES (410821000000, '修武县', 3, 410800000000); -INSERT INTO `zz_area_code` VALUES (410822000000, '博爱县', 3, 410800000000); -INSERT INTO `zz_area_code` VALUES (410823000000, '武陟县', 3, 410800000000); -INSERT INTO `zz_area_code` VALUES (410825000000, '温县', 3, 410800000000); -INSERT INTO `zz_area_code` VALUES (410871000000, '焦作城乡一体化示范区', 3, 410800000000); -INSERT INTO `zz_area_code` VALUES (410882000000, '沁阳市', 3, 410800000000); -INSERT INTO `zz_area_code` VALUES (410883000000, '孟州市', 3, 410800000000); -INSERT INTO `zz_area_code` VALUES (410900000000, '濮阳市', 2, 410000000000); -INSERT INTO `zz_area_code` VALUES (410901000000, '市辖区', 3, 410900000000); -INSERT INTO `zz_area_code` VALUES (410902000000, '华龙区', 3, 410900000000); -INSERT INTO `zz_area_code` VALUES (410922000000, '清丰县', 3, 410900000000); -INSERT INTO `zz_area_code` VALUES (410923000000, '南乐县', 3, 410900000000); -INSERT INTO `zz_area_code` VALUES (410926000000, '范县', 3, 410900000000); -INSERT INTO `zz_area_code` VALUES (410927000000, '台前县', 3, 410900000000); -INSERT INTO `zz_area_code` VALUES (410928000000, '濮阳县', 3, 410900000000); -INSERT INTO `zz_area_code` VALUES (410971000000, '河南濮阳工业园区', 3, 410900000000); -INSERT INTO `zz_area_code` VALUES (410972000000, '濮阳经济技术开发区', 3, 410900000000); -INSERT INTO `zz_area_code` VALUES (411000000000, '许昌市', 2, 410000000000); -INSERT INTO `zz_area_code` VALUES (411001000000, '市辖区', 3, 411000000000); -INSERT INTO `zz_area_code` VALUES (411002000000, '魏都区', 3, 411000000000); -INSERT INTO `zz_area_code` VALUES (411003000000, '建安区', 3, 411000000000); -INSERT INTO `zz_area_code` VALUES (411024000000, '鄢陵县', 3, 411000000000); -INSERT INTO `zz_area_code` VALUES (411025000000, '襄城县', 3, 411000000000); -INSERT INTO `zz_area_code` VALUES (411071000000, '许昌经济技术开发区', 3, 411000000000); -INSERT INTO `zz_area_code` VALUES (411081000000, '禹州市', 3, 411000000000); -INSERT INTO `zz_area_code` VALUES (411082000000, '长葛市', 3, 411000000000); -INSERT INTO `zz_area_code` VALUES (411100000000, '漯河市', 2, 410000000000); -INSERT INTO `zz_area_code` VALUES (411101000000, '市辖区', 3, 411100000000); -INSERT INTO `zz_area_code` VALUES (411102000000, '源汇区', 3, 411100000000); -INSERT INTO `zz_area_code` VALUES (411103000000, '郾城区', 3, 411100000000); -INSERT INTO `zz_area_code` VALUES (411104000000, '召陵区', 3, 411100000000); -INSERT INTO `zz_area_code` VALUES (411121000000, '舞阳县', 3, 411100000000); -INSERT INTO `zz_area_code` VALUES (411122000000, '临颍县', 3, 411100000000); -INSERT INTO `zz_area_code` VALUES (411171000000, '漯河经济技术开发区', 3, 411100000000); -INSERT INTO `zz_area_code` VALUES (411200000000, '三门峡市', 2, 410000000000); -INSERT INTO `zz_area_code` VALUES (411201000000, '市辖区', 3, 411200000000); -INSERT INTO `zz_area_code` VALUES (411202000000, '湖滨区', 3, 411200000000); -INSERT INTO `zz_area_code` VALUES (411203000000, '陕州区', 3, 411200000000); -INSERT INTO `zz_area_code` VALUES (411221000000, '渑池县', 3, 411200000000); -INSERT INTO `zz_area_code` VALUES (411224000000, '卢氏县', 3, 411200000000); -INSERT INTO `zz_area_code` VALUES (411271000000, '河南三门峡经济开发区', 3, 411200000000); -INSERT INTO `zz_area_code` VALUES (411281000000, '义马市', 3, 411200000000); -INSERT INTO `zz_area_code` VALUES (411282000000, '灵宝市', 3, 411200000000); -INSERT INTO `zz_area_code` VALUES (411300000000, '南阳市', 2, 410000000000); -INSERT INTO `zz_area_code` VALUES (411301000000, '市辖区', 3, 411300000000); -INSERT INTO `zz_area_code` VALUES (411302000000, '宛城区', 3, 411300000000); -INSERT INTO `zz_area_code` VALUES (411303000000, '卧龙区', 3, 411300000000); -INSERT INTO `zz_area_code` VALUES (411321000000, '南召县', 3, 411300000000); -INSERT INTO `zz_area_code` VALUES (411322000000, '方城县', 3, 411300000000); -INSERT INTO `zz_area_code` VALUES (411323000000, '西峡县', 3, 411300000000); -INSERT INTO `zz_area_code` VALUES (411324000000, '镇平县', 3, 411300000000); -INSERT INTO `zz_area_code` VALUES (411325000000, '内乡县', 3, 411300000000); -INSERT INTO `zz_area_code` VALUES (411326000000, '淅川县', 3, 411300000000); -INSERT INTO `zz_area_code` VALUES (411327000000, '社旗县', 3, 411300000000); -INSERT INTO `zz_area_code` VALUES (411328000000, '唐河县', 3, 411300000000); -INSERT INTO `zz_area_code` VALUES (411329000000, '新野县', 3, 411300000000); -INSERT INTO `zz_area_code` VALUES (411330000000, '桐柏县', 3, 411300000000); -INSERT INTO `zz_area_code` VALUES (411371000000, '南阳高新技术产业开发区', 3, 411300000000); -INSERT INTO `zz_area_code` VALUES (411372000000, '南阳市城乡一体化示范区', 3, 411300000000); -INSERT INTO `zz_area_code` VALUES (411381000000, '邓州市', 3, 411300000000); -INSERT INTO `zz_area_code` VALUES (411400000000, '商丘市', 2, 410000000000); -INSERT INTO `zz_area_code` VALUES (411401000000, '市辖区', 3, 411400000000); -INSERT INTO `zz_area_code` VALUES (411402000000, '梁园区', 3, 411400000000); -INSERT INTO `zz_area_code` VALUES (411403000000, '睢阳区', 3, 411400000000); -INSERT INTO `zz_area_code` VALUES (411421000000, '民权县', 3, 411400000000); -INSERT INTO `zz_area_code` VALUES (411422000000, '睢县', 3, 411400000000); -INSERT INTO `zz_area_code` VALUES (411423000000, '宁陵县', 3, 411400000000); -INSERT INTO `zz_area_code` VALUES (411424000000, '柘城县', 3, 411400000000); -INSERT INTO `zz_area_code` VALUES (411425000000, '虞城县', 3, 411400000000); -INSERT INTO `zz_area_code` VALUES (411426000000, '夏邑县', 3, 411400000000); -INSERT INTO `zz_area_code` VALUES (411471000000, '豫东综合物流产业聚集区', 3, 411400000000); -INSERT INTO `zz_area_code` VALUES (411472000000, '河南商丘经济开发区', 3, 411400000000); -INSERT INTO `zz_area_code` VALUES (411481000000, '永城市', 3, 411400000000); -INSERT INTO `zz_area_code` VALUES (411500000000, '信阳市', 2, 410000000000); -INSERT INTO `zz_area_code` VALUES (411501000000, '市辖区', 3, 411500000000); -INSERT INTO `zz_area_code` VALUES (411502000000, '浉河区', 3, 411500000000); -INSERT INTO `zz_area_code` VALUES (411503000000, '平桥区', 3, 411500000000); -INSERT INTO `zz_area_code` VALUES (411521000000, '罗山县', 3, 411500000000); -INSERT INTO `zz_area_code` VALUES (411522000000, '光山县', 3, 411500000000); -INSERT INTO `zz_area_code` VALUES (411523000000, '新县', 3, 411500000000); -INSERT INTO `zz_area_code` VALUES (411524000000, '商城县', 3, 411500000000); -INSERT INTO `zz_area_code` VALUES (411525000000, '固始县', 3, 411500000000); -INSERT INTO `zz_area_code` VALUES (411526000000, '潢川县', 3, 411500000000); -INSERT INTO `zz_area_code` VALUES (411527000000, '淮滨县', 3, 411500000000); -INSERT INTO `zz_area_code` VALUES (411528000000, '息县', 3, 411500000000); -INSERT INTO `zz_area_code` VALUES (411571000000, '信阳高新技术产业开发区', 3, 411500000000); -INSERT INTO `zz_area_code` VALUES (411600000000, '周口市', 2, 410000000000); -INSERT INTO `zz_area_code` VALUES (411601000000, '市辖区', 3, 411600000000); -INSERT INTO `zz_area_code` VALUES (411602000000, '川汇区', 3, 411600000000); -INSERT INTO `zz_area_code` VALUES (411621000000, '扶沟县', 3, 411600000000); -INSERT INTO `zz_area_code` VALUES (411622000000, '西华县', 3, 411600000000); -INSERT INTO `zz_area_code` VALUES (411623000000, '商水县', 3, 411600000000); -INSERT INTO `zz_area_code` VALUES (411624000000, '沈丘县', 3, 411600000000); -INSERT INTO `zz_area_code` VALUES (411625000000, '郸城县', 3, 411600000000); -INSERT INTO `zz_area_code` VALUES (411626000000, '淮阳县', 3, 411600000000); -INSERT INTO `zz_area_code` VALUES (411627000000, '太康县', 3, 411600000000); -INSERT INTO `zz_area_code` VALUES (411628000000, '鹿邑县', 3, 411600000000); -INSERT INTO `zz_area_code` VALUES (411671000000, '河南周口经济开发区', 3, 411600000000); -INSERT INTO `zz_area_code` VALUES (411681000000, '项城市', 3, 411600000000); -INSERT INTO `zz_area_code` VALUES (411700000000, '驻马店市', 2, 410000000000); -INSERT INTO `zz_area_code` VALUES (411701000000, '市辖区', 3, 411700000000); -INSERT INTO `zz_area_code` VALUES (411702000000, '驿城区', 3, 411700000000); -INSERT INTO `zz_area_code` VALUES (411721000000, '西平县', 3, 411700000000); -INSERT INTO `zz_area_code` VALUES (411722000000, '上蔡县', 3, 411700000000); -INSERT INTO `zz_area_code` VALUES (411723000000, '平舆县', 3, 411700000000); -INSERT INTO `zz_area_code` VALUES (411724000000, '正阳县', 3, 411700000000); -INSERT INTO `zz_area_code` VALUES (411725000000, '确山县', 3, 411700000000); -INSERT INTO `zz_area_code` VALUES (411726000000, '泌阳县', 3, 411700000000); -INSERT INTO `zz_area_code` VALUES (411727000000, '汝南县', 3, 411700000000); -INSERT INTO `zz_area_code` VALUES (411728000000, '遂平县', 3, 411700000000); -INSERT INTO `zz_area_code` VALUES (411729000000, '新蔡县', 3, 411700000000); -INSERT INTO `zz_area_code` VALUES (411771000000, '河南驻马店经济开发区', 3, 411700000000); -INSERT INTO `zz_area_code` VALUES (419000000000, '省直辖县级行政区划', 2, 410000000000); -INSERT INTO `zz_area_code` VALUES (419001000000, '济源市', 3, 419000000000); -INSERT INTO `zz_area_code` VALUES (420000000000, '湖北省', 1, NULL); -INSERT INTO `zz_area_code` VALUES (420100000000, '武汉市', 2, 420000000000); -INSERT INTO `zz_area_code` VALUES (420101000000, '市辖区', 3, 420100000000); -INSERT INTO `zz_area_code` VALUES (420102000000, '江岸区', 3, 420100000000); -INSERT INTO `zz_area_code` VALUES (420103000000, '江汉区', 3, 420100000000); -INSERT INTO `zz_area_code` VALUES (420104000000, '硚口区', 3, 420100000000); -INSERT INTO `zz_area_code` VALUES (420105000000, '汉阳区', 3, 420100000000); -INSERT INTO `zz_area_code` VALUES (420106000000, '武昌区', 3, 420100000000); -INSERT INTO `zz_area_code` VALUES (420107000000, '青山区', 3, 420100000000); -INSERT INTO `zz_area_code` VALUES (420111000000, '洪山区', 3, 420100000000); -INSERT INTO `zz_area_code` VALUES (420112000000, '东西湖区', 3, 420100000000); -INSERT INTO `zz_area_code` VALUES (420113000000, '汉南区', 3, 420100000000); -INSERT INTO `zz_area_code` VALUES (420114000000, '蔡甸区', 3, 420100000000); -INSERT INTO `zz_area_code` VALUES (420115000000, '江夏区', 3, 420100000000); -INSERT INTO `zz_area_code` VALUES (420116000000, '黄陂区', 3, 420100000000); -INSERT INTO `zz_area_code` VALUES (420117000000, '新洲区', 3, 420100000000); -INSERT INTO `zz_area_code` VALUES (420200000000, '黄石市', 2, 420000000000); -INSERT INTO `zz_area_code` VALUES (420201000000, '市辖区', 3, 420200000000); -INSERT INTO `zz_area_code` VALUES (420202000000, '黄石港区', 3, 420200000000); -INSERT INTO `zz_area_code` VALUES (420203000000, '西塞山区', 3, 420200000000); -INSERT INTO `zz_area_code` VALUES (420204000000, '下陆区', 3, 420200000000); -INSERT INTO `zz_area_code` VALUES (420205000000, '铁山区', 3, 420200000000); -INSERT INTO `zz_area_code` VALUES (420222000000, '阳新县', 3, 420200000000); -INSERT INTO `zz_area_code` VALUES (420281000000, '大冶市', 3, 420200000000); -INSERT INTO `zz_area_code` VALUES (420300000000, '十堰市', 2, 420000000000); -INSERT INTO `zz_area_code` VALUES (420301000000, '市辖区', 3, 420300000000); -INSERT INTO `zz_area_code` VALUES (420302000000, '茅箭区', 3, 420300000000); -INSERT INTO `zz_area_code` VALUES (420303000000, '张湾区', 3, 420300000000); -INSERT INTO `zz_area_code` VALUES (420304000000, '郧阳区', 3, 420300000000); -INSERT INTO `zz_area_code` VALUES (420322000000, '郧西县', 3, 420300000000); -INSERT INTO `zz_area_code` VALUES (420323000000, '竹山县', 3, 420300000000); -INSERT INTO `zz_area_code` VALUES (420324000000, '竹溪县', 3, 420300000000); -INSERT INTO `zz_area_code` VALUES (420325000000, '房县', 3, 420300000000); -INSERT INTO `zz_area_code` VALUES (420381000000, '丹江口市', 3, 420300000000); -INSERT INTO `zz_area_code` VALUES (420500000000, '宜昌市', 2, 420000000000); -INSERT INTO `zz_area_code` VALUES (420501000000, '市辖区', 3, 420500000000); -INSERT INTO `zz_area_code` VALUES (420502000000, '西陵区', 3, 420500000000); -INSERT INTO `zz_area_code` VALUES (420503000000, '伍家岗区', 3, 420500000000); -INSERT INTO `zz_area_code` VALUES (420504000000, '点军区', 3, 420500000000); -INSERT INTO `zz_area_code` VALUES (420505000000, '猇亭区', 3, 420500000000); -INSERT INTO `zz_area_code` VALUES (420506000000, '夷陵区', 3, 420500000000); -INSERT INTO `zz_area_code` VALUES (420525000000, '远安县', 3, 420500000000); -INSERT INTO `zz_area_code` VALUES (420526000000, '兴山县', 3, 420500000000); -INSERT INTO `zz_area_code` VALUES (420527000000, '秭归县', 3, 420500000000); -INSERT INTO `zz_area_code` VALUES (420528000000, '长阳土家族自治县', 3, 420500000000); -INSERT INTO `zz_area_code` VALUES (420529000000, '五峰土家族自治县', 3, 420500000000); -INSERT INTO `zz_area_code` VALUES (420581000000, '宜都市', 3, 420500000000); -INSERT INTO `zz_area_code` VALUES (420582000000, '当阳市', 3, 420500000000); -INSERT INTO `zz_area_code` VALUES (420583000000, '枝江市', 3, 420500000000); -INSERT INTO `zz_area_code` VALUES (420600000000, '襄阳市', 2, 420000000000); -INSERT INTO `zz_area_code` VALUES (420601000000, '市辖区', 3, 420600000000); -INSERT INTO `zz_area_code` VALUES (420602000000, '襄城区', 3, 420600000000); -INSERT INTO `zz_area_code` VALUES (420606000000, '樊城区', 3, 420600000000); -INSERT INTO `zz_area_code` VALUES (420607000000, '襄州区', 3, 420600000000); -INSERT INTO `zz_area_code` VALUES (420624000000, '南漳县', 3, 420600000000); -INSERT INTO `zz_area_code` VALUES (420625000000, '谷城县', 3, 420600000000); -INSERT INTO `zz_area_code` VALUES (420626000000, '保康县', 3, 420600000000); -INSERT INTO `zz_area_code` VALUES (420682000000, '老河口市', 3, 420600000000); -INSERT INTO `zz_area_code` VALUES (420683000000, '枣阳市', 3, 420600000000); -INSERT INTO `zz_area_code` VALUES (420684000000, '宜城市', 3, 420600000000); -INSERT INTO `zz_area_code` VALUES (420700000000, '鄂州市', 2, 420000000000); -INSERT INTO `zz_area_code` VALUES (420701000000, '市辖区', 3, 420700000000); -INSERT INTO `zz_area_code` VALUES (420702000000, '梁子湖区', 3, 420700000000); -INSERT INTO `zz_area_code` VALUES (420703000000, '华容区', 3, 420700000000); -INSERT INTO `zz_area_code` VALUES (420704000000, '鄂城区', 3, 420700000000); -INSERT INTO `zz_area_code` VALUES (420800000000, '荆门市', 2, 420000000000); -INSERT INTO `zz_area_code` VALUES (420801000000, '市辖区', 3, 420800000000); -INSERT INTO `zz_area_code` VALUES (420802000000, '东宝区', 3, 420800000000); -INSERT INTO `zz_area_code` VALUES (420804000000, '掇刀区', 3, 420800000000); -INSERT INTO `zz_area_code` VALUES (420822000000, '沙洋县', 3, 420800000000); -INSERT INTO `zz_area_code` VALUES (420881000000, '钟祥市', 3, 420800000000); -INSERT INTO `zz_area_code` VALUES (420882000000, '京山市', 3, 420800000000); -INSERT INTO `zz_area_code` VALUES (420900000000, '孝感市', 2, 420000000000); -INSERT INTO `zz_area_code` VALUES (420901000000, '市辖区', 3, 420900000000); -INSERT INTO `zz_area_code` VALUES (420902000000, '孝南区', 3, 420900000000); -INSERT INTO `zz_area_code` VALUES (420921000000, '孝昌县', 3, 420900000000); -INSERT INTO `zz_area_code` VALUES (420922000000, '大悟县', 3, 420900000000); -INSERT INTO `zz_area_code` VALUES (420923000000, '云梦县', 3, 420900000000); -INSERT INTO `zz_area_code` VALUES (420981000000, '应城市', 3, 420900000000); -INSERT INTO `zz_area_code` VALUES (420982000000, '安陆市', 3, 420900000000); -INSERT INTO `zz_area_code` VALUES (420984000000, '汉川市', 3, 420900000000); -INSERT INTO `zz_area_code` VALUES (421000000000, '荆州市', 2, 420000000000); -INSERT INTO `zz_area_code` VALUES (421001000000, '市辖区', 3, 421000000000); -INSERT INTO `zz_area_code` VALUES (421002000000, '沙市区', 3, 421000000000); -INSERT INTO `zz_area_code` VALUES (421003000000, '荆州区', 3, 421000000000); -INSERT INTO `zz_area_code` VALUES (421022000000, '公安县', 3, 421000000000); -INSERT INTO `zz_area_code` VALUES (421023000000, '监利县', 3, 421000000000); -INSERT INTO `zz_area_code` VALUES (421024000000, '江陵县', 3, 421000000000); -INSERT INTO `zz_area_code` VALUES (421071000000, '荆州经济技术开发区', 3, 421000000000); -INSERT INTO `zz_area_code` VALUES (421081000000, '石首市', 3, 421000000000); -INSERT INTO `zz_area_code` VALUES (421083000000, '洪湖市', 3, 421000000000); -INSERT INTO `zz_area_code` VALUES (421087000000, '松滋市', 3, 421000000000); -INSERT INTO `zz_area_code` VALUES (421100000000, '黄冈市', 2, 420000000000); -INSERT INTO `zz_area_code` VALUES (421101000000, '市辖区', 3, 421100000000); -INSERT INTO `zz_area_code` VALUES (421102000000, '黄州区', 3, 421100000000); -INSERT INTO `zz_area_code` VALUES (421121000000, '团风县', 3, 421100000000); -INSERT INTO `zz_area_code` VALUES (421122000000, '红安县', 3, 421100000000); -INSERT INTO `zz_area_code` VALUES (421123000000, '罗田县', 3, 421100000000); -INSERT INTO `zz_area_code` VALUES (421124000000, '英山县', 3, 421100000000); -INSERT INTO `zz_area_code` VALUES (421125000000, '浠水县', 3, 421100000000); -INSERT INTO `zz_area_code` VALUES (421126000000, '蕲春县', 3, 421100000000); -INSERT INTO `zz_area_code` VALUES (421127000000, '黄梅县', 3, 421100000000); -INSERT INTO `zz_area_code` VALUES (421171000000, '龙感湖管理区', 3, 421100000000); -INSERT INTO `zz_area_code` VALUES (421181000000, '麻城市', 3, 421100000000); -INSERT INTO `zz_area_code` VALUES (421182000000, '武穴市', 3, 421100000000); -INSERT INTO `zz_area_code` VALUES (421200000000, '咸宁市', 2, 420000000000); -INSERT INTO `zz_area_code` VALUES (421201000000, '市辖区', 3, 421200000000); -INSERT INTO `zz_area_code` VALUES (421202000000, '咸安区', 3, 421200000000); -INSERT INTO `zz_area_code` VALUES (421221000000, '嘉鱼县', 3, 421200000000); -INSERT INTO `zz_area_code` VALUES (421222000000, '通城县', 3, 421200000000); -INSERT INTO `zz_area_code` VALUES (421223000000, '崇阳县', 3, 421200000000); -INSERT INTO `zz_area_code` VALUES (421224000000, '通山县', 3, 421200000000); -INSERT INTO `zz_area_code` VALUES (421281000000, '赤壁市', 3, 421200000000); -INSERT INTO `zz_area_code` VALUES (421300000000, '随州市', 2, 420000000000); -INSERT INTO `zz_area_code` VALUES (421301000000, '市辖区', 3, 421300000000); -INSERT INTO `zz_area_code` VALUES (421303000000, '曾都区', 3, 421300000000); -INSERT INTO `zz_area_code` VALUES (421321000000, '随县', 3, 421300000000); -INSERT INTO `zz_area_code` VALUES (421381000000, '广水市', 3, 421300000000); -INSERT INTO `zz_area_code` VALUES (422800000000, '恩施土家族苗族自治州', 2, 420000000000); -INSERT INTO `zz_area_code` VALUES (422801000000, '恩施市', 3, 422800000000); -INSERT INTO `zz_area_code` VALUES (422802000000, '利川市', 3, 422800000000); -INSERT INTO `zz_area_code` VALUES (422822000000, '建始县', 3, 422800000000); -INSERT INTO `zz_area_code` VALUES (422823000000, '巴东县', 3, 422800000000); -INSERT INTO `zz_area_code` VALUES (422825000000, '宣恩县', 3, 422800000000); -INSERT INTO `zz_area_code` VALUES (422826000000, '咸丰县', 3, 422800000000); -INSERT INTO `zz_area_code` VALUES (422827000000, '来凤县', 3, 422800000000); -INSERT INTO `zz_area_code` VALUES (422828000000, '鹤峰县', 3, 422800000000); -INSERT INTO `zz_area_code` VALUES (429000000000, '省直辖县级行政区划', 2, 420000000000); -INSERT INTO `zz_area_code` VALUES (429004000000, '仙桃市', 3, 429000000000); -INSERT INTO `zz_area_code` VALUES (429005000000, '潜江市', 3, 429000000000); -INSERT INTO `zz_area_code` VALUES (429006000000, '天门市', 3, 429000000000); -INSERT INTO `zz_area_code` VALUES (429021000000, '神农架林区', 3, 429000000000); -INSERT INTO `zz_area_code` VALUES (430000000000, '湖南省', 1, NULL); -INSERT INTO `zz_area_code` VALUES (430100000000, '长沙市', 2, 430000000000); -INSERT INTO `zz_area_code` VALUES (430101000000, '市辖区', 3, 430100000000); -INSERT INTO `zz_area_code` VALUES (430102000000, '芙蓉区', 3, 430100000000); -INSERT INTO `zz_area_code` VALUES (430103000000, '天心区', 3, 430100000000); -INSERT INTO `zz_area_code` VALUES (430104000000, '岳麓区', 3, 430100000000); -INSERT INTO `zz_area_code` VALUES (430105000000, '开福区', 3, 430100000000); -INSERT INTO `zz_area_code` VALUES (430111000000, '雨花区', 3, 430100000000); -INSERT INTO `zz_area_code` VALUES (430112000000, '望城区', 3, 430100000000); -INSERT INTO `zz_area_code` VALUES (430121000000, '长沙县', 3, 430100000000); -INSERT INTO `zz_area_code` VALUES (430181000000, '浏阳市', 3, 430100000000); -INSERT INTO `zz_area_code` VALUES (430182000000, '宁乡市', 3, 430100000000); -INSERT INTO `zz_area_code` VALUES (430200000000, '株洲市', 2, 430000000000); -INSERT INTO `zz_area_code` VALUES (430201000000, '市辖区', 3, 430200000000); -INSERT INTO `zz_area_code` VALUES (430202000000, '荷塘区', 3, 430200000000); -INSERT INTO `zz_area_code` VALUES (430203000000, '芦淞区', 3, 430200000000); -INSERT INTO `zz_area_code` VALUES (430204000000, '石峰区', 3, 430200000000); -INSERT INTO `zz_area_code` VALUES (430211000000, '天元区', 3, 430200000000); -INSERT INTO `zz_area_code` VALUES (430212000000, '渌口区', 3, 430200000000); -INSERT INTO `zz_area_code` VALUES (430223000000, '攸县', 3, 430200000000); -INSERT INTO `zz_area_code` VALUES (430224000000, '茶陵县', 3, 430200000000); -INSERT INTO `zz_area_code` VALUES (430225000000, '炎陵县', 3, 430200000000); -INSERT INTO `zz_area_code` VALUES (430271000000, '云龙示范区', 3, 430200000000); -INSERT INTO `zz_area_code` VALUES (430281000000, '醴陵市', 3, 430200000000); -INSERT INTO `zz_area_code` VALUES (430300000000, '湘潭市', 2, 430000000000); -INSERT INTO `zz_area_code` VALUES (430301000000, '市辖区', 3, 430300000000); -INSERT INTO `zz_area_code` VALUES (430302000000, '雨湖区', 3, 430300000000); -INSERT INTO `zz_area_code` VALUES (430304000000, '岳塘区', 3, 430300000000); -INSERT INTO `zz_area_code` VALUES (430321000000, '湘潭县', 3, 430300000000); -INSERT INTO `zz_area_code` VALUES (430371000000, '湖南湘潭高新技术产业园区', 3, 430300000000); -INSERT INTO `zz_area_code` VALUES (430372000000, '湘潭昭山示范区', 3, 430300000000); -INSERT INTO `zz_area_code` VALUES (430373000000, '湘潭九华示范区', 3, 430300000000); -INSERT INTO `zz_area_code` VALUES (430381000000, '湘乡市', 3, 430300000000); -INSERT INTO `zz_area_code` VALUES (430382000000, '韶山市', 3, 430300000000); -INSERT INTO `zz_area_code` VALUES (430400000000, '衡阳市', 2, 430000000000); -INSERT INTO `zz_area_code` VALUES (430401000000, '市辖区', 3, 430400000000); -INSERT INTO `zz_area_code` VALUES (430405000000, '珠晖区', 3, 430400000000); -INSERT INTO `zz_area_code` VALUES (430406000000, '雁峰区', 3, 430400000000); -INSERT INTO `zz_area_code` VALUES (430407000000, '石鼓区', 3, 430400000000); -INSERT INTO `zz_area_code` VALUES (430408000000, '蒸湘区', 3, 430400000000); -INSERT INTO `zz_area_code` VALUES (430412000000, '南岳区', 3, 430400000000); -INSERT INTO `zz_area_code` VALUES (430421000000, '衡阳县', 3, 430400000000); -INSERT INTO `zz_area_code` VALUES (430422000000, '衡南县', 3, 430400000000); -INSERT INTO `zz_area_code` VALUES (430423000000, '衡山县', 3, 430400000000); -INSERT INTO `zz_area_code` VALUES (430424000000, '衡东县', 3, 430400000000); -INSERT INTO `zz_area_code` VALUES (430426000000, '祁东县', 3, 430400000000); -INSERT INTO `zz_area_code` VALUES (430471000000, '衡阳综合保税区', 3, 430400000000); -INSERT INTO `zz_area_code` VALUES (430472000000, '湖南衡阳高新技术产业园区', 3, 430400000000); -INSERT INTO `zz_area_code` VALUES (430473000000, '湖南衡阳松木经济开发区', 3, 430400000000); -INSERT INTO `zz_area_code` VALUES (430481000000, '耒阳市', 3, 430400000000); -INSERT INTO `zz_area_code` VALUES (430482000000, '常宁市', 3, 430400000000); -INSERT INTO `zz_area_code` VALUES (430500000000, '邵阳市', 2, 430000000000); -INSERT INTO `zz_area_code` VALUES (430501000000, '市辖区', 3, 430500000000); -INSERT INTO `zz_area_code` VALUES (430502000000, '双清区', 3, 430500000000); -INSERT INTO `zz_area_code` VALUES (430503000000, '大祥区', 3, 430500000000); -INSERT INTO `zz_area_code` VALUES (430511000000, '北塔区', 3, 430500000000); -INSERT INTO `zz_area_code` VALUES (430521000000, '邵东县', 3, 430500000000); -INSERT INTO `zz_area_code` VALUES (430522000000, '新邵县', 3, 430500000000); -INSERT INTO `zz_area_code` VALUES (430523000000, '邵阳县', 3, 430500000000); -INSERT INTO `zz_area_code` VALUES (430524000000, '隆回县', 3, 430500000000); -INSERT INTO `zz_area_code` VALUES (430525000000, '洞口县', 3, 430500000000); -INSERT INTO `zz_area_code` VALUES (430527000000, '绥宁县', 3, 430500000000); -INSERT INTO `zz_area_code` VALUES (430528000000, '新宁县', 3, 430500000000); -INSERT INTO `zz_area_code` VALUES (430529000000, '城步苗族自治县', 3, 430500000000); -INSERT INTO `zz_area_code` VALUES (430581000000, '武冈市', 3, 430500000000); -INSERT INTO `zz_area_code` VALUES (430600000000, '岳阳市', 2, 430000000000); -INSERT INTO `zz_area_code` VALUES (430601000000, '市辖区', 3, 430600000000); -INSERT INTO `zz_area_code` VALUES (430602000000, '岳阳楼区', 3, 430600000000); -INSERT INTO `zz_area_code` VALUES (430603000000, '云溪区', 3, 430600000000); -INSERT INTO `zz_area_code` VALUES (430611000000, '君山区', 3, 430600000000); -INSERT INTO `zz_area_code` VALUES (430621000000, '岳阳县', 3, 430600000000); -INSERT INTO `zz_area_code` VALUES (430623000000, '华容县', 3, 430600000000); -INSERT INTO `zz_area_code` VALUES (430624000000, '湘阴县', 3, 430600000000); -INSERT INTO `zz_area_code` VALUES (430626000000, '平江县', 3, 430600000000); -INSERT INTO `zz_area_code` VALUES (430671000000, '岳阳市屈原管理区', 3, 430600000000); -INSERT INTO `zz_area_code` VALUES (430681000000, '汨罗市', 3, 430600000000); -INSERT INTO `zz_area_code` VALUES (430682000000, '临湘市', 3, 430600000000); -INSERT INTO `zz_area_code` VALUES (430700000000, '常德市', 2, 430000000000); -INSERT INTO `zz_area_code` VALUES (430701000000, '市辖区', 3, 430700000000); -INSERT INTO `zz_area_code` VALUES (430702000000, '武陵区', 3, 430700000000); -INSERT INTO `zz_area_code` VALUES (430703000000, '鼎城区', 3, 430700000000); -INSERT INTO `zz_area_code` VALUES (430721000000, '安乡县', 3, 430700000000); -INSERT INTO `zz_area_code` VALUES (430722000000, '汉寿县', 3, 430700000000); -INSERT INTO `zz_area_code` VALUES (430723000000, '澧县', 3, 430700000000); -INSERT INTO `zz_area_code` VALUES (430724000000, '临澧县', 3, 430700000000); -INSERT INTO `zz_area_code` VALUES (430725000000, '桃源县', 3, 430700000000); -INSERT INTO `zz_area_code` VALUES (430726000000, '石门县', 3, 430700000000); -INSERT INTO `zz_area_code` VALUES (430771000000, '常德市西洞庭管理区', 3, 430700000000); -INSERT INTO `zz_area_code` VALUES (430781000000, '津市市', 3, 430700000000); -INSERT INTO `zz_area_code` VALUES (430800000000, '张家界市', 2, 430000000000); -INSERT INTO `zz_area_code` VALUES (430801000000, '市辖区', 3, 430800000000); -INSERT INTO `zz_area_code` VALUES (430802000000, '永定区', 3, 430800000000); -INSERT INTO `zz_area_code` VALUES (430811000000, '武陵源区', 3, 430800000000); -INSERT INTO `zz_area_code` VALUES (430821000000, '慈利县', 3, 430800000000); -INSERT INTO `zz_area_code` VALUES (430822000000, '桑植县', 3, 430800000000); -INSERT INTO `zz_area_code` VALUES (430900000000, '益阳市', 2, 430000000000); -INSERT INTO `zz_area_code` VALUES (430901000000, '市辖区', 3, 430900000000); -INSERT INTO `zz_area_code` VALUES (430902000000, '资阳区', 3, 430900000000); -INSERT INTO `zz_area_code` VALUES (430903000000, '赫山区', 3, 430900000000); -INSERT INTO `zz_area_code` VALUES (430921000000, '南县', 3, 430900000000); -INSERT INTO `zz_area_code` VALUES (430922000000, '桃江县', 3, 430900000000); -INSERT INTO `zz_area_code` VALUES (430923000000, '安化县', 3, 430900000000); -INSERT INTO `zz_area_code` VALUES (430971000000, '益阳市大通湖管理区', 3, 430900000000); -INSERT INTO `zz_area_code` VALUES (430972000000, '湖南益阳高新技术产业园区', 3, 430900000000); -INSERT INTO `zz_area_code` VALUES (430981000000, '沅江市', 3, 430900000000); -INSERT INTO `zz_area_code` VALUES (431000000000, '郴州市', 2, 430000000000); -INSERT INTO `zz_area_code` VALUES (431001000000, '市辖区', 3, 431000000000); -INSERT INTO `zz_area_code` VALUES (431002000000, '北湖区', 3, 431000000000); -INSERT INTO `zz_area_code` VALUES (431003000000, '苏仙区', 3, 431000000000); -INSERT INTO `zz_area_code` VALUES (431021000000, '桂阳县', 3, 431000000000); -INSERT INTO `zz_area_code` VALUES (431022000000, '宜章县', 3, 431000000000); -INSERT INTO `zz_area_code` VALUES (431023000000, '永兴县', 3, 431000000000); -INSERT INTO `zz_area_code` VALUES (431024000000, '嘉禾县', 3, 431000000000); -INSERT INTO `zz_area_code` VALUES (431025000000, '临武县', 3, 431000000000); -INSERT INTO `zz_area_code` VALUES (431026000000, '汝城县', 3, 431000000000); -INSERT INTO `zz_area_code` VALUES (431027000000, '桂东县', 3, 431000000000); -INSERT INTO `zz_area_code` VALUES (431028000000, '安仁县', 3, 431000000000); -INSERT INTO `zz_area_code` VALUES (431081000000, '资兴市', 3, 431000000000); -INSERT INTO `zz_area_code` VALUES (431100000000, '永州市', 2, 430000000000); -INSERT INTO `zz_area_code` VALUES (431101000000, '市辖区', 3, 431100000000); -INSERT INTO `zz_area_code` VALUES (431102000000, '零陵区', 3, 431100000000); -INSERT INTO `zz_area_code` VALUES (431103000000, '冷水滩区', 3, 431100000000); -INSERT INTO `zz_area_code` VALUES (431121000000, '祁阳县', 3, 431100000000); -INSERT INTO `zz_area_code` VALUES (431122000000, '东安县', 3, 431100000000); -INSERT INTO `zz_area_code` VALUES (431123000000, '双牌县', 3, 431100000000); -INSERT INTO `zz_area_code` VALUES (431124000000, '道县', 3, 431100000000); -INSERT INTO `zz_area_code` VALUES (431125000000, '江永县', 3, 431100000000); -INSERT INTO `zz_area_code` VALUES (431126000000, '宁远县', 3, 431100000000); -INSERT INTO `zz_area_code` VALUES (431127000000, '蓝山县', 3, 431100000000); -INSERT INTO `zz_area_code` VALUES (431128000000, '新田县', 3, 431100000000); -INSERT INTO `zz_area_code` VALUES (431129000000, '江华瑶族自治县', 3, 431100000000); -INSERT INTO `zz_area_code` VALUES (431171000000, '永州经济技术开发区', 3, 431100000000); -INSERT INTO `zz_area_code` VALUES (431172000000, '永州市金洞管理区', 3, 431100000000); -INSERT INTO `zz_area_code` VALUES (431173000000, '永州市回龙圩管理区', 3, 431100000000); -INSERT INTO `zz_area_code` VALUES (431200000000, '怀化市', 2, 430000000000); -INSERT INTO `zz_area_code` VALUES (431201000000, '市辖区', 3, 431200000000); -INSERT INTO `zz_area_code` VALUES (431202000000, '鹤城区', 3, 431200000000); -INSERT INTO `zz_area_code` VALUES (431221000000, '中方县', 3, 431200000000); -INSERT INTO `zz_area_code` VALUES (431222000000, '沅陵县', 3, 431200000000); -INSERT INTO `zz_area_code` VALUES (431223000000, '辰溪县', 3, 431200000000); -INSERT INTO `zz_area_code` VALUES (431224000000, '溆浦县', 3, 431200000000); -INSERT INTO `zz_area_code` VALUES (431225000000, '会同县', 3, 431200000000); -INSERT INTO `zz_area_code` VALUES (431226000000, '麻阳苗族自治县', 3, 431200000000); -INSERT INTO `zz_area_code` VALUES (431227000000, '新晃侗族自治县', 3, 431200000000); -INSERT INTO `zz_area_code` VALUES (431228000000, '芷江侗族自治县', 3, 431200000000); -INSERT INTO `zz_area_code` VALUES (431229000000, '靖州苗族侗族自治县', 3, 431200000000); -INSERT INTO `zz_area_code` VALUES (431230000000, '通道侗族自治县', 3, 431200000000); -INSERT INTO `zz_area_code` VALUES (431271000000, '怀化市洪江管理区', 3, 431200000000); -INSERT INTO `zz_area_code` VALUES (431281000000, '洪江市', 3, 431200000000); -INSERT INTO `zz_area_code` VALUES (431300000000, '娄底市', 2, 430000000000); -INSERT INTO `zz_area_code` VALUES (431301000000, '市辖区', 3, 431300000000); -INSERT INTO `zz_area_code` VALUES (431302000000, '娄星区', 3, 431300000000); -INSERT INTO `zz_area_code` VALUES (431321000000, '双峰县', 3, 431300000000); -INSERT INTO `zz_area_code` VALUES (431322000000, '新化县', 3, 431300000000); -INSERT INTO `zz_area_code` VALUES (431381000000, '冷水江市', 3, 431300000000); -INSERT INTO `zz_area_code` VALUES (431382000000, '涟源市', 3, 431300000000); -INSERT INTO `zz_area_code` VALUES (433100000000, '湘西土家族苗族自治州', 2, 430000000000); -INSERT INTO `zz_area_code` VALUES (433101000000, '吉首市', 3, 433100000000); -INSERT INTO `zz_area_code` VALUES (433122000000, '泸溪县', 3, 433100000000); -INSERT INTO `zz_area_code` VALUES (433123000000, '凤凰县', 3, 433100000000); -INSERT INTO `zz_area_code` VALUES (433124000000, '花垣县', 3, 433100000000); -INSERT INTO `zz_area_code` VALUES (433125000000, '保靖县', 3, 433100000000); -INSERT INTO `zz_area_code` VALUES (433126000000, '古丈县', 3, 433100000000); -INSERT INTO `zz_area_code` VALUES (433127000000, '永顺县', 3, 433100000000); -INSERT INTO `zz_area_code` VALUES (433130000000, '龙山县', 3, 433100000000); -INSERT INTO `zz_area_code` VALUES (433172000000, '湖南吉首经济开发区', 3, 433100000000); -INSERT INTO `zz_area_code` VALUES (433173000000, '湖南永顺经济开发区', 3, 433100000000); -INSERT INTO `zz_area_code` VALUES (440000000000, '广东省', 1, NULL); -INSERT INTO `zz_area_code` VALUES (440100000000, '广州市', 2, 440000000000); -INSERT INTO `zz_area_code` VALUES (440101000000, '市辖区', 3, 440100000000); -INSERT INTO `zz_area_code` VALUES (440103000000, '荔湾区', 3, 440100000000); -INSERT INTO `zz_area_code` VALUES (440104000000, '越秀区', 3, 440100000000); -INSERT INTO `zz_area_code` VALUES (440105000000, '海珠区', 3, 440100000000); -INSERT INTO `zz_area_code` VALUES (440106000000, '天河区', 3, 440100000000); -INSERT INTO `zz_area_code` VALUES (440111000000, '白云区', 3, 440100000000); -INSERT INTO `zz_area_code` VALUES (440112000000, '黄埔区', 3, 440100000000); -INSERT INTO `zz_area_code` VALUES (440113000000, '番禺区', 3, 440100000000); -INSERT INTO `zz_area_code` VALUES (440114000000, '花都区', 3, 440100000000); -INSERT INTO `zz_area_code` VALUES (440115000000, '南沙区', 3, 440100000000); -INSERT INTO `zz_area_code` VALUES (440117000000, '从化区', 3, 440100000000); -INSERT INTO `zz_area_code` VALUES (440118000000, '增城区', 3, 440100000000); -INSERT INTO `zz_area_code` VALUES (440200000000, '韶关市', 2, 440000000000); -INSERT INTO `zz_area_code` VALUES (440201000000, '市辖区', 3, 440200000000); -INSERT INTO `zz_area_code` VALUES (440203000000, '武江区', 3, 440200000000); -INSERT INTO `zz_area_code` VALUES (440204000000, '浈江区', 3, 440200000000); -INSERT INTO `zz_area_code` VALUES (440205000000, '曲江区', 3, 440200000000); -INSERT INTO `zz_area_code` VALUES (440222000000, '始兴县', 3, 440200000000); -INSERT INTO `zz_area_code` VALUES (440224000000, '仁化县', 3, 440200000000); -INSERT INTO `zz_area_code` VALUES (440229000000, '翁源县', 3, 440200000000); -INSERT INTO `zz_area_code` VALUES (440232000000, '乳源瑶族自治县', 3, 440200000000); -INSERT INTO `zz_area_code` VALUES (440233000000, '新丰县', 3, 440200000000); -INSERT INTO `zz_area_code` VALUES (440281000000, '乐昌市', 3, 440200000000); -INSERT INTO `zz_area_code` VALUES (440282000000, '南雄市', 3, 440200000000); -INSERT INTO `zz_area_code` VALUES (440300000000, '深圳市', 2, 440000000000); -INSERT INTO `zz_area_code` VALUES (440301000000, '市辖区', 3, 440300000000); -INSERT INTO `zz_area_code` VALUES (440303000000, '罗湖区', 3, 440300000000); -INSERT INTO `zz_area_code` VALUES (440304000000, '福田区', 3, 440300000000); -INSERT INTO `zz_area_code` VALUES (440305000000, '南山区', 3, 440300000000); -INSERT INTO `zz_area_code` VALUES (440306000000, '宝安区', 3, 440300000000); -INSERT INTO `zz_area_code` VALUES (440307000000, '龙岗区', 3, 440300000000); -INSERT INTO `zz_area_code` VALUES (440308000000, '盐田区', 3, 440300000000); -INSERT INTO `zz_area_code` VALUES (440309000000, '龙华区', 3, 440300000000); -INSERT INTO `zz_area_code` VALUES (440310000000, '坪山区', 3, 440300000000); -INSERT INTO `zz_area_code` VALUES (440311000000, '光明区', 3, 440300000000); -INSERT INTO `zz_area_code` VALUES (440400000000, '珠海市', 2, 440000000000); -INSERT INTO `zz_area_code` VALUES (440401000000, '市辖区', 3, 440400000000); -INSERT INTO `zz_area_code` VALUES (440402000000, '香洲区', 3, 440400000000); -INSERT INTO `zz_area_code` VALUES (440403000000, '斗门区', 3, 440400000000); -INSERT INTO `zz_area_code` VALUES (440404000000, '金湾区', 3, 440400000000); -INSERT INTO `zz_area_code` VALUES (440500000000, '汕头市', 2, 440000000000); -INSERT INTO `zz_area_code` VALUES (440501000000, '市辖区', 3, 440500000000); -INSERT INTO `zz_area_code` VALUES (440507000000, '龙湖区', 3, 440500000000); -INSERT INTO `zz_area_code` VALUES (440511000000, '金平区', 3, 440500000000); -INSERT INTO `zz_area_code` VALUES (440512000000, '濠江区', 3, 440500000000); -INSERT INTO `zz_area_code` VALUES (440513000000, '潮阳区', 3, 440500000000); -INSERT INTO `zz_area_code` VALUES (440514000000, '潮南区', 3, 440500000000); -INSERT INTO `zz_area_code` VALUES (440515000000, '澄海区', 3, 440500000000); -INSERT INTO `zz_area_code` VALUES (440523000000, '南澳县', 3, 440500000000); -INSERT INTO `zz_area_code` VALUES (440600000000, '佛山市', 2, 440000000000); -INSERT INTO `zz_area_code` VALUES (440601000000, '市辖区', 3, 440600000000); -INSERT INTO `zz_area_code` VALUES (440604000000, '禅城区', 3, 440600000000); -INSERT INTO `zz_area_code` VALUES (440605000000, '南海区', 3, 440600000000); -INSERT INTO `zz_area_code` VALUES (440606000000, '顺德区', 3, 440600000000); -INSERT INTO `zz_area_code` VALUES (440607000000, '三水区', 3, 440600000000); -INSERT INTO `zz_area_code` VALUES (440608000000, '高明区', 3, 440600000000); -INSERT INTO `zz_area_code` VALUES (440700000000, '江门市', 2, 440000000000); -INSERT INTO `zz_area_code` VALUES (440701000000, '市辖区', 3, 440700000000); -INSERT INTO `zz_area_code` VALUES (440703000000, '蓬江区', 3, 440700000000); -INSERT INTO `zz_area_code` VALUES (440704000000, '江海区', 3, 440700000000); -INSERT INTO `zz_area_code` VALUES (440705000000, '新会区', 3, 440700000000); -INSERT INTO `zz_area_code` VALUES (440781000000, '台山市', 3, 440700000000); -INSERT INTO `zz_area_code` VALUES (440783000000, '开平市', 3, 440700000000); -INSERT INTO `zz_area_code` VALUES (440784000000, '鹤山市', 3, 440700000000); -INSERT INTO `zz_area_code` VALUES (440785000000, '恩平市', 3, 440700000000); -INSERT INTO `zz_area_code` VALUES (440800000000, '湛江市', 2, 440000000000); -INSERT INTO `zz_area_code` VALUES (440801000000, '市辖区', 3, 440800000000); -INSERT INTO `zz_area_code` VALUES (440802000000, '赤坎区', 3, 440800000000); -INSERT INTO `zz_area_code` VALUES (440803000000, '霞山区', 3, 440800000000); -INSERT INTO `zz_area_code` VALUES (440804000000, '坡头区', 3, 440800000000); -INSERT INTO `zz_area_code` VALUES (440811000000, '麻章区', 3, 440800000000); -INSERT INTO `zz_area_code` VALUES (440823000000, '遂溪县', 3, 440800000000); -INSERT INTO `zz_area_code` VALUES (440825000000, '徐闻县', 3, 440800000000); -INSERT INTO `zz_area_code` VALUES (440881000000, '廉江市', 3, 440800000000); -INSERT INTO `zz_area_code` VALUES (440882000000, '雷州市', 3, 440800000000); -INSERT INTO `zz_area_code` VALUES (440883000000, '吴川市', 3, 440800000000); -INSERT INTO `zz_area_code` VALUES (440900000000, '茂名市', 2, 440000000000); -INSERT INTO `zz_area_code` VALUES (440901000000, '市辖区', 3, 440900000000); -INSERT INTO `zz_area_code` VALUES (440902000000, '茂南区', 3, 440900000000); -INSERT INTO `zz_area_code` VALUES (440904000000, '电白区', 3, 440900000000); -INSERT INTO `zz_area_code` VALUES (440981000000, '高州市', 3, 440900000000); -INSERT INTO `zz_area_code` VALUES (440982000000, '化州市', 3, 440900000000); -INSERT INTO `zz_area_code` VALUES (440983000000, '信宜市', 3, 440900000000); -INSERT INTO `zz_area_code` VALUES (441200000000, '肇庆市', 2, 440000000000); -INSERT INTO `zz_area_code` VALUES (441201000000, '市辖区', 3, 441200000000); -INSERT INTO `zz_area_code` VALUES (441202000000, '端州区', 3, 441200000000); -INSERT INTO `zz_area_code` VALUES (441203000000, '鼎湖区', 3, 441200000000); -INSERT INTO `zz_area_code` VALUES (441204000000, '高要区', 3, 441200000000); -INSERT INTO `zz_area_code` VALUES (441223000000, '广宁县', 3, 441200000000); -INSERT INTO `zz_area_code` VALUES (441224000000, '怀集县', 3, 441200000000); -INSERT INTO `zz_area_code` VALUES (441225000000, '封开县', 3, 441200000000); -INSERT INTO `zz_area_code` VALUES (441226000000, '德庆县', 3, 441200000000); -INSERT INTO `zz_area_code` VALUES (441284000000, '四会市', 3, 441200000000); -INSERT INTO `zz_area_code` VALUES (441300000000, '惠州市', 2, 440000000000); -INSERT INTO `zz_area_code` VALUES (441301000000, '市辖区', 3, 441300000000); -INSERT INTO `zz_area_code` VALUES (441302000000, '惠城区', 3, 441300000000); -INSERT INTO `zz_area_code` VALUES (441303000000, '惠阳区', 3, 441300000000); -INSERT INTO `zz_area_code` VALUES (441322000000, '博罗县', 3, 441300000000); -INSERT INTO `zz_area_code` VALUES (441323000000, '惠东县', 3, 441300000000); -INSERT INTO `zz_area_code` VALUES (441324000000, '龙门县', 3, 441300000000); -INSERT INTO `zz_area_code` VALUES (441400000000, '梅州市', 2, 440000000000); -INSERT INTO `zz_area_code` VALUES (441401000000, '市辖区', 3, 441400000000); -INSERT INTO `zz_area_code` VALUES (441402000000, '梅江区', 3, 441400000000); -INSERT INTO `zz_area_code` VALUES (441403000000, '梅县区', 3, 441400000000); -INSERT INTO `zz_area_code` VALUES (441422000000, '大埔县', 3, 441400000000); -INSERT INTO `zz_area_code` VALUES (441423000000, '丰顺县', 3, 441400000000); -INSERT INTO `zz_area_code` VALUES (441424000000, '五华县', 3, 441400000000); -INSERT INTO `zz_area_code` VALUES (441426000000, '平远县', 3, 441400000000); -INSERT INTO `zz_area_code` VALUES (441427000000, '蕉岭县', 3, 441400000000); -INSERT INTO `zz_area_code` VALUES (441481000000, '兴宁市', 3, 441400000000); -INSERT INTO `zz_area_code` VALUES (441500000000, '汕尾市', 2, 440000000000); -INSERT INTO `zz_area_code` VALUES (441501000000, '市辖区', 3, 441500000000); -INSERT INTO `zz_area_code` VALUES (441502000000, '城区', 3, 441500000000); -INSERT INTO `zz_area_code` VALUES (441521000000, '海丰县', 3, 441500000000); -INSERT INTO `zz_area_code` VALUES (441523000000, '陆河县', 3, 441500000000); -INSERT INTO `zz_area_code` VALUES (441581000000, '陆丰市', 3, 441500000000); -INSERT INTO `zz_area_code` VALUES (441600000000, '河源市', 2, 440000000000); -INSERT INTO `zz_area_code` VALUES (441601000000, '市辖区', 3, 441600000000); -INSERT INTO `zz_area_code` VALUES (441602000000, '源城区', 3, 441600000000); -INSERT INTO `zz_area_code` VALUES (441621000000, '紫金县', 3, 441600000000); -INSERT INTO `zz_area_code` VALUES (441622000000, '龙川县', 3, 441600000000); -INSERT INTO `zz_area_code` VALUES (441623000000, '连平县', 3, 441600000000); -INSERT INTO `zz_area_code` VALUES (441624000000, '和平县', 3, 441600000000); -INSERT INTO `zz_area_code` VALUES (441625000000, '东源县', 3, 441600000000); -INSERT INTO `zz_area_code` VALUES (441700000000, '阳江市', 2, 440000000000); -INSERT INTO `zz_area_code` VALUES (441701000000, '市辖区', 3, 441700000000); -INSERT INTO `zz_area_code` VALUES (441702000000, '江城区', 3, 441700000000); -INSERT INTO `zz_area_code` VALUES (441704000000, '阳东区', 3, 441700000000); -INSERT INTO `zz_area_code` VALUES (441721000000, '阳西县', 3, 441700000000); -INSERT INTO `zz_area_code` VALUES (441781000000, '阳春市', 3, 441700000000); -INSERT INTO `zz_area_code` VALUES (441800000000, '清远市', 2, 440000000000); -INSERT INTO `zz_area_code` VALUES (441801000000, '市辖区', 3, 441800000000); -INSERT INTO `zz_area_code` VALUES (441802000000, '清城区', 3, 441800000000); -INSERT INTO `zz_area_code` VALUES (441803000000, '清新区', 3, 441800000000); -INSERT INTO `zz_area_code` VALUES (441821000000, '佛冈县', 3, 441800000000); -INSERT INTO `zz_area_code` VALUES (441823000000, '阳山县', 3, 441800000000); -INSERT INTO `zz_area_code` VALUES (441825000000, '连山壮族瑶族自治县', 3, 441800000000); -INSERT INTO `zz_area_code` VALUES (441826000000, '连南瑶族自治县', 3, 441800000000); -INSERT INTO `zz_area_code` VALUES (441881000000, '英德市', 3, 441800000000); -INSERT INTO `zz_area_code` VALUES (441882000000, '连州市', 3, 441800000000); -INSERT INTO `zz_area_code` VALUES (441900000000, '东莞市', 2, 440000000000); -INSERT INTO `zz_area_code` VALUES (442000000000, '中山市', 2, 440000000000); -INSERT INTO `zz_area_code` VALUES (445100000000, '潮州市', 2, 440000000000); -INSERT INTO `zz_area_code` VALUES (445101000000, '市辖区', 3, 445100000000); -INSERT INTO `zz_area_code` VALUES (445102000000, '湘桥区', 3, 445100000000); -INSERT INTO `zz_area_code` VALUES (445103000000, '潮安区', 3, 445100000000); -INSERT INTO `zz_area_code` VALUES (445122000000, '饶平县', 3, 445100000000); -INSERT INTO `zz_area_code` VALUES (445200000000, '揭阳市', 2, 440000000000); -INSERT INTO `zz_area_code` VALUES (445201000000, '市辖区', 3, 445200000000); -INSERT INTO `zz_area_code` VALUES (445202000000, '榕城区', 3, 445200000000); -INSERT INTO `zz_area_code` VALUES (445203000000, '揭东区', 3, 445200000000); -INSERT INTO `zz_area_code` VALUES (445222000000, '揭西县', 3, 445200000000); -INSERT INTO `zz_area_code` VALUES (445224000000, '惠来县', 3, 445200000000); -INSERT INTO `zz_area_code` VALUES (445281000000, '普宁市', 3, 445200000000); -INSERT INTO `zz_area_code` VALUES (445300000000, '云浮市', 2, 440000000000); -INSERT INTO `zz_area_code` VALUES (445301000000, '市辖区', 3, 445300000000); -INSERT INTO `zz_area_code` VALUES (445302000000, '云城区', 3, 445300000000); -INSERT INTO `zz_area_code` VALUES (445303000000, '云安区', 3, 445300000000); -INSERT INTO `zz_area_code` VALUES (445321000000, '新兴县', 3, 445300000000); -INSERT INTO `zz_area_code` VALUES (445322000000, '郁南县', 3, 445300000000); -INSERT INTO `zz_area_code` VALUES (445381000000, '罗定市', 3, 445300000000); -INSERT INTO `zz_area_code` VALUES (450000000000, '广西壮族自治区', 1, NULL); -INSERT INTO `zz_area_code` VALUES (450100000000, '南宁市', 2, 450000000000); -INSERT INTO `zz_area_code` VALUES (450101000000, '市辖区', 3, 450100000000); -INSERT INTO `zz_area_code` VALUES (450102000000, '兴宁区', 3, 450100000000); -INSERT INTO `zz_area_code` VALUES (450103000000, '青秀区', 3, 450100000000); -INSERT INTO `zz_area_code` VALUES (450105000000, '江南区', 3, 450100000000); -INSERT INTO `zz_area_code` VALUES (450107000000, '西乡塘区', 3, 450100000000); -INSERT INTO `zz_area_code` VALUES (450108000000, '良庆区', 3, 450100000000); -INSERT INTO `zz_area_code` VALUES (450109000000, '邕宁区', 3, 450100000000); -INSERT INTO `zz_area_code` VALUES (450110000000, '武鸣区', 3, 450100000000); -INSERT INTO `zz_area_code` VALUES (450123000000, '隆安县', 3, 450100000000); -INSERT INTO `zz_area_code` VALUES (450124000000, '马山县', 3, 450100000000); -INSERT INTO `zz_area_code` VALUES (450125000000, '上林县', 3, 450100000000); -INSERT INTO `zz_area_code` VALUES (450126000000, '宾阳县', 3, 450100000000); -INSERT INTO `zz_area_code` VALUES (450127000000, '横县', 3, 450100000000); -INSERT INTO `zz_area_code` VALUES (450200000000, '柳州市', 2, 450000000000); -INSERT INTO `zz_area_code` VALUES (450201000000, '市辖区', 3, 450200000000); -INSERT INTO `zz_area_code` VALUES (450202000000, '城中区', 3, 450200000000); -INSERT INTO `zz_area_code` VALUES (450203000000, '鱼峰区', 3, 450200000000); -INSERT INTO `zz_area_code` VALUES (450204000000, '柳南区', 3, 450200000000); -INSERT INTO `zz_area_code` VALUES (450205000000, '柳北区', 3, 450200000000); -INSERT INTO `zz_area_code` VALUES (450206000000, '柳江区', 3, 450200000000); -INSERT INTO `zz_area_code` VALUES (450222000000, '柳城县', 3, 450200000000); -INSERT INTO `zz_area_code` VALUES (450223000000, '鹿寨县', 3, 450200000000); -INSERT INTO `zz_area_code` VALUES (450224000000, '融安县', 3, 450200000000); -INSERT INTO `zz_area_code` VALUES (450225000000, '融水苗族自治县', 3, 450200000000); -INSERT INTO `zz_area_code` VALUES (450226000000, '三江侗族自治县', 3, 450200000000); -INSERT INTO `zz_area_code` VALUES (450300000000, '桂林市', 2, 450000000000); -INSERT INTO `zz_area_code` VALUES (450301000000, '市辖区', 3, 450300000000); -INSERT INTO `zz_area_code` VALUES (450302000000, '秀峰区', 3, 450300000000); -INSERT INTO `zz_area_code` VALUES (450303000000, '叠彩区', 3, 450300000000); -INSERT INTO `zz_area_code` VALUES (450304000000, '象山区', 3, 450300000000); -INSERT INTO `zz_area_code` VALUES (450305000000, '七星区', 3, 450300000000); -INSERT INTO `zz_area_code` VALUES (450311000000, '雁山区', 3, 450300000000); -INSERT INTO `zz_area_code` VALUES (450312000000, '临桂区', 3, 450300000000); -INSERT INTO `zz_area_code` VALUES (450321000000, '阳朔县', 3, 450300000000); -INSERT INTO `zz_area_code` VALUES (450323000000, '灵川县', 3, 450300000000); -INSERT INTO `zz_area_code` VALUES (450324000000, '全州县', 3, 450300000000); -INSERT INTO `zz_area_code` VALUES (450325000000, '兴安县', 3, 450300000000); -INSERT INTO `zz_area_code` VALUES (450326000000, '永福县', 3, 450300000000); -INSERT INTO `zz_area_code` VALUES (450327000000, '灌阳县', 3, 450300000000); -INSERT INTO `zz_area_code` VALUES (450328000000, '龙胜各族自治县', 3, 450300000000); -INSERT INTO `zz_area_code` VALUES (450329000000, '资源县', 3, 450300000000); -INSERT INTO `zz_area_code` VALUES (450330000000, '平乐县', 3, 450300000000); -INSERT INTO `zz_area_code` VALUES (450332000000, '恭城瑶族自治县', 3, 450300000000); -INSERT INTO `zz_area_code` VALUES (450381000000, '荔浦市', 3, 450300000000); -INSERT INTO `zz_area_code` VALUES (450400000000, '梧州市', 2, 450000000000); -INSERT INTO `zz_area_code` VALUES (450401000000, '市辖区', 3, 450400000000); -INSERT INTO `zz_area_code` VALUES (450403000000, '万秀区', 3, 450400000000); -INSERT INTO `zz_area_code` VALUES (450405000000, '长洲区', 3, 450400000000); -INSERT INTO `zz_area_code` VALUES (450406000000, '龙圩区', 3, 450400000000); -INSERT INTO `zz_area_code` VALUES (450421000000, '苍梧县', 3, 450400000000); -INSERT INTO `zz_area_code` VALUES (450422000000, '藤县', 3, 450400000000); -INSERT INTO `zz_area_code` VALUES (450423000000, '蒙山县', 3, 450400000000); -INSERT INTO `zz_area_code` VALUES (450481000000, '岑溪市', 3, 450400000000); -INSERT INTO `zz_area_code` VALUES (450500000000, '北海市', 2, 450000000000); -INSERT INTO `zz_area_code` VALUES (450501000000, '市辖区', 3, 450500000000); -INSERT INTO `zz_area_code` VALUES (450502000000, '海城区', 3, 450500000000); -INSERT INTO `zz_area_code` VALUES (450503000000, '银海区', 3, 450500000000); -INSERT INTO `zz_area_code` VALUES (450512000000, '铁山港区', 3, 450500000000); -INSERT INTO `zz_area_code` VALUES (450521000000, '合浦县', 3, 450500000000); -INSERT INTO `zz_area_code` VALUES (450600000000, '防城港市', 2, 450000000000); -INSERT INTO `zz_area_code` VALUES (450601000000, '市辖区', 3, 450600000000); -INSERT INTO `zz_area_code` VALUES (450602000000, '港口区', 3, 450600000000); -INSERT INTO `zz_area_code` VALUES (450603000000, '防城区', 3, 450600000000); -INSERT INTO `zz_area_code` VALUES (450621000000, '上思县', 3, 450600000000); -INSERT INTO `zz_area_code` VALUES (450681000000, '东兴市', 3, 450600000000); -INSERT INTO `zz_area_code` VALUES (450700000000, '钦州市', 2, 450000000000); -INSERT INTO `zz_area_code` VALUES (450701000000, '市辖区', 3, 450700000000); -INSERT INTO `zz_area_code` VALUES (450702000000, '钦南区', 3, 450700000000); -INSERT INTO `zz_area_code` VALUES (450703000000, '钦北区', 3, 450700000000); -INSERT INTO `zz_area_code` VALUES (450721000000, '灵山县', 3, 450700000000); -INSERT INTO `zz_area_code` VALUES (450722000000, '浦北县', 3, 450700000000); -INSERT INTO `zz_area_code` VALUES (450800000000, '贵港市', 2, 450000000000); -INSERT INTO `zz_area_code` VALUES (450801000000, '市辖区', 3, 450800000000); -INSERT INTO `zz_area_code` VALUES (450802000000, '港北区', 3, 450800000000); -INSERT INTO `zz_area_code` VALUES (450803000000, '港南区', 3, 450800000000); -INSERT INTO `zz_area_code` VALUES (450804000000, '覃塘区', 3, 450800000000); -INSERT INTO `zz_area_code` VALUES (450821000000, '平南县', 3, 450800000000); -INSERT INTO `zz_area_code` VALUES (450881000000, '桂平市', 3, 450800000000); -INSERT INTO `zz_area_code` VALUES (450900000000, '玉林市', 2, 450000000000); -INSERT INTO `zz_area_code` VALUES (450901000000, '市辖区', 3, 450900000000); -INSERT INTO `zz_area_code` VALUES (450902000000, '玉州区', 3, 450900000000); -INSERT INTO `zz_area_code` VALUES (450903000000, '福绵区', 3, 450900000000); -INSERT INTO `zz_area_code` VALUES (450921000000, '容县', 3, 450900000000); -INSERT INTO `zz_area_code` VALUES (450922000000, '陆川县', 3, 450900000000); -INSERT INTO `zz_area_code` VALUES (450923000000, '博白县', 3, 450900000000); -INSERT INTO `zz_area_code` VALUES (450924000000, '兴业县', 3, 450900000000); -INSERT INTO `zz_area_code` VALUES (450981000000, '北流市', 3, 450900000000); -INSERT INTO `zz_area_code` VALUES (451000000000, '百色市', 2, 450000000000); -INSERT INTO `zz_area_code` VALUES (451001000000, '市辖区', 3, 451000000000); -INSERT INTO `zz_area_code` VALUES (451002000000, '右江区', 3, 451000000000); -INSERT INTO `zz_area_code` VALUES (451021000000, '田阳县', 3, 451000000000); -INSERT INTO `zz_area_code` VALUES (451022000000, '田东县', 3, 451000000000); -INSERT INTO `zz_area_code` VALUES (451023000000, '平果县', 3, 451000000000); -INSERT INTO `zz_area_code` VALUES (451024000000, '德保县', 3, 451000000000); -INSERT INTO `zz_area_code` VALUES (451026000000, '那坡县', 3, 451000000000); -INSERT INTO `zz_area_code` VALUES (451027000000, '凌云县', 3, 451000000000); -INSERT INTO `zz_area_code` VALUES (451028000000, '乐业县', 3, 451000000000); -INSERT INTO `zz_area_code` VALUES (451029000000, '田林县', 3, 451000000000); -INSERT INTO `zz_area_code` VALUES (451030000000, '西林县', 3, 451000000000); -INSERT INTO `zz_area_code` VALUES (451031000000, '隆林各族自治县', 3, 451000000000); -INSERT INTO `zz_area_code` VALUES (451081000000, '靖西市', 3, 451000000000); -INSERT INTO `zz_area_code` VALUES (451100000000, '贺州市', 2, 450000000000); -INSERT INTO `zz_area_code` VALUES (451101000000, '市辖区', 3, 451100000000); -INSERT INTO `zz_area_code` VALUES (451102000000, '八步区', 3, 451100000000); -INSERT INTO `zz_area_code` VALUES (451103000000, '平桂区', 3, 451100000000); -INSERT INTO `zz_area_code` VALUES (451121000000, '昭平县', 3, 451100000000); -INSERT INTO `zz_area_code` VALUES (451122000000, '钟山县', 3, 451100000000); -INSERT INTO `zz_area_code` VALUES (451123000000, '富川瑶族自治县', 3, 451100000000); -INSERT INTO `zz_area_code` VALUES (451200000000, '河池市', 2, 450000000000); -INSERT INTO `zz_area_code` VALUES (451201000000, '市辖区', 3, 451200000000); -INSERT INTO `zz_area_code` VALUES (451202000000, '金城江区', 3, 451200000000); -INSERT INTO `zz_area_code` VALUES (451203000000, '宜州区', 3, 451200000000); -INSERT INTO `zz_area_code` VALUES (451221000000, '南丹县', 3, 451200000000); -INSERT INTO `zz_area_code` VALUES (451222000000, '天峨县', 3, 451200000000); -INSERT INTO `zz_area_code` VALUES (451223000000, '凤山县', 3, 451200000000); -INSERT INTO `zz_area_code` VALUES (451224000000, '东兰县', 3, 451200000000); -INSERT INTO `zz_area_code` VALUES (451225000000, '罗城仫佬族自治县', 3, 451200000000); -INSERT INTO `zz_area_code` VALUES (451226000000, '环江毛南族自治县', 3, 451200000000); -INSERT INTO `zz_area_code` VALUES (451227000000, '巴马瑶族自治县', 3, 451200000000); -INSERT INTO `zz_area_code` VALUES (451228000000, '都安瑶族自治县', 3, 451200000000); -INSERT INTO `zz_area_code` VALUES (451229000000, '大化瑶族自治县', 3, 451200000000); -INSERT INTO `zz_area_code` VALUES (451300000000, '来宾市', 2, 450000000000); -INSERT INTO `zz_area_code` VALUES (451301000000, '市辖区', 3, 451300000000); -INSERT INTO `zz_area_code` VALUES (451302000000, '兴宾区', 3, 451300000000); -INSERT INTO `zz_area_code` VALUES (451321000000, '忻城县', 3, 451300000000); -INSERT INTO `zz_area_code` VALUES (451322000000, '象州县', 3, 451300000000); -INSERT INTO `zz_area_code` VALUES (451323000000, '武宣县', 3, 451300000000); -INSERT INTO `zz_area_code` VALUES (451324000000, '金秀瑶族自治县', 3, 451300000000); -INSERT INTO `zz_area_code` VALUES (451381000000, '合山市', 3, 451300000000); -INSERT INTO `zz_area_code` VALUES (451400000000, '崇左市', 2, 450000000000); -INSERT INTO `zz_area_code` VALUES (451401000000, '市辖区', 3, 451400000000); -INSERT INTO `zz_area_code` VALUES (451402000000, '江州区', 3, 451400000000); -INSERT INTO `zz_area_code` VALUES (451421000000, '扶绥县', 3, 451400000000); -INSERT INTO `zz_area_code` VALUES (451422000000, '宁明县', 3, 451400000000); -INSERT INTO `zz_area_code` VALUES (451423000000, '龙州县', 3, 451400000000); -INSERT INTO `zz_area_code` VALUES (451424000000, '大新县', 3, 451400000000); -INSERT INTO `zz_area_code` VALUES (451425000000, '天等县', 3, 451400000000); -INSERT INTO `zz_area_code` VALUES (451481000000, '凭祥市', 3, 451400000000); -INSERT INTO `zz_area_code` VALUES (460000000000, '海南省', 1, NULL); -INSERT INTO `zz_area_code` VALUES (460100000000, '海口市', 2, 460000000000); -INSERT INTO `zz_area_code` VALUES (460101000000, '市辖区', 3, 460100000000); -INSERT INTO `zz_area_code` VALUES (460105000000, '秀英区', 3, 460100000000); -INSERT INTO `zz_area_code` VALUES (460106000000, '龙华区', 3, 460100000000); -INSERT INTO `zz_area_code` VALUES (460107000000, '琼山区', 3, 460100000000); -INSERT INTO `zz_area_code` VALUES (460108000000, '美兰区', 3, 460100000000); -INSERT INTO `zz_area_code` VALUES (460200000000, '三亚市', 2, 460000000000); -INSERT INTO `zz_area_code` VALUES (460201000000, '市辖区', 3, 460200000000); -INSERT INTO `zz_area_code` VALUES (460202000000, '海棠区', 3, 460200000000); -INSERT INTO `zz_area_code` VALUES (460203000000, '吉阳区', 3, 460200000000); -INSERT INTO `zz_area_code` VALUES (460204000000, '天涯区', 3, 460200000000); -INSERT INTO `zz_area_code` VALUES (460205000000, '崖州区', 3, 460200000000); -INSERT INTO `zz_area_code` VALUES (460300000000, '三沙市', 2, 460000000000); -INSERT INTO `zz_area_code` VALUES (460321000000, '西沙群岛', 3, 460300000000); -INSERT INTO `zz_area_code` VALUES (460322000000, '南沙群岛', 3, 460300000000); -INSERT INTO `zz_area_code` VALUES (460323000000, '中沙群岛的岛礁及其海域', 3, 460300000000); -INSERT INTO `zz_area_code` VALUES (460400000000, '儋州市', 2, 460000000000); -INSERT INTO `zz_area_code` VALUES (469000000000, '省直辖县级行政区划', 2, 460000000000); -INSERT INTO `zz_area_code` VALUES (469001000000, '五指山市', 3, 469000000000); -INSERT INTO `zz_area_code` VALUES (469002000000, '琼海市', 3, 469000000000); -INSERT INTO `zz_area_code` VALUES (469005000000, '文昌市', 3, 469000000000); -INSERT INTO `zz_area_code` VALUES (469006000000, '万宁市', 3, 469000000000); -INSERT INTO `zz_area_code` VALUES (469007000000, '东方市', 3, 469000000000); -INSERT INTO `zz_area_code` VALUES (469021000000, '定安县', 3, 469000000000); -INSERT INTO `zz_area_code` VALUES (469022000000, '屯昌县', 3, 469000000000); -INSERT INTO `zz_area_code` VALUES (469023000000, '澄迈县', 3, 469000000000); -INSERT INTO `zz_area_code` VALUES (469024000000, '临高县', 3, 469000000000); -INSERT INTO `zz_area_code` VALUES (469025000000, '白沙黎族自治县', 3, 469000000000); -INSERT INTO `zz_area_code` VALUES (469026000000, '昌江黎族自治县', 3, 469000000000); -INSERT INTO `zz_area_code` VALUES (469027000000, '乐东黎族自治县', 3, 469000000000); -INSERT INTO `zz_area_code` VALUES (469028000000, '陵水黎族自治县', 3, 469000000000); -INSERT INTO `zz_area_code` VALUES (469029000000, '保亭黎族苗族自治县', 3, 469000000000); -INSERT INTO `zz_area_code` VALUES (469030000000, '琼中黎族苗族自治县', 3, 469000000000); -INSERT INTO `zz_area_code` VALUES (500000000000, '重庆市', 1, NULL); -INSERT INTO `zz_area_code` VALUES (500100000000, '市辖区', 2, 500000000000); -INSERT INTO `zz_area_code` VALUES (500101000000, '万州区', 3, 500100000000); -INSERT INTO `zz_area_code` VALUES (500102000000, '涪陵区', 3, 500100000000); -INSERT INTO `zz_area_code` VALUES (500103000000, '渝中区', 3, 500100000000); -INSERT INTO `zz_area_code` VALUES (500104000000, '大渡口区', 3, 500100000000); -INSERT INTO `zz_area_code` VALUES (500105000000, '江北区', 3, 500100000000); -INSERT INTO `zz_area_code` VALUES (500106000000, '沙坪坝区', 3, 500100000000); -INSERT INTO `zz_area_code` VALUES (500107000000, '九龙坡区', 3, 500100000000); -INSERT INTO `zz_area_code` VALUES (500108000000, '南岸区', 3, 500100000000); -INSERT INTO `zz_area_code` VALUES (500109000000, '北碚区', 3, 500100000000); -INSERT INTO `zz_area_code` VALUES (500110000000, '綦江区', 3, 500100000000); -INSERT INTO `zz_area_code` VALUES (500111000000, '大足区', 3, 500100000000); -INSERT INTO `zz_area_code` VALUES (500112000000, '渝北区', 3, 500100000000); -INSERT INTO `zz_area_code` VALUES (500113000000, '巴南区', 3, 500100000000); -INSERT INTO `zz_area_code` VALUES (500114000000, '黔江区', 3, 500100000000); -INSERT INTO `zz_area_code` VALUES (500115000000, '长寿区', 3, 500100000000); -INSERT INTO `zz_area_code` VALUES (500116000000, '江津区', 3, 500100000000); -INSERT INTO `zz_area_code` VALUES (500117000000, '合川区', 3, 500100000000); -INSERT INTO `zz_area_code` VALUES (500118000000, '永川区', 3, 500100000000); -INSERT INTO `zz_area_code` VALUES (500119000000, '南川区', 3, 500100000000); -INSERT INTO `zz_area_code` VALUES (500120000000, '璧山区', 3, 500100000000); -INSERT INTO `zz_area_code` VALUES (500151000000, '铜梁区', 3, 500100000000); -INSERT INTO `zz_area_code` VALUES (500152000000, '潼南区', 3, 500100000000); -INSERT INTO `zz_area_code` VALUES (500153000000, '荣昌区', 3, 500100000000); -INSERT INTO `zz_area_code` VALUES (500154000000, '开州区', 3, 500100000000); -INSERT INTO `zz_area_code` VALUES (500155000000, '梁平区', 3, 500100000000); -INSERT INTO `zz_area_code` VALUES (500156000000, '武隆区', 3, 500100000000); -INSERT INTO `zz_area_code` VALUES (500200000000, '县', 2, 500000000000); -INSERT INTO `zz_area_code` VALUES (500229000000, '城口县', 3, 500200000000); -INSERT INTO `zz_area_code` VALUES (500230000000, '丰都县', 3, 500200000000); -INSERT INTO `zz_area_code` VALUES (500231000000, '垫江县', 3, 500200000000); -INSERT INTO `zz_area_code` VALUES (500233000000, '忠县', 3, 500200000000); -INSERT INTO `zz_area_code` VALUES (500235000000, '云阳县', 3, 500200000000); -INSERT INTO `zz_area_code` VALUES (500236000000, '奉节县', 3, 500200000000); -INSERT INTO `zz_area_code` VALUES (500237000000, '巫山县', 3, 500200000000); -INSERT INTO `zz_area_code` VALUES (500238000000, '巫溪县', 3, 500200000000); -INSERT INTO `zz_area_code` VALUES (500240000000, '石柱土家族自治县', 3, 500200000000); -INSERT INTO `zz_area_code` VALUES (500241000000, '秀山土家族苗族自治县', 3, 500200000000); -INSERT INTO `zz_area_code` VALUES (500242000000, '酉阳土家族苗族自治县', 3, 500200000000); -INSERT INTO `zz_area_code` VALUES (500243000000, '彭水苗族土家族自治县', 3, 500200000000); -INSERT INTO `zz_area_code` VALUES (510000000000, '四川省', 1, NULL); -INSERT INTO `zz_area_code` VALUES (510100000000, '成都市', 2, 510000000000); -INSERT INTO `zz_area_code` VALUES (510101000000, '市辖区', 3, 510100000000); -INSERT INTO `zz_area_code` VALUES (510104000000, '锦江区', 3, 510100000000); -INSERT INTO `zz_area_code` VALUES (510105000000, '青羊区', 3, 510100000000); -INSERT INTO `zz_area_code` VALUES (510106000000, '金牛区', 3, 510100000000); -INSERT INTO `zz_area_code` VALUES (510107000000, '武侯区', 3, 510100000000); -INSERT INTO `zz_area_code` VALUES (510108000000, '成华区', 3, 510100000000); -INSERT INTO `zz_area_code` VALUES (510112000000, '龙泉驿区', 3, 510100000000); -INSERT INTO `zz_area_code` VALUES (510113000000, '青白江区', 3, 510100000000); -INSERT INTO `zz_area_code` VALUES (510114000000, '新都区', 3, 510100000000); -INSERT INTO `zz_area_code` VALUES (510115000000, '温江区', 3, 510100000000); -INSERT INTO `zz_area_code` VALUES (510116000000, '双流区', 3, 510100000000); -INSERT INTO `zz_area_code` VALUES (510117000000, '郫都区', 3, 510100000000); -INSERT INTO `zz_area_code` VALUES (510121000000, '金堂县', 3, 510100000000); -INSERT INTO `zz_area_code` VALUES (510129000000, '大邑县', 3, 510100000000); -INSERT INTO `zz_area_code` VALUES (510131000000, '蒲江县', 3, 510100000000); -INSERT INTO `zz_area_code` VALUES (510132000000, '新津县', 3, 510100000000); -INSERT INTO `zz_area_code` VALUES (510181000000, '都江堰市', 3, 510100000000); -INSERT INTO `zz_area_code` VALUES (510182000000, '彭州市', 3, 510100000000); -INSERT INTO `zz_area_code` VALUES (510183000000, '邛崃市', 3, 510100000000); -INSERT INTO `zz_area_code` VALUES (510184000000, '崇州市', 3, 510100000000); -INSERT INTO `zz_area_code` VALUES (510185000000, '简阳市', 3, 510100000000); -INSERT INTO `zz_area_code` VALUES (510300000000, '自贡市', 2, 510000000000); -INSERT INTO `zz_area_code` VALUES (510301000000, '市辖区', 3, 510300000000); -INSERT INTO `zz_area_code` VALUES (510302000000, '自流井区', 3, 510300000000); -INSERT INTO `zz_area_code` VALUES (510303000000, '贡井区', 3, 510300000000); -INSERT INTO `zz_area_code` VALUES (510304000000, '大安区', 3, 510300000000); -INSERT INTO `zz_area_code` VALUES (510311000000, '沿滩区', 3, 510300000000); -INSERT INTO `zz_area_code` VALUES (510321000000, '荣县', 3, 510300000000); -INSERT INTO `zz_area_code` VALUES (510322000000, '富顺县', 3, 510300000000); -INSERT INTO `zz_area_code` VALUES (510400000000, '攀枝花市', 2, 510000000000); -INSERT INTO `zz_area_code` VALUES (510401000000, '市辖区', 3, 510400000000); -INSERT INTO `zz_area_code` VALUES (510402000000, '东区', 3, 510400000000); -INSERT INTO `zz_area_code` VALUES (510403000000, '西区', 3, 510400000000); -INSERT INTO `zz_area_code` VALUES (510411000000, '仁和区', 3, 510400000000); -INSERT INTO `zz_area_code` VALUES (510421000000, '米易县', 3, 510400000000); -INSERT INTO `zz_area_code` VALUES (510422000000, '盐边县', 3, 510400000000); -INSERT INTO `zz_area_code` VALUES (510500000000, '泸州市', 2, 510000000000); -INSERT INTO `zz_area_code` VALUES (510501000000, '市辖区', 3, 510500000000); -INSERT INTO `zz_area_code` VALUES (510502000000, '江阳区', 3, 510500000000); -INSERT INTO `zz_area_code` VALUES (510503000000, '纳溪区', 3, 510500000000); -INSERT INTO `zz_area_code` VALUES (510504000000, '龙马潭区', 3, 510500000000); -INSERT INTO `zz_area_code` VALUES (510521000000, '泸县', 3, 510500000000); -INSERT INTO `zz_area_code` VALUES (510522000000, '合江县', 3, 510500000000); -INSERT INTO `zz_area_code` VALUES (510524000000, '叙永县', 3, 510500000000); -INSERT INTO `zz_area_code` VALUES (510525000000, '古蔺县', 3, 510500000000); -INSERT INTO `zz_area_code` VALUES (510600000000, '德阳市', 2, 510000000000); -INSERT INTO `zz_area_code` VALUES (510601000000, '市辖区', 3, 510600000000); -INSERT INTO `zz_area_code` VALUES (510603000000, '旌阳区', 3, 510600000000); -INSERT INTO `zz_area_code` VALUES (510604000000, '罗江区', 3, 510600000000); -INSERT INTO `zz_area_code` VALUES (510623000000, '中江县', 3, 510600000000); -INSERT INTO `zz_area_code` VALUES (510681000000, '广汉市', 3, 510600000000); -INSERT INTO `zz_area_code` VALUES (510682000000, '什邡市', 3, 510600000000); -INSERT INTO `zz_area_code` VALUES (510683000000, '绵竹市', 3, 510600000000); -INSERT INTO `zz_area_code` VALUES (510700000000, '绵阳市', 2, 510000000000); -INSERT INTO `zz_area_code` VALUES (510701000000, '市辖区', 3, 510700000000); -INSERT INTO `zz_area_code` VALUES (510703000000, '涪城区', 3, 510700000000); -INSERT INTO `zz_area_code` VALUES (510704000000, '游仙区', 3, 510700000000); -INSERT INTO `zz_area_code` VALUES (510705000000, '安州区', 3, 510700000000); -INSERT INTO `zz_area_code` VALUES (510722000000, '三台县', 3, 510700000000); -INSERT INTO `zz_area_code` VALUES (510723000000, '盐亭县', 3, 510700000000); -INSERT INTO `zz_area_code` VALUES (510725000000, '梓潼县', 3, 510700000000); -INSERT INTO `zz_area_code` VALUES (510726000000, '北川羌族自治县', 3, 510700000000); -INSERT INTO `zz_area_code` VALUES (510727000000, '平武县', 3, 510700000000); -INSERT INTO `zz_area_code` VALUES (510781000000, '江油市', 3, 510700000000); -INSERT INTO `zz_area_code` VALUES (510800000000, '广元市', 2, 510000000000); -INSERT INTO `zz_area_code` VALUES (510801000000, '市辖区', 3, 510800000000); -INSERT INTO `zz_area_code` VALUES (510802000000, '利州区', 3, 510800000000); -INSERT INTO `zz_area_code` VALUES (510811000000, '昭化区', 3, 510800000000); -INSERT INTO `zz_area_code` VALUES (510812000000, '朝天区', 3, 510800000000); -INSERT INTO `zz_area_code` VALUES (510821000000, '旺苍县', 3, 510800000000); -INSERT INTO `zz_area_code` VALUES (510822000000, '青川县', 3, 510800000000); -INSERT INTO `zz_area_code` VALUES (510823000000, '剑阁县', 3, 510800000000); -INSERT INTO `zz_area_code` VALUES (510824000000, '苍溪县', 3, 510800000000); -INSERT INTO `zz_area_code` VALUES (510900000000, '遂宁市', 2, 510000000000); -INSERT INTO `zz_area_code` VALUES (510901000000, '市辖区', 3, 510900000000); -INSERT INTO `zz_area_code` VALUES (510903000000, '船山区', 3, 510900000000); -INSERT INTO `zz_area_code` VALUES (510904000000, '安居区', 3, 510900000000); -INSERT INTO `zz_area_code` VALUES (510921000000, '蓬溪县', 3, 510900000000); -INSERT INTO `zz_area_code` VALUES (510922000000, '射洪县', 3, 510900000000); -INSERT INTO `zz_area_code` VALUES (510923000000, '大英县', 3, 510900000000); -INSERT INTO `zz_area_code` VALUES (511000000000, '内江市', 2, 510000000000); -INSERT INTO `zz_area_code` VALUES (511001000000, '市辖区', 3, 511000000000); -INSERT INTO `zz_area_code` VALUES (511002000000, '市中区', 3, 511000000000); -INSERT INTO `zz_area_code` VALUES (511011000000, '东兴区', 3, 511000000000); -INSERT INTO `zz_area_code` VALUES (511024000000, '威远县', 3, 511000000000); -INSERT INTO `zz_area_code` VALUES (511025000000, '资中县', 3, 511000000000); -INSERT INTO `zz_area_code` VALUES (511071000000, '内江经济开发区', 3, 511000000000); -INSERT INTO `zz_area_code` VALUES (511083000000, '隆昌市', 3, 511000000000); -INSERT INTO `zz_area_code` VALUES (511100000000, '乐山市', 2, 510000000000); -INSERT INTO `zz_area_code` VALUES (511101000000, '市辖区', 3, 511100000000); -INSERT INTO `zz_area_code` VALUES (511102000000, '市中区', 3, 511100000000); -INSERT INTO `zz_area_code` VALUES (511111000000, '沙湾区', 3, 511100000000); -INSERT INTO `zz_area_code` VALUES (511112000000, '五通桥区', 3, 511100000000); -INSERT INTO `zz_area_code` VALUES (511113000000, '金口河区', 3, 511100000000); -INSERT INTO `zz_area_code` VALUES (511123000000, '犍为县', 3, 511100000000); -INSERT INTO `zz_area_code` VALUES (511124000000, '井研县', 3, 511100000000); -INSERT INTO `zz_area_code` VALUES (511126000000, '夹江县', 3, 511100000000); -INSERT INTO `zz_area_code` VALUES (511129000000, '沐川县', 3, 511100000000); -INSERT INTO `zz_area_code` VALUES (511132000000, '峨边彝族自治县', 3, 511100000000); -INSERT INTO `zz_area_code` VALUES (511133000000, '马边彝族自治县', 3, 511100000000); -INSERT INTO `zz_area_code` VALUES (511181000000, '峨眉山市', 3, 511100000000); -INSERT INTO `zz_area_code` VALUES (511300000000, '南充市', 2, 510000000000); -INSERT INTO `zz_area_code` VALUES (511301000000, '市辖区', 3, 511300000000); -INSERT INTO `zz_area_code` VALUES (511302000000, '顺庆区', 3, 511300000000); -INSERT INTO `zz_area_code` VALUES (511303000000, '高坪区', 3, 511300000000); -INSERT INTO `zz_area_code` VALUES (511304000000, '嘉陵区', 3, 511300000000); -INSERT INTO `zz_area_code` VALUES (511321000000, '南部县', 3, 511300000000); -INSERT INTO `zz_area_code` VALUES (511322000000, '营山县', 3, 511300000000); -INSERT INTO `zz_area_code` VALUES (511323000000, '蓬安县', 3, 511300000000); -INSERT INTO `zz_area_code` VALUES (511324000000, '仪陇县', 3, 511300000000); -INSERT INTO `zz_area_code` VALUES (511325000000, '西充县', 3, 511300000000); -INSERT INTO `zz_area_code` VALUES (511381000000, '阆中市', 3, 511300000000); -INSERT INTO `zz_area_code` VALUES (511400000000, '眉山市', 2, 510000000000); -INSERT INTO `zz_area_code` VALUES (511401000000, '市辖区', 3, 511400000000); -INSERT INTO `zz_area_code` VALUES (511402000000, '东坡区', 3, 511400000000); -INSERT INTO `zz_area_code` VALUES (511403000000, '彭山区', 3, 511400000000); -INSERT INTO `zz_area_code` VALUES (511421000000, '仁寿县', 3, 511400000000); -INSERT INTO `zz_area_code` VALUES (511423000000, '洪雅县', 3, 511400000000); -INSERT INTO `zz_area_code` VALUES (511424000000, '丹棱县', 3, 511400000000); -INSERT INTO `zz_area_code` VALUES (511425000000, '青神县', 3, 511400000000); -INSERT INTO `zz_area_code` VALUES (511500000000, '宜宾市', 2, 510000000000); -INSERT INTO `zz_area_code` VALUES (511501000000, '市辖区', 3, 511500000000); -INSERT INTO `zz_area_code` VALUES (511502000000, '翠屏区', 3, 511500000000); -INSERT INTO `zz_area_code` VALUES (511503000000, '南溪区', 3, 511500000000); -INSERT INTO `zz_area_code` VALUES (511504000000, '叙州区', 3, 511500000000); -INSERT INTO `zz_area_code` VALUES (511523000000, '江安县', 3, 511500000000); -INSERT INTO `zz_area_code` VALUES (511524000000, '长宁县', 3, 511500000000); -INSERT INTO `zz_area_code` VALUES (511525000000, '高县', 3, 511500000000); -INSERT INTO `zz_area_code` VALUES (511526000000, '珙县', 3, 511500000000); -INSERT INTO `zz_area_code` VALUES (511527000000, '筠连县', 3, 511500000000); -INSERT INTO `zz_area_code` VALUES (511528000000, '兴文县', 3, 511500000000); -INSERT INTO `zz_area_code` VALUES (511529000000, '屏山县', 3, 511500000000); -INSERT INTO `zz_area_code` VALUES (511600000000, '广安市', 2, 510000000000); -INSERT INTO `zz_area_code` VALUES (511601000000, '市辖区', 3, 511600000000); -INSERT INTO `zz_area_code` VALUES (511602000000, '广安区', 3, 511600000000); -INSERT INTO `zz_area_code` VALUES (511603000000, '前锋区', 3, 511600000000); -INSERT INTO `zz_area_code` VALUES (511621000000, '岳池县', 3, 511600000000); -INSERT INTO `zz_area_code` VALUES (511622000000, '武胜县', 3, 511600000000); -INSERT INTO `zz_area_code` VALUES (511623000000, '邻水县', 3, 511600000000); -INSERT INTO `zz_area_code` VALUES (511681000000, '华蓥市', 3, 511600000000); -INSERT INTO `zz_area_code` VALUES (511700000000, '达州市', 2, 510000000000); -INSERT INTO `zz_area_code` VALUES (511701000000, '市辖区', 3, 511700000000); -INSERT INTO `zz_area_code` VALUES (511702000000, '通川区', 3, 511700000000); -INSERT INTO `zz_area_code` VALUES (511703000000, '达川区', 3, 511700000000); -INSERT INTO `zz_area_code` VALUES (511722000000, '宣汉县', 3, 511700000000); -INSERT INTO `zz_area_code` VALUES (511723000000, '开江县', 3, 511700000000); -INSERT INTO `zz_area_code` VALUES (511724000000, '大竹县', 3, 511700000000); -INSERT INTO `zz_area_code` VALUES (511725000000, '渠县', 3, 511700000000); -INSERT INTO `zz_area_code` VALUES (511771000000, '达州经济开发区', 3, 511700000000); -INSERT INTO `zz_area_code` VALUES (511781000000, '万源市', 3, 511700000000); -INSERT INTO `zz_area_code` VALUES (511800000000, '雅安市', 2, 510000000000); -INSERT INTO `zz_area_code` VALUES (511801000000, '市辖区', 3, 511800000000); -INSERT INTO `zz_area_code` VALUES (511802000000, '雨城区', 3, 511800000000); -INSERT INTO `zz_area_code` VALUES (511803000000, '名山区', 3, 511800000000); -INSERT INTO `zz_area_code` VALUES (511822000000, '荥经县', 3, 511800000000); -INSERT INTO `zz_area_code` VALUES (511823000000, '汉源县', 3, 511800000000); -INSERT INTO `zz_area_code` VALUES (511824000000, '石棉县', 3, 511800000000); -INSERT INTO `zz_area_code` VALUES (511825000000, '天全县', 3, 511800000000); -INSERT INTO `zz_area_code` VALUES (511826000000, '芦山县', 3, 511800000000); -INSERT INTO `zz_area_code` VALUES (511827000000, '宝兴县', 3, 511800000000); -INSERT INTO `zz_area_code` VALUES (511900000000, '巴中市', 2, 510000000000); -INSERT INTO `zz_area_code` VALUES (511901000000, '市辖区', 3, 511900000000); -INSERT INTO `zz_area_code` VALUES (511902000000, '巴州区', 3, 511900000000); -INSERT INTO `zz_area_code` VALUES (511903000000, '恩阳区', 3, 511900000000); -INSERT INTO `zz_area_code` VALUES (511921000000, '通江县', 3, 511900000000); -INSERT INTO `zz_area_code` VALUES (511922000000, '南江县', 3, 511900000000); -INSERT INTO `zz_area_code` VALUES (511923000000, '平昌县', 3, 511900000000); -INSERT INTO `zz_area_code` VALUES (511971000000, '巴中经济开发区', 3, 511900000000); -INSERT INTO `zz_area_code` VALUES (512000000000, '资阳市', 2, 510000000000); -INSERT INTO `zz_area_code` VALUES (512001000000, '市辖区', 3, 512000000000); -INSERT INTO `zz_area_code` VALUES (512002000000, '雁江区', 3, 512000000000); -INSERT INTO `zz_area_code` VALUES (512021000000, '安岳县', 3, 512000000000); -INSERT INTO `zz_area_code` VALUES (512022000000, '乐至县', 3, 512000000000); -INSERT INTO `zz_area_code` VALUES (513200000000, '阿坝藏族羌族自治州', 2, 510000000000); -INSERT INTO `zz_area_code` VALUES (513201000000, '马尔康市', 3, 513200000000); -INSERT INTO `zz_area_code` VALUES (513221000000, '汶川县', 3, 513200000000); -INSERT INTO `zz_area_code` VALUES (513222000000, '理县', 3, 513200000000); -INSERT INTO `zz_area_code` VALUES (513223000000, '茂县', 3, 513200000000); -INSERT INTO `zz_area_code` VALUES (513224000000, '松潘县', 3, 513200000000); -INSERT INTO `zz_area_code` VALUES (513225000000, '九寨沟县', 3, 513200000000); -INSERT INTO `zz_area_code` VALUES (513226000000, '金川县', 3, 513200000000); -INSERT INTO `zz_area_code` VALUES (513227000000, '小金县', 3, 513200000000); -INSERT INTO `zz_area_code` VALUES (513228000000, '黑水县', 3, 513200000000); -INSERT INTO `zz_area_code` VALUES (513230000000, '壤塘县', 3, 513200000000); -INSERT INTO `zz_area_code` VALUES (513231000000, '阿坝县', 3, 513200000000); -INSERT INTO `zz_area_code` VALUES (513232000000, '若尔盖县', 3, 513200000000); -INSERT INTO `zz_area_code` VALUES (513233000000, '红原县', 3, 513200000000); -INSERT INTO `zz_area_code` VALUES (513300000000, '甘孜藏族自治州', 2, 510000000000); -INSERT INTO `zz_area_code` VALUES (513301000000, '康定市', 3, 513300000000); -INSERT INTO `zz_area_code` VALUES (513322000000, '泸定县', 3, 513300000000); -INSERT INTO `zz_area_code` VALUES (513323000000, '丹巴县', 3, 513300000000); -INSERT INTO `zz_area_code` VALUES (513324000000, '九龙县', 3, 513300000000); -INSERT INTO `zz_area_code` VALUES (513325000000, '雅江县', 3, 513300000000); -INSERT INTO `zz_area_code` VALUES (513326000000, '道孚县', 3, 513300000000); -INSERT INTO `zz_area_code` VALUES (513327000000, '炉霍县', 3, 513300000000); -INSERT INTO `zz_area_code` VALUES (513328000000, '甘孜县', 3, 513300000000); -INSERT INTO `zz_area_code` VALUES (513329000000, '新龙县', 3, 513300000000); -INSERT INTO `zz_area_code` VALUES (513330000000, '德格县', 3, 513300000000); -INSERT INTO `zz_area_code` VALUES (513331000000, '白玉县', 3, 513300000000); -INSERT INTO `zz_area_code` VALUES (513332000000, '石渠县', 3, 513300000000); -INSERT INTO `zz_area_code` VALUES (513333000000, '色达县', 3, 513300000000); -INSERT INTO `zz_area_code` VALUES (513334000000, '理塘县', 3, 513300000000); -INSERT INTO `zz_area_code` VALUES (513335000000, '巴塘县', 3, 513300000000); -INSERT INTO `zz_area_code` VALUES (513336000000, '乡城县', 3, 513300000000); -INSERT INTO `zz_area_code` VALUES (513337000000, '稻城县', 3, 513300000000); -INSERT INTO `zz_area_code` VALUES (513338000000, '得荣县', 3, 513300000000); -INSERT INTO `zz_area_code` VALUES (513400000000, '凉山彝族自治州', 2, 510000000000); -INSERT INTO `zz_area_code` VALUES (513401000000, '西昌市', 3, 513400000000); -INSERT INTO `zz_area_code` VALUES (513422000000, '木里藏族自治县', 3, 513400000000); -INSERT INTO `zz_area_code` VALUES (513423000000, '盐源县', 3, 513400000000); -INSERT INTO `zz_area_code` VALUES (513424000000, '德昌县', 3, 513400000000); -INSERT INTO `zz_area_code` VALUES (513425000000, '会理县', 3, 513400000000); -INSERT INTO `zz_area_code` VALUES (513426000000, '会东县', 3, 513400000000); -INSERT INTO `zz_area_code` VALUES (513427000000, '宁南县', 3, 513400000000); -INSERT INTO `zz_area_code` VALUES (513428000000, '普格县', 3, 513400000000); -INSERT INTO `zz_area_code` VALUES (513429000000, '布拖县', 3, 513400000000); -INSERT INTO `zz_area_code` VALUES (513430000000, '金阳县', 3, 513400000000); -INSERT INTO `zz_area_code` VALUES (513431000000, '昭觉县', 3, 513400000000); -INSERT INTO `zz_area_code` VALUES (513432000000, '喜德县', 3, 513400000000); -INSERT INTO `zz_area_code` VALUES (513433000000, '冕宁县', 3, 513400000000); -INSERT INTO `zz_area_code` VALUES (513434000000, '越西县', 3, 513400000000); -INSERT INTO `zz_area_code` VALUES (513435000000, '甘洛县', 3, 513400000000); -INSERT INTO `zz_area_code` VALUES (513436000000, '美姑县', 3, 513400000000); -INSERT INTO `zz_area_code` VALUES (513437000000, '雷波县', 3, 513400000000); -INSERT INTO `zz_area_code` VALUES (520000000000, '贵州省', 1, NULL); -INSERT INTO `zz_area_code` VALUES (520100000000, '贵阳市', 2, 520000000000); -INSERT INTO `zz_area_code` VALUES (520101000000, '市辖区', 3, 520100000000); -INSERT INTO `zz_area_code` VALUES (520102000000, '南明区', 3, 520100000000); -INSERT INTO `zz_area_code` VALUES (520103000000, '云岩区', 3, 520100000000); -INSERT INTO `zz_area_code` VALUES (520111000000, '花溪区', 3, 520100000000); -INSERT INTO `zz_area_code` VALUES (520112000000, '乌当区', 3, 520100000000); -INSERT INTO `zz_area_code` VALUES (520113000000, '白云区', 3, 520100000000); -INSERT INTO `zz_area_code` VALUES (520115000000, '观山湖区', 3, 520100000000); -INSERT INTO `zz_area_code` VALUES (520121000000, '开阳县', 3, 520100000000); -INSERT INTO `zz_area_code` VALUES (520122000000, '息烽县', 3, 520100000000); -INSERT INTO `zz_area_code` VALUES (520123000000, '修文县', 3, 520100000000); -INSERT INTO `zz_area_code` VALUES (520181000000, '清镇市', 3, 520100000000); -INSERT INTO `zz_area_code` VALUES (520200000000, '六盘水市', 2, 520000000000); -INSERT INTO `zz_area_code` VALUES (520201000000, '钟山区', 3, 520200000000); -INSERT INTO `zz_area_code` VALUES (520203000000, '六枝特区', 3, 520200000000); -INSERT INTO `zz_area_code` VALUES (520221000000, '水城县', 3, 520200000000); -INSERT INTO `zz_area_code` VALUES (520281000000, '盘州市', 3, 520200000000); -INSERT INTO `zz_area_code` VALUES (520300000000, '遵义市', 2, 520000000000); -INSERT INTO `zz_area_code` VALUES (520301000000, '市辖区', 3, 520300000000); -INSERT INTO `zz_area_code` VALUES (520302000000, '红花岗区', 3, 520300000000); -INSERT INTO `zz_area_code` VALUES (520303000000, '汇川区', 3, 520300000000); -INSERT INTO `zz_area_code` VALUES (520304000000, '播州区', 3, 520300000000); -INSERT INTO `zz_area_code` VALUES (520322000000, '桐梓县', 3, 520300000000); -INSERT INTO `zz_area_code` VALUES (520323000000, '绥阳县', 3, 520300000000); -INSERT INTO `zz_area_code` VALUES (520324000000, '正安县', 3, 520300000000); -INSERT INTO `zz_area_code` VALUES (520325000000, '道真仡佬族苗族自治县', 3, 520300000000); -INSERT INTO `zz_area_code` VALUES (520326000000, '务川仡佬族苗族自治县', 3, 520300000000); -INSERT INTO `zz_area_code` VALUES (520327000000, '凤冈县', 3, 520300000000); -INSERT INTO `zz_area_code` VALUES (520328000000, '湄潭县', 3, 520300000000); -INSERT INTO `zz_area_code` VALUES (520329000000, '余庆县', 3, 520300000000); -INSERT INTO `zz_area_code` VALUES (520330000000, '习水县', 3, 520300000000); -INSERT INTO `zz_area_code` VALUES (520381000000, '赤水市', 3, 520300000000); -INSERT INTO `zz_area_code` VALUES (520382000000, '仁怀市', 3, 520300000000); -INSERT INTO `zz_area_code` VALUES (520400000000, '安顺市', 2, 520000000000); -INSERT INTO `zz_area_code` VALUES (520401000000, '市辖区', 3, 520400000000); -INSERT INTO `zz_area_code` VALUES (520402000000, '西秀区', 3, 520400000000); -INSERT INTO `zz_area_code` VALUES (520403000000, '平坝区', 3, 520400000000); -INSERT INTO `zz_area_code` VALUES (520422000000, '普定县', 3, 520400000000); -INSERT INTO `zz_area_code` VALUES (520423000000, '镇宁布依族苗族自治县', 3, 520400000000); -INSERT INTO `zz_area_code` VALUES (520424000000, '关岭布依族苗族自治县', 3, 520400000000); -INSERT INTO `zz_area_code` VALUES (520425000000, '紫云苗族布依族自治县', 3, 520400000000); -INSERT INTO `zz_area_code` VALUES (520500000000, '毕节市', 2, 520000000000); -INSERT INTO `zz_area_code` VALUES (520501000000, '市辖区', 3, 520500000000); -INSERT INTO `zz_area_code` VALUES (520502000000, '七星关区', 3, 520500000000); -INSERT INTO `zz_area_code` VALUES (520521000000, '大方县', 3, 520500000000); -INSERT INTO `zz_area_code` VALUES (520522000000, '黔西县', 3, 520500000000); -INSERT INTO `zz_area_code` VALUES (520523000000, '金沙县', 3, 520500000000); -INSERT INTO `zz_area_code` VALUES (520524000000, '织金县', 3, 520500000000); -INSERT INTO `zz_area_code` VALUES (520525000000, '纳雍县', 3, 520500000000); -INSERT INTO `zz_area_code` VALUES (520526000000, '威宁彝族回族苗族自治县', 3, 520500000000); -INSERT INTO `zz_area_code` VALUES (520527000000, '赫章县', 3, 520500000000); -INSERT INTO `zz_area_code` VALUES (520600000000, '铜仁市', 2, 520000000000); -INSERT INTO `zz_area_code` VALUES (520601000000, '市辖区', 3, 520600000000); -INSERT INTO `zz_area_code` VALUES (520602000000, '碧江区', 3, 520600000000); -INSERT INTO `zz_area_code` VALUES (520603000000, '万山区', 3, 520600000000); -INSERT INTO `zz_area_code` VALUES (520621000000, '江口县', 3, 520600000000); -INSERT INTO `zz_area_code` VALUES (520622000000, '玉屏侗族自治县', 3, 520600000000); -INSERT INTO `zz_area_code` VALUES (520623000000, '石阡县', 3, 520600000000); -INSERT INTO `zz_area_code` VALUES (520624000000, '思南县', 3, 520600000000); -INSERT INTO `zz_area_code` VALUES (520625000000, '印江土家族苗族自治县', 3, 520600000000); -INSERT INTO `zz_area_code` VALUES (520626000000, '德江县', 3, 520600000000); -INSERT INTO `zz_area_code` VALUES (520627000000, '沿河土家族自治县', 3, 520600000000); -INSERT INTO `zz_area_code` VALUES (520628000000, '松桃苗族自治县', 3, 520600000000); -INSERT INTO `zz_area_code` VALUES (522300000000, '黔西南布依族苗族自治州', 2, 520000000000); -INSERT INTO `zz_area_code` VALUES (522301000000, '兴义市', 3, 522300000000); -INSERT INTO `zz_area_code` VALUES (522302000000, '兴仁市', 3, 522300000000); -INSERT INTO `zz_area_code` VALUES (522323000000, '普安县', 3, 522300000000); -INSERT INTO `zz_area_code` VALUES (522324000000, '晴隆县', 3, 522300000000); -INSERT INTO `zz_area_code` VALUES (522325000000, '贞丰县', 3, 522300000000); -INSERT INTO `zz_area_code` VALUES (522326000000, '望谟县', 3, 522300000000); -INSERT INTO `zz_area_code` VALUES (522327000000, '册亨县', 3, 522300000000); -INSERT INTO `zz_area_code` VALUES (522328000000, '安龙县', 3, 522300000000); -INSERT INTO `zz_area_code` VALUES (522600000000, '黔东南苗族侗族自治州', 2, 520000000000); -INSERT INTO `zz_area_code` VALUES (522601000000, '凯里市', 3, 522600000000); -INSERT INTO `zz_area_code` VALUES (522622000000, '黄平县', 3, 522600000000); -INSERT INTO `zz_area_code` VALUES (522623000000, '施秉县', 3, 522600000000); -INSERT INTO `zz_area_code` VALUES (522624000000, '三穗县', 3, 522600000000); -INSERT INTO `zz_area_code` VALUES (522625000000, '镇远县', 3, 522600000000); -INSERT INTO `zz_area_code` VALUES (522626000000, '岑巩县', 3, 522600000000); -INSERT INTO `zz_area_code` VALUES (522627000000, '天柱县', 3, 522600000000); -INSERT INTO `zz_area_code` VALUES (522628000000, '锦屏县', 3, 522600000000); -INSERT INTO `zz_area_code` VALUES (522629000000, '剑河县', 3, 522600000000); -INSERT INTO `zz_area_code` VALUES (522630000000, '台江县', 3, 522600000000); -INSERT INTO `zz_area_code` VALUES (522631000000, '黎平县', 3, 522600000000); -INSERT INTO `zz_area_code` VALUES (522632000000, '榕江县', 3, 522600000000); -INSERT INTO `zz_area_code` VALUES (522633000000, '从江县', 3, 522600000000); -INSERT INTO `zz_area_code` VALUES (522634000000, '雷山县', 3, 522600000000); -INSERT INTO `zz_area_code` VALUES (522635000000, '麻江县', 3, 522600000000); -INSERT INTO `zz_area_code` VALUES (522636000000, '丹寨县', 3, 522600000000); -INSERT INTO `zz_area_code` VALUES (522700000000, '黔南布依族苗族自治州', 2, 520000000000); -INSERT INTO `zz_area_code` VALUES (522701000000, '都匀市', 3, 522700000000); -INSERT INTO `zz_area_code` VALUES (522702000000, '福泉市', 3, 522700000000); -INSERT INTO `zz_area_code` VALUES (522722000000, '荔波县', 3, 522700000000); -INSERT INTO `zz_area_code` VALUES (522723000000, '贵定县', 3, 522700000000); -INSERT INTO `zz_area_code` VALUES (522725000000, '瓮安县', 3, 522700000000); -INSERT INTO `zz_area_code` VALUES (522726000000, '独山县', 3, 522700000000); -INSERT INTO `zz_area_code` VALUES (522727000000, '平塘县', 3, 522700000000); -INSERT INTO `zz_area_code` VALUES (522728000000, '罗甸县', 3, 522700000000); -INSERT INTO `zz_area_code` VALUES (522729000000, '长顺县', 3, 522700000000); -INSERT INTO `zz_area_code` VALUES (522730000000, '龙里县', 3, 522700000000); -INSERT INTO `zz_area_code` VALUES (522731000000, '惠水县', 3, 522700000000); -INSERT INTO `zz_area_code` VALUES (522732000000, '三都水族自治县', 3, 522700000000); -INSERT INTO `zz_area_code` VALUES (530000000000, '云南省', 1, NULL); -INSERT INTO `zz_area_code` VALUES (530100000000, '昆明市', 2, 530000000000); -INSERT INTO `zz_area_code` VALUES (530101000000, '市辖区', 3, 530100000000); -INSERT INTO `zz_area_code` VALUES (530102000000, '五华区', 3, 530100000000); -INSERT INTO `zz_area_code` VALUES (530103000000, '盘龙区', 3, 530100000000); -INSERT INTO `zz_area_code` VALUES (530111000000, '官渡区', 3, 530100000000); -INSERT INTO `zz_area_code` VALUES (530112000000, '西山区', 3, 530100000000); -INSERT INTO `zz_area_code` VALUES (530113000000, '东川区', 3, 530100000000); -INSERT INTO `zz_area_code` VALUES (530114000000, '呈贡区', 3, 530100000000); -INSERT INTO `zz_area_code` VALUES (530115000000, '晋宁区', 3, 530100000000); -INSERT INTO `zz_area_code` VALUES (530124000000, '富民县', 3, 530100000000); -INSERT INTO `zz_area_code` VALUES (530125000000, '宜良县', 3, 530100000000); -INSERT INTO `zz_area_code` VALUES (530126000000, '石林彝族自治县', 3, 530100000000); -INSERT INTO `zz_area_code` VALUES (530127000000, '嵩明县', 3, 530100000000); -INSERT INTO `zz_area_code` VALUES (530128000000, '禄劝彝族苗族自治县', 3, 530100000000); -INSERT INTO `zz_area_code` VALUES (530129000000, '寻甸回族彝族自治县', 3, 530100000000); -INSERT INTO `zz_area_code` VALUES (530181000000, '安宁市', 3, 530100000000); -INSERT INTO `zz_area_code` VALUES (530300000000, '曲靖市', 2, 530000000000); -INSERT INTO `zz_area_code` VALUES (530301000000, '市辖区', 3, 530300000000); -INSERT INTO `zz_area_code` VALUES (530302000000, '麒麟区', 3, 530300000000); -INSERT INTO `zz_area_code` VALUES (530303000000, '沾益区', 3, 530300000000); -INSERT INTO `zz_area_code` VALUES (530304000000, '马龙区', 3, 530300000000); -INSERT INTO `zz_area_code` VALUES (530322000000, '陆良县', 3, 530300000000); -INSERT INTO `zz_area_code` VALUES (530323000000, '师宗县', 3, 530300000000); -INSERT INTO `zz_area_code` VALUES (530324000000, '罗平县', 3, 530300000000); -INSERT INTO `zz_area_code` VALUES (530325000000, '富源县', 3, 530300000000); -INSERT INTO `zz_area_code` VALUES (530326000000, '会泽县', 3, 530300000000); -INSERT INTO `zz_area_code` VALUES (530381000000, '宣威市', 3, 530300000000); -INSERT INTO `zz_area_code` VALUES (530400000000, '玉溪市', 2, 530000000000); -INSERT INTO `zz_area_code` VALUES (530401000000, '市辖区', 3, 530400000000); -INSERT INTO `zz_area_code` VALUES (530402000000, '红塔区', 3, 530400000000); -INSERT INTO `zz_area_code` VALUES (530403000000, '江川区', 3, 530400000000); -INSERT INTO `zz_area_code` VALUES (530422000000, '澄江县', 3, 530400000000); -INSERT INTO `zz_area_code` VALUES (530423000000, '通海县', 3, 530400000000); -INSERT INTO `zz_area_code` VALUES (530424000000, '华宁县', 3, 530400000000); -INSERT INTO `zz_area_code` VALUES (530425000000, '易门县', 3, 530400000000); -INSERT INTO `zz_area_code` VALUES (530426000000, '峨山彝族自治县', 3, 530400000000); -INSERT INTO `zz_area_code` VALUES (530427000000, '新平彝族傣族自治县', 3, 530400000000); -INSERT INTO `zz_area_code` VALUES (530428000000, '元江哈尼族彝族傣族自治县', 3, 530400000000); -INSERT INTO `zz_area_code` VALUES (530500000000, '保山市', 2, 530000000000); -INSERT INTO `zz_area_code` VALUES (530501000000, '市辖区', 3, 530500000000); -INSERT INTO `zz_area_code` VALUES (530502000000, '隆阳区', 3, 530500000000); -INSERT INTO `zz_area_code` VALUES (530521000000, '施甸县', 3, 530500000000); -INSERT INTO `zz_area_code` VALUES (530523000000, '龙陵县', 3, 530500000000); -INSERT INTO `zz_area_code` VALUES (530524000000, '昌宁县', 3, 530500000000); -INSERT INTO `zz_area_code` VALUES (530581000000, '腾冲市', 3, 530500000000); -INSERT INTO `zz_area_code` VALUES (530600000000, '昭通市', 2, 530000000000); -INSERT INTO `zz_area_code` VALUES (530601000000, '市辖区', 3, 530600000000); -INSERT INTO `zz_area_code` VALUES (530602000000, '昭阳区', 3, 530600000000); -INSERT INTO `zz_area_code` VALUES (530621000000, '鲁甸县', 3, 530600000000); -INSERT INTO `zz_area_code` VALUES (530622000000, '巧家县', 3, 530600000000); -INSERT INTO `zz_area_code` VALUES (530623000000, '盐津县', 3, 530600000000); -INSERT INTO `zz_area_code` VALUES (530624000000, '大关县', 3, 530600000000); -INSERT INTO `zz_area_code` VALUES (530625000000, '永善县', 3, 530600000000); -INSERT INTO `zz_area_code` VALUES (530626000000, '绥江县', 3, 530600000000); -INSERT INTO `zz_area_code` VALUES (530627000000, '镇雄县', 3, 530600000000); -INSERT INTO `zz_area_code` VALUES (530628000000, '彝良县', 3, 530600000000); -INSERT INTO `zz_area_code` VALUES (530629000000, '威信县', 3, 530600000000); -INSERT INTO `zz_area_code` VALUES (530681000000, '水富市', 3, 530600000000); -INSERT INTO `zz_area_code` VALUES (530700000000, '丽江市', 2, 530000000000); -INSERT INTO `zz_area_code` VALUES (530701000000, '市辖区', 3, 530700000000); -INSERT INTO `zz_area_code` VALUES (530702000000, '古城区', 3, 530700000000); -INSERT INTO `zz_area_code` VALUES (530721000000, '玉龙纳西族自治县', 3, 530700000000); -INSERT INTO `zz_area_code` VALUES (530722000000, '永胜县', 3, 530700000000); -INSERT INTO `zz_area_code` VALUES (530723000000, '华坪县', 3, 530700000000); -INSERT INTO `zz_area_code` VALUES (530724000000, '宁蒗彝族自治县', 3, 530700000000); -INSERT INTO `zz_area_code` VALUES (530800000000, '普洱市', 2, 530000000000); -INSERT INTO `zz_area_code` VALUES (530801000000, '市辖区', 3, 530800000000); -INSERT INTO `zz_area_code` VALUES (530802000000, '思茅区', 3, 530800000000); -INSERT INTO `zz_area_code` VALUES (530821000000, '宁洱哈尼族彝族自治县', 3, 530800000000); -INSERT INTO `zz_area_code` VALUES (530822000000, '墨江哈尼族自治县', 3, 530800000000); -INSERT INTO `zz_area_code` VALUES (530823000000, '景东彝族自治县', 3, 530800000000); -INSERT INTO `zz_area_code` VALUES (530824000000, '景谷傣族彝族自治县', 3, 530800000000); -INSERT INTO `zz_area_code` VALUES (530825000000, '镇沅彝族哈尼族拉祜族自治县', 3, 530800000000); -INSERT INTO `zz_area_code` VALUES (530826000000, '江城哈尼族彝族自治县', 3, 530800000000); -INSERT INTO `zz_area_code` VALUES (530827000000, '孟连傣族拉祜族佤族自治县', 3, 530800000000); -INSERT INTO `zz_area_code` VALUES (530828000000, '澜沧拉祜族自治县', 3, 530800000000); -INSERT INTO `zz_area_code` VALUES (530829000000, '西盟佤族自治县', 3, 530800000000); -INSERT INTO `zz_area_code` VALUES (530900000000, '临沧市', 2, 530000000000); -INSERT INTO `zz_area_code` VALUES (530901000000, '市辖区', 3, 530900000000); -INSERT INTO `zz_area_code` VALUES (530902000000, '临翔区', 3, 530900000000); -INSERT INTO `zz_area_code` VALUES (530921000000, '凤庆县', 3, 530900000000); -INSERT INTO `zz_area_code` VALUES (530922000000, '云县', 3, 530900000000); -INSERT INTO `zz_area_code` VALUES (530923000000, '永德县', 3, 530900000000); -INSERT INTO `zz_area_code` VALUES (530924000000, '镇康县', 3, 530900000000); -INSERT INTO `zz_area_code` VALUES (530925000000, '双江拉祜族佤族布朗族傣族自治县', 3, 530900000000); -INSERT INTO `zz_area_code` VALUES (530926000000, '耿马傣族佤族自治县', 3, 530900000000); -INSERT INTO `zz_area_code` VALUES (530927000000, '沧源佤族自治县', 3, 530900000000); -INSERT INTO `zz_area_code` VALUES (532300000000, '楚雄彝族自治州', 2, 530000000000); -INSERT INTO `zz_area_code` VALUES (532301000000, '楚雄市', 3, 532300000000); -INSERT INTO `zz_area_code` VALUES (532322000000, '双柏县', 3, 532300000000); -INSERT INTO `zz_area_code` VALUES (532323000000, '牟定县', 3, 532300000000); -INSERT INTO `zz_area_code` VALUES (532324000000, '南华县', 3, 532300000000); -INSERT INTO `zz_area_code` VALUES (532325000000, '姚安县', 3, 532300000000); -INSERT INTO `zz_area_code` VALUES (532326000000, '大姚县', 3, 532300000000); -INSERT INTO `zz_area_code` VALUES (532327000000, '永仁县', 3, 532300000000); -INSERT INTO `zz_area_code` VALUES (532328000000, '元谋县', 3, 532300000000); -INSERT INTO `zz_area_code` VALUES (532329000000, '武定县', 3, 532300000000); -INSERT INTO `zz_area_code` VALUES (532331000000, '禄丰县', 3, 532300000000); -INSERT INTO `zz_area_code` VALUES (532500000000, '红河哈尼族彝族自治州', 2, 530000000000); -INSERT INTO `zz_area_code` VALUES (532501000000, '个旧市', 3, 532500000000); -INSERT INTO `zz_area_code` VALUES (532502000000, '开远市', 3, 532500000000); -INSERT INTO `zz_area_code` VALUES (532503000000, '蒙自市', 3, 532500000000); -INSERT INTO `zz_area_code` VALUES (532504000000, '弥勒市', 3, 532500000000); -INSERT INTO `zz_area_code` VALUES (532523000000, '屏边苗族自治县', 3, 532500000000); -INSERT INTO `zz_area_code` VALUES (532524000000, '建水县', 3, 532500000000); -INSERT INTO `zz_area_code` VALUES (532525000000, '石屏县', 3, 532500000000); -INSERT INTO `zz_area_code` VALUES (532527000000, '泸西县', 3, 532500000000); -INSERT INTO `zz_area_code` VALUES (532528000000, '元阳县', 3, 532500000000); -INSERT INTO `zz_area_code` VALUES (532529000000, '红河县', 3, 532500000000); -INSERT INTO `zz_area_code` VALUES (532530000000, '金平苗族瑶族傣族自治县', 3, 532500000000); -INSERT INTO `zz_area_code` VALUES (532531000000, '绿春县', 3, 532500000000); -INSERT INTO `zz_area_code` VALUES (532532000000, '河口瑶族自治县', 3, 532500000000); -INSERT INTO `zz_area_code` VALUES (532600000000, '文山壮族苗族自治州', 2, 530000000000); -INSERT INTO `zz_area_code` VALUES (532601000000, '文山市', 3, 532600000000); -INSERT INTO `zz_area_code` VALUES (532622000000, '砚山县', 3, 532600000000); -INSERT INTO `zz_area_code` VALUES (532623000000, '西畴县', 3, 532600000000); -INSERT INTO `zz_area_code` VALUES (532624000000, '麻栗坡县', 3, 532600000000); -INSERT INTO `zz_area_code` VALUES (532625000000, '马关县', 3, 532600000000); -INSERT INTO `zz_area_code` VALUES (532626000000, '丘北县', 3, 532600000000); -INSERT INTO `zz_area_code` VALUES (532627000000, '广南县', 3, 532600000000); -INSERT INTO `zz_area_code` VALUES (532628000000, '富宁县', 3, 532600000000); -INSERT INTO `zz_area_code` VALUES (532800000000, '西双版纳傣族自治州', 2, 530000000000); -INSERT INTO `zz_area_code` VALUES (532801000000, '景洪市', 3, 532800000000); -INSERT INTO `zz_area_code` VALUES (532822000000, '勐海县', 3, 532800000000); -INSERT INTO `zz_area_code` VALUES (532823000000, '勐腊县', 3, 532800000000); -INSERT INTO `zz_area_code` VALUES (532900000000, '大理白族自治州', 2, 530000000000); -INSERT INTO `zz_area_code` VALUES (532901000000, '大理市', 3, 532900000000); -INSERT INTO `zz_area_code` VALUES (532922000000, '漾濞彝族自治县', 3, 532900000000); -INSERT INTO `zz_area_code` VALUES (532923000000, '祥云县', 3, 532900000000); -INSERT INTO `zz_area_code` VALUES (532924000000, '宾川县', 3, 532900000000); -INSERT INTO `zz_area_code` VALUES (532925000000, '弥渡县', 3, 532900000000); -INSERT INTO `zz_area_code` VALUES (532926000000, '南涧彝族自治县', 3, 532900000000); -INSERT INTO `zz_area_code` VALUES (532927000000, '巍山彝族回族自治县', 3, 532900000000); -INSERT INTO `zz_area_code` VALUES (532928000000, '永平县', 3, 532900000000); -INSERT INTO `zz_area_code` VALUES (532929000000, '云龙县', 3, 532900000000); -INSERT INTO `zz_area_code` VALUES (532930000000, '洱源县', 3, 532900000000); -INSERT INTO `zz_area_code` VALUES (532931000000, '剑川县', 3, 532900000000); -INSERT INTO `zz_area_code` VALUES (532932000000, '鹤庆县', 3, 532900000000); -INSERT INTO `zz_area_code` VALUES (533100000000, '德宏傣族景颇族自治州', 2, 530000000000); -INSERT INTO `zz_area_code` VALUES (533102000000, '瑞丽市', 3, 533100000000); -INSERT INTO `zz_area_code` VALUES (533103000000, '芒市', 3, 533100000000); -INSERT INTO `zz_area_code` VALUES (533122000000, '梁河县', 3, 533100000000); -INSERT INTO `zz_area_code` VALUES (533123000000, '盈江县', 3, 533100000000); -INSERT INTO `zz_area_code` VALUES (533124000000, '陇川县', 3, 533100000000); -INSERT INTO `zz_area_code` VALUES (533300000000, '怒江傈僳族自治州', 2, 530000000000); -INSERT INTO `zz_area_code` VALUES (533301000000, '泸水市', 3, 533300000000); -INSERT INTO `zz_area_code` VALUES (533323000000, '福贡县', 3, 533300000000); -INSERT INTO `zz_area_code` VALUES (533324000000, '贡山独龙族怒族自治县', 3, 533300000000); -INSERT INTO `zz_area_code` VALUES (533325000000, '兰坪白族普米族自治县', 3, 533300000000); -INSERT INTO `zz_area_code` VALUES (533400000000, '迪庆藏族自治州', 2, 530000000000); -INSERT INTO `zz_area_code` VALUES (533401000000, '香格里拉市', 3, 533400000000); -INSERT INTO `zz_area_code` VALUES (533422000000, '德钦县', 3, 533400000000); -INSERT INTO `zz_area_code` VALUES (533423000000, '维西傈僳族自治县', 3, 533400000000); -INSERT INTO `zz_area_code` VALUES (540000000000, '西藏自治区', 1, NULL); -INSERT INTO `zz_area_code` VALUES (540100000000, '拉萨市', 2, 540000000000); -INSERT INTO `zz_area_code` VALUES (540101000000, '市辖区', 3, 540100000000); -INSERT INTO `zz_area_code` VALUES (540102000000, '城关区', 3, 540100000000); -INSERT INTO `zz_area_code` VALUES (540103000000, '堆龙德庆区', 3, 540100000000); -INSERT INTO `zz_area_code` VALUES (540104000000, '达孜区', 3, 540100000000); -INSERT INTO `zz_area_code` VALUES (540121000000, '林周县', 3, 540100000000); -INSERT INTO `zz_area_code` VALUES (540122000000, '当雄县', 3, 540100000000); -INSERT INTO `zz_area_code` VALUES (540123000000, '尼木县', 3, 540100000000); -INSERT INTO `zz_area_code` VALUES (540124000000, '曲水县', 3, 540100000000); -INSERT INTO `zz_area_code` VALUES (540127000000, '墨竹工卡县', 3, 540100000000); -INSERT INTO `zz_area_code` VALUES (540171000000, '格尔木藏青工业园区', 3, 540100000000); -INSERT INTO `zz_area_code` VALUES (540172000000, '拉萨经济技术开发区', 3, 540100000000); -INSERT INTO `zz_area_code` VALUES (540173000000, '西藏文化旅游创意园区', 3, 540100000000); -INSERT INTO `zz_area_code` VALUES (540174000000, '达孜工业园区', 3, 540100000000); -INSERT INTO `zz_area_code` VALUES (540200000000, '日喀则市', 2, 540000000000); -INSERT INTO `zz_area_code` VALUES (540202000000, '桑珠孜区', 3, 540200000000); -INSERT INTO `zz_area_code` VALUES (540221000000, '南木林县', 3, 540200000000); -INSERT INTO `zz_area_code` VALUES (540222000000, '江孜县', 3, 540200000000); -INSERT INTO `zz_area_code` VALUES (540223000000, '定日县', 3, 540200000000); -INSERT INTO `zz_area_code` VALUES (540224000000, '萨迦县', 3, 540200000000); -INSERT INTO `zz_area_code` VALUES (540225000000, '拉孜县', 3, 540200000000); -INSERT INTO `zz_area_code` VALUES (540226000000, '昂仁县', 3, 540200000000); -INSERT INTO `zz_area_code` VALUES (540227000000, '谢通门县', 3, 540200000000); -INSERT INTO `zz_area_code` VALUES (540228000000, '白朗县', 3, 540200000000); -INSERT INTO `zz_area_code` VALUES (540229000000, '仁布县', 3, 540200000000); -INSERT INTO `zz_area_code` VALUES (540230000000, '康马县', 3, 540200000000); -INSERT INTO `zz_area_code` VALUES (540231000000, '定结县', 3, 540200000000); -INSERT INTO `zz_area_code` VALUES (540232000000, '仲巴县', 3, 540200000000); -INSERT INTO `zz_area_code` VALUES (540233000000, '亚东县', 3, 540200000000); -INSERT INTO `zz_area_code` VALUES (540234000000, '吉隆县', 3, 540200000000); -INSERT INTO `zz_area_code` VALUES (540235000000, '聂拉木县', 3, 540200000000); -INSERT INTO `zz_area_code` VALUES (540236000000, '萨嘎县', 3, 540200000000); -INSERT INTO `zz_area_code` VALUES (540237000000, '岗巴县', 3, 540200000000); -INSERT INTO `zz_area_code` VALUES (540300000000, '昌都市', 2, 540000000000); -INSERT INTO `zz_area_code` VALUES (540302000000, '卡若区', 3, 540300000000); -INSERT INTO `zz_area_code` VALUES (540321000000, '江达县', 3, 540300000000); -INSERT INTO `zz_area_code` VALUES (540322000000, '贡觉县', 3, 540300000000); -INSERT INTO `zz_area_code` VALUES (540323000000, '类乌齐县', 3, 540300000000); -INSERT INTO `zz_area_code` VALUES (540324000000, '丁青县', 3, 540300000000); -INSERT INTO `zz_area_code` VALUES (540325000000, '察雅县', 3, 540300000000); -INSERT INTO `zz_area_code` VALUES (540326000000, '八宿县', 3, 540300000000); -INSERT INTO `zz_area_code` VALUES (540327000000, '左贡县', 3, 540300000000); -INSERT INTO `zz_area_code` VALUES (540328000000, '芒康县', 3, 540300000000); -INSERT INTO `zz_area_code` VALUES (540329000000, '洛隆县', 3, 540300000000); -INSERT INTO `zz_area_code` VALUES (540330000000, '边坝县', 3, 540300000000); -INSERT INTO `zz_area_code` VALUES (540400000000, '林芝市', 2, 540000000000); -INSERT INTO `zz_area_code` VALUES (540402000000, '巴宜区', 3, 540400000000); -INSERT INTO `zz_area_code` VALUES (540421000000, '工布江达县', 3, 540400000000); -INSERT INTO `zz_area_code` VALUES (540422000000, '米林县', 3, 540400000000); -INSERT INTO `zz_area_code` VALUES (540423000000, '墨脱县', 3, 540400000000); -INSERT INTO `zz_area_code` VALUES (540424000000, '波密县', 3, 540400000000); -INSERT INTO `zz_area_code` VALUES (540425000000, '察隅县', 3, 540400000000); -INSERT INTO `zz_area_code` VALUES (540426000000, '朗县', 3, 540400000000); -INSERT INTO `zz_area_code` VALUES (540500000000, '山南市', 2, 540000000000); -INSERT INTO `zz_area_code` VALUES (540501000000, '市辖区', 3, 540500000000); -INSERT INTO `zz_area_code` VALUES (540502000000, '乃东区', 3, 540500000000); -INSERT INTO `zz_area_code` VALUES (540521000000, '扎囊县', 3, 540500000000); -INSERT INTO `zz_area_code` VALUES (540522000000, '贡嘎县', 3, 540500000000); -INSERT INTO `zz_area_code` VALUES (540523000000, '桑日县', 3, 540500000000); -INSERT INTO `zz_area_code` VALUES (540524000000, '琼结县', 3, 540500000000); -INSERT INTO `zz_area_code` VALUES (540525000000, '曲松县', 3, 540500000000); -INSERT INTO `zz_area_code` VALUES (540526000000, '措美县', 3, 540500000000); -INSERT INTO `zz_area_code` VALUES (540527000000, '洛扎县', 3, 540500000000); -INSERT INTO `zz_area_code` VALUES (540528000000, '加查县', 3, 540500000000); -INSERT INTO `zz_area_code` VALUES (540529000000, '隆子县', 3, 540500000000); -INSERT INTO `zz_area_code` VALUES (540530000000, '错那县', 3, 540500000000); -INSERT INTO `zz_area_code` VALUES (540531000000, '浪卡子县', 3, 540500000000); -INSERT INTO `zz_area_code` VALUES (540600000000, '那曲市', 2, 540000000000); -INSERT INTO `zz_area_code` VALUES (540602000000, '色尼区', 3, 540600000000); -INSERT INTO `zz_area_code` VALUES (540621000000, '嘉黎县', 3, 540600000000); -INSERT INTO `zz_area_code` VALUES (540622000000, '比如县', 3, 540600000000); -INSERT INTO `zz_area_code` VALUES (540623000000, '聂荣县', 3, 540600000000); -INSERT INTO `zz_area_code` VALUES (540624000000, '安多县', 3, 540600000000); -INSERT INTO `zz_area_code` VALUES (540625000000, '申扎县', 3, 540600000000); -INSERT INTO `zz_area_code` VALUES (540626000000, '索县', 3, 540600000000); -INSERT INTO `zz_area_code` VALUES (540627000000, '班戈县', 3, 540600000000); -INSERT INTO `zz_area_code` VALUES (540628000000, '巴青县', 3, 540600000000); -INSERT INTO `zz_area_code` VALUES (540629000000, '尼玛县', 3, 540600000000); -INSERT INTO `zz_area_code` VALUES (540630000000, '双湖县', 3, 540600000000); -INSERT INTO `zz_area_code` VALUES (542500000000, '阿里地区', 2, 540000000000); -INSERT INTO `zz_area_code` VALUES (542521000000, '普兰县', 3, 542500000000); -INSERT INTO `zz_area_code` VALUES (542522000000, '札达县', 3, 542500000000); -INSERT INTO `zz_area_code` VALUES (542523000000, '噶尔县', 3, 542500000000); -INSERT INTO `zz_area_code` VALUES (542524000000, '日土县', 3, 542500000000); -INSERT INTO `zz_area_code` VALUES (542525000000, '革吉县', 3, 542500000000); -INSERT INTO `zz_area_code` VALUES (542526000000, '改则县', 3, 542500000000); -INSERT INTO `zz_area_code` VALUES (542527000000, '措勤县', 3, 542500000000); -INSERT INTO `zz_area_code` VALUES (610000000000, '陕西省', 1, NULL); -INSERT INTO `zz_area_code` VALUES (610100000000, '西安市', 2, 610000000000); -INSERT INTO `zz_area_code` VALUES (610101000000, '市辖区', 3, 610100000000); -INSERT INTO `zz_area_code` VALUES (610102000000, '新城区', 3, 610100000000); -INSERT INTO `zz_area_code` VALUES (610103000000, '碑林区', 3, 610100000000); -INSERT INTO `zz_area_code` VALUES (610104000000, '莲湖区', 3, 610100000000); -INSERT INTO `zz_area_code` VALUES (610111000000, '灞桥区', 3, 610100000000); -INSERT INTO `zz_area_code` VALUES (610112000000, '未央区', 3, 610100000000); -INSERT INTO `zz_area_code` VALUES (610113000000, '雁塔区', 3, 610100000000); -INSERT INTO `zz_area_code` VALUES (610114000000, '阎良区', 3, 610100000000); -INSERT INTO `zz_area_code` VALUES (610115000000, '临潼区', 3, 610100000000); -INSERT INTO `zz_area_code` VALUES (610116000000, '长安区', 3, 610100000000); -INSERT INTO `zz_area_code` VALUES (610117000000, '高陵区', 3, 610100000000); -INSERT INTO `zz_area_code` VALUES (610118000000, '鄠邑区', 3, 610100000000); -INSERT INTO `zz_area_code` VALUES (610122000000, '蓝田县', 3, 610100000000); -INSERT INTO `zz_area_code` VALUES (610124000000, '周至县', 3, 610100000000); -INSERT INTO `zz_area_code` VALUES (610200000000, '铜川市', 2, 610000000000); -INSERT INTO `zz_area_code` VALUES (610201000000, '市辖区', 3, 610200000000); -INSERT INTO `zz_area_code` VALUES (610202000000, '王益区', 3, 610200000000); -INSERT INTO `zz_area_code` VALUES (610203000000, '印台区', 3, 610200000000); -INSERT INTO `zz_area_code` VALUES (610204000000, '耀州区', 3, 610200000000); -INSERT INTO `zz_area_code` VALUES (610222000000, '宜君县', 3, 610200000000); -INSERT INTO `zz_area_code` VALUES (610300000000, '宝鸡市', 2, 610000000000); -INSERT INTO `zz_area_code` VALUES (610301000000, '市辖区', 3, 610300000000); -INSERT INTO `zz_area_code` VALUES (610302000000, '渭滨区', 3, 610300000000); -INSERT INTO `zz_area_code` VALUES (610303000000, '金台区', 3, 610300000000); -INSERT INTO `zz_area_code` VALUES (610304000000, '陈仓区', 3, 610300000000); -INSERT INTO `zz_area_code` VALUES (610322000000, '凤翔县', 3, 610300000000); -INSERT INTO `zz_area_code` VALUES (610323000000, '岐山县', 3, 610300000000); -INSERT INTO `zz_area_code` VALUES (610324000000, '扶风县', 3, 610300000000); -INSERT INTO `zz_area_code` VALUES (610326000000, '眉县', 3, 610300000000); -INSERT INTO `zz_area_code` VALUES (610327000000, '陇县', 3, 610300000000); -INSERT INTO `zz_area_code` VALUES (610328000000, '千阳县', 3, 610300000000); -INSERT INTO `zz_area_code` VALUES (610329000000, '麟游县', 3, 610300000000); -INSERT INTO `zz_area_code` VALUES (610330000000, '凤县', 3, 610300000000); -INSERT INTO `zz_area_code` VALUES (610331000000, '太白县', 3, 610300000000); -INSERT INTO `zz_area_code` VALUES (610400000000, '咸阳市', 2, 610000000000); -INSERT INTO `zz_area_code` VALUES (610401000000, '市辖区', 3, 610400000000); -INSERT INTO `zz_area_code` VALUES (610402000000, '秦都区', 3, 610400000000); -INSERT INTO `zz_area_code` VALUES (610403000000, '杨陵区', 3, 610400000000); -INSERT INTO `zz_area_code` VALUES (610404000000, '渭城区', 3, 610400000000); -INSERT INTO `zz_area_code` VALUES (610422000000, '三原县', 3, 610400000000); -INSERT INTO `zz_area_code` VALUES (610423000000, '泾阳县', 3, 610400000000); -INSERT INTO `zz_area_code` VALUES (610424000000, '乾县', 3, 610400000000); -INSERT INTO `zz_area_code` VALUES (610425000000, '礼泉县', 3, 610400000000); -INSERT INTO `zz_area_code` VALUES (610426000000, '永寿县', 3, 610400000000); -INSERT INTO `zz_area_code` VALUES (610428000000, '长武县', 3, 610400000000); -INSERT INTO `zz_area_code` VALUES (610429000000, '旬邑县', 3, 610400000000); -INSERT INTO `zz_area_code` VALUES (610430000000, '淳化县', 3, 610400000000); -INSERT INTO `zz_area_code` VALUES (610431000000, '武功县', 3, 610400000000); -INSERT INTO `zz_area_code` VALUES (610481000000, '兴平市', 3, 610400000000); -INSERT INTO `zz_area_code` VALUES (610482000000, '彬州市', 3, 610400000000); -INSERT INTO `zz_area_code` VALUES (610500000000, '渭南市', 2, 610000000000); -INSERT INTO `zz_area_code` VALUES (610501000000, '市辖区', 3, 610500000000); -INSERT INTO `zz_area_code` VALUES (610502000000, '临渭区', 3, 610500000000); -INSERT INTO `zz_area_code` VALUES (610503000000, '华州区', 3, 610500000000); -INSERT INTO `zz_area_code` VALUES (610522000000, '潼关县', 3, 610500000000); -INSERT INTO `zz_area_code` VALUES (610523000000, '大荔县', 3, 610500000000); -INSERT INTO `zz_area_code` VALUES (610524000000, '合阳县', 3, 610500000000); -INSERT INTO `zz_area_code` VALUES (610525000000, '澄城县', 3, 610500000000); -INSERT INTO `zz_area_code` VALUES (610526000000, '蒲城县', 3, 610500000000); -INSERT INTO `zz_area_code` VALUES (610527000000, '白水县', 3, 610500000000); -INSERT INTO `zz_area_code` VALUES (610528000000, '富平县', 3, 610500000000); -INSERT INTO `zz_area_code` VALUES (610581000000, '韩城市', 3, 610500000000); -INSERT INTO `zz_area_code` VALUES (610582000000, '华阴市', 3, 610500000000); -INSERT INTO `zz_area_code` VALUES (610600000000, '延安市', 2, 610000000000); -INSERT INTO `zz_area_code` VALUES (610601000000, '市辖区', 3, 610600000000); -INSERT INTO `zz_area_code` VALUES (610602000000, '宝塔区', 3, 610600000000); -INSERT INTO `zz_area_code` VALUES (610603000000, '安塞区', 3, 610600000000); -INSERT INTO `zz_area_code` VALUES (610621000000, '延长县', 3, 610600000000); -INSERT INTO `zz_area_code` VALUES (610622000000, '延川县', 3, 610600000000); -INSERT INTO `zz_area_code` VALUES (610623000000, '子长县', 3, 610600000000); -INSERT INTO `zz_area_code` VALUES (610625000000, '志丹县', 3, 610600000000); -INSERT INTO `zz_area_code` VALUES (610626000000, '吴起县', 3, 610600000000); -INSERT INTO `zz_area_code` VALUES (610627000000, '甘泉县', 3, 610600000000); -INSERT INTO `zz_area_code` VALUES (610628000000, '富县', 3, 610600000000); -INSERT INTO `zz_area_code` VALUES (610629000000, '洛川县', 3, 610600000000); -INSERT INTO `zz_area_code` VALUES (610630000000, '宜川县', 3, 610600000000); -INSERT INTO `zz_area_code` VALUES (610631000000, '黄龙县', 3, 610600000000); -INSERT INTO `zz_area_code` VALUES (610632000000, '黄陵县', 3, 610600000000); -INSERT INTO `zz_area_code` VALUES (610700000000, '汉中市', 2, 610000000000); -INSERT INTO `zz_area_code` VALUES (610701000000, '市辖区', 3, 610700000000); -INSERT INTO `zz_area_code` VALUES (610702000000, '汉台区', 3, 610700000000); -INSERT INTO `zz_area_code` VALUES (610703000000, '南郑区', 3, 610700000000); -INSERT INTO `zz_area_code` VALUES (610722000000, '城固县', 3, 610700000000); -INSERT INTO `zz_area_code` VALUES (610723000000, '洋县', 3, 610700000000); -INSERT INTO `zz_area_code` VALUES (610724000000, '西乡县', 3, 610700000000); -INSERT INTO `zz_area_code` VALUES (610725000000, '勉县', 3, 610700000000); -INSERT INTO `zz_area_code` VALUES (610726000000, '宁强县', 3, 610700000000); -INSERT INTO `zz_area_code` VALUES (610727000000, '略阳县', 3, 610700000000); -INSERT INTO `zz_area_code` VALUES (610728000000, '镇巴县', 3, 610700000000); -INSERT INTO `zz_area_code` VALUES (610729000000, '留坝县', 3, 610700000000); -INSERT INTO `zz_area_code` VALUES (610730000000, '佛坪县', 3, 610700000000); -INSERT INTO `zz_area_code` VALUES (610800000000, '榆林市', 2, 610000000000); -INSERT INTO `zz_area_code` VALUES (610801000000, '市辖区', 3, 610800000000); -INSERT INTO `zz_area_code` VALUES (610802000000, '榆阳区', 3, 610800000000); -INSERT INTO `zz_area_code` VALUES (610803000000, '横山区', 3, 610800000000); -INSERT INTO `zz_area_code` VALUES (610822000000, '府谷县', 3, 610800000000); -INSERT INTO `zz_area_code` VALUES (610824000000, '靖边县', 3, 610800000000); -INSERT INTO `zz_area_code` VALUES (610825000000, '定边县', 3, 610800000000); -INSERT INTO `zz_area_code` VALUES (610826000000, '绥德县', 3, 610800000000); -INSERT INTO `zz_area_code` VALUES (610827000000, '米脂县', 3, 610800000000); -INSERT INTO `zz_area_code` VALUES (610828000000, '佳县', 3, 610800000000); -INSERT INTO `zz_area_code` VALUES (610829000000, '吴堡县', 3, 610800000000); -INSERT INTO `zz_area_code` VALUES (610830000000, '清涧县', 3, 610800000000); -INSERT INTO `zz_area_code` VALUES (610831000000, '子洲县', 3, 610800000000); -INSERT INTO `zz_area_code` VALUES (610881000000, '神木市', 3, 610800000000); -INSERT INTO `zz_area_code` VALUES (610900000000, '安康市', 2, 610000000000); -INSERT INTO `zz_area_code` VALUES (610901000000, '市辖区', 3, 610900000000); -INSERT INTO `zz_area_code` VALUES (610902000000, '汉滨区', 3, 610900000000); -INSERT INTO `zz_area_code` VALUES (610921000000, '汉阴县', 3, 610900000000); -INSERT INTO `zz_area_code` VALUES (610922000000, '石泉县', 3, 610900000000); -INSERT INTO `zz_area_code` VALUES (610923000000, '宁陕县', 3, 610900000000); -INSERT INTO `zz_area_code` VALUES (610924000000, '紫阳县', 3, 610900000000); -INSERT INTO `zz_area_code` VALUES (610925000000, '岚皋县', 3, 610900000000); -INSERT INTO `zz_area_code` VALUES (610926000000, '平利县', 3, 610900000000); -INSERT INTO `zz_area_code` VALUES (610927000000, '镇坪县', 3, 610900000000); -INSERT INTO `zz_area_code` VALUES (610928000000, '旬阳县', 3, 610900000000); -INSERT INTO `zz_area_code` VALUES (610929000000, '白河县', 3, 610900000000); -INSERT INTO `zz_area_code` VALUES (611000000000, '商洛市', 2, 610000000000); -INSERT INTO `zz_area_code` VALUES (611001000000, '市辖区', 3, 611000000000); -INSERT INTO `zz_area_code` VALUES (611002000000, '商州区', 3, 611000000000); -INSERT INTO `zz_area_code` VALUES (611021000000, '洛南县', 3, 611000000000); -INSERT INTO `zz_area_code` VALUES (611022000000, '丹凤县', 3, 611000000000); -INSERT INTO `zz_area_code` VALUES (611023000000, '商南县', 3, 611000000000); -INSERT INTO `zz_area_code` VALUES (611024000000, '山阳县', 3, 611000000000); -INSERT INTO `zz_area_code` VALUES (611025000000, '镇安县', 3, 611000000000); -INSERT INTO `zz_area_code` VALUES (611026000000, '柞水县', 3, 611000000000); -INSERT INTO `zz_area_code` VALUES (620000000000, '甘肃省', 1, NULL); -INSERT INTO `zz_area_code` VALUES (620100000000, '兰州市', 2, 620000000000); -INSERT INTO `zz_area_code` VALUES (620101000000, '市辖区', 3, 620100000000); -INSERT INTO `zz_area_code` VALUES (620102000000, '城关区', 3, 620100000000); -INSERT INTO `zz_area_code` VALUES (620103000000, '七里河区', 3, 620100000000); -INSERT INTO `zz_area_code` VALUES (620104000000, '西固区', 3, 620100000000); -INSERT INTO `zz_area_code` VALUES (620105000000, '安宁区', 3, 620100000000); -INSERT INTO `zz_area_code` VALUES (620111000000, '红古区', 3, 620100000000); -INSERT INTO `zz_area_code` VALUES (620121000000, '永登县', 3, 620100000000); -INSERT INTO `zz_area_code` VALUES (620122000000, '皋兰县', 3, 620100000000); -INSERT INTO `zz_area_code` VALUES (620123000000, '榆中县', 3, 620100000000); -INSERT INTO `zz_area_code` VALUES (620171000000, '兰州新区', 3, 620100000000); -INSERT INTO `zz_area_code` VALUES (620200000000, '嘉峪关市', 2, 620000000000); -INSERT INTO `zz_area_code` VALUES (620201000000, '市辖区', 3, 620200000000); -INSERT INTO `zz_area_code` VALUES (620300000000, '金昌市', 2, 620000000000); -INSERT INTO `zz_area_code` VALUES (620301000000, '市辖区', 3, 620300000000); -INSERT INTO `zz_area_code` VALUES (620302000000, '金川区', 3, 620300000000); -INSERT INTO `zz_area_code` VALUES (620321000000, '永昌县', 3, 620300000000); -INSERT INTO `zz_area_code` VALUES (620400000000, '白银市', 2, 620000000000); -INSERT INTO `zz_area_code` VALUES (620401000000, '市辖区', 3, 620400000000); -INSERT INTO `zz_area_code` VALUES (620402000000, '白银区', 3, 620400000000); -INSERT INTO `zz_area_code` VALUES (620403000000, '平川区', 3, 620400000000); -INSERT INTO `zz_area_code` VALUES (620421000000, '靖远县', 3, 620400000000); -INSERT INTO `zz_area_code` VALUES (620422000000, '会宁县', 3, 620400000000); -INSERT INTO `zz_area_code` VALUES (620423000000, '景泰县', 3, 620400000000); -INSERT INTO `zz_area_code` VALUES (620500000000, '天水市', 2, 620000000000); -INSERT INTO `zz_area_code` VALUES (620501000000, '市辖区', 3, 620500000000); -INSERT INTO `zz_area_code` VALUES (620502000000, '秦州区', 3, 620500000000); -INSERT INTO `zz_area_code` VALUES (620503000000, '麦积区', 3, 620500000000); -INSERT INTO `zz_area_code` VALUES (620521000000, '清水县', 3, 620500000000); -INSERT INTO `zz_area_code` VALUES (620522000000, '秦安县', 3, 620500000000); -INSERT INTO `zz_area_code` VALUES (620523000000, '甘谷县', 3, 620500000000); -INSERT INTO `zz_area_code` VALUES (620524000000, '武山县', 3, 620500000000); -INSERT INTO `zz_area_code` VALUES (620525000000, '张家川回族自治县', 3, 620500000000); -INSERT INTO `zz_area_code` VALUES (620600000000, '武威市', 2, 620000000000); -INSERT INTO `zz_area_code` VALUES (620601000000, '市辖区', 3, 620600000000); -INSERT INTO `zz_area_code` VALUES (620602000000, '凉州区', 3, 620600000000); -INSERT INTO `zz_area_code` VALUES (620621000000, '民勤县', 3, 620600000000); -INSERT INTO `zz_area_code` VALUES (620622000000, '古浪县', 3, 620600000000); -INSERT INTO `zz_area_code` VALUES (620623000000, '天祝藏族自治县', 3, 620600000000); -INSERT INTO `zz_area_code` VALUES (620700000000, '张掖市', 2, 620000000000); -INSERT INTO `zz_area_code` VALUES (620701000000, '市辖区', 3, 620700000000); -INSERT INTO `zz_area_code` VALUES (620702000000, '甘州区', 3, 620700000000); -INSERT INTO `zz_area_code` VALUES (620721000000, '肃南裕固族自治县', 3, 620700000000); -INSERT INTO `zz_area_code` VALUES (620722000000, '民乐县', 3, 620700000000); -INSERT INTO `zz_area_code` VALUES (620723000000, '临泽县', 3, 620700000000); -INSERT INTO `zz_area_code` VALUES (620724000000, '高台县', 3, 620700000000); -INSERT INTO `zz_area_code` VALUES (620725000000, '山丹县', 3, 620700000000); -INSERT INTO `zz_area_code` VALUES (620800000000, '平凉市', 2, 620000000000); -INSERT INTO `zz_area_code` VALUES (620801000000, '市辖区', 3, 620800000000); -INSERT INTO `zz_area_code` VALUES (620802000000, '崆峒区', 3, 620800000000); -INSERT INTO `zz_area_code` VALUES (620821000000, '泾川县', 3, 620800000000); -INSERT INTO `zz_area_code` VALUES (620822000000, '灵台县', 3, 620800000000); -INSERT INTO `zz_area_code` VALUES (620823000000, '崇信县', 3, 620800000000); -INSERT INTO `zz_area_code` VALUES (620825000000, '庄浪县', 3, 620800000000); -INSERT INTO `zz_area_code` VALUES (620826000000, '静宁县', 3, 620800000000); -INSERT INTO `zz_area_code` VALUES (620881000000, '华亭市', 3, 620800000000); -INSERT INTO `zz_area_code` VALUES (620900000000, '酒泉市', 2, 620000000000); -INSERT INTO `zz_area_code` VALUES (620901000000, '市辖区', 3, 620900000000); -INSERT INTO `zz_area_code` VALUES (620902000000, '肃州区', 3, 620900000000); -INSERT INTO `zz_area_code` VALUES (620921000000, '金塔县', 3, 620900000000); -INSERT INTO `zz_area_code` VALUES (620922000000, '瓜州县', 3, 620900000000); -INSERT INTO `zz_area_code` VALUES (620923000000, '肃北蒙古族自治县', 3, 620900000000); -INSERT INTO `zz_area_code` VALUES (620924000000, '阿克塞哈萨克族自治县', 3, 620900000000); -INSERT INTO `zz_area_code` VALUES (620981000000, '玉门市', 3, 620900000000); -INSERT INTO `zz_area_code` VALUES (620982000000, '敦煌市', 3, 620900000000); -INSERT INTO `zz_area_code` VALUES (621000000000, '庆阳市', 2, 620000000000); -INSERT INTO `zz_area_code` VALUES (621001000000, '市辖区', 3, 621000000000); -INSERT INTO `zz_area_code` VALUES (621002000000, '西峰区', 3, 621000000000); -INSERT INTO `zz_area_code` VALUES (621021000000, '庆城县', 3, 621000000000); -INSERT INTO `zz_area_code` VALUES (621022000000, '环县', 3, 621000000000); -INSERT INTO `zz_area_code` VALUES (621023000000, '华池县', 3, 621000000000); -INSERT INTO `zz_area_code` VALUES (621024000000, '合水县', 3, 621000000000); -INSERT INTO `zz_area_code` VALUES (621025000000, '正宁县', 3, 621000000000); -INSERT INTO `zz_area_code` VALUES (621026000000, '宁县', 3, 621000000000); -INSERT INTO `zz_area_code` VALUES (621027000000, '镇原县', 3, 621000000000); -INSERT INTO `zz_area_code` VALUES (621100000000, '定西市', 2, 620000000000); -INSERT INTO `zz_area_code` VALUES (621101000000, '市辖区', 3, 621100000000); -INSERT INTO `zz_area_code` VALUES (621102000000, '安定区', 3, 621100000000); -INSERT INTO `zz_area_code` VALUES (621121000000, '通渭县', 3, 621100000000); -INSERT INTO `zz_area_code` VALUES (621122000000, '陇西县', 3, 621100000000); -INSERT INTO `zz_area_code` VALUES (621123000000, '渭源县', 3, 621100000000); -INSERT INTO `zz_area_code` VALUES (621124000000, '临洮县', 3, 621100000000); -INSERT INTO `zz_area_code` VALUES (621125000000, '漳县', 3, 621100000000); -INSERT INTO `zz_area_code` VALUES (621126000000, '岷县', 3, 621100000000); -INSERT INTO `zz_area_code` VALUES (621200000000, '陇南市', 2, 620000000000); -INSERT INTO `zz_area_code` VALUES (621201000000, '市辖区', 3, 621200000000); -INSERT INTO `zz_area_code` VALUES (621202000000, '武都区', 3, 621200000000); -INSERT INTO `zz_area_code` VALUES (621221000000, '成县', 3, 621200000000); -INSERT INTO `zz_area_code` VALUES (621222000000, '文县', 3, 621200000000); -INSERT INTO `zz_area_code` VALUES (621223000000, '宕昌县', 3, 621200000000); -INSERT INTO `zz_area_code` VALUES (621224000000, '康县', 3, 621200000000); -INSERT INTO `zz_area_code` VALUES (621225000000, '西和县', 3, 621200000000); -INSERT INTO `zz_area_code` VALUES (621226000000, '礼县', 3, 621200000000); -INSERT INTO `zz_area_code` VALUES (621227000000, '徽县', 3, 621200000000); -INSERT INTO `zz_area_code` VALUES (621228000000, '两当县', 3, 621200000000); -INSERT INTO `zz_area_code` VALUES (622900000000, '临夏回族自治州', 2, 620000000000); -INSERT INTO `zz_area_code` VALUES (622901000000, '临夏市', 3, 622900000000); -INSERT INTO `zz_area_code` VALUES (622921000000, '临夏县', 3, 622900000000); -INSERT INTO `zz_area_code` VALUES (622922000000, '康乐县', 3, 622900000000); -INSERT INTO `zz_area_code` VALUES (622923000000, '永靖县', 3, 622900000000); -INSERT INTO `zz_area_code` VALUES (622924000000, '广河县', 3, 622900000000); -INSERT INTO `zz_area_code` VALUES (622925000000, '和政县', 3, 622900000000); -INSERT INTO `zz_area_code` VALUES (622926000000, '东乡族自治县', 3, 622900000000); -INSERT INTO `zz_area_code` VALUES (622927000000, '积石山保安族东乡族撒拉族自治县', 3, 622900000000); -INSERT INTO `zz_area_code` VALUES (623000000000, '甘南藏族自治州', 2, 620000000000); -INSERT INTO `zz_area_code` VALUES (623001000000, '合作市', 3, 623000000000); -INSERT INTO `zz_area_code` VALUES (623021000000, '临潭县', 3, 623000000000); -INSERT INTO `zz_area_code` VALUES (623022000000, '卓尼县', 3, 623000000000); -INSERT INTO `zz_area_code` VALUES (623023000000, '舟曲县', 3, 623000000000); -INSERT INTO `zz_area_code` VALUES (623024000000, '迭部县', 3, 623000000000); -INSERT INTO `zz_area_code` VALUES (623025000000, '玛曲县', 3, 623000000000); -INSERT INTO `zz_area_code` VALUES (623026000000, '碌曲县', 3, 623000000000); -INSERT INTO `zz_area_code` VALUES (623027000000, '夏河县', 3, 623000000000); -INSERT INTO `zz_area_code` VALUES (630000000000, '青海省', 1, NULL); -INSERT INTO `zz_area_code` VALUES (630100000000, '西宁市', 2, 630000000000); -INSERT INTO `zz_area_code` VALUES (630101000000, '市辖区', 3, 630100000000); -INSERT INTO `zz_area_code` VALUES (630102000000, '城东区', 3, 630100000000); -INSERT INTO `zz_area_code` VALUES (630103000000, '城中区', 3, 630100000000); -INSERT INTO `zz_area_code` VALUES (630104000000, '城西区', 3, 630100000000); -INSERT INTO `zz_area_code` VALUES (630105000000, '城北区', 3, 630100000000); -INSERT INTO `zz_area_code` VALUES (630121000000, '大通回族土族自治县', 3, 630100000000); -INSERT INTO `zz_area_code` VALUES (630122000000, '湟中县', 3, 630100000000); -INSERT INTO `zz_area_code` VALUES (630123000000, '湟源县', 3, 630100000000); -INSERT INTO `zz_area_code` VALUES (630200000000, '海东市', 2, 630000000000); -INSERT INTO `zz_area_code` VALUES (630202000000, '乐都区', 3, 630200000000); -INSERT INTO `zz_area_code` VALUES (630203000000, '平安区', 3, 630200000000); -INSERT INTO `zz_area_code` VALUES (630222000000, '民和回族土族自治县', 3, 630200000000); -INSERT INTO `zz_area_code` VALUES (630223000000, '互助土族自治县', 3, 630200000000); -INSERT INTO `zz_area_code` VALUES (630224000000, '化隆回族自治县', 3, 630200000000); -INSERT INTO `zz_area_code` VALUES (630225000000, '循化撒拉族自治县', 3, 630200000000); -INSERT INTO `zz_area_code` VALUES (632200000000, '海北藏族自治州', 2, 630000000000); -INSERT INTO `zz_area_code` VALUES (632221000000, '门源回族自治县', 3, 632200000000); -INSERT INTO `zz_area_code` VALUES (632222000000, '祁连县', 3, 632200000000); -INSERT INTO `zz_area_code` VALUES (632223000000, '海晏县', 3, 632200000000); -INSERT INTO `zz_area_code` VALUES (632224000000, '刚察县', 3, 632200000000); -INSERT INTO `zz_area_code` VALUES (632300000000, '黄南藏族自治州', 2, 630000000000); -INSERT INTO `zz_area_code` VALUES (632321000000, '同仁县', 3, 632300000000); -INSERT INTO `zz_area_code` VALUES (632322000000, '尖扎县', 3, 632300000000); -INSERT INTO `zz_area_code` VALUES (632323000000, '泽库县', 3, 632300000000); -INSERT INTO `zz_area_code` VALUES (632324000000, '河南蒙古族自治县', 3, 632300000000); -INSERT INTO `zz_area_code` VALUES (632500000000, '海南藏族自治州', 2, 630000000000); -INSERT INTO `zz_area_code` VALUES (632521000000, '共和县', 3, 632500000000); -INSERT INTO `zz_area_code` VALUES (632522000000, '同德县', 3, 632500000000); -INSERT INTO `zz_area_code` VALUES (632523000000, '贵德县', 3, 632500000000); -INSERT INTO `zz_area_code` VALUES (632524000000, '兴海县', 3, 632500000000); -INSERT INTO `zz_area_code` VALUES (632525000000, '贵南县', 3, 632500000000); -INSERT INTO `zz_area_code` VALUES (632600000000, '果洛藏族自治州', 2, 630000000000); -INSERT INTO `zz_area_code` VALUES (632621000000, '玛沁县', 3, 632600000000); -INSERT INTO `zz_area_code` VALUES (632622000000, '班玛县', 3, 632600000000); -INSERT INTO `zz_area_code` VALUES (632623000000, '甘德县', 3, 632600000000); -INSERT INTO `zz_area_code` VALUES (632624000000, '达日县', 3, 632600000000); -INSERT INTO `zz_area_code` VALUES (632625000000, '久治县', 3, 632600000000); -INSERT INTO `zz_area_code` VALUES (632626000000, '玛多县', 3, 632600000000); -INSERT INTO `zz_area_code` VALUES (632700000000, '玉树藏族自治州', 2, 630000000000); -INSERT INTO `zz_area_code` VALUES (632701000000, '玉树市', 3, 632700000000); -INSERT INTO `zz_area_code` VALUES (632722000000, '杂多县', 3, 632700000000); -INSERT INTO `zz_area_code` VALUES (632723000000, '称多县', 3, 632700000000); -INSERT INTO `zz_area_code` VALUES (632724000000, '治多县', 3, 632700000000); -INSERT INTO `zz_area_code` VALUES (632725000000, '囊谦县', 3, 632700000000); -INSERT INTO `zz_area_code` VALUES (632726000000, '曲麻莱县', 3, 632700000000); -INSERT INTO `zz_area_code` VALUES (632800000000, '海西蒙古族藏族自治州', 2, 630000000000); -INSERT INTO `zz_area_code` VALUES (632801000000, '格尔木市', 3, 632800000000); -INSERT INTO `zz_area_code` VALUES (632802000000, '德令哈市', 3, 632800000000); -INSERT INTO `zz_area_code` VALUES (632803000000, '茫崖市', 3, 632800000000); -INSERT INTO `zz_area_code` VALUES (632821000000, '乌兰县', 3, 632800000000); -INSERT INTO `zz_area_code` VALUES (632822000000, '都兰县', 3, 632800000000); -INSERT INTO `zz_area_code` VALUES (632823000000, '天峻县', 3, 632800000000); -INSERT INTO `zz_area_code` VALUES (632857000000, '大柴旦行政委员会', 3, 632800000000); -INSERT INTO `zz_area_code` VALUES (640000000000, '宁夏回族自治区', 1, NULL); -INSERT INTO `zz_area_code` VALUES (640100000000, '银川市', 2, 640000000000); -INSERT INTO `zz_area_code` VALUES (640101000000, '市辖区', 3, 640100000000); -INSERT INTO `zz_area_code` VALUES (640104000000, '兴庆区', 3, 640100000000); -INSERT INTO `zz_area_code` VALUES (640105000000, '西夏区', 3, 640100000000); -INSERT INTO `zz_area_code` VALUES (640106000000, '金凤区', 3, 640100000000); -INSERT INTO `zz_area_code` VALUES (640121000000, '永宁县', 3, 640100000000); -INSERT INTO `zz_area_code` VALUES (640122000000, '贺兰县', 3, 640100000000); -INSERT INTO `zz_area_code` VALUES (640181000000, '灵武市', 3, 640100000000); -INSERT INTO `zz_area_code` VALUES (640200000000, '石嘴山市', 2, 640000000000); -INSERT INTO `zz_area_code` VALUES (640201000000, '市辖区', 3, 640200000000); -INSERT INTO `zz_area_code` VALUES (640202000000, '大武口区', 3, 640200000000); -INSERT INTO `zz_area_code` VALUES (640205000000, '惠农区', 3, 640200000000); -INSERT INTO `zz_area_code` VALUES (640221000000, '平罗县', 3, 640200000000); -INSERT INTO `zz_area_code` VALUES (640300000000, '吴忠市', 2, 640000000000); -INSERT INTO `zz_area_code` VALUES (640301000000, '市辖区', 3, 640300000000); -INSERT INTO `zz_area_code` VALUES (640302000000, '利通区', 3, 640300000000); -INSERT INTO `zz_area_code` VALUES (640303000000, '红寺堡区', 3, 640300000000); -INSERT INTO `zz_area_code` VALUES (640323000000, '盐池县', 3, 640300000000); -INSERT INTO `zz_area_code` VALUES (640324000000, '同心县', 3, 640300000000); -INSERT INTO `zz_area_code` VALUES (640381000000, '青铜峡市', 3, 640300000000); -INSERT INTO `zz_area_code` VALUES (640400000000, '固原市', 2, 640000000000); -INSERT INTO `zz_area_code` VALUES (640401000000, '市辖区', 3, 640400000000); -INSERT INTO `zz_area_code` VALUES (640402000000, '原州区', 3, 640400000000); -INSERT INTO `zz_area_code` VALUES (640422000000, '西吉县', 3, 640400000000); -INSERT INTO `zz_area_code` VALUES (640423000000, '隆德县', 3, 640400000000); -INSERT INTO `zz_area_code` VALUES (640424000000, '泾源县', 3, 640400000000); -INSERT INTO `zz_area_code` VALUES (640425000000, '彭阳县', 3, 640400000000); -INSERT INTO `zz_area_code` VALUES (640500000000, '中卫市', 2, 640000000000); -INSERT INTO `zz_area_code` VALUES (640501000000, '市辖区', 3, 640500000000); -INSERT INTO `zz_area_code` VALUES (640502000000, '沙坡头区', 3, 640500000000); -INSERT INTO `zz_area_code` VALUES (640521000000, '中宁县', 3, 640500000000); -INSERT INTO `zz_area_code` VALUES (640522000000, '海原县', 3, 640500000000); -INSERT INTO `zz_area_code` VALUES (650000000000, '新疆维吾尔自治区', 1, NULL); -INSERT INTO `zz_area_code` VALUES (650100000000, '乌鲁木齐市', 2, 650000000000); -INSERT INTO `zz_area_code` VALUES (650101000000, '市辖区', 3, 650100000000); -INSERT INTO `zz_area_code` VALUES (650102000000, '天山区', 3, 650100000000); -INSERT INTO `zz_area_code` VALUES (650103000000, '沙依巴克区', 3, 650100000000); -INSERT INTO `zz_area_code` VALUES (650104000000, '新市区', 3, 650100000000); -INSERT INTO `zz_area_code` VALUES (650105000000, '水磨沟区', 3, 650100000000); -INSERT INTO `zz_area_code` VALUES (650106000000, '头屯河区', 3, 650100000000); -INSERT INTO `zz_area_code` VALUES (650107000000, '达坂城区', 3, 650100000000); -INSERT INTO `zz_area_code` VALUES (650109000000, '米东区', 3, 650100000000); -INSERT INTO `zz_area_code` VALUES (650121000000, '乌鲁木齐县', 3, 650100000000); -INSERT INTO `zz_area_code` VALUES (650171000000, '乌鲁木齐经济技术开发区', 3, 650100000000); -INSERT INTO `zz_area_code` VALUES (650172000000, '乌鲁木齐高新技术产业开发区', 3, 650100000000); -INSERT INTO `zz_area_code` VALUES (650200000000, '克拉玛依市', 2, 650000000000); -INSERT INTO `zz_area_code` VALUES (650201000000, '市辖区', 3, 650200000000); -INSERT INTO `zz_area_code` VALUES (650202000000, '独山子区', 3, 650200000000); -INSERT INTO `zz_area_code` VALUES (650203000000, '克拉玛依区', 3, 650200000000); -INSERT INTO `zz_area_code` VALUES (650204000000, '白碱滩区', 3, 650200000000); -INSERT INTO `zz_area_code` VALUES (650205000000, '乌尔禾区', 3, 650200000000); -INSERT INTO `zz_area_code` VALUES (650400000000, '吐鲁番市', 2, 650000000000); -INSERT INTO `zz_area_code` VALUES (650402000000, '高昌区', 3, 650400000000); -INSERT INTO `zz_area_code` VALUES (650421000000, '鄯善县', 3, 650400000000); -INSERT INTO `zz_area_code` VALUES (650422000000, '托克逊县', 3, 650400000000); -INSERT INTO `zz_area_code` VALUES (650500000000, '哈密市', 2, 650000000000); -INSERT INTO `zz_area_code` VALUES (650502000000, '伊州区', 3, 650500000000); -INSERT INTO `zz_area_code` VALUES (650521000000, '巴里坤哈萨克自治县', 3, 650500000000); -INSERT INTO `zz_area_code` VALUES (650522000000, '伊吾县', 3, 650500000000); -INSERT INTO `zz_area_code` VALUES (652300000000, '昌吉回族自治州', 2, 650000000000); -INSERT INTO `zz_area_code` VALUES (652301000000, '昌吉市', 3, 652300000000); -INSERT INTO `zz_area_code` VALUES (652302000000, '阜康市', 3, 652300000000); -INSERT INTO `zz_area_code` VALUES (652323000000, '呼图壁县', 3, 652300000000); -INSERT INTO `zz_area_code` VALUES (652324000000, '玛纳斯县', 3, 652300000000); -INSERT INTO `zz_area_code` VALUES (652325000000, '奇台县', 3, 652300000000); -INSERT INTO `zz_area_code` VALUES (652327000000, '吉木萨尔县', 3, 652300000000); -INSERT INTO `zz_area_code` VALUES (652328000000, '木垒哈萨克自治县', 3, 652300000000); -INSERT INTO `zz_area_code` VALUES (652700000000, '博尔塔拉蒙古自治州', 2, 650000000000); -INSERT INTO `zz_area_code` VALUES (652701000000, '博乐市', 3, 652700000000); -INSERT INTO `zz_area_code` VALUES (652702000000, '阿拉山口市', 3, 652700000000); -INSERT INTO `zz_area_code` VALUES (652722000000, '精河县', 3, 652700000000); -INSERT INTO `zz_area_code` VALUES (652723000000, '温泉县', 3, 652700000000); -INSERT INTO `zz_area_code` VALUES (652800000000, '巴音郭楞蒙古自治州', 2, 650000000000); -INSERT INTO `zz_area_code` VALUES (652801000000, '库尔勒市', 3, 652800000000); -INSERT INTO `zz_area_code` VALUES (652822000000, '轮台县', 3, 652800000000); -INSERT INTO `zz_area_code` VALUES (652823000000, '尉犁县', 3, 652800000000); -INSERT INTO `zz_area_code` VALUES (652824000000, '若羌县', 3, 652800000000); -INSERT INTO `zz_area_code` VALUES (652825000000, '且末县', 3, 652800000000); -INSERT INTO `zz_area_code` VALUES (652826000000, '焉耆回族自治县', 3, 652800000000); -INSERT INTO `zz_area_code` VALUES (652827000000, '和静县', 3, 652800000000); -INSERT INTO `zz_area_code` VALUES (652828000000, '和硕县', 3, 652800000000); -INSERT INTO `zz_area_code` VALUES (652829000000, '博湖县', 3, 652800000000); -INSERT INTO `zz_area_code` VALUES (652871000000, '库尔勒经济技术开发区', 3, 652800000000); -INSERT INTO `zz_area_code` VALUES (652900000000, '阿克苏地区', 2, 650000000000); -INSERT INTO `zz_area_code` VALUES (652901000000, '阿克苏市', 3, 652900000000); -INSERT INTO `zz_area_code` VALUES (652922000000, '温宿县', 3, 652900000000); -INSERT INTO `zz_area_code` VALUES (652923000000, '库车县', 3, 652900000000); -INSERT INTO `zz_area_code` VALUES (652924000000, '沙雅县', 3, 652900000000); -INSERT INTO `zz_area_code` VALUES (652925000000, '新和县', 3, 652900000000); -INSERT INTO `zz_area_code` VALUES (652926000000, '拜城县', 3, 652900000000); -INSERT INTO `zz_area_code` VALUES (652927000000, '乌什县', 3, 652900000000); -INSERT INTO `zz_area_code` VALUES (652928000000, '阿瓦提县', 3, 652900000000); -INSERT INTO `zz_area_code` VALUES (652929000000, '柯坪县', 3, 652900000000); -INSERT INTO `zz_area_code` VALUES (653000000000, '克孜勒苏柯尔克孜自治州', 2, 650000000000); -INSERT INTO `zz_area_code` VALUES (653001000000, '阿图什市', 3, 653000000000); -INSERT INTO `zz_area_code` VALUES (653022000000, '阿克陶县', 3, 653000000000); -INSERT INTO `zz_area_code` VALUES (653023000000, '阿合奇县', 3, 653000000000); -INSERT INTO `zz_area_code` VALUES (653024000000, '乌恰县', 3, 653000000000); -INSERT INTO `zz_area_code` VALUES (653100000000, '喀什地区', 2, 650000000000); -INSERT INTO `zz_area_code` VALUES (653101000000, '喀什市', 3, 653100000000); -INSERT INTO `zz_area_code` VALUES (653121000000, '疏附县', 3, 653100000000); -INSERT INTO `zz_area_code` VALUES (653122000000, '疏勒县', 3, 653100000000); -INSERT INTO `zz_area_code` VALUES (653123000000, '英吉沙县', 3, 653100000000); -INSERT INTO `zz_area_code` VALUES (653124000000, '泽普县', 3, 653100000000); -INSERT INTO `zz_area_code` VALUES (653125000000, '莎车县', 3, 653100000000); -INSERT INTO `zz_area_code` VALUES (653126000000, '叶城县', 3, 653100000000); -INSERT INTO `zz_area_code` VALUES (653127000000, '麦盖提县', 3, 653100000000); -INSERT INTO `zz_area_code` VALUES (653128000000, '岳普湖县', 3, 653100000000); -INSERT INTO `zz_area_code` VALUES (653129000000, '伽师县', 3, 653100000000); -INSERT INTO `zz_area_code` VALUES (653130000000, '巴楚县', 3, 653100000000); -INSERT INTO `zz_area_code` VALUES (653131000000, '塔什库尔干塔吉克自治县', 3, 653100000000); -INSERT INTO `zz_area_code` VALUES (653200000000, '和田地区', 2, 650000000000); -INSERT INTO `zz_area_code` VALUES (653201000000, '和田市', 3, 653200000000); -INSERT INTO `zz_area_code` VALUES (653221000000, '和田县', 3, 653200000000); -INSERT INTO `zz_area_code` VALUES (653222000000, '墨玉县', 3, 653200000000); -INSERT INTO `zz_area_code` VALUES (653223000000, '皮山县', 3, 653200000000); -INSERT INTO `zz_area_code` VALUES (653224000000, '洛浦县', 3, 653200000000); -INSERT INTO `zz_area_code` VALUES (653225000000, '策勒县', 3, 653200000000); -INSERT INTO `zz_area_code` VALUES (653226000000, '于田县', 3, 653200000000); -INSERT INTO `zz_area_code` VALUES (653227000000, '民丰县', 3, 653200000000); -INSERT INTO `zz_area_code` VALUES (654000000000, '伊犁哈萨克自治州', 2, 650000000000); -INSERT INTO `zz_area_code` VALUES (654002000000, '伊宁市', 3, 654000000000); -INSERT INTO `zz_area_code` VALUES (654003000000, '奎屯市', 3, 654000000000); -INSERT INTO `zz_area_code` VALUES (654004000000, '霍尔果斯市', 3, 654000000000); -INSERT INTO `zz_area_code` VALUES (654021000000, '伊宁县', 3, 654000000000); -INSERT INTO `zz_area_code` VALUES (654022000000, '察布查尔锡伯自治县', 3, 654000000000); -INSERT INTO `zz_area_code` VALUES (654023000000, '霍城县', 3, 654000000000); -INSERT INTO `zz_area_code` VALUES (654024000000, '巩留县', 3, 654000000000); -INSERT INTO `zz_area_code` VALUES (654025000000, '新源县', 3, 654000000000); -INSERT INTO `zz_area_code` VALUES (654026000000, '昭苏县', 3, 654000000000); -INSERT INTO `zz_area_code` VALUES (654027000000, '特克斯县', 3, 654000000000); -INSERT INTO `zz_area_code` VALUES (654028000000, '尼勒克县', 3, 654000000000); -INSERT INTO `zz_area_code` VALUES (654200000000, '塔城地区', 2, 650000000000); -INSERT INTO `zz_area_code` VALUES (654201000000, '塔城市', 3, 654200000000); -INSERT INTO `zz_area_code` VALUES (654202000000, '乌苏市', 3, 654200000000); -INSERT INTO `zz_area_code` VALUES (654221000000, '额敏县', 3, 654200000000); -INSERT INTO `zz_area_code` VALUES (654223000000, '沙湾县', 3, 654200000000); -INSERT INTO `zz_area_code` VALUES (654224000000, '托里县', 3, 654200000000); -INSERT INTO `zz_area_code` VALUES (654225000000, '裕民县', 3, 654200000000); -INSERT INTO `zz_area_code` VALUES (654226000000, '和布克赛尔蒙古自治县', 3, 654200000000); -INSERT INTO `zz_area_code` VALUES (654300000000, '阿勒泰地区', 2, 650000000000); -INSERT INTO `zz_area_code` VALUES (654301000000, '阿勒泰市', 3, 654300000000); -INSERT INTO `zz_area_code` VALUES (654321000000, '布尔津县', 3, 654300000000); -INSERT INTO `zz_area_code` VALUES (654322000000, '富蕴县', 3, 654300000000); -INSERT INTO `zz_area_code` VALUES (654323000000, '福海县', 3, 654300000000); -INSERT INTO `zz_area_code` VALUES (654324000000, '哈巴河县', 3, 654300000000); -INSERT INTO `zz_area_code` VALUES (654325000000, '青河县', 3, 654300000000); -INSERT INTO `zz_area_code` VALUES (654326000000, '吉木乃县', 3, 654300000000); -INSERT INTO `zz_area_code` VALUES (659000000000, '自治区直辖县级行政区划', 2, 650000000000); -INSERT INTO `zz_area_code` VALUES (659001000000, '石河子市', 3, 659000000000); -INSERT INTO `zz_area_code` VALUES (659002000000, '阿拉尔市', 3, 659000000000); -INSERT INTO `zz_area_code` VALUES (659003000000, '图木舒克市', 3, 659000000000); -INSERT INTO `zz_area_code` VALUES (659004000000, '五家渠市', 3, 659000000000); -INSERT INTO `zz_area_code` VALUES (659006000000, '铁门关市', 3, 659000000000); -COMMIT; - --- ---------------------------- --- Table structure for zz_class --- ---------------------------- -DROP TABLE IF EXISTS `zz_class`; -CREATE TABLE `zz_class` ( - `class_id` bigint NOT NULL COMMENT '班级Id', - `class_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '班级名称', - `school_id` bigint NOT NULL COMMENT '学校Id', - `leader_id` bigint NOT NULL COMMENT '学生班长Id', - `finish_class_hour` int NOT NULL DEFAULT '0' COMMENT '已完成课时数量', - `class_level` tinyint NOT NULL COMMENT '班级级别(0: 初级班 1: 培优班 2: 冲刺提分班 3: 竞赛班)', - `create_user_id` bigint NOT NULL COMMENT '创建用户', - `create_time` datetime NOT NULL COMMENT '班级创建时间', - `status` tinyint NOT NULL DEFAULT '0' COMMENT '班级状态(0: 正常 1: 解散)', - PRIMARY KEY (`class_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_class --- ---------------------------- -BEGIN; -INSERT INTO `zz_class` VALUES (1016971499387228160, '小学一年级随堂班', 1015817732197453824, 1015842628948463616, 15, 0, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_class` VALUES (1016971692685922304, '小学二年级随堂班', 1015817732197453824, 1015842628948463616, 20, 0, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_class` VALUES (1016971755373989888, '小学三年级随堂班', 1015817732197453824, 1015842628948463616, 100, 0, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_class` VALUES (1016971816040402944, '小学四年级随堂班', 1015817732197453824, 1015852480873631744, 0, 0, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_class` VALUES (1016971872105664512, '小学五年级随堂班', 1015817732197453824, 1015842628948463616, 0, 0, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_class` VALUES (1016971931153076224, '小学六年级随堂班', 1015817732197453824, 1015841864515588096, 0, 0, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_class` VALUES (1016972016347779072, '小学一年级提高班', 1015818056597508096, 1015841864515588096, 0, 1, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_class` VALUES (1016972071955861504, '小学二年级提高班', 1015818056597508096, 1015842628948463616, 0, 1, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_class` VALUES (1016972128667045888, '小学三年级提高班', 1015818056597508096, 1015842628948463616, 0, 1, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_class` VALUES (1016972187949338624, '小学四年级提高班', 1015818056597508096, 1015842628948463616, 0, 1, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_class` VALUES (1016972236452270080, '小学五年级提高班', 1015818056597508096, 1015842628948463616, 0, 1, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_class` VALUES (1016972308355223552, '小学六年级提高班', 1015818056597508096, 1015852480873631744, 0, 1, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_class` VALUES (1016972406023786496, '小学奥林匹克竞赛班', 1015818056597508096, 1015852853839532032, 0, 3, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_class` VALUES (1016972484746678272, '小学毕业提分班', 1015817732197453824, 1015842628948463616, 0, 2, 1014065909648330753, '2020-10-22 00:00:00', 1); -COMMIT; - --- ---------------------------- --- Table structure for zz_class_course --- ---------------------------- -DROP TABLE IF EXISTS `zz_class_course`; -CREATE TABLE `zz_class_course` ( - `class_id` bigint NOT NULL COMMENT '班级Id', - `course_id` bigint NOT NULL COMMENT '课程Id', - `course_order` tinyint NOT NULL DEFAULT '0' COMMENT '课程顺序(数值越小越靠前)', - PRIMARY KEY (`class_id`,`course_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_class_course --- ---------------------------- -BEGIN; -INSERT INTO `zz_class_course` VALUES (1016971499387228160, 1016699195411402752, 0); -INSERT INTO `zz_class_course` VALUES (1016971499387228160, 1016917385529790464, 0); -INSERT INTO `zz_class_course` VALUES (1016971499387228160, 1016920878164480000, 0); -INSERT INTO `zz_class_course` VALUES (1016971499387228160, 1016923276064854016, 0); -INSERT INTO `zz_class_course` VALUES (1016971692685922304, 1016917385529790464, 0); -INSERT INTO `zz_class_course` VALUES (1016971755373989888, 1016917732260319232, 0); -INSERT INTO `zz_class_course` VALUES (1016971755373989888, 1016917900699373568, 0); -INSERT INTO `zz_class_course` VALUES (1016971755373989888, 1016918360520921088, 0); -INSERT INTO `zz_class_course` VALUES (1016971755373989888, 1016918605715738624, 0); -INSERT INTO `zz_class_course` VALUES (1016971755373989888, 1016918836729614336, 0); -COMMIT; - --- ---------------------------- --- Table structure for zz_class_student --- ---------------------------- -DROP TABLE IF EXISTS `zz_class_student`; -CREATE TABLE `zz_class_student` ( - `class_id` bigint NOT NULL COMMENT '班级Id', - `student_id` bigint NOT NULL COMMENT '学生Id', - PRIMARY KEY (`class_id`,`student_id`) USING BTREE, - KEY `idx_student_id` (`student_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_class_student --- ---------------------------- -BEGIN; -INSERT INTO `zz_class_student` VALUES (1016971499387228160, 1015842628948463616); -INSERT INTO `zz_class_student` VALUES (1016971692685922304, 1015842628948463616); -INSERT INTO `zz_class_student` VALUES (1016971499387228160, 1015852480873631744); -INSERT INTO `zz_class_student` VALUES (1016971692685922304, 1015852853839532032); -INSERT INTO `zz_class_student` VALUES (1016972016347779072, 1018000939508568064); -INSERT INTO `zz_class_student` VALUES (1016972016347779072, 1018001219050541056); -COMMIT; - --- ---------------------------- --- Table structure for zz_coin_stats --- ---------------------------- -DROP TABLE IF EXISTS `zz_coin_stats`; -CREATE TABLE `zz_coin_stats` ( - `stats_id` int NOT NULL AUTO_INCREMENT COMMENT '主键Id', - `stats_date` date NOT NULL COMMENT '统计日期', - `stats_month` date DEFAULT NULL COMMENT '统计月份', - `grade_id` tinyint NOT NULL COMMENT '年级Id', - `province_id` bigint NOT NULL COMMENT '学生所属省Id', - `city_id` bigint NOT NULL COMMENT '学生所属城市Id', - `recharge_amount` int NOT NULL COMMENT '学币充值量', - `recharge_count` int NOT NULL COMMENT '学币充值人数', - `given_amount` int NOT NULL COMMENT '学币赠送量', - `given_count` int NOT NULL COMMENT '赠与次数', - `award_amount` int NOT NULL COMMENT '奖励总数量', - `buy_course_amount` int NOT NULL COMMENT '购买课程总数量', - `buy_course_count` int NOT NULL COMMENT '购买课程次数', - `buy_video_amount` int NOT NULL COMMENT '购买视频总数量', - `buy_video_count` int NOT NULL COMMENT '购买视频次数', - `buy_paper_amount` int NOT NULL COMMENT '购买作业总数量', - `buy_paper_count` int NOT NULL COMMENT '购买作业次数', - `buy_flower_amount` int NOT NULL COMMENT '献花消费总数量', - `buy_flower_count` int NOT NULL COMMENT '购买消费次数', - PRIMARY KEY (`stats_id`) USING BTREE, - UNIQUE KEY `uk_stats_date_grade_id_region_id` (`stats_date`,`grade_id`,`province_id`,`city_id`) USING BTREE, - KEY `idx_grade_id` (`grade_id`) USING BTREE, - KEY `idx_province` (`province_id`) USING BTREE, - KEY `idx_city_id` (`city_id`) USING BTREE, - KEY `idx_stats_month` (`stats_month`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_coin_stats --- ---------------------------- -BEGIN; -INSERT INTO `zz_coin_stats` VALUES (1, '2020-01-11', NULL, 1, 110000000000, 110100000000, 904, 2, 566, 2, 0, 717, 1, 918, 2, 996, 2, 986, 2); -INSERT INTO `zz_coin_stats` VALUES (2, '2020-01-11', NULL, 1, 120000000000, 120100000000, 950, 2, 196, 1, 341, 891, 1, 913, 1, 42, 1, 51, 1); -INSERT INTO `zz_coin_stats` VALUES (3, '2020-01-10', NULL, 2, 110000000000, 110100000000, 1282, 2, 1070, 2, 677, 773, 2, 732, 2, 1337, 4, 0, 0); -INSERT INTO `zz_coin_stats` VALUES (4, '2020-01-10', NULL, 2, 120000000000, 120100000000, 3329, 4, 1575, 2, 92, 1410, 2, 2558, 3, 1694, 2, 1624, 3); -INSERT INTO `zz_coin_stats` VALUES (5, '2020-01-11', NULL, 2, 110000000000, 110100000000, 616, 3, 0, 0, 345, 1398, 3, 461, 2, 388, 1, 297, 2); -INSERT INTO `zz_coin_stats` VALUES (6, '2020-01-11', NULL, 2, 120000000000, 120100000000, 0, 0, 506, 1, 94, 604, 2, 1056, 2, 0, 0, 1458, 3); -INSERT INTO `zz_coin_stats` VALUES (7, '2020-01-10', NULL, 3, 110000000000, 110100000000, 1145, 3, 1155, 3, 377, 1553, 3, 1292, 2, 927, 2, 2406, 3); -INSERT INTO `zz_coin_stats` VALUES (8, '2020-01-10', NULL, 3, 120000000000, 120100000000, 2212, 3, 1350, 3, 1000, 1058, 2, 1988, 3, 225, 1, 2149, 3); -INSERT INTO `zz_coin_stats` VALUES (9, '2020-01-11', NULL, 3, 110000000000, 110100000000, 808, 1, 995, 1, 1513, 69, 1, 0, 0, 429, 2, 368, 2); -INSERT INTO `zz_coin_stats` VALUES (10, '2020-01-11', NULL, 3, 120000000000, 120100000000, 952, 1, 991, 1, 353, 52, 1, 1012, 2, 1415, 2, 344, 1); -INSERT INTO `zz_coin_stats` VALUES (11, '2020-01-10', NULL, 4, 110000000000, 110100000000, 1167, 2, 232, 2, 1185, 1185, 2, 1661, 3, 1069, 2, 1666, 3); -INSERT INTO `zz_coin_stats` VALUES (12, '2020-01-10', NULL, 4, 120000000000, 120100000000, 666, 2, 0, 0, 841, 157, 1, 672, 1, 1131, 2, 928, 1); -COMMIT; - --- ---------------------------- --- Table structure for zz_course --- ---------------------------- -DROP TABLE IF EXISTS `zz_course`; -CREATE TABLE `zz_course` ( - `course_id` bigint NOT NULL COMMENT '主键Id', - `course_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '课程名称', - `price` decimal(10,2) NOT NULL COMMENT '课程价格', - `description` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '课程描述', - `teacher_id` bigint NOT NULL COMMENT '主讲老师Id', - `difficulty` int NOT NULL COMMENT '课程难度(0: 容易 1: 普通 2: 很难)', - `online` bit(1) NOT NULL COMMENT '是否上架(0: 没有上架 1: 上架)', - `grade_id` tinyint NOT NULL COMMENT '年级Id', - `subject_id` tinyint NOT NULL COMMENT '学科Id', - `category_id` int NOT NULL COMMENT '课程分类Id', - `class_hour` int NOT NULL COMMENT '课时数量', - `picture_url` varchar(1024) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '多张课程图片地址', - `school_id` bigint DEFAULT NULL COMMENT '所属校区', - `create_user_id` bigint NOT NULL COMMENT '创建用户Id', - `create_time` datetime NOT NULL COMMENT '创建时间', - `update_time` datetime NOT NULL COMMENT '最后修改时间', - PRIMARY KEY (`course_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_course --- ---------------------------- -BEGIN; -INSERT INTO `zz_course` VALUES (1016699195411402752, '小学一年级拼音基础练习', 299.00, '小学一年级拼音基础练习', 1015836481935904768, 0, b'1', 1, 0, 1, 10, '[{\"name\":\"IMG_0003.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"b09ef09478d8452d908600ff98b6f1ce.JPG\"}]', 1015817732197453824, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course` VALUES (1016917385529790464, '小学二年级语文课程', 980.00, '小学二年级课程', 1015836481935904768, 1, b'1', 2, 0, 1, 25, '[{\"name\":\"IMG_0455.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"79651a658e88408888f847366fbf98d0.JPG\"}]', 1015817732197453824, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course` VALUES (1016917732260319232, '小学三年级语文课程', 1080.00, '小学三年级语文课程', 1015836481935904768, 1, b'1', 3, 0, 1, 30, '[{\"name\":\"IMG_0001.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"0d11548eb91142d49a9253c0060d3f94.JPG\"}]', 1015817732197453824, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course` VALUES (1016917900699373568, '小学四年级语文课程', 888.00, '小学四年级语文课程', 1015836481935904768, 1, b'1', 4, 0, 1, 27, '[{\"name\":\"IMG_0002.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"7358b520e31e4ee0b2b8c4f9c31614d9.JPG\"}]', 1015817732197453824, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course` VALUES (1016918360520921088, '小学五年级语文课程', 1199.00, '小学五年级语文课程', 1015836481935904768, 2, b'1', 5, 0, 1, 30, '[{\"name\":\"IMG_0004.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"cf804a5e14fb498fa8bf3745cad39bca.JPG\"}]', 1015817732197453824, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course` VALUES (1016918605715738624, '小学六年级语文课程', 1288.00, '小学六年级语文课程', 1015836481935904768, 2, b'1', 6, 0, 1, 32, '[{\"name\":\"IMG_0006.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"a0d0476fac9c46f08b7ebef597b8765a.JPG\"}]', 1015817732197453824, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course` VALUES (1016918836729614336, '天津小学一年级语文课程', 300.00, '天津小学一年级语文课程', 1015837043205083136, 0, b'1', 1, 0, 1, 20, '[{\"name\":\"IMG_0003.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"7f64971a69944b0082f21a6036c31efd.JPG\"}]', 1015818056597508096, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course` VALUES (1016920152549888000, '天津小学二年级语文课程', 699.00, '天津小学二年级语文课程', 1015837043205083136, 1, b'1', 2, 0, 1, 20, '[{\"name\":\"IMG_0007.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"4baf08c1da8741bb808caf09475e49a9.JPG\"}]', 1015818056597508096, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course` VALUES (1016920339255136256, '天津小学三年级语文课程', 998.00, '天津小学三年级语文课程', 1015837043205083136, 1, b'1', 3, 0, 1, 25, '[{\"name\":\"IMG_0009.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"6bc1eaab831d49708e4b1e0a5d657d61.JPG\"}]', 1015818056597508096, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course` VALUES (1016920878164480000, '小学数学一年级课程', 388.00, '小学数学一年级课程', 1015836821309624320, 0, b'1', 1, 1, 2, 15, '[{\"name\":\"IMG_0010.JPG\",\"downloadUri\":\"/admin/coursepaper/course/download\",\"filename\":\"7e9583aba9594a98b1e0268837d2a5d0.JPG\"}]', 1015817732197453824, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course` VALUES (1016921053566078976, '小学数学二年级课程', 700.00, '小学数学二年级课程', 1015836481935904768, 0, b'1', 2, 1, 2, 20, '[{\"name\":\"shuxue2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"7a1fdc70976f4820aa019f91514de272.jpg\"}]', 1015817732197453824, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course` VALUES (1016921250996162560, '小学数学三年级课程', 700.00, '小学数学三年级课程', 1015836481935904768, 1, b'1', 3, 1, 2, 20, '[{\"name\":\"shuxue.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"f14c0f101146453c80607230e842f1c9.jpg\"},{\"name\":\"shuxue2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"b8451e95fa314facaa8a3cd720888574.jpg\"}]', 1015817732197453824, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course` VALUES (1016921446102601728, '小学数学四年级课程', 800.00, '小学数学四年级课程', 1015836481935904768, 1, b'1', 4, 1, 2, 21, '[{\"name\":\"shuxue2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"78e1cac8c4284c8a82c7ea4bef5162a4.jpg\"}]', 1015817732197453824, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course` VALUES (1016921667582824448, '小学数学五年级课程', 900.00, '小学数学五年级课程', 1015836481935904768, 2, b'1', 5, 1, 2, 25, '[{\"name\":\"shuxue.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"167967c0c025406483861eed038111a0.jpg\"}]', 1015817732197453824, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course` VALUES (1016922210208321536, '小学数学六年级课程', 1099.00, '小学数学六年级课程', 1015836481935904768, 2, b'1', 6, 1, 2, 20, '[{\"name\":\"shuxue2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"7f79d414e4b14ce19d75f038306088a9.jpg\"}]', 1015817732197453824, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course` VALUES (1016922414236045312, '天津数学一年级课程', 499.00, '天津数学一年级课程', 1015836821309624320, 0, b'1', 1, 1, 2, 20, '[{\"name\":\"shuxue.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"59d6f1cea3584a1ab637ab6a69ebacd6.jpg\"}]', 1015818056597508096, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course` VALUES (1016922587657932800, '天津数学二年级课程', 500.00, '天津数学二年级课程', 1015836821309624320, 1, b'1', 2, 1, 2, 25, '[{\"name\":\"shuxue2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"830a0f67737e4b79a605ecbbd20f9418.jpg\"},{\"name\":\"shuxue.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"5f9be80c275c48bda8a67562276aa04e.jpg\"}]', 1015818056597508096, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course` VALUES (1016922752997396480, '天津数学三年级课程', 799.00, '天津数学三年级课程', 1015836821309624320, 2, b'1', 3, 1, 2, 24, '[{\"name\":\"shuxue2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"0fb454a0d56843e6b77bfc874f8a4a0f.jpg\"}]', 1015818056597508096, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course` VALUES (1016923276064854016, '小学英语一年级课程', 399.00, '小学英语一年级课程', 1015836614618517504, 0, b'1', 1, 2, 3, 15, '[{\"name\":\"english.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"44177c3674f543fda24222b8297ef203.jpg\"}]', 1015817732197453824, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course` VALUES (1016923512082534400, '小学英语二年级课程', 428.00, '小学英语二年级课程', 1015836614618517504, 0, b'1', 2, 2, 3, 15, '[{\"name\":\"english2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"1a775271ccf9436c8b4e92a841556d79.jpg\"}]', 1015817732197453824, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course` VALUES (1016924065042796544, '小学英语三年级课程', 666.00, '小学英语三年级课程', 1015836614618517504, 1, b'1', 3, 2, 3, 25, '[{\"name\":\"english2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"d9eded33a06d4931ae326cac3871948f.jpg\"},{\"name\":\"english.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"f179474ce95e4210b4e2a04d480c6535.jpg\"}]', 1015817732197453824, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course` VALUES (1016924308048187392, '小学英语四年级课程', 700.00, '小学英语四年级课程', 1015836614618517504, 1, b'1', 4, 2, 3, 25, '[{\"name\":\"english.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"c71da8ce21b44dd8bb761fa93b09a341.jpg\"}]', 1015817732197453824, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course` VALUES (1016924664354312192, '小学英语五年级课程', 805.00, '小学英语五年级课程', 1015836614618517504, 2, b'1', 5, 2, 3, 28, '[{\"name\":\"english2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"0d81493585d94962acbcdc81c074224a.jpg\"}]', 1015817732197453824, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course` VALUES (1016924985629609984, '小学英语六年级课程', 998.00, '小学英语六年级课程', 1015836614618517504, 2, b'1', 6, 2, 3, 30, '[{\"name\":\"english.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"17b2b4380fc746659666f9c51bfa7618.jpg\"}]', 1015817732197453824, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course` VALUES (1016925257013661696, '天津英语一年级课程', 499.00, '天津英语一年级课程', 1015836926548905984, 0, b'1', 1, 2, 3, 20, '[{\"name\":\"english2.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"dd15b00b79154c398a3daa9fb8cff9f9.jpg\"},{\"name\":\"english.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"2a0b1f0d262649a294a9f647421f5a7e.jpg\"}]', 1015818056597508096, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course` VALUES (1016925420855758848, '天津英语二年级课程', 528.00, '天津英语二年级课程', 1015836926548905984, 1, b'1', 2, 2, 3, 23, '[{\"name\":\"english.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"7dc07373076f452eac02d9405ac83479.jpg\"}]', 1015818056597508096, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course` VALUES (1018007994936070144, '小学一年级语文课程B', 1111.00, '天津英语二年级课程', 1015836481935904768, 0, b'1', 1, 1, 1, 23, '[{\"name\":\"微信图片_20190406094309.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"b11699acb7094c11a1c1efa71d53ee19.jpg\"},{\"name\":\"微信图片_20190406094305.jpg\",\"downloadUri\":\"/admin/app/course/download\",\"filename\":\"e248874a47e849e29dd7b699b2685d30.jpg\"}]', 1015817732197453824, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -COMMIT; - --- ---------------------------- --- Table structure for zz_course_category --- ---------------------------- -DROP TABLE IF EXISTS `zz_course_category`; -CREATE TABLE `zz_course_category` ( - `category_id` int NOT NULL AUTO_INCREMENT COMMENT '主键Id', - `category_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '课程类别名称', - `status` int NOT NULL COMMENT '是否正在使用(0:不是,1:是)', - PRIMARY KEY (`category_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_course_category --- ---------------------------- -BEGIN; -INSERT INTO `zz_course_category` VALUES (1, '小学语文', 1); -INSERT INTO `zz_course_category` VALUES (2, '小学数学', 1); -INSERT INTO `zz_course_category` VALUES (3, '小学英语', 1); -INSERT INTO `zz_course_category` VALUES (4, '初中语文', 1); -INSERT INTO `zz_course_category` VALUES (5, '初中数学', 1); -INSERT INTO `zz_course_category` VALUES (6, '初中英语', 1); -INSERT INTO `zz_course_category` VALUES (7, '中考提分', 1); -INSERT INTO `zz_course_category` VALUES (8, '初中培优', 1); -COMMIT; - --- ---------------------------- --- Table structure for zz_course_section --- ---------------------------- -DROP TABLE IF EXISTS `zz_course_section`; -CREATE TABLE `zz_course_section` ( - `section_id` bigint NOT NULL COMMENT '主键Id', - `section_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '章节名称', - `show_order` int NOT NULL COMMENT '显示顺序', - `course_id` bigint NOT NULL COMMENT '课程Id', - `class_hour` tinyint NOT NULL COMMENT '课时数量', - `attachment_url` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '课程附件地址', - `create_user_id` bigint NOT NULL COMMENT '用户Id', - `create_time` datetime NOT NULL COMMENT '创建时间', - `update_time` datetime NOT NULL COMMENT '更新时间', - PRIMARY KEY (`section_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_course_section --- ---------------------------- -BEGIN; -INSERT INTO `zz_course_section` VALUES (1016704914604953600, '拼音初认', 2, 1016699195411402752, 2, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016926111498244096, '第一章', 1, 1016923276064854016, 3, '[{\"name\":\"附件测试AAA.txt\",\"downloadUri\":\"/admin/app/courseSection/download\",\"filename\":\"95a31a8589b346bfaa83d73e80e57ca4.txt\"}]', 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016926193635299328, '第二章', 2, 1016923276064854016, 5, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016926232805904384, '第三章', 3, 1016923276064854016, 7, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016928101905207296, '第一章', 1, 1016917385529790464, 3, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016928133685448704, '第二章', 2, 1016917385529790464, 5, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016928189478080512, '第三章', 3, 1016917385529790464, 5, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016928223678435328, '第四章', 4, 1016917385529790464, 7, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016928260785442816, '第五章', 5, 1016917385529790464, 5, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016928577929351168, '第一章', 1, 1016917732260319232, 5, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016928605385265152, '第二章', 2, 1016917732260319232, 10, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016928646963400704, '第三章', 3, 1016917732260319232, 10, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016928682153611264, '第四章', 4, 1016917732260319232, 5, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016928801225707520, '第一章', 1, 1016917900699373568, 5, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016928824126607360, '第二章', 2, 1016917900699373568, 5, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016928856401776640, '第三章', 3, 1016917900699373568, 7, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016928888781803520, '第四章', 4, 1016917900699373568, 10, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016928965088776192, '第一章', 1, 1016918360520921088, 5, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016928992376918016, '第二章', 2, 1016918360520921088, 5, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016929032419938304, '第三章', 3, 1016918360520921088, 10, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016929092885024768, '第一章', 1, 1016918605715738624, 10, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016929119703404544, '第二章', 2, 1016918605715738624, 5, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016929152540610560, '第三章', 3, 1016918605715738624, 10, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016929234975461376, '第一章', 1, 1016920878164480000, 5, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016929259256287232, '第二章', 2, 1016920878164480000, 5, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016951539508187136, '第一章', 1, 1016918836729614336, 4, '[{\"name\":\"附件测试AAA.txt\",\"downloadUri\":\"/admin/app/courseSection/download\",\"filename\":\"765fcd7d9c7149819ddbdcdf7e178b4f.txt\"}]', 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016951597574131712, '第二章', 2, 1016918836729614336, 7, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016951633552871424, '第三章', 3, 1016918836729614336, 10, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016951701035028480, '第一章', 1, 1016920152549888000, 5, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016951729879257088, '第二章', 2, 1016920152549888000, 7, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016951760795471872, '第三章', 3, 1016920152549888000, 8, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016951895621373952, '第一章', 1, 1016920339255136256, 6, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016951925602258944, '第二章', 2, 1016920339255136256, 7, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016951960809246720, '第三章', 3, 1016920339255136256, 8, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016953153790939136, '第一章', 1, 1016921053566078976, 2, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016953177077714944, '第二章', 2, 1016921053566078976, 2, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016953211076743168, '第三章', 3, 1016921053566078976, 3, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016953253867032576, '第四章', 4, 1016921053566078976, 3, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016953292622401536, '第五章', 5, 1016921053566078976, 5, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016953334993260544, '第六章', 6, 1016921053566078976, 10, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016953412378169344, '第一章', 1, 1016921250996162560, 4, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016953438634512384, '第二章', 2, 1016921250996162560, 6, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016953497048584192, '第一章', 1, 1016921446102601728, 4, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016953524319948800, '第二章', 2, 1016921446102601728, 7, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016953610944909312, '第一章', 1, 1016921667582824448, 5, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016953679156875264, '第二章', 2, 1016921667582824448, 3, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016953769489600512, '第一章', 1, 1016922210208321536, 5, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016953794676396032, '第二章', 2, 1016922210208321536, 6, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016953919318528000, '第一章', 1, 1016922414236045312, 2, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016953952059265024, '第二章', 2, 1016922414236045312, 8, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016954047232217088, '第一章', 1, 1016922587657932800, 5, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016954077775138816, '第二章', 2, 1016922587657932800, 6, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016954140526120960, '第一章', 1, 1016922752997396480, 15, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016954230221312000, '第一章', 1, 1016923512082534400, 3, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016954295853780992, '第一章', 1, 1016924065042796544, 6, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016954322932207616, '第二章', 2, 1016924065042796544, 5, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016954388145246208, '第一章', 1, 1016924308048187392, 5, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016954441085751296, '第一章', 1, 1016924664354312192, 6, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1016954541413502976, '第一章', 1, 1016925420855758848, 4, NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_course_section` VALUES (1018008859730251776, '第一章', 1, 1018007994936070144, 12, '[]', 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -COMMIT; - --- ---------------------------- --- Table structure for zz_course_section_paper --- ---------------------------- -DROP TABLE IF EXISTS `zz_course_section_paper`; -CREATE TABLE `zz_course_section_paper` ( - `course_section_id` bigint NOT NULL COMMENT '课程Id', - `paper_id` bigint NOT NULL COMMENT '作业Id', - PRIMARY KEY (`course_section_id`,`paper_id`) USING BTREE, - KEY `idx_paper_id` (`paper_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_course_section_paper --- ---------------------------- -BEGIN; -INSERT INTO `zz_course_section_paper` VALUES (1016704914604953600, 1016221639738396672); -INSERT INTO `zz_course_section_paper` VALUES (1016704914604953600, 1016553679197310976); -COMMIT; - --- ---------------------------- --- Table structure for zz_course_trans_stats --- ---------------------------- -DROP TABLE IF EXISTS `zz_course_trans_stats`; -CREATE TABLE `zz_course_trans_stats` ( - `stats_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键Id', - `stats_date` date NOT NULL COMMENT '统计日期', - `subject_id` tinyint NOT NULL COMMENT '科目Id', - `grade_id` tinyint NOT NULL COMMENT '年级Id', - `grade_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '年级名称', - `course_id` bigint NOT NULL COMMENT '课程Id', - `course_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '课程名称', - `student_attend_count` int NOT NULL COMMENT '学生上课次数', - `student_flower_amount` int NOT NULL COMMENT '学生献花数量', - `student_flower_count` int NOT NULL COMMENT '学生献花次数', - PRIMARY KEY (`stats_id`) USING BTREE, - UNIQUE KEY `uk_stats_date_subject_id_grade_course_id` (`stats_date`,`grade_id`,`course_id`) USING BTREE, - KEY `idx_grade_id` (`grade_id`) USING BTREE, - KEY `idx_course_id` (`course_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_course_trans_stats --- ---------------------------- -BEGIN; -INSERT INTO `zz_course_trans_stats` VALUES (1, '2020-01-10', 0, 1, NULL, 1016699195411402752, '小学一年级拼音基础练习', 1, 0, 0); -INSERT INTO `zz_course_trans_stats` VALUES (2, '2020-01-10', 0, 2, NULL, 1016917385529790464, '小学二年级语文课程', 2, 55, 1); -INSERT INTO `zz_course_trans_stats` VALUES (3, '2020-01-10', 0, 3, NULL, 1016917732260319232, '小学三年级语文课程', 2, 118, 2); -INSERT INTO `zz_course_trans_stats` VALUES (4, '2020-01-10', 0, 4, NULL, 1016917900699373568, '小学四年级语文课程', 0, 40, 1); -INSERT INTO `zz_course_trans_stats` VALUES (5, '2020-01-11', 0, 1, NULL, 1016699195411402752, '小学一年级拼音基础练习', 3, 119, 2); -INSERT INTO `zz_course_trans_stats` VALUES (6, '2020-01-11', 0, 2, NULL, 1016917385529790464, '小学二年级语文课程', 1, 36, 1); -INSERT INTO `zz_course_trans_stats` VALUES (7, '2020-01-11', 0, 3, NULL, 1016917732260319232, '小学三年级语文课程', 1, 147, 2); -INSERT INTO `zz_course_trans_stats` VALUES (8, '2020-01-11', 0, 4, NULL, 1016917900699373568, '小学四年级语文课程', 0, 76, 1); -COMMIT; - --- ---------------------------- --- Table structure for zz_data_sync_consumer_trans --- ---------------------------- -DROP TABLE IF EXISTS `zz_data_sync_consumer_trans`; -CREATE TABLE `zz_data_sync_consumer_trans` ( - `trans_id` char(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '同步事务Id', - `create_time` datetime NOT NULL COMMENT '创建时间', - PRIMARY KEY (`trans_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Table structure for zz_data_sync_producer_trans --- ---------------------------- -DROP TABLE IF EXISTS `zz_data_sync_producer_trans`; -CREATE TABLE `zz_data_sync_producer_trans` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', - `trans_id` char(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '同步事务Id', - `message_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '消息类型', - `message_command` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '消息的命令类型', - `message_data` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '消息数据', - `message_topic` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '消息主题', - `message_queue_selector_key` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '计算消息队列选择器的Key值', - `producer_trace_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '生产者traceId', - `create_time` datetime NOT NULL COMMENT '创建时间', - `update_time` datetime DEFAULT NULL COMMENT '更新时间', - `sent_status` bit(1) NOT NULL DEFAULT b'0' COMMENT '发送状态', - PRIMARY KEY (`id`) USING BTREE, - KEY `idx_trans_id` (`trans_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Table structure for zz_data_sync_producer_update_mark --- ---------------------------- -DROP TABLE IF EXISTS `zz_data_sync_producer_update_mark`; -CREATE TABLE `zz_data_sync_producer_update_mark` ( - `id` int NOT NULL COMMENT '主键Id', - `max_update_id` bigint NOT NULL COMMENT '生产者读取的最大更新同步事务Id', - `update_time` datetime NOT NULL COMMENT '更新时间', - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_data_sync_producer_update_mark --- ---------------------------- -BEGIN; -INSERT INTO `zz_data_sync_producer_update_mark` VALUES (1, 0, '2022-02-26 00:00:00'); -COMMIT; - --- ---------------------------- --- Table structure for zz_exercise --- ---------------------------- -DROP TABLE IF EXISTS `zz_exercise`; -CREATE TABLE `zz_exercise` ( - `exercise_id` bigint NOT NULL COMMENT '主键Id', - `exercise_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '习题名称', - `content_url` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '习题链接地址', - `explain_url` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '解题链接地址', - `difficulty` int NOT NULL COMMENT '习题难度(0: 容易 1: 普通 2: 很难)', - `answer` char(11) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '答案', - `knowledge_id` bigint NOT NULL COMMENT '所属知识点Id', - `create_user_id` bigint NOT NULL COMMENT '创建用户Id', - `create_time` datetime NOT NULL COMMENT '创建时间', - `available` tinyint NOT NULL COMMENT '是否可用(-1: 不可用 1: 可用)', - PRIMARY KEY (`exercise_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_exercise --- ---------------------------- -BEGIN; -INSERT INTO `zz_exercise` VALUES (1015990120700710912, '声母韵母', '

下面选项中只有一项错误,请选择:

A:模糊(mo hu)

B:记载(ji zhai)

C:申诉(shen su)

D:留下(liu xia)

', '

考查学生声母韵母掌握情况

', 0, 'B', 1015982168275161088, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_exercise` VALUES (1016220944956133376, '数字分解', '

5可以分解成几组数字?

A:1组

B:2组

C:3组

D:4组

', '

掌握数字分解

', 1, 'B', 1015983358530555904, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_exercise` VALUES (1016989336004726784, '1111', '

zscdsfsdsfdsf水电费撒大声地撒打算打算水电费dsfsdf

', '

第三方是的撒士大夫士大sadssdf夫

', 2, 'C', 1015982732862033920, 1014065909648330753, '2020-10-22 00:00:00', -1); -INSERT INTO `zz_exercise` VALUES (1017269757036728320, '整体认读', '

从下面选项中选择正确的读音:

A:shu

B:su

C:zu

D:zhu

', '

整体认读习题

', 0, 'A', 1015982558173466624, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_exercise` VALUES (1017270160155480064, '基本笔画', '

请选择包含“横折弯钩”的字:

A:达

B:够

C:亿

D:细

', '

基本笔画习题

', 1, 'C', 1015982664863977472, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_exercise` VALUES (1017270664545701888, '整数习题', '

请从下面的数字中选择整数:

A:1.2

B:3

C:2.7

D:6.3

', '

整数习题

', 0, 'B', 1015983442915758080, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_exercise` VALUES (1017271619228012544, '乘法口诀习题', '

请从下面选项中选择结果是24的:

A:3 * 7

B:4 * 6

C:4* 4

D:2 * 8

', '

乘法口诀习题

', 1, 'B', 1015984021314473984, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_exercise` VALUES (1017271905157910528, '英文字母习题', '

请选择D后面的字母是:

A:E

B:C

C:F

D:Z

', '

英文字母习题

', 0, 'A', 1015984444750434304, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_exercise` VALUES (1017272223006461952, '英文动词习题', '

请选择动词:

A:do

B:set

C:apple

D:go

', '

英文动词习题

', 0, 'B', 1015984805611573248, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_exercise` VALUES (1018006925367578624, '111问问', '

1111223432434

', '

2222333

', 0, 'A', 1015982168275161088, 1014065909648330753, '2020-10-22 00:00:00', -1); -INSERT INTO `zz_exercise` VALUES (1023076978987372544, '11112222', '

1111

', '

111111

', 0, 'B', 1015982168275161088, 1015820835156135936, '2020-10-22 00:00:00', -1); -INSERT INTO `zz_exercise` VALUES (1029368064970063880, 'test', '

tt

', '

tt

', 0, 'A', 1015982168275161088, 1026350428866740296, '2020-10-22 00:00:00', -1); -COMMIT; - --- ---------------------------- --- Table structure for zz_exercise_stats --- ---------------------------- -DROP TABLE IF EXISTS `zz_exercise_stats`; -CREATE TABLE `zz_exercise_stats` ( - `stats_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键Id', - `stats_date` date NOT NULL COMMENT '统计日期', - `subject_id` tinyint NOT NULL COMMENT '科目Id', - `grade_id` tinyint NOT NULL COMMENT '年级Id', - `province_id` bigint NOT NULL COMMENT '所属省Id', - `city_id` bigint NOT NULL COMMENT '所属城市Id', - `total_count` int NOT NULL COMMENT '答题数量', - `correct_count` int NOT NULL COMMENT '正确数量', - `consume_coin` int DEFAULT NULL COMMENT '消耗学币', - `gain_coin` int DEFAULT NULL COMMENT '奖励学币', - `gain_experience` int DEFAULT NULL COMMENT '奖励经验值', - PRIMARY KEY (`stats_id`) USING BTREE, - UNIQUE KEY `uk_stats_date_subject_id_grade_id_region_id` (`stats_date`,`subject_id`,`grade_id`,`province_id`,`city_id`) USING BTREE, - KEY `idx_grade_id` (`grade_id`) USING BTREE, - KEY `idx_subject_id` (`subject_id`) USING BTREE, - KEY `idx_province_id` (`province_id`) USING BTREE, - KEY `idx_city_id` (`city_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_exercise_stats --- ---------------------------- -BEGIN; -INSERT INTO `zz_exercise_stats` VALUES (1, '2020-01-18', 2, 1, 110000000000, 110100000000, 3, 3, NULL, NULL, NULL); -INSERT INTO `zz_exercise_stats` VALUES (2, '2020-01-19', 2, 1, 110000000000, 110100000000, 1, 0, NULL, NULL, NULL); -INSERT INTO `zz_exercise_stats` VALUES (3, '2020-01-19', 0, 2, 110000000000, 110100000000, 9, 2, NULL, NULL, NULL); -INSERT INTO `zz_exercise_stats` VALUES (4, '2020-01-19', 0, 2, 120000000000, 120100000000, 10, 10, NULL, NULL, NULL); -INSERT INTO `zz_exercise_stats` VALUES (5, '2020-01-19', 0, 1, 120000000000, 120100000000, 3, 1, NULL, NULL, NULL); -INSERT INTO `zz_exercise_stats` VALUES (6, '2020-01-20', 0, 1, 110000000000, 110100000000, 8, 5, NULL, NULL, NULL); -INSERT INTO `zz_exercise_stats` VALUES (7, '2020-01-20', 0, 2, 110000000000, 110100000000, 9, 7, NULL, NULL, NULL); -INSERT INTO `zz_exercise_stats` VALUES (8, '2020-01-20', 0, 1, 120000000000, 120100000000, 4, 1, NULL, NULL, NULL); -INSERT INTO `zz_exercise_stats` VALUES (9, '2020-01-20', 0, 2, 120000000000, 120100000000, 11, 10, NULL, NULL, NULL); -COMMIT; - --- ---------------------------- --- Table structure for zz_exercise_trans_stats --- ---------------------------- -DROP TABLE IF EXISTS `zz_exercise_trans_stats`; -CREATE TABLE `zz_exercise_trans_stats` ( - `stats_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键Id', - `stats_date` date NOT NULL COMMENT '统计日期', - `stats_month` date DEFAULT NULL COMMENT '统计月份', - `subject_id` tinyint NOT NULL COMMENT '学科Id', - `subject_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '科目名称', - `grade_id` tinyint NOT NULL COMMENT '年级Id', - `grade_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '年级名称', - `paper_id` bigint NOT NULL COMMENT '作业Id', - `paper_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '作业名称', - `exercise_id` bigint NOT NULL COMMENT '习题Id', - `exercise_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '习题名称', - `total_count` int NOT NULL DEFAULT '0' COMMENT '做题数量', - `correct_count` int NOT NULL DEFAULT '0' COMMENT '做正确数量', - PRIMARY KEY (`stats_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_exercise_trans_stats --- ---------------------------- -BEGIN; -INSERT INTO `zz_exercise_trans_stats` VALUES (1, '2020-01-18', NULL, 2, NULL, 1, NULL, 1016901492384993280, '英文字母', 1017271905157910528, '英文字母习题', 3, 3); -INSERT INTO `zz_exercise_trans_stats` VALUES (2, '2020-01-19', NULL, 2, NULL, 1, NULL, 1016901492384993280, '英文字母', 1017271905157910528, '英文字母习题', 1, 0); -INSERT INTO `zz_exercise_trans_stats` VALUES (3, '2020-01-19', NULL, 0, NULL, 2, NULL, 1016912281552556032, '偏旁部首练习', 1015990120700710912, '声母韵母', 6, 4); -INSERT INTO `zz_exercise_trans_stats` VALUES (4, '2020-01-19', NULL, 0, NULL, 2, NULL, 1016912281552556032, '偏旁部首练习', 1017270160155480064, '基本笔画', 7, 3); -INSERT INTO `zz_exercise_trans_stats` VALUES (5, '2020-01-19', NULL, 0, NULL, 2, NULL, 1016912487966838784, '同音字多音字练习', 1015990120700710912, '声母韵母', 6, 5); -INSERT INTO `zz_exercise_trans_stats` VALUES (6, '2020-01-19', NULL, 0, NULL, 1, NULL, 1016553679197310976, '拼音基础作业', 1015990120700710912, '声母韵母', 3, 1); -INSERT INTO `zz_exercise_trans_stats` VALUES (7, '2020-01-20', NULL, 0, NULL, 1, NULL, 1016553679197310976, '拼音基础作业', 1015990120700710912, '声母韵母', 12, 6); -INSERT INTO `zz_exercise_trans_stats` VALUES (8, '2020-01-20', NULL, 0, NULL, 2, NULL, 1016912281552556032, '偏旁部首练习', 1015990120700710912, '声母韵母', 7, 7); -INSERT INTO `zz_exercise_trans_stats` VALUES (9, '2020-01-20', NULL, 0, NULL, 2, NULL, 1016912281552556032, '偏旁部首练习', 1017270160155480064, '基本笔画', 8, 6); -INSERT INTO `zz_exercise_trans_stats` VALUES (10, '2020-01-20', NULL, 0, NULL, 2, NULL, 1016912607257038848, '近义词反义词练习', 1017269757036728320, '整体认读', 5, 4); -COMMIT; - --- ---------------------------- --- Table structure for zz_grade --- ---------------------------- -DROP TABLE IF EXISTS `zz_grade`; -CREATE TABLE `zz_grade` ( - `grade_id` int NOT NULL AUTO_INCREMENT COMMENT '主键Id', - `grade_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '年级名称', - `status` int NOT NULL COMMENT '是否正在使用(0:不是,1:是)', - PRIMARY KEY (`grade_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_grade --- ---------------------------- -BEGIN; -INSERT INTO `zz_grade` VALUES (1, '一年级', 1); -INSERT INTO `zz_grade` VALUES (2, '二年级', 1); -INSERT INTO `zz_grade` VALUES (3, '三年级', 1); -INSERT INTO `zz_grade` VALUES (4, '四年级', 1); -INSERT INTO `zz_grade` VALUES (5, '五年级', 1); -INSERT INTO `zz_grade` VALUES (6, '六年级', 1); -INSERT INTO `zz_grade` VALUES (7, '初一', 1); -INSERT INTO `zz_grade` VALUES (8, '初二', 1); -INSERT INTO `zz_grade` VALUES (9, '初三', 1); -INSERT INTO `zz_grade` VALUES (10, '高一', 1); -INSERT INTO `zz_grade` VALUES (11, '高二', 1); -INSERT INTO `zz_grade` VALUES (12, '高三', 1); -COMMIT; - --- ---------------------------- --- Table structure for zz_job_update_mark --- ---------------------------- -DROP TABLE IF EXISTS `zz_job_update_mark`; -CREATE TABLE `zz_job_update_mark` ( - `handler_id` bigint NOT NULL COMMENT '主键Id', - `handler_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT 'Job处理器的名称', - `handler_desc` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Job处理器的描述', - `source_database_desc` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '源表数据库的描述', - `source_table_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '源数据表名称', - `target_table_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '目标数据表名称', - `max_numeric_id` bigint DEFAULT NULL COMMENT '最后操作最大数值型Id', - `max_string_id` char(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '最后操作最大字符型Id', - `max_date` date DEFAULT NULL COMMENT '最后更新日期(基于日期范围计算的高水标记字段)', - `exec_time` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT 'Job最后执行时间', - PRIMARY KEY (`handler_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_job_update_mark --- ---------------------------- -BEGIN; -INSERT INTO `zz_job_update_mark` VALUES (1217708004065939456, 'StudentActionHandler', '学生行为统计', '源数据库信息(对业务逻辑无任何影响,可手动修改)', 'zz_student_action_trans', 'zz_student_action_stats', NULL, NULL, '2020-01-01', '2020-10-22 00:00:00'); -INSERT INTO `zz_job_update_mark` VALUES (1217710227298717696, 'StudentRegistryHandler', '学生注册统计', '源数据库信息(对业务逻辑无任何影响,可手动修改)', 'zz_student_registry_trans', 'zz_student_registry_stats', NULL, NULL, '2020-01-01', '2020-10-22 00:00:00'); -INSERT INTO `zz_job_update_mark` VALUES (1217712316573814784, 'StudentCoinTransHandler', '学生学币统计', '源数据库信息(对业务逻辑无任何影响,可手动修改)', 'zz_student_coin_trans', 'zz_coin_stats', NULL, NULL, '2020-01-01', '2020-10-22 00:00:00'); -INSERT INTO `zz_job_update_mark` VALUES (1217716075551002624, 'CourseTransHandler', '课程行为流水统计', '源数据库信息(对业务逻辑无任何影响,可手动修改)', 'zz_student_course_trans', 'zz_course_trans_stats', NULL, NULL, '2020-01-01', '2020-10-22 00:00:00'); -INSERT INTO `zz_job_update_mark` VALUES (1217746520154050560, 'VideoTransStatsHandler', '视频流水统计', '源数据库信息(对业务逻辑无任何影响,可手动修改)', 'zz_video_trans', 'zz_video_trans_stats', NULL, NULL, '2020-01-01', '2020-10-22 00:00:00'); -INSERT INTO `zz_job_update_mark` VALUES (1217747906598014976, 'ExerciseStatsHandler', '作业习题统计', '源数据库信息(对业务逻辑无任何影响,可手动修改)', 'zz_paper_exercise_trans', 'zz_exercise_stats', NULL, NULL, '2020-01-01', '2020-10-22 00:00:00'); -INSERT INTO `zz_job_update_mark` VALUES (1217755800638853120, 'ExerciseTransStatsHandler', '习题流水统计', '源数据库信息(对业务逻辑无任何影响,可手动修改)', 'zz_paper_exercise_trans', 'zz_exercise_trans_stats', NULL, NULL, '2020-01-01', '2020-10-22 00:00:00'); -INSERT INTO `zz_job_update_mark` VALUES (1217757012855623680, 'FullSyncSchoolHandler', '全量同步校区', '源数据库信息(对业务逻辑无任何影响,可手动修改)', 'zz_sys_dept', 'zz_school_info', NULL, NULL, '2020-01-01', '2020-10-22 00:00:00'); -COMMIT; - --- ---------------------------- --- Table structure for zz_knowledge --- ---------------------------- -DROP TABLE IF EXISTS `zz_knowledge`; -CREATE TABLE `zz_knowledge` ( - `knowledge_id` bigint NOT NULL COMMENT '主键Id', - `knowledge_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '知识点名称', - `subject_id` int NOT NULL COMMENT '科目Id', - `grade_id` int NOT NULL COMMENT '年级Id', - `edition_id` int NOT NULL COMMENT '教材版本', - `create_user_id` bigint NOT NULL COMMENT '创建者', - `create_time` datetime NOT NULL COMMENT '创建时间', - `deleted_flag` int NOT NULL COMMENT '删除标记(1: 正常 -1: 逻辑删除)', - PRIMARY KEY (`knowledge_id`) USING BTREE, - KEY `idx_subject_id` (`subject_id`) USING BTREE, - KEY `idx_grade_id` (`grade_id`) USING BTREE, - KEY `idx_edition_id` (`edition_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_knowledge --- ---------------------------- -BEGIN; -INSERT INTO `zz_knowledge` VALUES (1015982168275161088, '声母韵母', 0, 1, 1, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_knowledge` VALUES (1015982558173466624, '整体认读', 0, 1, 2, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_knowledge` VALUES (1015982664863977472, '基本笔画', 0, 1, 3, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_knowledge` VALUES (1015982732862033920, '偏旁部首', 0, 2, 4, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_knowledge` VALUES (1015982804953731072, '同音字', 0, 2, 2, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_knowledge` VALUES (1015982846401843200, '多音字', 0, 2, 2, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_knowledge` VALUES (1015982934276706304, '近义词', 0, 2, 3, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_knowledge` VALUES (1015982976186191872, '反义词', 0, 2, 3, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_knowledge` VALUES (1015983059564761088, '标点符号', 0, 3, 3, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_knowledge` VALUES (1015983151499710464, '作文要素', 0, 4, 2, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_knowledge` VALUES (1015983358530555904, '数字分解', 1, 1, 2, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_knowledge` VALUES (1015983442915758080, '整数', 1, 1, 3, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_knowledge` VALUES (1015983495600410624, '小数', 1, 2, 2, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_knowledge` VALUES (1015983618824867840, '基本图形', 1, 2, 3, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_knowledge` VALUES (1015983701339410432, '直角锐角', 1, 3, 3, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_knowledge` VALUES (1015984021314473984, '乘法口诀', 1, 3, 1, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_knowledge` VALUES (1015984096967135232, '数的整除', 1, 4, 4, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_knowledge` VALUES (1015984444750434304, '英文字母', 2, 1, 2, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_knowledge` VALUES (1015984694990999552, '量词', 2, 1, 2, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_knowledge` VALUES (1015984805611573248, '动词', 2, 2, 3, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_knowledge` VALUES (1015985406223323136, '行为动词', 2, 2, 2, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_knowledge` VALUES (1015985667461353472, '名词', 2, 3, 3, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_knowledge` VALUES (1015985788773208064, '名词的复数形式', 2, 4, 4, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_knowledge` VALUES (1016902626528989184, '叙事作文', 0, 5, 3, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_knowledge` VALUES (1016902789624500224, '文言文基础', 0, 6, 2, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_knowledge` VALUES (1016908751798276096, '111', 1, 3, 2, 1014065909648330753, '2020-10-22 00:00:00', -1); -INSERT INTO `zz_knowledge` VALUES (1016909129499545600, '111', 1, 1, 2, 1014065909648330753, '2020-10-22 00:00:00', -1); -INSERT INTO `zz_knowledge` VALUES (1016911184083554304, '面积体积', 1, 5, 3, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_knowledge` VALUES (1016911250022207488, '应用题', 1, 6, 2, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_knowledge` VALUES (1016911399163269120, '时态语法', 2, 5, 2, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_knowledge` VALUES (1016911467798859776, '英文阅读', 2, 6, 3, 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_knowledge` VALUES (1017261517674647552, '222221111', 0, 2, 2, 1014065909648330753, '2020-10-22 00:00:00', -1); -INSERT INTO `zz_knowledge` VALUES (1018006765061279744, '111222', 0, 7, 2, 1014065909648330753, '2020-10-22 00:00:00', -1); -INSERT INTO `zz_knowledge` VALUES (1023076756219498496, '111222', 1, 6, 1, 1015820835156135936, '2020-10-22 00:00:00', -1); -INSERT INTO `zz_knowledge` VALUES (1029356172440502291, 'eee', 0, 1, 1, 1026350428866740296, '2020-10-22 00:00:00', -1); -COMMIT; - --- ---------------------------- --- Table structure for zz_material_edition --- ---------------------------- -DROP TABLE IF EXISTS `zz_material_edition`; -CREATE TABLE `zz_material_edition` ( - `edition_id` int NOT NULL AUTO_INCREMENT COMMENT '主键Id', - `edition_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '教材版本名称', - `status` int NOT NULL COMMENT '是否正在使用(0:不是,1:是)', - PRIMARY KEY (`edition_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_material_edition --- ---------------------------- -BEGIN; -INSERT INTO `zz_material_edition` VALUES (1, '苏教版', 1); -INSERT INTO `zz_material_edition` VALUES (2, '人教版', 1); -INSERT INTO `zz_material_edition` VALUES (3, '湘教版', 1); -INSERT INTO `zz_material_edition` VALUES (4, '沪教版', 1); -COMMIT; - --- ---------------------------- --- Table structure for zz_paper --- ---------------------------- -DROP TABLE IF EXISTS `zz_paper`; -CREATE TABLE `zz_paper` ( - `paper_id` bigint NOT NULL COMMENT '主键Id', - `paper_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '作业名称', - `subject_id` tinyint NOT NULL COMMENT '科目Id', - `grade_id` tinyint NOT NULL COMMENT '年级Id', - `paper_type` int NOT NULL COMMENT '作业类型', - `description` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '作业描述', - `create_time` datetime NOT NULL COMMENT '创建时间', - `create_user_id` bigint NOT NULL COMMENT '创建用户Id', - `deleted_flag` tinyint NOT NULL DEFAULT '1' COMMENT '删除标记(-1: 删除 1: 正常)', - PRIMARY KEY (`paper_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_paper --- ---------------------------- -BEGIN; -INSERT INTO `zz_paper` VALUES (1016221203052630016, '一年级数字分解作业', 1, 1, 1, '数字分解基础作业', '2020-10-22 00:00:00', 1014065909648330753, -1); -INSERT INTO `zz_paper` VALUES (1016221203342036992, '一年级数字分解作业', 1, 1, 1, '数字分解基础作业', '2020-10-22 00:00:00', 1014065909648330753, -1); -INSERT INTO `zz_paper` VALUES (1016221639738396672, '5以内数字分解', 1, 2, 1, '5以内的数字分解习题', '2020-10-22 00:00:00', 1014065909648330753, 1); -INSERT INTO `zz_paper` VALUES (1016553679197310976, '拼音基础作业', 0, 1, 2, '小学一年级拼音基础作业', '2020-10-22 00:00:00', 1014065909648330753, 1); -INSERT INTO `zz_paper` VALUES (1016901492384993280, '英文字母', 2, 1, 1, '认识26个英文字母', '2020-10-22 00:00:00', 1014065909648330753, 1); -INSERT INTO `zz_paper` VALUES (1016901650829021184, '10以内加减法', 1, 2, 2, '10以内加减法', '2020-10-22 00:00:00', 1014065909648330753, 1); -INSERT INTO `zz_paper` VALUES (1016902328779542528, '整体认读课后作业', 0, 1, 1, '加深对于课堂知识的理解和吸收', '2020-10-22 00:00:00', 1014065909648330753, 1); -INSERT INTO `zz_paper` VALUES (1016902468986736640, '基本笔画练习', 0, 1, 2, '基本笔画练习', '2020-10-22 00:00:00', 1014065909648330753, 1); -INSERT INTO `zz_paper` VALUES (1016912281552556032, '偏旁部首练习', 0, 2, 2, '熟练掌握偏旁和部首', '2020-10-22 00:00:00', 1014065909648330753, 1); -INSERT INTO `zz_paper` VALUES (1016912487966838784, '同音字多音字练习', 0, 2, 1, '同音字多音字练习', '2020-10-22 00:00:00', 1014065909648330753, 1); -INSERT INTO `zz_paper` VALUES (1016912607257038848, '近义词反义词练习', 0, 2, 1, '近义词反义词练习', '2020-10-22 00:00:00', 1014065909648330753, 1); -INSERT INTO `zz_paper` VALUES (1016912704875270144, '标点符号练习', 0, 3, 2, '标点符号练习', '2020-10-22 00:00:00', 1014065909648330753, 1); -INSERT INTO `zz_paper` VALUES (1016912830196879360, '作文基本要素练习', 0, 4, 1, '作文基本要素练习', '2020-10-22 00:00:00', 1014065909648330753, 1); -INSERT INTO `zz_paper` VALUES (1016912936711229440, '叙事作文练习', 0, 5, 1, '叙事作文练习', '2020-10-22 00:00:00', 1014065909648330753, 1); -INSERT INTO `zz_paper` VALUES (1016913027215921152, '文言文基本知识', 0, 6, 1, '文言文基本知识', '2020-10-22 00:00:00', 1014065909648330753, 1); -INSERT INTO `zz_paper` VALUES (1016913568750899200, '整数小数', 1, 2, 2, '整数小数', '2020-10-22 00:00:00', 1014065909648330753, 1); -INSERT INTO `zz_paper` VALUES (1016913693602746368, '认识基本图形', 1, 2, 1, '认识基本图形', '2020-10-22 00:00:00', 1014065909648330753, 1); -INSERT INTO `zz_paper` VALUES (1016913813270433792, '认识直角锐角', 1, 3, 1, '认识直角锐角', '2020-10-22 00:00:00', 1014065909648330753, 1); -INSERT INTO `zz_paper` VALUES (1016913964491870208, '乘法口诀练习', 1, 3, 2, '乘法口诀练习', '2020-10-22 00:00:00', 1014065909648330753, 1); -INSERT INTO `zz_paper` VALUES (1016914214522720256, '整除练习题', 1, 4, 2, '整除练习题', '2020-10-22 00:00:00', 1014065909648330753, 1); -INSERT INTO `zz_paper` VALUES (1016914319753613312, '体积面积计算', 1, 5, 1, '体积面积计算', '2020-10-22 00:00:00', 1014065909648330753, 1); -INSERT INTO `zz_paper` VALUES (1016914409553661952, '基础应用题', 1, 6, 2, '基础应用题', '2020-10-22 00:00:00', 1014065909648330753, 1); -INSERT INTO `zz_paper` VALUES (1016914605658345472, '量词练习', 2, 1, 2, '量词练习', '2020-10-22 00:00:00', 1014065909648330753, 1); -INSERT INTO `zz_paper` VALUES (1016914660146548736, '动词练习', 2, 2, 1, '动词练习', '2020-10-22 00:00:00', 1014065909648330753, 1); -INSERT INTO `zz_paper` VALUES (1016914759106957312, '行为动词练习', 2, 2, 2, '行为动词练习', '2020-10-22 00:00:00', 1014065909648330753, 1); -INSERT INTO `zz_paper` VALUES (1016914836420562944, '名词练习', 2, 3, 2, '名词练习', '2020-10-22 00:00:00', 1014065909648330753, 1); -INSERT INTO `zz_paper` VALUES (1016914935116730368, '名词的复数形式', 2, 4, 1, '名词的复数形式', '2020-10-22 00:00:00', 1014065909648330753, 1); -INSERT INTO `zz_paper` VALUES (1016915040473452544, '时态语法练习', 2, 5, 1, '时态语法练习', '2020-10-22 00:00:00', 1014065909648330753, 1); -INSERT INTO `zz_paper` VALUES (1016915119003406336, '阅读理解', 2, 6, 2, '阅读理解', '2020-10-22 00:00:00', 1014065909648330753, 1); -INSERT INTO `zz_paper` VALUES (1017273481352187904, '111222', 1, 1, 1, '1111', '2020-10-22 00:00:00', 1014065909648330753, -1); -INSERT INTO `zz_paper` VALUES (1017273783266578432, '222111', 1, 2, 1, '222', '2020-10-22 00:00:00', 1014065909648330753, -1); -INSERT INTO `zz_paper` VALUES (1017275326502014976, '1111', 1, 2, 1, '22243243243', '2020-10-22 00:00:00', 1014065909648330753, -1); -INSERT INTO `zz_paper` VALUES (1018007434421866496, '1111222', 1, 1, 1, '1111', '2020-10-22 00:00:00', 1014065909648330753, -1); -INSERT INTO `zz_paper` VALUES (1029371565901086780, 'test', 0, 1, 1, 'test', '2020-10-22 00:00:00', 1026350428866740296, -1); -COMMIT; - --- ---------------------------- --- Table structure for zz_paper_exercise --- ---------------------------- -DROP TABLE IF EXISTS `zz_paper_exercise`; -CREATE TABLE `zz_paper_exercise` ( - `paper_id` bigint NOT NULL COMMENT '作业Id', - `exercise_id` bigint NOT NULL COMMENT '习题Id', - `required_flag` tinyint DEFAULT '0' COMMENT '必做习题', - PRIMARY KEY (`paper_id`,`exercise_id`) USING BTREE, - KEY `idx_exercise_id` (`exercise_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_paper_exercise --- ---------------------------- -BEGIN; -INSERT INTO `zz_paper_exercise` VALUES (1016221639738396672, 1016220944956133376, 0); -INSERT INTO `zz_paper_exercise` VALUES (1016221639738396672, 1017269757036728320, 1); -INSERT INTO `zz_paper_exercise` VALUES (1016221639738396672, 1017270160155480064, 1); -INSERT INTO `zz_paper_exercise` VALUES (1016553679197310976, 1015990120700710912, 0); -INSERT INTO `zz_paper_exercise` VALUES (1016553679197310976, 1016220944956133376, 0); -INSERT INTO `zz_paper_exercise` VALUES (1016901492384993280, 1017271905157910528, 0); -INSERT INTO `zz_paper_exercise` VALUES (1016901650829021184, 1017270664545701888, 0); -INSERT INTO `zz_paper_exercise` VALUES (1016902468986736640, 1017270160155480064, 0); -INSERT INTO `zz_paper_exercise` VALUES (1016902468986736640, 1017271905157910528, 0); -INSERT INTO `zz_paper_exercise` VALUES (1016912281552556032, 1015990120700710912, 0); -INSERT INTO `zz_paper_exercise` VALUES (1016912281552556032, 1017270160155480064, 0); -INSERT INTO `zz_paper_exercise` VALUES (1016912487966838784, 1015990120700710912, 0); -INSERT INTO `zz_paper_exercise` VALUES (1016912607257038848, 1017269757036728320, 0); -INSERT INTO `zz_paper_exercise` VALUES (1016912704875270144, 1017269757036728320, 0); -INSERT INTO `zz_paper_exercise` VALUES (1016912830196879360, 1015990120700710912, 0); -INSERT INTO `zz_paper_exercise` VALUES (1016912830196879360, 1017270160155480064, 0); -INSERT INTO `zz_paper_exercise` VALUES (1016913568750899200, 1017270664545701888, 0); -INSERT INTO `zz_paper_exercise` VALUES (1016913693602746368, 1017270664545701888, 0); -INSERT INTO `zz_paper_exercise` VALUES (1016913693602746368, 1017271619228012544, 0); -INSERT INTO `zz_paper_exercise` VALUES (1016913964491870208, 1017270664545701888, 0); -INSERT INTO `zz_paper_exercise` VALUES (1016913964491870208, 1017271619228012544, 0); -INSERT INTO `zz_paper_exercise` VALUES (1016914319753613312, 1017269757036728320, 0); -INSERT INTO `zz_paper_exercise` VALUES (1016914660146548736, 1017271905157910528, 0); -INSERT INTO `zz_paper_exercise` VALUES (1016914660146548736, 1017272223006461952, 0); -INSERT INTO `zz_paper_exercise` VALUES (1016914759106957312, 1017271905157910528, 0); -INSERT INTO `zz_paper_exercise` VALUES (1016914759106957312, 1017272223006461952, 0); -COMMIT; - --- ---------------------------- --- Table structure for zz_paper_exercise_trans --- ---------------------------- -DROP TABLE IF EXISTS `zz_paper_exercise_trans`; -CREATE TABLE `zz_paper_exercise_trans` ( - `trans_id` bigint NOT NULL COMMENT '主键Id', - `student_id` bigint NOT NULL COMMENT '学生Id', - `student_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '学生姓名', - `school_id` bigint NOT NULL DEFAULT '19' COMMENT '校区', - `paper_id` bigint NOT NULL COMMENT '作业Id', - `exercise_id` bigint NOT NULL COMMENT '习题Id', - `device_type` tinyint NOT NULL COMMENT '设备类型(0: iOS 1: Android 2: PC)', - `correct_flag` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否正确(0: 不正确 1: 正确)', - `used_seconds` int NOT NULL COMMENT '所用秒数', - `commit_time` datetime NOT NULL COMMENT '提交时间', - PRIMARY KEY (`trans_id`) USING BTREE, - KEY `idx_paper_id` (`paper_id`) USING BTREE, - KEY `idx_exercise_id` (`exercise_id`) USING BTREE, - KEY `idx_device_type` (`device_type`) USING BTREE, - KEY `idx_student_id` (`student_id`) USING BTREE, - KEY `idx_commit_time` (`commit_time`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_paper_exercise_trans --- ---------------------------- -BEGIN; -INSERT INTO `zz_paper_exercise_trans` VALUES (1018774132636782592, 1015841864515588096, '张大', 1015817732197453824, 1016901492384993280, 1017271905157910528, 0, b'1', 27, '2020-01-18 01:01:01'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018775307402612736, 1015841864515588096, '张大', 1015817732197453824, 1016901492384993280, 1017271905157910528, 0, b'1', 92, '2020-01-18 01:01:01'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018775330207043584, 1015841864515588096, '张大', 1015817732197453824, 1016901492384993280, 1017271905157910528, 1, b'1', 13, '2020-01-18 01:01:01'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018799192202285056, 1015842628948463616, '张三', 1015817732197453824, 1016901492384993280, 1017271905157910528, 2, b'0', 71, '2020-01-19 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018799361006243840, 1015842628948463616, '张三', 1015817732197453824, 1016912281552556032, 1015990120700710912, 2, b'0', 94, '2020-01-19 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018799384502734848, 1015842628948463616, '张三', 1015817732197453824, 1016912281552556032, 1015990120700710912, 0, b'0', 59, '2020-01-19 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018799403553263616, 1015842628948463616, '张三', 1015817732197453824, 1016912281552556032, 1017270160155480064, 0, b'0', 55, '2020-01-19 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018799423551705088, 1015842628948463616, '张三', 1015817732197453824, 1016912281552556032, 1017270160155480064, 1, b'0', 56, '2020-01-19 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018799438068191232, 1015842628948463616, '张三', 1015817732197453824, 1016912281552556032, 1017270160155480064, 2, b'0', 71, '2020-01-19 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018799446205140992, 1015842628948463616, '张三', 1015817732197453824, 1016912281552556032, 1017270160155480064, 2, b'0', 41, '2020-01-19 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018799489893011456, 1015842628948463616, '张三', 1015817732197453824, 1016912487966838784, 1015990120700710912, 2, b'0', 11, '2020-01-19 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018799513087512576, 1015842628948463616, '张三', 1015817732197453824, 1016912487966838784, 1015990120700710912, 0, b'1', 28, '2020-01-19 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018799532729438208, 1015842628948463616, '张三', 1015817732197453824, 1016912487966838784, 1015990120700710912, 1, b'1', 26, '2020-01-19 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018799631991836672, 1015842628948463616, '张三', 1015818056597508096, 1016912487966838784, 1015990120700710912, 1, b'1', 73, '2020-01-19 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018799651243692032, 1015842628948463616, '张三', 1015818056597508096, 1016912487966838784, 1015990120700710912, 0, b'1', 61, '2020-01-19 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018799666385129472, 1015842628948463616, '张三', 1015818056597508096, 1016912487966838784, 1015990120700710912, 2, b'1', 59, '2020-01-19 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018799730948050944, 1015842628948463616, '张三', 1015818056597508096, 1016912281552556032, 1015990120700710912, 2, b'1', 48, '2020-01-19 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018799740297154560, 1015842628948463616, '张三', 1015818056597508096, 1016912281552556032, 1015990120700710912, 2, b'1', 30, '2020-01-19 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018799755820273664, 1015842628948463616, '张三', 1015818056597508096, 1016912281552556032, 1015990120700710912, 1, b'1', 98, '2020-01-19 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018799769908940800, 1015842628948463616, '张三', 1015818056597508096, 1016912281552556032, 1015990120700710912, 0, b'1', 88, '2020-01-19 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018799791513800704, 1015842628948463616, '张三', 1015818056597508096, 1016912281552556032, 1017270160155480064, 0, b'1', 14, '2020-01-19 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018799807317938176, 1015842628948463616, '张三', 1015818056597508096, 1016912281552556032, 1017270160155480064, 1, b'1', 77, '2020-01-19 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018799826448158720, 1015842628948463616, '张三', 1015818056597508096, 1016912281552556032, 1017270160155480064, 2, b'1', 49, '2020-01-19 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018799886384762880, 1015842628948463616, '张三', 1015818056597508096, 1016553679197310976, 1015990120700710912, 2, b'1', 67, '2020-01-19 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018799912636911616, 1015842628948463616, '张三', 1015818056597508096, 1016553679197310976, 1015990120700710912, 0, b'0', 30, '2020-01-19 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018799927358918656, 1015842628948463616, '张三', 1015818056597508096, 1016553679197310976, 1015990120700710912, 1, b'0', 30, '2020-01-19 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018800031956471808, 1015841864515588096, '张大', 1015817732197453824, 1016553679197310976, 1015990120700710912, 1, b'0', 38, '2020-01-20 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018800049404776448, 1015841864515588096, '张大', 1015817732197453824, 1016553679197310976, 1015990120700710912, 2, b'0', 41, '2020-01-20 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018800063661215744, 1015841864515588096, '张大', 1015817732197453824, 1016553679197310976, 1015990120700710912, 2, b'1', 54, '2020-01-20 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018800077254955008, 1015841864515588096, '张大', 1015817732197453824, 1016553679197310976, 1015990120700710912, 0, b'1', 55, '2020-01-20 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018800121039294464, 1015841864515588096, '张大', 1015817732197453824, 1016912281552556032, 1015990120700710912, 0, b'1', 30, '2020-01-20 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018800135924879360, 1015841864515588096, '张大', 1015817732197453824, 1016912281552556032, 1015990120700710912, 1, b'1', 34, '2020-01-20 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018800153679368192, 1015841864515588096, '张大', 1015817732197453824, 1016912281552556032, 1015990120700710912, 2, b'1', 60, '2020-01-20 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018800163452096512, 1015841864515588096, '张大', 1015817732197453824, 1016912281552556032, 1015990120700710912, 2, b'1', 52, '2020-01-20 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018800183626698752, 1015841864515588096, '张大', 1015817732197453824, 1016912281552556032, 1017270160155480064, 2, b'1', 34, '2020-01-20 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018800198306762752, 1015841864515588096, '张大', 1015817732197453824, 1016912281552556032, 1017270160155480064, 1, b'1', 37, '2020-01-20 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018800214190592000, 1015841864515588096, '张大', 1015817732197453824, 1016912281552556032, 1017270160155480064, 1, b'0', 48, '2020-01-20 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018800230380605440, 1015841864515588096, '张大', 1015817732197453824, 1016912281552556032, 1017270160155480064, 0, b'0', 17, '2020-01-20 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018800242418257920, 1015841864515588096, '张大', 1015817732197453824, 1016912281552556032, 1017270160155480064, 0, b'1', 95, '2020-01-20 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018800281089740800, 1015841864515588096, '张大', 1015817732197453824, 1016553679197310976, 1015990120700710912, 0, b'1', 87, '2020-01-20 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018800296860323840, 1015841864515588096, '张大', 1015817732197453824, 1016553679197310976, 1015990120700710912, 1, b'1', 18, '2020-01-20 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018800311792046080, 1015841864515588096, '张大', 1015817732197453824, 1016553679197310976, 1015990120700710912, 2, b'1', 93, '2020-01-20 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018800324249128960, 1015841864515588096, '张大', 1015817732197453824, 1016553679197310976, 1015990120700710912, 2, b'0', 30, '2020-01-20 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018800372483624960, 1015852480873631744, '李军', 1015818056597508096, 1016553679197310976, 1015990120700710912, 2, b'0', 27, '2020-01-20 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018800390905008128, 1015852480873631744, '李军', 1015818056597508096, 1016553679197310976, 1015990120700710912, 1, b'0', 55, '2020-01-20 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018800404779765760, 1015852480873631744, '李军', 1015818056597508096, 1016553679197310976, 1015990120700710912, 0, b'0', 80, '2020-01-20 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018800418868432896, 1015852480873631744, '李军', 1015818056597508096, 1016553679197310976, 1015990120700710912, 0, b'1', 94, '2020-01-20 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018800465270018048, 1015852480873631744, '李军', 1015818056597508096, 1016912281552556032, 1015990120700710912, 0, b'1', 18, '2020-01-20 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018800481158041600, 1015852480873631744, '李军', 1015818056597508096, 1016912281552556032, 1015990120700710912, 1, b'1', 70, '2020-01-20 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018800493451546624, 1015852480873631744, '李军', 1015818056597508096, 1016912281552556032, 1015990120700710912, 2, b'1', 60, '2020-01-20 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018800505870880768, 1015852480873631744, '李军', 1015818056597508096, 1016912281552556032, 1017270160155480064, 2, b'1', 77, '2020-01-20 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018800519238127616, 1015852480873631744, '李军', 1015818056597508096, 1016912281552556032, 1017270160155480064, 1, b'1', 99, '2020-01-20 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018800533121273856, 1015852480873631744, '李军', 1015818056597508096, 1016912281552556032, 1017270160155480064, 0, b'1', 69, '2020-01-20 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018800594773348352, 1015852480873631744, '李军', 1015818056597508096, 1016912607257038848, 1017269757036728320, 0, b'1', 84, '2020-01-20 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018800611261157376, 1015852480873631744, '李军', 1015818056597508096, 1016912607257038848, 1017269757036728320, 1, b'1', 72, '2020-01-20 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018800631431565312, 1015852480873631744, '李军', 1015818056597508096, 1016912607257038848, 1017269757036728320, 2, b'1', 38, '2020-01-20 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018800637009989632, 1015852480873631744, '李军', 1015818056597508096, 1016912607257038848, 1017269757036728320, 2, b'1', 71, '2020-01-20 00:00:00'); -INSERT INTO `zz_paper_exercise_trans` VALUES (1018800652696686592, 1015852480873631744, '李军', 1015818056597508096, 1016912607257038848, 1017269757036728320, 2, b'0', 64, '2020-01-20 00:00:00'); -COMMIT; - --- ---------------------------- --- Table structure for zz_paper_type --- ---------------------------- -DROP TABLE IF EXISTS `zz_paper_type`; -CREATE TABLE `zz_paper_type` ( - `paper_type_id` int NOT NULL AUTO_INCREMENT COMMENT '作业类型Id', - `paper_type_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '作业类型名称', - PRIMARY KEY (`paper_type_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_paper_type --- ---------------------------- -BEGIN; -INSERT INTO `zz_paper_type` VALUES (1, '课后习题'); -INSERT INTO `zz_paper_type` VALUES (2, '家庭作业'); -COMMIT; - --- ---------------------------- --- Table structure for zz_school_info --- ---------------------------- -DROP TABLE IF EXISTS `zz_school_info`; -CREATE TABLE `zz_school_info` ( - `school_id` bigint NOT NULL COMMENT '学校Id', - `school_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '学校名称', - `province_id` bigint NOT NULL COMMENT '所在省Id', - `province_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '所在省份名称', - `city_id` bigint NOT NULL COMMENT '所在城市Id', - `city_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '所在省份名称', - PRIMARY KEY (`school_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_school_info --- ---------------------------- -BEGIN; -INSERT INTO `zz_school_info` VALUES (1014065909648330752, '公司总部', 110000000000, '北京市', 110100000000, '市辖区'); -INSERT INTO `zz_school_info` VALUES (1015817732197453824, '北京校区', 110000000000, '北京市', 110100000000, '市辖区'); -INSERT INTO `zz_school_info` VALUES (1015818056597508096, '天津校区', 120000000000, '天津市', 120100000000, '市辖区'); -INSERT INTO `zz_school_info` VALUES (1015818992220901376, '浙江校区', 330000000000, '浙江省', 330100000000, '杭州市'); -COMMIT; - --- ---------------------------- --- Table structure for zz_school_stats --- ---------------------------- -DROP TABLE IF EXISTS `zz_school_stats`; -CREATE TABLE `zz_school_stats` ( - `stats_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键Id', - `stats_date` date NOT NULL COMMENT '统计日期', - `stats_month` date NOT NULL COMMENT '统计月份', - `province_id` bigint NOT NULL COMMENT '省份Id', - `city_id` bigint NOT NULL COMMENT '城市Id', - `school_id` bigint NOT NULL COMMENT '学校Id', - `new_class_student_count` int NOT NULL DEFAULT '0' COMMENT '新增学生数量', - `new_class_student_coin_amount` int NOT NULL DEFAULT '0' COMMENT '班级新增学生学币数量', - `new_class_coin_amount` int NOT NULL COMMENT '新增班级学币数量', - `new_class_count` int NOT NULL COMMENT '新增班级数量', - `watch_video_count` int NOT NULL COMMENT '观看视频数量', - `video_coin_amount` int NOT NULL COMMENT '观看视频课程学币数量', - `flower_count` int NOT NULL COMMENT '献花次数', - `flower_coin_amount` int NOT NULL COMMENT '献花学币数量', - `exercise_count` int NOT NULL COMMENT '做题数量', - `exercise_coin_amount` int NOT NULL COMMENT '做题学币数量', - PRIMARY KEY (`stats_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=1019195157115699201 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_school_stats --- ---------------------------- -BEGIN; -INSERT INTO `zz_school_stats` VALUES (1019195157090533376, '2020-01-10', '2020-01-10', 110000000000, 110100000000, 1015817732197453824, 67, 428, 320, 5, 65, 523, 230, 2300, 23, 230); -INSERT INTO `zz_school_stats` VALUES (1019195157090533377, '2020-01-10', '2020-01-10', 120000000000, 120100000000, 1015818056597508096, 82, 992, 630, 7, 76, 631, 483, 4830, 61, 610); -INSERT INTO `zz_school_stats` VALUES (1019195157090533378, '2020-01-10', '2020-01-10', 330000000000, 330100000000, 1015818992220901376, 58, 674, 492, 4, 32, 286, 212, 2120, 36, 360); -INSERT INTO `zz_school_stats` VALUES (1019195157090533379, '2020-01-15', '2020-01-15', 110000000000, 110100000000, 1015817732197453824, 72, 892, 630, 2, 89, 782, 404, 4040, 34, 340); -INSERT INTO `zz_school_stats` VALUES (1019195157090533380, '2020-01-15', '2020-01-15', 120000000000, 120100000000, 1015818056597508096, 67, 587, 428, 3, 45, 385, 317, 3170, 47, 470); -INSERT INTO `zz_school_stats` VALUES (1019195157090533381, '2020-01-15', '2020-01-15', 330000000000, 330100000000, 1015818992220901376, 81, 1023, 678, 2, 103, 987, 682, 6820, 84, 840); -INSERT INTO `zz_school_stats` VALUES (1019195157090533382, '2020-02-10', '2020-02-10', 110000000000, 110100000000, 1015817732197453824, 92, 1023, 673, 3, 98, 1034, 456, 4560, 62, 620); -INSERT INTO `zz_school_stats` VALUES (1019195157090533383, '2020-02-10', '2020-02-10', 120000000000, 120100000000, 1015818056597508096, 136, 1103, 873, 2, 114, 1287, 687, 6870, 89, 890); -INSERT INTO `zz_school_stats` VALUES (1019195157090533384, '2020-02-10', '2020-02-10', 330000000000, 330100000000, 1015818992220901376, 87, 923, 612, 4, 83, 765, 890, 890, 39, 390); -INSERT INTO `zz_school_stats` VALUES (1019195157094727680, '2020-02-19', '2020-02-19', 110000000000, 110100000000, 1015817732197453824, 103, 1203, 782, 3, 124, 1548, 1205, 12050, 114, 1140); -INSERT INTO `zz_school_stats` VALUES (1019195157094727681, '2020-02-19', '2020-02-19', 120000000000, 120100000000, 1015818056597508096, 112, 1017, 528, 0, 143, 1203, 995, 9950, 135, 1350); -INSERT INTO `zz_school_stats` VALUES (1019195157115699200, '2020-02-21', '2020-02-21', 330000000000, 330100000000, 1015818992220901376, 121, 1456, 641, 5, 203, 2230, 2678, 26780, 171, 1710); -COMMIT; - --- ---------------------------- --- Table structure for zz_student --- ---------------------------- -DROP TABLE IF EXISTS `zz_student`; -CREATE TABLE `zz_student` ( - `student_id` bigint NOT NULL COMMENT '学生Id', - `login_mobile` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '登录手机', - `student_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '学生姓名', - `province_id` bigint NOT NULL COMMENT '所在省份Id', - `city_id` bigint NOT NULL COMMENT '所在城市Id', - `district_id` bigint NOT NULL COMMENT '区县Id', - `gender` int NOT NULL COMMENT '学生性别 (0: 女生 1: 男生)', - `birthday` date NOT NULL COMMENT '生日', - `experience_level` tinyint NOT NULL COMMENT '经验等级 (0: 初级 1: 中级 2: 高级 3: 资深)', - `total_coin` int NOT NULL DEFAULT '0' COMMENT '总共充值学币数量', - `left_coin` int NOT NULL COMMENT '可用学币数量', - `grade_id` int NOT NULL COMMENT '年级Id', - `school_id` bigint NOT NULL COMMENT '校区Id', - `register_time` datetime NOT NULL COMMENT '注册时间', - `status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '学生状态 (0: 正常 1: 锁定 2: 注销)', - PRIMARY KEY (`student_id`) USING BTREE, - KEY `idx_login_mobile` (`login_mobile`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_student --- ---------------------------- -BEGIN; -INSERT INTO `zz_student` VALUES (1015842628948463616, '13834561230', '张三', 110000000000, 110100000000, 110105000000, 1, '2010-08-19', 1, 3412, 1077, 4, 1015817732197453824, '2020-10-22 00:00:00', 0); -INSERT INTO `zz_student` VALUES (1015852480873631744, '13945651267', '李军', 110000000000, 110100000000, 110107000000, 1, '2011-11-18', 1, 3178, 3024, 3, 1015817732197453824, '2020-10-22 00:00:00', 0); -INSERT INTO `zz_student` VALUES (1015852853839532032, '13709481736', '王石', 110000000000, 110100000000, 110108000000, 1, '2015-01-15', 0, 3187, 2199, 1, 1015817732197453824, '2020-10-22 00:00:00', 0); -INSERT INTO `zz_student` VALUES (1018000939508568064, '13700023451', '天津二哥', 120000000000, 120100000000, 120103000000, 1, '2010-06-10', 0, 1287, 634, 3, 1015818056597508096, '2020-10-22 00:00:00', 0); -INSERT INTO `zz_student` VALUES (1018001219050541056, '13903122987', '南开学霸', 120000000000, 120100000000, 120104000000, 0, '2009-07-17', 2, 8721, 7023, 4, 1015818056597508096, '2020-10-22 00:00:00', 0); -INSERT INTO `zz_student` VALUES (1023072888777609216, '13920134567', 'aaa', 120000000000, 120100000000, 120103000000, 1, '2020-01-08', 1, 0, 0, 1, 1015818992220901376, '2020-10-22 00:00:00', 0); -COMMIT; - --- ---------------------------- --- Table structure for zz_student_action_stats --- ---------------------------- -DROP TABLE IF EXISTS `zz_student_action_stats`; -CREATE TABLE `zz_student_action_stats` ( - `stats_id` bigint NOT NULL COMMENT '主键Id', - `stats_date` date NOT NULL COMMENT '统计日期', - `stats_month` date DEFAULT NULL COMMENT '统计小时', - `grade_id` int NOT NULL COMMENT '年级Id', - `province_id` bigint NOT NULL COMMENT '学生所在省Id', - `city_id` bigint NOT NULL DEFAULT '0' COMMENT '学生所在城市Id', - `buy_course_amount` int NOT NULL DEFAULT '0' COMMENT '购课学币数量', - `buy_course_count` int NOT NULL DEFAULT '0' COMMENT '购买课程次数', - `buy_video_amount` int NOT NULL DEFAULT '0' COMMENT '购买视频学币数量', - `buy_video_count` int NOT NULL DEFAULT '0' COMMENT '购买视频次数', - `buy_paper_amount` int NOT NULL DEFAULT '0' COMMENT '购买作业学币数量', - `buy_paper_count` int NOT NULL DEFAULT '0' COMMENT '购买作业次数', - `buy_flower_amount` int NOT NULL DEFAULT '0' COMMENT '购买献花数量', - `buy_flower_count` int NOT NULL DEFAULT '0' COMMENT '购买献花次数', - `recharge_coin_amount` int NOT NULL DEFAULT '0' COMMENT '充值学币数量', - `recharge_coin_count` int NOT NULL DEFAULT '0' COMMENT '充值学币次数', - `do_course_count` int NOT NULL COMMENT '线下课程上课次数', - `watch_video_count` int NOT NULL DEFAULT '0' COMMENT '观看视频次数', - `watch_video_total_second` int NOT NULL COMMENT '购买献花消费学币数量', - `do_exercise_count` int NOT NULL DEFAULT '0' COMMENT '做题数量', - `do_exercise_correct_count` int NOT NULL DEFAULT '0' COMMENT '做题正确的数量', - PRIMARY KEY (`stats_id`) USING BTREE, - UNIQUE KEY `uk_stats_date_grade_id_region_id` (`stats_date`,`grade_id`,`province_id`,`city_id`) USING BTREE, - KEY `idx_province_id` (`province_id`) USING BTREE, - KEY `idx_city_id` (`city_id`) USING BTREE, - KEY `idx_grade_id` (`grade_id`) USING BTREE, - KEY `idx_stats_month` (`stats_month`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_student_action_stats --- ---------------------------- -BEGIN; -INSERT INTO `zz_student_action_stats` VALUES (1088816960649297920, '2020-01-10', NULL, 1, 110000000000, 110100000000, 16, 5, 0, 0, 14, 2, 123, 3, 2694, 5, 3, 3, 707, 3, 0); -INSERT INTO `zz_student_action_stats` VALUES (1088816960649297928, '2020-01-10', NULL, 2, 110000000000, 110100000000, 8, 3, 0, 0, 6, 1, 133, 2, 1717, 3, 3, 0, 0, 4, 0); -INSERT INTO `zz_student_action_stats` VALUES (1088816960649297935, '2020-01-10', NULL, 4, 110000000000, 110100000000, 0, 0, 0, 0, 16, 2, 55, 2, 1881, 4, 2, 6, 2987, 2, 0); -INSERT INTO `zz_student_action_stats` VALUES (1088816960653492229, '2020-01-10', NULL, 2, 120000000000, 120100000000, 12, 4, 0, 0, 0, 0, 134, 2, 292, 2, 3, 1, 434, 1, 1); -INSERT INTO `zz_student_action_stats` VALUES (1088816960653492236, '2020-01-10', NULL, 3, 120000000000, 120100000000, 5, 2, 0, 0, 18, 3, 79, 2, 1343, 2, 2, 4, 2266, 5, 5); -INSERT INTO `zz_student_action_stats` VALUES (1088816960653492244, '2020-01-10', NULL, 4, 120000000000, 120100000000, 10, 3, 0, 0, 33, 4, 212, 4, 766, 2, 3, 2, 1480, 4, 4); -INSERT INTO `zz_student_action_stats` VALUES (1088816960821264384, '2020-01-11', NULL, 1, 110000000000, 110100000000, 12, 3, 0, 0, 13, 2, 216, 3, 1119, 2, 3, 2, 511, 2, 2); -INSERT INTO `zz_student_action_stats` VALUES (1088816960825458692, '2020-01-11', NULL, 2, 110000000000, 110100000000, 7, 4, 0, 0, 20, 3, 142, 2, 509, 2, 3, 3, 1699, 3, 3); -INSERT INTO `zz_student_action_stats` VALUES (1088816960825458700, '2020-01-11', NULL, 3, 110000000000, 110100000000, 2, 1, 0, 0, 11, 2, 158, 3, 1571, 2, 3, 0, 0, 3, 3); -INSERT INTO `zz_student_action_stats` VALUES (1088816960825458707, '2020-01-11', NULL, 2, 120000000000, 120100000000, 0, 0, 0, 0, 15, 2, 0, 0, 1741, 3, 2, 3, 1280, 3, 3); -INSERT INTO `zz_student_action_stats` VALUES (1088816960825458713, '2020-01-11', NULL, 3, 120000000000, 120100000000, 3, 2, 0, 0, 0, 0, 176, 3, 1702, 2, 2, 2, 1306, 2, 2); -INSERT INTO `zz_student_action_stats` VALUES (1088816960825458719, '2020-01-11', NULL, 4, 120000000000, 120100000000, 7, 2, 0, 0, 9, 2, 122, 2, 1257, 3, 0, 3, 1210, 2, 2); -COMMIT; - --- ---------------------------- --- Table structure for zz_student_action_trans --- ---------------------------- -DROP TABLE IF EXISTS `zz_student_action_trans`; -CREATE TABLE `zz_student_action_trans` ( - `trans_id` bigint NOT NULL COMMENT '主键Id', - `student_id` bigint NOT NULL COMMENT '学生Id', - `student_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '学生名称', - `school_id` bigint NOT NULL COMMENT '学生校区', - `grade_id` int NOT NULL COMMENT '年级Id', - `action_type` tinyint NOT NULL COMMENT '行为类型(0: 充值 1: 购课 2: 上课签到 3: 上课签退 4: 看视频课 5: 做作业 6: 刷题 7: 献花)', - `device_type` tinyint NOT NULL COMMENT '设备类型(0: iOS 1: Android 2: PC)', - `watch_video_seconds` int DEFAULT NULL COMMENT '看视频秒数', - `flower_count` int DEFAULT NULL COMMENT '购买献花数量', - `paper_count` int DEFAULT NULL COMMENT '购买作业数量', - `video_count` int DEFAULT NULL COMMENT '购买视频数量', - `course_count` int DEFAULT NULL COMMENT '购买课程数量', - `coin_count` int DEFAULT NULL COMMENT '充值学币数量', - `exercise_correct_flag` tinyint DEFAULT NULL COMMENT '做题是否正确标记', - `create_time` datetime NOT NULL COMMENT '发生时间', - PRIMARY KEY (`trans_id`) USING BTREE, - KEY `idx_student_id` (`student_id`) USING BTREE, - KEY `idx_grade_id` (`grade_id`) USING BTREE, - KEY `idx_action_type` (`action_type`) USING BTREE, - KEY `idx_create_time` (`create_time`) USING BTREE, - KEY `idx_device_type` (`device_type`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_student_action_trans --- ---------------------------- -BEGIN; -INSERT INTO `zz_student_action_trans` VALUES (1018423001834328064, 1015841864515588096, '张大', 1015817732197453824, 1, 0, 0, NULL, NULL, NULL, NULL, NULL, 617, NULL, '2020-01-10 11:13:23'); -INSERT INTO `zz_student_action_trans` VALUES (1018803416562667520, 1015841864515588096, '张大', 1015817732197453824, 1, 0, 0, NULL, NULL, NULL, NULL, NULL, 468, NULL, '2020-01-10 11:13:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018803445553696768, 1015841864515588096, '张大', 1015817732197453824, 1, 0, 1, NULL, NULL, NULL, NULL, NULL, 548, NULL, '2020-01-10 11:13:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018803590760501248, 1015841864515588096, '张大', 1015817732197453824, 1, 0, 2, NULL, NULL, NULL, NULL, NULL, 250, NULL, '2020-01-10 11:13:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018803838299934720, 1015841864515588096, '张大', 1015817732197453824, 1, 0, 2, NULL, NULL, NULL, NULL, NULL, 811, NULL, '2020-01-10 11:13:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018803855614021632, 1015841864515588096, '张大', 1015817732197453824, 1, 1, 2, NULL, NULL, NULL, NULL, 5, NULL, NULL, '2020-01-10 11:13:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018803873183961088, 1015841864515588096, '张大', 1015817732197453824, 1, 1, 1, NULL, NULL, NULL, NULL, 4, NULL, NULL, '2020-01-10 11:13:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018803890552573952, 1015841864515588096, '张大', 1015817732197453824, 1, 1, 0, NULL, NULL, NULL, NULL, 4, NULL, NULL, '2020-01-10 11:13:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018803897053745152, 1015841864515588096, '张大', 1015817732197453824, 1, 1, 0, NULL, NULL, NULL, NULL, 2, NULL, NULL, '2020-01-10 11:14:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018803910555209728, 1015841864515588096, '张大', 1015817732197453824, 1, 1, 0, NULL, NULL, NULL, NULL, 1, NULL, NULL, '2020-01-10 11:14:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018803926451621888, 1015841864515588096, '张大', 1015817732197453824, 1, 2, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:14:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018803940418654208, 1015841864515588096, '张大', 1015817732197453824, 1, 2, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:14:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018803955727863808, 1015841864515588096, '张大', 1015817732197453824, 1, 2, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:14:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018803973427826688, 1015841864515588096, '张大', 1015817732197453824, 1, 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:14:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018803982235865088, 1015841864515588096, '张大', 1015817732197453824, 1, 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:14:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018803988154028032, 1015841864515588096, '张大', 1015817732197453824, 1, 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:14:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018804009414955008, 1015841864515588096, '张大', 1015817732197453824, 1, 3, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:14:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018804025521082368, 1015841864515588096, '张大', 1015817732197453824, 1, 4, 1, 342, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:14:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018804040956121088, 1015841864515588096, '张大', 1015817732197453824, 1, 4, 0, 324, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:14:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018804057104191488, 1015841864515588096, '张大', 1015817732197453824, 1, 4, 2, 41, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:14:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018804073457782784, 1015841864515588096, '张大', 1015817732197453824, 1, 5, 2, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2020-01-10 11:15:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018804090696372224, 1015841864515588096, '张大', 1015817732197453824, 1, 5, 1, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2020-01-10 11:15:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018804111659503616, 1015841864515588096, '张大', 1015817732197453824, 1, 5, 0, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2020-01-10 11:15:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018804134585569280, 1015841864515588096, '张大', 1015817732197453824, 1, 9, 0, NULL, 15, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:15:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018804139606151168, 1015841864515588096, '张大', 1015817732197453824, 1, 9, 0, NULL, 60, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:15:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018804156295286784, 1015841864515588096, '张大', 1015817732197453824, 1, 9, 1, NULL, 48, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:15:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018804244874792960, 1015841864515588096, '张大', 1015817732197453824, 1, 10, 1, NULL, NULL, 4, NULL, NULL, NULL, NULL, '2020-01-10 11:15:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018804264130842624, 1015841864515588096, '张大', 1015817732197453824, 1, 10, 0, NULL, NULL, 10, NULL, NULL, NULL, NULL, '2020-01-10 11:15:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018806531059879936, 1015841864515588096, '张大', 1015817732197453824, 2, 0, 0, NULL, NULL, NULL, NULL, NULL, 545, NULL, '2020-01-10 11:15:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018806537225506816, 1015841864515588096, '张大', 1015817732197453824, 2, 0, 0, NULL, NULL, NULL, NULL, NULL, 743, NULL, '2020-01-10 11:15:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018806554631868416, 1015841864515588096, '张大', 1015817732197453824, 2, 0, 1, NULL, NULL, NULL, NULL, NULL, 429, NULL, '2020-01-10 11:15:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018806571031597056, 1015841864515588096, '张大', 1015817732197453824, 2, 1, 1, NULL, NULL, NULL, NULL, 3, NULL, NULL, '2020-01-10 11:15:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018806573841780736, 1015841864515588096, '张大', 1015817732197453824, 2, 1, 1, NULL, NULL, NULL, NULL, 2, NULL, NULL, '2020-01-10 11:16:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018806589612363776, 1015841864515588096, '张大', 1015817732197453824, 2, 1, 2, NULL, NULL, NULL, NULL, 3, NULL, NULL, '2020-01-10 11:16:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018806602698592256, 1015841864515588096, '张大', 1015817732197453824, 2, 2, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:16:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018806617378656256, 1015841864515588096, '张大', 1015817732197453824, 2, 2, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:16:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018806622076276736, 1015841864515588096, '张大', 1015817732197453824, 2, 2, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:16:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018806639230980096, 1015841864515588096, '张大', 1015817732197453824, 2, 3, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:16:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018806643047796736, 1015841864515588096, '张大', 1015817732197453824, 2, 3, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:16:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018806664732348416, 1015841864515588096, '张大', 1015817732197453824, 2, 5, 0, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2020-01-10 11:16:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018806668976984064, 1015841864515588096, '张大', 1015817732197453824, 2, 5, 0, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2020-01-10 11:16:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018806682558140416, 1015841864515588096, '张大', 1015817732197453824, 2, 5, 1, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2020-01-10 11:16:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018806691030634496, 1015841864515588096, '张大', 1015817732197453824, 2, 5, 1, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2020-01-10 11:16:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018806709733036032, 1015841864515588096, '张大', 1015817732197453824, 2, 9, 1, NULL, 49, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:16:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018806725126131712, 1015841864515588096, '张大', 1015817732197453824, 2, 9, 0, NULL, 84, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:17:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018806755786493952, 1015841864515588096, '张大', 1015817732197453824, 2, 10, 0, NULL, NULL, 6, NULL, NULL, NULL, NULL, '2020-01-10 11:17:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018806774576975872, 1015841864515588096, '张大', 1015817732197453824, 4, 10, 0, NULL, NULL, 8, NULL, NULL, NULL, NULL, '2020-01-10 11:17:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018806780532887552, 1015841864515588096, '张大', 1015817732197453824, 4, 10, 0, NULL, NULL, 8, NULL, NULL, NULL, NULL, '2020-01-10 11:17:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018806796135698432, 1015841864515588096, '张大', 1015817732197453824, 4, 9, 0, NULL, 33, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:17:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018806799491141632, 1015841864515588096, '张大', 1015817732197453824, 4, 9, 0, NULL, 22, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:17:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018806813844049920, 1015841864515588096, '张大', 1015817732197453824, 4, 5, 0, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2020-01-10 11:17:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018806817694420992, 1015841864515588096, '张大', 1015817732197453824, 4, 5, 0, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2020-01-10 11:17:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018806836275187712, 1015841864515588096, '张大', 1015817732197453824, 4, 4, 0, 627, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:17:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018806840423354368, 1015841864515588096, '张大', 1015817732197453824, 4, 4, 0, 463, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:17:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018806858966372352, 1015841864515588096, '张大', 1015817732197453824, 4, 4, 1, 104, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:17:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018806862112100352, 1015841864515588096, '张大', 1015817732197453824, 4, 4, 1, 329, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:17:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018806877714911232, 1015841864515588096, '张大', 1015817732197453824, 4, 4, 2, 601, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:18:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018806899365908480, 1015841864515588096, '张大', 1015817732197453824, 4, 4, 2, 863, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:18:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018806913865617408, 1015841864515588096, '张大', 1015817732197453824, 4, 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:18:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018806916679995392, 1015841864515588096, '张大', 1015817732197453824, 4, 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:18:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018806932240863232, 1015841864515588096, '张大', 1015817732197453824, 4, 2, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:18:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018806950439948288, 1015841864515588096, '张大', 1015817732197453824, 4, 2, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:18:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018806964746719232, 1015841864515588096, '张大', 1015817732197453824, 4, 0, 1, NULL, NULL, NULL, NULL, NULL, 618, NULL, '2020-01-10 11:18:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018806967473016832, 1015841864515588096, '张大', 1015817732197453824, 4, 0, 1, NULL, NULL, NULL, NULL, NULL, 25, NULL, '2020-01-10 11:18:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018806982023057408, 1015841864515588096, '张大', 1015817732197453824, 4, 0, 0, NULL, NULL, NULL, NULL, NULL, 523, NULL, '2020-01-10 11:18:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018806984879378432, 1015841864515588096, '张大', 1015817732197453824, 4, 0, 0, NULL, NULL, NULL, NULL, NULL, 715, NULL, '2020-01-10 11:18:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018807041246629888, 1015842628948463616, '张三', 1015818056597508096, 2, 0, 0, NULL, NULL, NULL, NULL, NULL, 269, NULL, '2020-01-10 11:18:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018807044560130048, 1015842628948463616, '张三', 1015818056597508096, 2, 0, 0, NULL, NULL, NULL, NULL, NULL, 23, NULL, '2020-01-10 11:18:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018807060251021312, 1015842628948463616, '张三', 1015818056597508096, 2, 1, 0, NULL, NULL, NULL, NULL, 2, NULL, NULL, '2020-01-10 11:19:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018807064650846208, 1015842628948463616, '张三', 1015818056597508096, 2, 1, 0, NULL, NULL, NULL, NULL, 4, NULL, NULL, '2020-01-10 11:19:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018807069302329344, 1015842628948463616, '张三', 1015818056597508096, 2, 1, 0, NULL, NULL, NULL, NULL, 5, NULL, NULL, '2020-01-10 11:19:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018807073211420672, 1015842628948463616, '张三', 1015818056597508096, 2, 1, 0, NULL, NULL, NULL, NULL, 1, NULL, NULL, '2020-01-10 11:19:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018807086876463104, 1015842628948463616, '张三', 1015818056597508096, 2, 2, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:19:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018807102311501824, 1015842628948463616, '张三', 1015818056597508096, 2, 2, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:19:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018807118379880448, 1015842628948463616, '张三', 1015818056597508096, 2, 2, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:19:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018807134397927424, 1015842628948463616, '张三', 1015818056597508096, 2, 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:19:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018807148918607872, 1015842628948463616, '张三', 1015818056597508096, 2, 3, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:19:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018807151863009280, 1015842628948463616, '张三', 1015818056597508096, 2, 3, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:19:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018807176013811712, 1015842628948463616, '张三', 1015818056597508096, 2, 4, 1, 434, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:19:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018807190026981376, 1015842628948463616, '张三', 1015818056597508096, 2, 5, 1, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-10 11:19:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018807205868867584, 1015842628948463616, '张三', 1015818056597508096, 2, 9, 1, NULL, 100, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:20:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018807221144522752, 1015842628948463616, '张三', 1015818056597508096, 2, 9, 0, NULL, 34, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:20:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018807245962219520, 1015842628948463616, '张三', 1015818056597508096, 3, 9, 0, NULL, 57, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:20:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018807249124724736, 1015842628948463616, '张三', 1015818056597508096, 3, 9, 0, NULL, 22, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:20:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018807263423107072, 1015842628948463616, '张三', 1015818056597508096, 3, 5, 0, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-10 11:20:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018807267189592064, 1015842628948463616, '张三', 1015818056597508096, 3, 5, 0, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-10 11:20:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018807284394627072, 1015842628948463616, '张三', 1015818056597508096, 3, 10, 0, NULL, NULL, 6, NULL, NULL, NULL, NULL, '2020-01-10 11:20:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018807287661989888, 1015842628948463616, '张三', 1015818056597508096, 3, 10, 0, NULL, NULL, 4, NULL, NULL, NULL, NULL, '2020-01-10 11:20:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018807304527286272, 1015842628948463616, '张三', 1015818056597508096, 3, 10, 2, NULL, NULL, 8, NULL, NULL, NULL, NULL, '2020-01-10 11:20:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018807321082204160, 1015842628948463616, '张三', 1015818056597508096, 3, 5, 2, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-10 11:20:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018807323640729600, 1015842628948463616, '张三', 1015818056597508096, 3, 5, 2, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-10 11:20:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018807341474910208, 1015842628948463616, '张三', 1015818056597508096, 3, 5, 1, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-10 11:20:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018807358168240128, 1015842628948463616, '张三', 1015818056597508096, 3, 4, 1, 109, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:21:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018807377902440448, 1015842628948463616, '张三', 1015818056597508096, 3, 4, 0, 923, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:21:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018807396172828672, 1015842628948463616, '张三', 1015818056597508096, 3, 4, 2, 598, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:21:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018807399939313664, 1015842628948463616, '张三', 1015818056597508096, 3, 4, 2, 636, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:21:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018807412731940864, 1015842628948463616, '张三', 1015818056597508096, 3, 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:21:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018807416288710656, 1015842628948463616, '张三', 1015818056597508096, 3, 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:21:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018807429895032832, 1015842628948463616, '张三', 1015818056597508096, 3, 3, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:21:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018807443853676544, 1015842628948463616, '张三', 1015818056597508096, 3, 2, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:21:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018807458953170944, 1015842628948463616, '张三', 1015818056597508096, 3, 2, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:21:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018807471968096256, 1015842628948463616, '张三', 1015818056597508096, 3, 1, 0, NULL, NULL, NULL, NULL, 3, NULL, NULL, '2020-01-10 11:21:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018807475562614784, 1015842628948463616, '张三', 1015818056597508096, 3, 1, 0, NULL, NULL, NULL, NULL, 2, NULL, NULL, '2020-01-10 11:21:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018807497494630400, 1015842628948463616, '张三', 1015818056597508096, 3, 0, 1, NULL, NULL, NULL, NULL, NULL, 546, NULL, '2020-01-10 11:21:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018807510580858880, 1015842628948463616, '张三', 1015818056597508096, 3, 0, 2, NULL, NULL, NULL, NULL, NULL, 797, NULL, '2020-01-10 11:22:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018807530558328832, 1015842628948463616, '张三', 1015818056597508096, 4, 0, 2, NULL, NULL, NULL, NULL, NULL, 668, NULL, '2020-01-10 11:22:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018807544810573824, 1015842628948463616, '张三', 1015818056597508096, 4, 0, 2, NULL, NULL, NULL, NULL, NULL, 98, NULL, '2020-01-10 11:22:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018807559650021376, 1015842628948463616, '张三', 1015818056597508096, 4, 1, 2, NULL, NULL, NULL, NULL, 4, NULL, NULL, '2020-01-10 11:22:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018807565647876096, 1015842628948463616, '张三', 1015818056597508096, 4, 1, 2, NULL, NULL, NULL, NULL, 2, NULL, NULL, '2020-01-10 11:22:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018807581548482560, 1015842628948463616, '张三', 1015818056597508096, 4, 1, 1, NULL, NULL, NULL, NULL, 4, NULL, NULL, '2020-01-10 11:22:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018807596224352256, 1015842628948463616, '张三', 1015818056597508096, 4, 2, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:22:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018807598866763776, 1015842628948463616, '张三', 1015818056597508096, 4, 2, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:22:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018807614889005056, 1015842628948463616, '张三', 1015818056597508096, 4, 2, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:22:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018807628856037376, 1015842628948463616, '张三', 1015818056597508096, 4, 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:22:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018807632249229312, 1015842628948463616, '张三', 1015818056597508096, 4, 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:22:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018807646891544576, 1015842628948463616, '张三', 1015818056597508096, 4, 3, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:22:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018807659432513536, 1015842628948463616, '张三', 1015818056597508096, 4, 4, 0, 931, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:23:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018807675786104832, 1015842628948463616, '张三', 1015818056597508096, 4, 4, 1, 549, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:23:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018807693569953792, 1015842628948463616, '张三', 1015818056597508096, 4, 5, 1, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-10 11:23:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018807696216559616, 1015842628948463616, '张三', 1015818056597508096, 4, 5, 1, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-10 11:23:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018807710099705856, 1015842628948463616, '张三', 1015818056597508096, 4, 5, 2, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-10 11:23:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018807726746898432, 1015842628948463616, '张三', 1015818056597508096, 4, 5, 0, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-10 11:23:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018807743188570112, 1015842628948463616, '张三', 1015818056597508096, 4, 9, 0, NULL, 89, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:23:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018807747508703232, 1015842628948463616, '张三', 1015818056597508096, 4, 9, 0, NULL, 45, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:23:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018807762734026752, 1015842628948463616, '张三', 1015818056597508096, 4, 9, 1, NULL, 26, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:23:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018807779007926272, 1015842628948463616, '张三', 1015818056597508096, 4, 9, 2, NULL, 52, NULL, NULL, NULL, NULL, NULL, '2020-01-10 11:23:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018807795281825792, 1015842628948463616, '张三', 1015818056597508096, 4, 10, 2, NULL, NULL, 9, NULL, NULL, NULL, NULL, '2020-01-10 11:23:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018807814282022912, 1015842628948463616, '张三', 1015818056597508096, 4, 10, 1, NULL, NULL, 9, NULL, NULL, NULL, NULL, '2020-01-10 11:23:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018807818304360448, 1015842628948463616, '张三', 1015818056597508096, 4, 10, 1, NULL, NULL, 10, NULL, NULL, NULL, NULL, '2020-01-10 11:24:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018807839112302592, 1015842628948463616, '张三', 1015818056597508096, 4, 10, 0, NULL, NULL, 5, NULL, NULL, NULL, NULL, '2020-01-10 11:24:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018807937338707968, 1015852480873631744, '李军', 1015817732197453824, 1, 0, 0, NULL, NULL, NULL, NULL, NULL, 868, NULL, '2020-01-11 11:24:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018807958184398848, 1015852480873631744, '李军', 1015817732197453824, 1, 0, 1, NULL, NULL, NULL, NULL, NULL, 251, NULL, '2020-01-11 11:24:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018807973283893248, 1015852480873631744, '李军', 1015817732197453824, 1, 1, 1, NULL, NULL, NULL, NULL, 3, NULL, NULL, '2020-01-11 11:24:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018807976429621248, 1015852480873631744, '李军', 1015817732197453824, 1, 1, 1, NULL, NULL, NULL, NULL, 4, NULL, NULL, '2020-01-11 11:24:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018807990446985216, 1015852480873631744, '李军', 1015817732197453824, 1, 1, 0, NULL, NULL, NULL, NULL, 5, NULL, NULL, '2020-01-11 11:24:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018808007266144256, 1015852480873631744, '李军', 1015817732197453824, 1, 2, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:24:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018808010520924160, 1015852480873631744, '李军', 1015817732197453824, 1, 2, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:24:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018808029248491520, 1015852480873631744, '李军', 1015817732197453824, 1, 2, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:24:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018808046189285376, 1015852480873631744, '李军', 1015817732197453824, 1, 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:24:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018808049536339968, 1015852480873631744, '李军', 1015817732197453824, 1, 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:24:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018808063356571648, 1015852480873631744, '李军', 1015817732197453824, 1, 3, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:25:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018808090606964736, 1015852480873631744, '李军', 1015817732197453824, 1, 4, 0, 331, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:25:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018808105442217984, 1015852480873631744, '李军', 1015817732197453824, 1, 4, 1, 180, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:25:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018808123947487232, 1015852480873631744, '李军', 1015817732197453824, 1, 5, 1, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-11 11:25:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018808139374137344, 1015852480873631744, '李军', 1015817732197453824, 1, 5, 2, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-11 11:25:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018808163239727104, 1015852480873631744, '李军', 1015817732197453824, 1, 9, 2, NULL, 73, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:25:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018808178884481024, 1015852480873631744, '李军', 1015817732197453824, 1, 9, 1, NULL, 85, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:25:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018808202037039104, 1015852480873631744, '李军', 1015817732197453824, 1, 9, 0, NULL, 58, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:25:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018808225227345920, 1015852480873631744, '李军', 1015817732197453824, 1, 10, 0, NULL, NULL, 3, NULL, NULL, NULL, NULL, '2020-01-11 11:25:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018808239072743424, 1015852480873631744, '李军', 1015817732197453824, 1, 10, 1, NULL, NULL, 10, NULL, NULL, NULL, NULL, '2020-01-11 11:25:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018808259285094400, 1015852480873631744, '李军', 1015817732197453824, 2, 10, 1, NULL, NULL, 6, NULL, NULL, NULL, NULL, '2020-01-11 11:25:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018808281019977728, 1015852480873631744, '李军', 1015817732197453824, 2, 10, 0, NULL, NULL, 6, NULL, NULL, NULL, NULL, '2020-01-11 11:25:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018808284450918400, 1015852480873631744, '李军', 1015817732197453824, 2, 10, 0, NULL, NULL, 8, NULL, NULL, NULL, NULL, '2020-01-11 11:26:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018808301647564800, 1015852480873631744, '李军', 1015817732197453824, 2, 9, 0, NULL, 44, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:26:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018808305003008000, 1015852480873631744, '李军', 1015817732197453824, 2, 9, 0, NULL, 98, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:26:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018808319687266304, 1015852480873631744, '李军', 1015817732197453824, 2, 5, 0, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-11 11:26:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018808334279249920, 1015852480873631744, '李军', 1015817732197453824, 2, 5, 1, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-11 11:26:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018808337051684864, 1015852480873631744, '李军', 1015817732197453824, 2, 5, 1, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-11 11:26:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018808352482529280, 1015852480873631744, '李军', 1015817732197453824, 2, 4, 1, 829, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:26:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018808368341192704, 1015852480873631744, '李军', 1015817732197453824, 2, 4, 2, 143, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:26:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018808371201708032, 1015852480873631744, '李军', 1015817732197453824, 2, 4, 2, 727, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:26:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018808386959708160, 1015852480873631744, '李军', 1015817732197453824, 2, 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:26:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018808389941858304, 1015852480873631744, '李军', 1015817732197453824, 2, 3, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:26:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018808403061641216, 1015852480873631744, '李军', 1015817732197453824, 2, 3, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:26:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018808417364217856, 1015852480873631744, '李军', 1015817732197453824, 2, 3, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:27:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018808431247364096, 1015852480873631744, '李军', 1015817732197453824, 2, 2, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:27:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018808434900602880, 1015852480873631744, '李军', 1015817732197453824, 2, 2, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:27:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018808450344030208, 1015852480873631744, '李军', 1015817732197453824, 2, 2, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:27:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018808468366954496, 1015852480873631744, '李军', 1015817732197453824, 2, 1, 0, NULL, NULL, NULL, NULL, 1, NULL, NULL, '2020-01-11 11:27:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018808471776923648, 1015852480873631744, '李军', 1015817732197453824, 2, 1, 0, NULL, NULL, NULL, NULL, 1, NULL, NULL, '2020-01-11 11:27:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018808486574428160, 1015852480873631744, '李军', 1015817732197453824, 2, 1, 1, NULL, NULL, NULL, NULL, 4, NULL, NULL, '2020-01-11 11:27:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018808489720156160, 1015852480873631744, '李军', 1015817732197453824, 2, 1, 1, NULL, NULL, NULL, NULL, 1, NULL, NULL, '2020-01-11 11:27:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018808519092867072, 1015852480873631744, '李军', 1015817732197453824, 2, 0, 1, NULL, NULL, NULL, NULL, NULL, 23, NULL, '2020-01-11 11:27:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018808533722599424, 1015852480873631744, '李军', 1015817732197453824, 2, 0, 0, NULL, NULL, NULL, NULL, NULL, 486, NULL, '2020-01-11 11:27:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018808549908418560, 1015852480873631744, '李军', 1015817732197453824, 3, 0, 0, NULL, NULL, NULL, NULL, NULL, 937, NULL, '2020-01-11 11:27:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018808553595211776, 1015852480873631744, '李军', 1015817732197453824, 3, 0, 0, NULL, NULL, NULL, NULL, NULL, 634, NULL, '2020-01-11 11:27:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018808567696461824, 1015852480873631744, '李军', 1015817732197453824, 3, 1, 0, NULL, NULL, NULL, NULL, 2, NULL, NULL, '2020-01-11 11:28:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018808589381013504, 1015852480873631744, '李军', 1015817732197453824, 3, 2, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:28:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018808603381600256, 1015852480873631744, '李军', 1015817732197453824, 3, 2, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:28:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018808627708563456, 1015852853839532032, '王石', 1015817732197453824, 3, 2, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:28:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018808643911159808, 1015852853839532032, '王石', 1015817732197453824, 3, 3, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:28:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018808647878971392, 1015852853839532032, '王石', 1015817732197453824, 3, 3, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:28:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018808662647115776, 1015852853839532032, '王石', 1015817732197453824, 3, 3, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:28:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018808676190523392, 1015852853839532032, '王石', 1015817732197453824, 3, 5, 0, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-11 11:28:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018808679671795712, 1015852853839532032, '王石', 1015817732197453824, 3, 5, 0, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-11 11:28:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018808713146535936, 1015841864515588096, '张大', 1015817732197453824, 3, 5, 2, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-11 11:28:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018808727696576512, 1015841864515588096, '张大', 1015817732197453824, 3, 9, 2, NULL, 93, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:28:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018808730968133632, 1015841864515588096, '张大', 1015817732197453824, 3, 9, 2, NULL, 39, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:28:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018808745056800768, 1015841864515588096, '张大', 1015817732197453824, 3, 9, 0, NULL, 26, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:29:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018808762224087040, 1015841864515588096, '张大', 1015817732197453824, 3, 10, 0, NULL, NULL, 4, NULL, NULL, NULL, NULL, '2020-01-11 11:29:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018808766552608768, 1015841864515588096, '张大', 1015817732197453824, 3, 10, 0, NULL, NULL, 7, NULL, NULL, NULL, NULL, '2020-01-11 11:29:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018808834777157632, 1015841864515588096, '张大', 1015818056597508096, 2, 10, 0, NULL, NULL, 8, NULL, NULL, NULL, NULL, '2020-01-11 11:29:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018808837880942592, 1015841864515588096, '张大', 1015818056597508096, 2, 10, 0, NULL, NULL, 7, NULL, NULL, NULL, NULL, '2020-01-11 11:29:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018808852263211008, 1015841864515588096, '张大', 1015818056597508096, 2, 5, 0, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-11 11:29:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018808870055448576, 1015841864515588096, '张大', 1015818056597508096, 2, 5, 1, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-11 11:29:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018808872664305664, 1015841864515588096, '张大', 1015818056597508096, 2, 5, 1, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-11 11:29:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018808889886117888, 1015841864515588096, '张大', 1015818056597508096, 2, 3, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:29:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018808905585397760, 1015841864515588096, '张大', 1015818056597508096, 2, 4, 1, 756, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:29:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018808924665286656, 1015841864515588096, '张大', 1015818056597508096, 2, 4, 2, 35, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:29:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018808927844569088, 1015841864515588096, '张大', 1015818056597508096, 2, 4, 2, 489, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:29:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018808941014683648, 1015841864515588096, '张大', 1015818056597508096, 2, 2, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:30:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018808944089108480, 1015841864515588096, '张大', 1015818056597508096, 2, 2, 2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:30:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018808963789754368, 1015841864515588096, '张大', 1015818056597508096, 2, 0, 2, NULL, NULL, NULL, NULL, NULL, 342, NULL, '2020-01-11 11:30:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018808967061311488, 1015841864515588096, '张大', 1015818056597508096, 2, 0, 2, NULL, NULL, NULL, NULL, NULL, 894, NULL, '2020-01-11 11:30:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018808971549216768, 1015841864515588096, '张大', 1015818056597508096, 2, 0, 2, NULL, NULL, NULL, NULL, NULL, 505, NULL, '2020-01-11 11:30:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018809014373060608, 1015841864515588096, '张大', 1015818056597508096, 3, 0, 2, NULL, NULL, NULL, NULL, NULL, 870, NULL, '2020-01-11 11:30:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018809017279713280, 1015841864515588096, '张大', 1015818056597508096, 3, 0, 2, NULL, NULL, NULL, NULL, NULL, 832, NULL, '2020-01-11 11:30:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018809030013620224, 1015841864515588096, '张大', 1015818056597508096, 3, 1, 2, NULL, NULL, NULL, NULL, 1, NULL, NULL, '2020-01-11 11:30:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018809043577999360, 1015841864515588096, '张大', 1015818056597508096, 3, 1, 0, NULL, NULL, NULL, NULL, 2, NULL, NULL, '2020-01-11 11:30:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018809058333560832, 1015841864515588096, '张大', 1015818056597508096, 3, 2, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:30:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018809068521525248, 1015841864515588096, '张大', 1015818056597508096, 3, 2, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:30:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018809083839123456, 1015841864515588096, '张大', 1015818056597508096, 3, 4, 0, 484, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:30:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018809101107073024, 1015841864515588096, '张大', 1015818056597508096, 3, 4, 1, 822, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:31:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018809116709883904, 1015841864515588096, '张大', 1015818056597508096, 3, 5, 1, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-11 11:31:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018809119352295424, 1015841864515588096, '张大', 1015818056597508096, 3, 5, 1, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-11 11:31:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018809140072157184, 1015841864515588096, '张大', 1015818056597508096, 3, 9, 1, NULL, 92, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:31:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018809153410043904, 1015841864515588096, '张大', 1015818056597508096, 3, 9, 0, NULL, 23, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:31:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018809156404776960, 1015841864515588096, '张大', 1015818056597508096, 3, 9, 0, NULL, 61, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:31:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018809187635564544, 1015841864515588096, '张大', 1015818056597508096, 4, 9, 0, NULL, 26, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:31:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018809205096452096, 1015841864515588096, '张大', 1015818056597508096, 4, 9, 1, NULL, 96, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:31:35'); -INSERT INTO `zz_student_action_trans` VALUES (1018809219889762304, 1015841864515588096, '张大', 1015818056597508096, 4, 5, 1, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-11 11:31:40'); -INSERT INTO `zz_student_action_trans` VALUES (1018809223115182080, 1015841864515588096, '张大', 1015818056597508096, 4, 5, 1, NULL, NULL, NULL, NULL, NULL, NULL, 1, '2020-01-11 11:31:45'); -INSERT INTO `zz_student_action_trans` VALUES (1018809241318461440, 1015841864515588096, '张大', 1015818056597508096, 4, 10, 1, NULL, NULL, 4, NULL, NULL, NULL, NULL, '2020-01-11 11:31:50'); -INSERT INTO `zz_student_action_trans` VALUES (1018809244799733760, 1015841864515588096, '张大', 1015818056597508096, 4, 10, 1, NULL, NULL, 5, NULL, NULL, NULL, NULL, '2020-01-11 11:31:55'); -INSERT INTO `zz_student_action_trans` VALUES (1018809259483992064, 1015841864515588096, '张大', 1015818056597508096, 4, 4, 1, 244, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:32:00'); -INSERT INTO `zz_student_action_trans` VALUES (1018809272926736384, 1015841864515588096, '张大', 1015818056597508096, 4, 4, 0, 736, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:32:05'); -INSERT INTO `zz_student_action_trans` VALUES (1018809275388792832, 1015841864515588096, '张大', 1015818056597508096, 4, 4, 0, 230, NULL, NULL, NULL, NULL, NULL, NULL, '2020-01-11 11:32:10'); -INSERT INTO `zz_student_action_trans` VALUES (1018809289016086528, 1015841864515588096, '张大', 1015818056597508096, 4, 1, 0, NULL, NULL, NULL, NULL, 3, NULL, NULL, '2020-01-11 11:32:15'); -INSERT INTO `zz_student_action_trans` VALUES (1018809291985653760, 1015841864515588096, '张大', 1015818056597508096, 4, 1, 0, NULL, NULL, NULL, NULL, 4, NULL, NULL, '2020-01-11 11:32:20'); -INSERT INTO `zz_student_action_trans` VALUES (1018809313879920640, 1015841864515588096, '张大', 1015818056597508096, 4, 0, 0, NULL, NULL, NULL, NULL, NULL, 441, NULL, '2020-01-11 11:32:25'); -INSERT INTO `zz_student_action_trans` VALUES (1018809333760921600, 1015841864515588096, '张大', 1015818056597508096, 4, 0, 1, NULL, NULL, NULL, NULL, NULL, 202, NULL, '2020-01-11 11:32:30'); -INSERT INTO `zz_student_action_trans` VALUES (1018809347316912128, 1015841864515588096, '张大', 1015818056597508096, 4, 0, 2, NULL, NULL, NULL, NULL, NULL, 614, NULL, '2020-01-11 11:32:35'); -COMMIT; - --- ---------------------------- --- Table structure for zz_student_coin_trans --- ---------------------------- -DROP TABLE IF EXISTS `zz_student_coin_trans`; -CREATE TABLE `zz_student_coin_trans` ( - `trans_id` bigint NOT NULL COMMENT '主键Id', - `student_id` bigint NOT NULL COMMENT '学生Id', - `student_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '学生名称', - `school_id` bigint NOT NULL COMMENT '学生校区', - `grade_id` int NOT NULL COMMENT '年级Id', - `action_type` tinyint NOT NULL COMMENT '充值类型(0: 购买 1: 赠与 2: 奖励 3: 购课 4: 购买视频课程 5: 购买作业 6: 献花)', - `device_type` tinyint NOT NULL COMMENT '设备类型(0: iOS 1: Android 2: PC)', - `coin_count` int NOT NULL COMMENT '学币数量', - `course_id` bigint DEFAULT NULL COMMENT '线下课程Id', - `video_course_id` bigint DEFAULT NULL COMMENT '视频课程Id', - `teacher_id` bigint DEFAULT NULL COMMENT '老师Id', - `paper_id` bigint DEFAULT NULL COMMENT '作业Id', - `create_time` datetime NOT NULL COMMENT '发生时间', - PRIMARY KEY (`trans_id`) USING BTREE, - KEY `idx_student_id` (`student_id`) USING BTREE, - KEY `idx_device_type` (`device_type`) USING BTREE, - KEY `idx_action_type` (`action_type`) USING BTREE, - KEY `idx_create_time` (`create_time`) USING BTREE, - KEY `idx_grade_id` (`grade_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_student_coin_trans --- ---------------------------- -BEGIN; -INSERT INTO `zz_student_coin_trans` VALUES (1018424239971897344, 1015852853839532032, '王石', 1015817732197453824, 2, 5, 1, 398, 1016917385529790464, 1016958701789777920, 1015836481935904768, 1016553679197310976, '2020-01-10 13:23:49'); -INSERT INTO `zz_student_coin_trans` VALUES (1018810907484753920, 1015842628948463616, '张三', 1015817732197453824, 2, 2, 0, 218, NULL, NULL, NULL, NULL, '2020-01-10 14:01:01'); -INSERT INTO `zz_student_coin_trans` VALUES (1018810948500852736, 1015842628948463616, '张三', 1015817732197453824, 2, 2, 1, 459, NULL, NULL, NULL, NULL, '2020-01-10 14:01:06'); -INSERT INTO `zz_student_coin_trans` VALUES (1018810965949157376, 1015842628948463616, '张三', 1015817732197453824, 2, 1, 1, 853, NULL, NULL, NULL, NULL, '2020-01-10 14:01:11'); -INSERT INTO `zz_student_coin_trans` VALUES (1018810970982322176, 1015842628948463616, '张三', 1015817732197453824, 2, 1, 1, 217, NULL, NULL, NULL, NULL, '2020-01-10 14:01:16'); -INSERT INTO `zz_student_coin_trans` VALUES (1018810987801481216, 1015842628948463616, '张三', 1015817732197453824, 2, 0, 1, 341, NULL, NULL, NULL, NULL, '2020-01-10 14:01:21'); -INSERT INTO `zz_student_coin_trans` VALUES (1018810991660240896, 1015842628948463616, '张三', 1015817732197453824, 2, 0, 1, 941, NULL, NULL, NULL, NULL, '2020-01-10 14:01:26'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811019980181504, 1015842628948463616, '张三', 1015817732197453824, 2, 3, 1, 250, 1016917900699373568, NULL, NULL, NULL, '2020-01-10 14:01:31'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811026724622336, 1015842628948463616, '张三', 1015817732197453824, 2, 3, 1, 523, 1016917900699373568, NULL, NULL, NULL, '2020-01-10 14:01:36'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811057049440256, 1015842628948463616, '张三', 1015817732197453824, 2, 4, 1, 147, NULL, 1016959410283220992, NULL, NULL, '2020-01-10 14:01:41'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811063340896256, 1015842628948463616, '张三', 1015817732197453824, 2, 4, 1, 585, NULL, 1016959410283220992, NULL, NULL, '2020-01-10 14:01:46'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811104789008384, 1015842628948463616, '张三', 1015817732197453824, 2, 5, 1, 157, NULL, NULL, NULL, 1016902468986736640, '2020-01-10 14:01:51'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811113093730304, 1015842628948463616, '张三', 1015817732197453824, 2, 5, 1, 239, NULL, NULL, NULL, 1016902468986736640, '2020-01-10 14:01:56'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811263581163520, 1015842628948463616, '张三', 1015817732197453824, 2, 5, 1, 543, NULL, NULL, NULL, 1016902468986736640, '2020-01-10 14:02:01'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811313325608960, 1015842628948463616, '张三', 1015817732197453824, 3, 0, 1, 496, NULL, NULL, NULL, NULL, '2020-01-10 14:02:06'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811328634818560, 1015842628948463616, '张三', 1015817732197453824, 3, 0, 0, 230, NULL, NULL, NULL, NULL, '2020-01-10 14:02:11'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811331986067456, 1015842628948463616, '张三', 1015817732197453824, 3, 0, 0, 419, NULL, NULL, NULL, NULL, '2020-01-10 14:02:16'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811348893306880, 1015842628948463616, '张三', 1015817732197453824, 3, 1, 0, 624, NULL, NULL, NULL, NULL, '2020-01-10 14:02:21'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811351607021568, 1015842628948463616, '张三', 1015817732197453824, 3, 1, 0, 106, NULL, NULL, NULL, NULL, '2020-01-10 14:02:26'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811368090636288, 1015842628948463616, '张三', 1015817732197453824, 3, 1, 2, 425, NULL, NULL, NULL, NULL, '2020-01-10 14:02:31'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811383534063616, 1015842628948463616, '张三', 1015817732197453824, 3, 2, 2, 23, NULL, NULL, NULL, NULL, '2020-01-10 14:02:36'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811386931449856, 1015842628948463616, '张三', 1015817732197453824, 3, 2, 2, 354, NULL, NULL, NULL, NULL, '2020-01-10 14:02:41'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811400944619520, 1015842628948463616, '张三', 1015817732197453824, 3, 6, 2, 874, NULL, NULL, NULL, NULL, '2020-01-10 14:02:46'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811404258119680, 1015842628948463616, '张三', 1015817732197453824, 3, 6, 2, 895, NULL, NULL, NULL, NULL, '2020-01-10 14:02:51'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811417465982976, 1015842628948463616, '张三', 1015817732197453824, 3, 6, 0, 637, NULL, NULL, NULL, NULL, '2020-01-10 14:02:56'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811450013782016, 1015842628948463616, '张三', 1015817732197453824, 3, 3, 0, 410, 1016918360520921088, NULL, NULL, NULL, '2020-01-10 14:03:01'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811455005003776, 1015842628948463616, '张三', 1015817732197453824, 3, 3, 0, 284, 1016918360520921088, NULL, NULL, NULL, '2020-01-10 14:03:06'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811471199211520, 1015842628948463616, '张三', 1015817732197453824, 3, 3, 0, 859, 1016918605715738624, NULL, NULL, NULL, '2020-01-10 14:03:11'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811508729843712, 1015842628948463616, '张三', 1015817732197453824, 3, 4, 0, 739, NULL, 1016959302460248064, NULL, NULL, '2020-01-10 14:03:16'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811524370403328, 1015842628948463616, '张三', 1015817732197453824, 3, 4, 0, 553, NULL, 1016959410283220992, NULL, NULL, '2020-01-10 14:03:21'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811554909130752, 1015842628948463616, '张三', 1015817732197453824, 3, 5, 0, 314, NULL, NULL, NULL, 1016912281552556032, '2020-01-10 14:03:26'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811568502870016, 1015842628948463616, '张三', 1015817732197453824, 3, 5, 0, 613, NULL, NULL, NULL, 1016902468986736640, '2020-01-10 14:03:31'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811614002679808, 1015842628948463616, '张三', 1015817732197453824, 4, 0, 0, 321, NULL, NULL, NULL, NULL, '2020-01-10 14:03:36'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811629437718528, 1015842628948463616, '张三', 1015817732197453824, 4, 0, 1, 846, NULL, NULL, NULL, NULL, '2020-01-10 14:03:41'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811646051356672, 1015842628948463616, '张三', 1015817732197453824, 4, 1, 1, 47, NULL, NULL, NULL, NULL, '2020-01-10 14:03:46'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811649910116352, 1015842628948463616, '张三', 1015817732197453824, 4, 1, 1, 185, NULL, NULL, NULL, NULL, '2020-01-10 14:03:51'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811663080230912, 1015842628948463616, '张三', 1015817732197453824, 4, 2, 1, 944, NULL, NULL, NULL, NULL, '2020-01-10 14:03:56'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811666351788032, 1015842628948463616, '张三', 1015817732197453824, 4, 2, 1, 241, NULL, NULL, NULL, NULL, '2020-01-10 14:04:01'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811680230739968, 1015842628948463616, '张三', 1015817732197453824, 4, 6, 1, 700, NULL, NULL, NULL, NULL, '2020-01-10 14:04:06'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811696626274304, 1015842628948463616, '张三', 1015817732197453824, 4, 6, 2, 270, NULL, NULL, NULL, NULL, '2020-01-10 14:04:11'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811700690554880, 1015842628948463616, '张三', 1015817732197453824, 4, 6, 2, 696, NULL, NULL, NULL, NULL, '2020-01-10 14:04:16'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811725906710528, 1015842628948463616, '张三', 1015817732197453824, 4, 3, 2, 406, 1016917732260319232, NULL, NULL, NULL, '2020-01-10 14:04:21'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811740460945408, 1015842628948463616, '张三', 1015817732197453824, 4, 3, 2, 779, 1016918836729614336, NULL, NULL, NULL, '2020-01-10 14:04:26'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811771079364608, 1015842628948463616, '张三', 1015817732197453824, 4, 4, 2, 195, NULL, 1016959302460248064, NULL, NULL, '2020-01-10 14:04:31'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811774141206528, 1015842628948463616, '张三', 1015817732197453824, 4, 4, 2, 920, NULL, 1016959302460248064, NULL, NULL, '2020-01-10 14:04:36'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811795033034752, 1015842628948463616, '张三', 1015817732197453824, 4, 4, 2, 546, NULL, 1016959410283220992, NULL, NULL, '2020-01-10 14:04:41'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811822589612032, 1015842628948463616, '张三', 1015817732197453824, 4, 5, 2, 943, NULL, NULL, NULL, 1016912281552556032, '2020-01-10 14:04:46'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811837810741248, 1015842628948463616, '张三', 1015817732197453824, 4, 5, 2, 126, NULL, NULL, NULL, 1016901650829021184, '2020-01-10 14:04:51'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811894383513600, 1015852480873631744, '李军', 1015818056597508096, 2, 0, 2, 942, NULL, NULL, NULL, 1016901650829021184, '2020-01-10 14:04:56'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811899383123968, 1015852480873631744, '李军', 1015818056597508096, 2, 0, 2, 666, NULL, NULL, NULL, 1016901650829021184, '2020-01-10 14:05:01'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811915782852608, 1015852480873631744, '李军', 1015818056597508096, 2, 0, 2, 803, NULL, NULL, NULL, NULL, '2020-01-10 14:05:06'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811938713112576, 1015852480873631744, '李军', 1015818056597508096, 2, 0, 0, 918, NULL, NULL, NULL, NULL, '2020-01-10 14:05:11'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811952105525248, 1015852480873631744, '李军', 1015818056597508096, 2, 1, 0, 962, NULL, NULL, NULL, NULL, '2020-01-10 14:05:16'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811955624546304, 1015852480873631744, '李军', 1015818056597508096, 2, 1, 0, 613, NULL, NULL, NULL, NULL, '2020-01-10 14:05:21'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811971344797696, 1015852480873631744, '李军', 1015818056597508096, 2, 2, 0, 49, NULL, NULL, NULL, NULL, '2020-01-10 14:05:26'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811974746378240, 1015852480873631744, '李军', 1015818056597508096, 2, 2, 0, 43, NULL, NULL, NULL, NULL, '2020-01-10 14:05:31'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811988293980160, 1015852480873631744, '李军', 1015818056597508096, 2, 6, 0, 616, NULL, NULL, NULL, NULL, '2020-01-10 14:05:36'); -INSERT INTO `zz_student_coin_trans` VALUES (1018811991691366400, 1015852480873631744, '李军', 1015818056597508096, 2, 6, 0, 162, NULL, NULL, NULL, NULL, '2020-01-10 14:05:41'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812005406740480, 1015852480873631744, '李军', 1015818056597508096, 2, 6, 1, 846, NULL, NULL, NULL, NULL, '2020-01-10 14:05:46'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812030274768896, 1015852480873631744, '李军', 1015818056597508096, 2, 3, 1, 755, 1016920152549888000, NULL, NULL, NULL, '2020-01-10 14:05:51'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812045709807616, 1015852480873631744, '李军', 1015818056597508096, 2, 3, 1, 655, 1016918836729614336, NULL, NULL, NULL, '2020-01-10 14:05:56'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812078811254784, 1015852480873631744, '李军', 1015818056597508096, 2, 4, 1, 811, NULL, 1016959021731287040, NULL, NULL, '2020-01-10 14:06:01'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812093063499776, 1015852480873631744, '李军', 1015818056597508096, 2, 4, 1, 763, NULL, 1016959302460248064, NULL, NULL, '2020-01-10 14:06:06'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812117814087680, 1015852480873631744, '李军', 1015818056597508096, 2, 4, 0, 984, NULL, 1016959113108393984, NULL, NULL, '2020-01-10 14:06:11'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812152710696960, 1015852480873631744, '李军', 1015818056597508096, 2, 5, 0, 805, NULL, NULL, NULL, 1016901492384993280, '2020-01-10 14:06:16'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812182574141440, 1015852480873631744, '李军', 1015818056597508096, 2, 5, 0, 889, NULL, NULL, NULL, 1016553679197310976, '2020-01-10 14:06:21'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812224181637120, 1015852480873631744, '李军', 1015818056597508096, 3, 0, 0, 903, NULL, NULL, NULL, NULL, '2020-01-10 14:06:26'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812236974264320, 1015852480873631744, '李军', 1015818056597508096, 3, 0, 1, 965, NULL, NULL, NULL, NULL, '2020-01-10 14:06:31'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812250643501056, 1015852480873631744, '李军', 1015818056597508096, 3, 0, 2, 344, NULL, NULL, NULL, NULL, '2020-01-10 14:06:36'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812263570345984, 1015852480873631744, '李军', 1015818056597508096, 3, 1, 2, 97, NULL, NULL, NULL, NULL, '2020-01-10 14:06:41'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812267127115776, 1015852480873631744, '李军', 1015818056597508096, 3, 1, 2, 675, NULL, NULL, NULL, NULL, '2020-01-10 14:06:46'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812281517772800, 1015852480873631744, '李军', 1015818056597508096, 3, 1, 0, 578, NULL, NULL, NULL, NULL, '2020-01-10 14:06:51'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812296147505152, 1015852480873631744, '李军', 1015818056597508096, 3, 2, 0, 21, NULL, NULL, NULL, NULL, '2020-01-10 14:06:56'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812312920526848, 1015852480873631744, '李军', 1015818056597508096, 3, 2, 1, 979, NULL, NULL, NULL, NULL, '2020-01-10 14:07:01'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812326447157248, 1015852480873631744, '李军', 1015818056597508096, 3, 6, 1, 983, NULL, NULL, NULL, NULL, '2020-01-10 14:07:06'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812342792359936, 1015852480873631744, '李军', 1015818056597508096, 3, 6, 0, 968, NULL, NULL, NULL, NULL, '2020-01-10 14:07:11'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812346399461376, 1015852480873631744, '李军', 1015818056597508096, 3, 6, 0, 198, NULL, NULL, NULL, NULL, '2020-01-10 14:07:16'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812381841330176, 1015852480873631744, '李军', 1015818056597508096, 3, 3, 0, 262, 1016917732260319232, NULL, NULL, NULL, '2020-01-10 14:07:21'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812404536709120, 1015852480873631744, '李军', 1015818056597508096, 3, 3, 0, 796, 1016917732260319232, NULL, 1015836821309624320, NULL, '2020-01-10 14:07:26'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812484983459840, 1015852480873631744, '李军', 1015818056597508096, 3, 4, 0, 658, NULL, 1016959302460248064, 1015836821309624320, NULL, '2020-01-10 14:07:31'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812499244093440, 1015852480873631744, '李军', 1015818056597508096, 3, 4, 1, 966, NULL, 1016959302460248064, 1015836821309624320, NULL, '2020-01-10 14:07:36'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812512451956736, 1015852480873631744, '李军', 1015818056597508096, 3, 4, 1, 364, NULL, 1016959113108393984, 1015836821309624320, NULL, '2020-01-10 14:07:41'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812546090274816, 1015852480873631744, '李军', 1015818056597508096, 3, 5, 1, 225, NULL, NULL, 1015836821309624320, 1016912281552556032, '2020-01-10 14:07:46'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812587525804032, 1015852480873631744, '李军', 1015818056597508096, 4, 0, 1, 359, NULL, NULL, NULL, NULL, '2020-01-10 14:07:51'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812607410999296, 1015852480873631744, '李军', 1015818056597508096, 4, 0, 0, 307, NULL, NULL, NULL, NULL, '2020-01-10 14:07:56'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812622590185472, 1015852480873631744, '李军', 1015818056597508096, 4, 2, 0, 841, NULL, NULL, NULL, NULL, '2020-01-10 14:08:01'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812636687241216, 1015852480873631744, '李军', 1015818056597508096, 4, 6, 0, 928, NULL, NULL, NULL, NULL, '2020-01-10 14:08:06'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812686230360064, 1015852480873631744, '李军', 1015818056597508096, 4, 3, 0, 157, 1016918605715738624, NULL, NULL, NULL, '2020-01-10 14:08:11'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812725434519552, 1015852480873631744, '李军', 1015818056597508096, 4, 4, 0, 672, NULL, 1016959410283220992, NULL, NULL, '2020-01-10 14:08:16'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812753498607616, 1015852480873631744, '李军', 1015818056597508096, 4, 5, 0, 768, NULL, NULL, NULL, 1016902468986736640, '2020-01-10 14:08:21'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812796943208448, 1015852480873631744, '李军', 1015818056597508096, 4, 5, 1, 363, NULL, NULL, NULL, 1016901650829021184, '2020-01-10 14:08:26'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812911074414592, 1015852480873631744, '李军', 1015817732197453824, 1, 0, 1, 119, NULL, NULL, NULL, NULL, '2020-01-11 14:08:31'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812935099387904, 1015852480873631744, '李军', 1015817732197453824, 1, 0, 0, 785, NULL, NULL, NULL, NULL, '2020-01-11 14:08:36'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812955320127488, 1015852480873631744, '李军', 1015817732197453824, 1, 1, 0, 24, NULL, NULL, NULL, NULL, '2020-01-11 14:08:41'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812959178887168, 1015852480873631744, '李军', 1015817732197453824, 1, 1, 0, 542, NULL, NULL, NULL, NULL, '2020-01-11 14:08:46'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812975998046208, 1015852480873631744, '李军', 1015817732197453824, 1, 6, 0, 965, NULL, NULL, NULL, NULL, '2020-01-11 14:08:51'); -INSERT INTO `zz_student_coin_trans` VALUES (1018812990023798784, 1015852480873631744, '李军', 1015817732197453824, 1, 6, 1, 21, NULL, NULL, NULL, NULL, '2020-01-11 14:08:56'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813017727176704, 1015852480873631744, '李军', 1015817732197453824, 1, 3, 1, 717, 1016917385529790464, NULL, NULL, NULL, '2020-01-11 14:09:01'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813043647975424, 1015852480873631744, '李军', 1015817732197453824, 1, 4, 1, 114, NULL, 1016958701789777920, NULL, NULL, '2020-01-11 14:09:06'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813059288535040, 1015852480873631744, '李军', 1015817732197453824, 1, 4, 1, 804, NULL, 1016958789157130240, NULL, NULL, '2020-01-11 14:09:11'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813091081359360, 1015852480873631744, '李军', 1015817732197453824, 1, 5, 1, 235, NULL, NULL, NULL, 1016221639738396672, '2020-01-11 14:09:16'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813117673246720, 1015852480873631744, '李军', 1015817732197453824, 1, 5, 2, 761, NULL, NULL, NULL, 1016553679197310976, '2020-01-11 14:09:21'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813159951831040, 1015852853839532032, '王石', 1015817732197453824, 2, 0, 2, 413, NULL, NULL, NULL, NULL, '2020-01-11 14:09:26'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813162766209024, 1015852853839532032, '王石', 1015817732197453824, 2, 0, 2, 171, NULL, NULL, NULL, NULL, '2020-01-11 14:09:31'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813181300838400, 1015852853839532032, '王石', 1015817732197453824, 2, 0, 1, 32, NULL, NULL, NULL, NULL, '2020-01-11 14:09:36'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813201265725440, 1015852853839532032, '王石', 1015817732197453824, 2, 2, 1, 345, NULL, NULL, NULL, NULL, '2020-01-11 14:09:41'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813220186230784, 1015852853839532032, '王石', 1015817732197453824, 2, 6, 1, 243, NULL, NULL, NULL, NULL, '2020-01-11 14:09:46'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813244878098432, 1015852853839532032, '王石', 1015817732197453824, 2, 6, 2, 54, NULL, NULL, NULL, NULL, '2020-01-11 14:09:51'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813272526950400, 1015852853839532032, '王石', 1015817732197453824, 2, 3, 2, 767, 1016699195411402752, NULL, NULL, NULL, '2020-01-11 14:09:56'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813275504906240, 1015852853839532032, '王石', 1015817732197453824, 2, 3, 2, 269, 1016699195411402752, NULL, NULL, NULL, '2020-01-11 14:10:01'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813291195797504, 1015852853839532032, '王石', 1015817732197453824, 2, 3, 2, 362, 1016917385529790464, NULL, NULL, NULL, '2020-01-11 14:10:06'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813318626545664, 1015852853839532032, '王石', 1015817732197453824, 2, 4, 2, 405, NULL, 1016958789157130240, NULL, NULL, '2020-01-11 14:10:11'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813337316364288, 1015852853839532032, '王石', 1015817732197453824, 2, 4, 2, 56, NULL, 1016959021731287040, NULL, NULL, '2020-01-11 14:10:16'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813372263305216, 1015852853839532032, '王石', 1015817732197453824, 2, 5, 2, 388, NULL, NULL, NULL, 1016553679197310976, '2020-01-11 14:10:21'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813435513409536, 1015852853839532032, '王石', 1015817732197453824, 3, 0, 2, 808, NULL, NULL, NULL, NULL, '2020-01-11 14:10:26'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813448222150656, 1015852853839532032, '王石', 1015817732197453824, 3, 1, 2, 995, NULL, NULL, NULL, NULL, '2020-01-11 14:10:31'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813461509705728, 1015852853839532032, '王石', 1015817732197453824, 3, 2, 2, 805, NULL, NULL, NULL, NULL, '2020-01-11 14:10:36'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813476860858368, 1015852853839532032, '王石', 1015817732197453824, 3, 2, 0, 708, NULL, NULL, NULL, NULL, '2020-01-11 14:10:41'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813489150169088, 1015852853839532032, '王石', 1015817732197453824, 3, 6, 0, 265, NULL, NULL, NULL, NULL, '2020-01-11 14:10:46'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813500307017728, 1015852853839532032, '王石', 1015817732197453824, 3, 6, 0, 103, NULL, NULL, NULL, NULL, '2020-01-11 14:10:51'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813524378128384, 1015852853839532032, '王石', 1015817732197453824, 3, 3, 0, 69, 1016699195411402752, NULL, NULL, NULL, '2020-01-11 14:10:56'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813554786832384, 1015852853839532032, '王石', 1015817732197453824, 3, 5, 0, 27, NULL, NULL, NULL, 1016553679197310976, '2020-01-11 14:11:01'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813568590286848, 1015852853839532032, '王石', 1015817732197453824, 3, 5, 1, 402, NULL, NULL, NULL, 1016553679197310976, '2020-01-11 14:11:06'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813662119071744, 1018000939508568064, '天津二哥', 1015818056597508096, 1, 0, 1, 159, NULL, NULL, NULL, NULL, '2020-01-11 14:11:11'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813668972564480, 1018000939508568064, '天津二哥', 1015818056597508096, 1, 0, 1, 791, NULL, NULL, NULL, NULL, '2020-01-11 14:11:16'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813682855710720, 1018000939508568064, '天津二哥', 1015818056597508096, 1, 1, 1, 196, NULL, NULL, NULL, NULL, '2020-01-11 14:11:21'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813696847908864, 1018000939508568064, '天津二哥', 1015818056597508096, 1, 2, 1, 341, NULL, NULL, NULL, NULL, '2020-01-11 14:11:26'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813710101909504, 1018000939508568064, '天津二哥', 1015818056597508096, 1, 6, 1, 51, NULL, NULL, NULL, NULL, '2020-01-11 14:11:31'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813753928192000, 1018000939508568064, '天津二哥', 1015818056597508096, 1, 3, 2, 891, 1016917385529790464, NULL, NULL, NULL, '2020-01-11 14:11:36'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813789370060800, 1018000939508568064, '天津二哥', 1015818056597508096, 1, 4, 2, 913, NULL, 1016958789157130240, NULL, NULL, '2020-01-11 14:11:41'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813814619770880, 1018000939508568064, '天津二哥', 1015818056597508096, 1, 5, 2, 42, NULL, NULL, NULL, 1016221639738396672, '2020-01-11 14:11:46'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813842973265920, 1018000939508568064, '天津二哥', 1015818056597508096, 2, 1, 2, 506, NULL, NULL, NULL, NULL, '2020-01-11 14:11:51'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813855178690560, 1018000939508568064, '天津二哥', 1015818056597508096, 2, 2, 2, 94, NULL, NULL, NULL, NULL, '2020-01-11 14:11:56'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813867468001280, 1018000939508568064, '天津二哥', 1015818056597508096, 2, 6, 2, 77, NULL, NULL, NULL, NULL, '2020-01-11 14:12:01'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813880680058880, 1018000939508568064, '天津二哥', 1015818056597508096, 2, 6, 0, 508, NULL, NULL, NULL, NULL, '2020-01-11 14:12:06'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813895276236800, 1018000939508568064, '天津二哥', 1015818056597508096, 2, 6, 1, 873, NULL, NULL, NULL, NULL, '2020-01-11 14:12:11'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813922203668480, 1018000939508568064, '天津二哥', 1015818056597508096, 2, 3, 1, 275, 1016699195411402752, NULL, NULL, NULL, '2020-01-11 14:12:16'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813944307650560, 1018000939508568064, '天津二哥', 1015818056597508096, 2, 3, 0, 329, 1016917385529790464, NULL, NULL, NULL, '2020-01-11 14:12:21'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813972531122176, 1018000939508568064, '天津二哥', 1015818056597508096, 2, 4, 0, 524, NULL, 1016957456463171584, NULL, NULL, '2020-01-11 14:12:26'); -INSERT INTO `zz_student_coin_trans` VALUES (1018813997655003136, 1018000939508568064, '天津二哥', 1015818056597508096, 2, 4, 1, 532, NULL, 1016959021731287040, NULL, NULL, '2020-01-11 14:12:31'); -INSERT INTO `zz_student_coin_trans` VALUES (1018814053611212800, 1018000939508568064, '天津二哥', 1015818056597508096, 3, 0, 0, 952, NULL, NULL, NULL, NULL, '2020-01-11 14:12:36'); -INSERT INTO `zz_student_coin_trans` VALUES (1018814072020013056, 1018000939508568064, '天津二哥', 1015818056597508096, 3, 1, 0, 991, NULL, NULL, NULL, NULL, '2020-01-11 14:12:41'); -INSERT INTO `zz_student_coin_trans` VALUES (1018814087496994816, 1018000939508568064, '天津二哥', 1015818056597508096, 3, 2, 0, 129, NULL, NULL, NULL, NULL, '2020-01-11 14:12:46'); -INSERT INTO `zz_student_coin_trans` VALUES (1018814091691298816, 1018000939508568064, '天津二哥', 1015818056597508096, 3, 2, 0, 224, NULL, NULL, NULL, NULL, '2020-01-11 14:12:51'); -INSERT INTO `zz_student_coin_trans` VALUES (1018814105742217216, 1018000939508568064, '天津二哥', 1015818056597508096, 3, 6, 0, 344, NULL, NULL, NULL, NULL, '2020-01-11 14:12:56'); -INSERT INTO `zz_student_coin_trans` VALUES (1018814132162138112, 1018000939508568064, '天津二哥', 1015818056597508096, 3, 3, 0, 52, 1016699195411402752, NULL, NULL, NULL, '2020-01-11 14:13:01'); -INSERT INTO `zz_student_coin_trans` VALUES (1018814158464618496, 1018000939508568064, '天津二哥', 1015818056597508096, 3, 4, 0, 81, NULL, 1016958701789777920, NULL, NULL, '2020-01-11 14:13:06'); -INSERT INTO `zz_student_coin_trans` VALUES (1018814175321526272, 1018000939508568064, '天津二哥', 1015818056597508096, 3, 4, 0, 931, NULL, 1016958789157130240, NULL, NULL, '2020-01-11 14:13:11'); -INSERT INTO `zz_student_coin_trans` VALUES (1018814207156293632, 1018000939508568064, '天津二哥', 1015818056597508096, 3, 5, 0, 692, NULL, NULL, NULL, 1016901492384993280, '2020-01-11 14:13:16'); -INSERT INTO `zz_student_coin_trans` VALUES (1018814214580211712, 1018000939508568064, '天津二哥', 1015818056597508096, 3, 5, 0, 723, NULL, NULL, NULL, 1016901492384993280, '2020-01-11 14:13:21'); -COMMIT; - --- ---------------------------- --- Table structure for zz_student_course --- ---------------------------- -DROP TABLE IF EXISTS `zz_student_course`; -CREATE TABLE `zz_student_course` ( - `student_id` bigint NOT NULL COMMENT '学生Id', - `course_id` bigint NOT NULL COMMENT '课程Id', - PRIMARY KEY (`student_id`,`course_id`) USING BTREE, - KEY `idx_student_id` (`student_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Table structure for zz_student_course_trans --- ---------------------------- -DROP TABLE IF EXISTS `zz_student_course_trans`; -CREATE TABLE `zz_student_course_trans` ( - `trans_id` bigint NOT NULL COMMENT '主键Id', - `student_id` bigint NOT NULL COMMENT '学生Id', - `student_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '学生名称', - `school_id` bigint NOT NULL COMMENT '学生校区', - `action_type` tinyint NOT NULL COMMENT '行为类型(0: 上课签到 1: 下课签退 2: 献花 3: 老师评价)', - `course_id` bigint NOT NULL COMMENT '课程Id', - `flower_count` int DEFAULT NULL COMMENT '献花数量', - `create_time` datetime NOT NULL COMMENT '发生时间', - PRIMARY KEY (`trans_id`) USING BTREE, - KEY `idx_course_id` (`student_id`) USING BTREE, - KEY `idx_student_id` (`course_id`) USING BTREE, - KEY `idx_action_type` (`action_type`) USING BTREE, - KEY `idx_create_time` (`create_time`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_student_course_trans --- ---------------------------- -BEGIN; -INSERT INTO `zz_student_course_trans` VALUES (1018815499522019328, 1015841864515588096, '张大', 1015817732197453824, 0, 1016699195411402752, 79, '2020-01-10 01:01:01'); -INSERT INTO `zz_student_course_trans` VALUES (1018815690903916544, 1015841864515588096, '张大', 1015817732197453824, 0, 1016917385529790464, 69, '2020-01-10 01:01:06'); -INSERT INTO `zz_student_course_trans` VALUES (1018815705625923584, 1015841864515588096, '张大', 1015817732197453824, 0, 1016917732260319232, 37, '2020-01-10 01:01:11'); -INSERT INTO `zz_student_course_trans` VALUES (1018815723908894720, 1015841864515588096, '张大', 1015817732197453824, 1, 1016917732260319232, 56, '2020-01-10 01:01:16'); -INSERT INTO `zz_student_course_trans` VALUES (1018815728480686080, 1015841864515588096, '张大', 1015817732197453824, 1, 1016917732260319232, 92, '2020-01-10 01:01:21'); -INSERT INTO `zz_student_course_trans` VALUES (1018815741147484160, 1015841864515588096, '张大', 1015817732197453824, 1, 1016917900699373568, 100, '2020-01-10 01:01:26'); -INSERT INTO `zz_student_course_trans` VALUES (1018815752811843584, 1015841864515588096, '张大', 1015817732197453824, 2, 1016917900699373568, 40, '2020-01-10 01:01:31'); -INSERT INTO `zz_student_course_trans` VALUES (1018815766988591104, 1015841864515588096, '张大', 1015817732197453824, 3, 1016917900699373568, 79, '2020-01-10 01:01:36'); -INSERT INTO `zz_student_course_trans` VALUES (1018815775666606080, 1015841864515588096, '张大', 1015817732197453824, 3, 1016917385529790464, 25, '2020-01-10 01:01:41'); -INSERT INTO `zz_student_course_trans` VALUES (1018815785988788224, 1015841864515588096, '张大', 1015817732197453824, 3, 1016917732260319232, 51, '2020-01-10 01:01:46'); -INSERT INTO `zz_student_course_trans` VALUES (1018815823569752064, 1015842628948463616, '张三', 1015818056597508096, 0, 1016917732260319232, 48, '2020-01-10 01:01:51'); -INSERT INTO `zz_student_course_trans` VALUES (1018815834810486784, 1015842628948463616, '张三', 1015818056597508096, 0, 1016917385529790464, 21, '2020-01-10 01:01:56'); -INSERT INTO `zz_student_course_trans` VALUES (1018815852590141440, 1015842628948463616, '张三', 1015818056597508096, 1, 1016917385529790464, 30, '2020-01-10 01:02:01'); -INSERT INTO `zz_student_course_trans` VALUES (1018815862446755840, 1015842628948463616, '张三', 1015818056597508096, 1, 1016917732260319232, 43, '2020-01-10 01:02:06'); -INSERT INTO `zz_student_course_trans` VALUES (1018815873226117120, 1015842628948463616, '张三', 1015818056597508096, 2, 1016917732260319232, 35, '2020-01-10 01:02:11'); -INSERT INTO `zz_student_course_trans` VALUES (1018815876665446400, 1015842628948463616, '张三', 1015818056597508096, 2, 1016917732260319232, 83, '2020-01-10 01:02:16'); -INSERT INTO `zz_student_course_trans` VALUES (1018815891261624320, 1015842628948463616, '张三', 1015818056597508096, 2, 1016917385529790464, 55, '2020-01-10 01:02:21'); -INSERT INTO `zz_student_course_trans` VALUES (1018815905396428800, 1015842628948463616, '张三', 1015818056597508096, 3, 1016917385529790464, 97, '2020-01-10 01:02:26'); -INSERT INTO `zz_student_course_trans` VALUES (1018815917853511680, 1015842628948463616, '张三', 1015818056597508096, 3, 1016699195411402752, 79, '2020-01-10 01:02:31'); -INSERT INTO `zz_student_course_trans` VALUES (1018815921838100480, 1015842628948463616, '张三', 1015818056597508096, 3, 1016699195411402752, 94, '2020-01-10 01:02:36'); -INSERT INTO `zz_student_course_trans` VALUES (1018816024426582016, 1015852480873631744, '李军', 1015817732197453824, 0, 1016699195411402752, 74, '2020-01-11 16:42:23'); -INSERT INTO `zz_student_course_trans` VALUES (1018816037554753536, 1015852480873631744, '李军', 1015817732197453824, 1, 1016699195411402752, 55, '2020-01-11 16:42:28'); -INSERT INTO `zz_student_course_trans` VALUES (1018816051773444096, 1015852480873631744, '李军', 1015817732197453824, 2, 1016699195411402752, 90, '2020-01-11 16:42:33'); -INSERT INTO `zz_student_course_trans` VALUES (1018816065237159936, 1015852480873631744, '李军', 1015817732197453824, 3, 1016699195411402752, 75, '2020-01-11 16:42:38'); -INSERT INTO `zz_student_course_trans` VALUES (1018816069305634816, 1015852480873631744, '李军', 1015817732197453824, 3, 1016699195411402752, 48, '2020-01-11 16:42:43'); -INSERT INTO `zz_student_course_trans` VALUES (1018816082182148096, 1015852480873631744, '李军', 1015817732197453824, 2, 1016699195411402752, 29, '2020-01-11 16:42:48'); -INSERT INTO `zz_student_course_trans` VALUES (1018816103992528896, 1015852480873631744, '李军', 1015818056597508096, 0, 1016699195411402752, 30, '2020-01-11 16:42:53'); -INSERT INTO `zz_student_course_trans` VALUES (1018816108312662016, 1015852480873631744, '李军', 1015818056597508096, 0, 1016699195411402752, 93, '2020-01-11 16:42:58'); -INSERT INTO `zz_student_course_trans` VALUES (1018816119553396736, 1015852480873631744, '李军', 1015818056597508096, 0, 1016917385529790464, 50, '2020-01-11 16:43:03'); -INSERT INTO `zz_student_course_trans` VALUES (1018816135705661440, 1015852480873631744, '李军', 1015818056597508096, 1, 1016917385529790464, 42, '2020-01-11 16:43:08'); -INSERT INTO `zz_student_course_trans` VALUES (1018816147483267072, 1015852480873631744, '李军', 1015818056597508096, 2, 1016917385529790464, 36, '2020-01-11 16:43:13'); -INSERT INTO `zz_student_course_trans` VALUES (1018816163044134912, 1015852480873631744, '李军', 1015818056597508096, 3, 1016917385529790464, 47, '2020-01-11 16:43:18'); -INSERT INTO `zz_student_course_trans` VALUES (1018816176046477312, 1015852480873631744, '李军', 1015818056597508096, 3, 1016917732260319232, 73, '2020-01-11 16:43:23'); -INSERT INTO `zz_student_course_trans` VALUES (1018816253225865216, 1015852853839532032, '王石', 1015818992220901376, 0, 1016917732260319232, 57, '2020-01-11 16:43:28'); -INSERT INTO `zz_student_course_trans` VALUES (1018816265049608192, 1015852853839532032, '王石', 1015818992220901376, 1, 1016917732260319232, 83, '2020-01-11 16:43:33'); -INSERT INTO `zz_student_course_trans` VALUES (1018816276206456832, 1015852853839532032, '王石', 1015818992220901376, 2, 1016917732260319232, 49, '2020-01-11 16:43:38'); -INSERT INTO `zz_student_course_trans` VALUES (1018816283085115392, 1015852853839532032, '王石', 1015818992220901376, 2, 1016917732260319232, 98, '2020-01-11 16:43:43'); -INSERT INTO `zz_student_course_trans` VALUES (1018816291893153792, 1015852853839532032, '王石', 1015818992220901376, 2, 1016917900699373568, 76, '2020-01-11 16:43:48'); -INSERT INTO `zz_student_course_trans` VALUES (1018816302798344192, 1015852853839532032, '王石', 1015818992220901376, 3, 1016917900699373568, 33, '2020-01-11 16:43:53'); -INSERT INTO `zz_student_course_trans` VALUES (1018816306325753856, 1015852853839532032, '王石', 1015818992220901376, 3, 1016917900699373568, 31, '2020-01-11 16:43:58'); -COMMIT; - --- ---------------------------- --- Table structure for zz_student_registry_stats --- ---------------------------- -DROP TABLE IF EXISTS `zz_student_registry_stats`; -CREATE TABLE `zz_student_registry_stats` ( - `stats_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键Id', - `stats_date` date NOT NULL COMMENT '统计时间', - `stats_month` date DEFAULT NULL COMMENT '统计月份', - `grade_id` int NOT NULL COMMENT '年级Id', - `grade_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '年级名称', - `province_id` bigint NOT NULL COMMENT '学生所属省份Id', - `city_id` bigint NOT NULL COMMENT '学生所属城市Id', - `web_count` int NOT NULL DEFAULT '0' COMMENT 'Web注册人数', - `ios_count` int NOT NULL DEFAULT '0' COMMENT 'iOS注册人数', - `android_count` int NOT NULL DEFAULT '0' COMMENT 'Android注册人数', - PRIMARY KEY (`stats_id`) USING BTREE, - UNIQUE KEY `uk_stats_date_grade_id_region_id` (`stats_date`,`grade_id`,`province_id`,`city_id`) USING BTREE, - KEY `idx_grade_id` (`grade_id`) USING BTREE, - KEY `idx_stats_month` (`stats_month`) USING BTREE, - KEY `idx_province_id` (`province_id`) USING BTREE, - KEY `idx_city_id` (`city_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_student_registry_stats --- ---------------------------- -BEGIN; -INSERT INTO `zz_student_registry_stats` VALUES (1, '2020-01-10', NULL, 1, '一年级', 110000000000, 110100000000, 1, 1, 2); -INSERT INTO `zz_student_registry_stats` VALUES (2, '2020-01-10', NULL, 2, '二年级', 110000000000, 110100000000, 4, 0, 2); -INSERT INTO `zz_student_registry_stats` VALUES (3, '2020-01-10', NULL, 3, '三年级', 110000000000, 110100000000, 1, 1, 3); -INSERT INTO `zz_student_registry_stats` VALUES (4, '2020-01-10', NULL, 4, '四年级', 110000000000, 110100000000, 0, 1, 1); -INSERT INTO `zz_student_registry_stats` VALUES (5, '2020-01-10', NULL, 1, '一年级', 120000000000, 120100000000, 0, 1, 1); -INSERT INTO `zz_student_registry_stats` VALUES (6, '2020-01-10', NULL, 2, '二年级', 120000000000, 120100000000, 1, 0, 1); -INSERT INTO `zz_student_registry_stats` VALUES (7, '2020-01-10', NULL, 3, '三年级', 120000000000, 120100000000, 0, 2, 0); -INSERT INTO `zz_student_registry_stats` VALUES (8, '2020-01-11', NULL, 1, '一年级', 110000000000, 110100000000, 0, 1, 1); -INSERT INTO `zz_student_registry_stats` VALUES (9, '2020-01-11', NULL, 2, '二年级', 110000000000, 110100000000, 0, 1, 1); -INSERT INTO `zz_student_registry_stats` VALUES (10, '2020-01-11', NULL, 3, '三年级', 110000000000, 110100000000, 0, 2, 0); -INSERT INTO `zz_student_registry_stats` VALUES (11, '2020-01-11', NULL, 4, '四年级', 110000000000, 110100000000, 1, 1, 1); -INSERT INTO `zz_student_registry_stats` VALUES (12, '2020-01-11', NULL, 1, '一年级', 120000000000, 120100000000, 1, 1, 0); -INSERT INTO `zz_student_registry_stats` VALUES (13, '2020-01-11', NULL, 2, '二年级', 120000000000, 120100000000, 2, 1, 2); -INSERT INTO `zz_student_registry_stats` VALUES (14, '2020-01-11', NULL, 3, '三年级', 120000000000, 120100000000, 1, 2, 0); -COMMIT; - --- ---------------------------- --- Table structure for zz_student_registry_trans --- ---------------------------- -DROP TABLE IF EXISTS `zz_student_registry_trans`; -CREATE TABLE `zz_student_registry_trans` ( - `trans_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键Id', - `student_id` bigint NOT NULL COMMENT '学生Id', - `student_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '学生姓名', - `school_id` bigint NOT NULL COMMENT '学生校区', - `grade_id` tinyint NOT NULL COMMENT '年级Id', - `device_type` tinyint(1) NOT NULL COMMENT '注册设备类型', - `create_time` datetime NOT NULL COMMENT '注册时间', - PRIMARY KEY (`trans_id`) USING BTREE, - KEY `idx_grade_id` (`grade_id`) USING BTREE, - KEY `idx_device_type` (`device_type`) USING BTREE, - KEY `idx_create_time` (`create_time`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=50 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_student_registry_trans --- ---------------------------- -BEGIN; -INSERT INTO `zz_student_registry_trans` VALUES (8, 1015842628948463616, '张三', 1015817732197453824, 1, 0, '2020-01-10 01:02:02'); -INSERT INTO `zz_student_registry_trans` VALUES (9, 1015842628948463616, '张三', 1015817732197453824, 1, 1, '2020-01-10 01:02:07'); -INSERT INTO `zz_student_registry_trans` VALUES (10, 1015842628948463616, '张三', 1015817732197453824, 1, 1, '2020-01-10 01:02:12'); -INSERT INTO `zz_student_registry_trans` VALUES (11, 1015842628948463616, '张三', 1015817732197453824, 1, 2, '2020-01-10 01:02:17'); -INSERT INTO `zz_student_registry_trans` VALUES (12, 1015842628948463616, '张三', 1015817732197453824, 2, 2, '2020-01-10 01:02:22'); -INSERT INTO `zz_student_registry_trans` VALUES (13, 1015852480873631744, '李军', 1015817732197453824, 2, 2, '2020-01-10 01:02:27'); -INSERT INTO `zz_student_registry_trans` VALUES (14, 1015852480873631744, '李军', 1015817732197453824, 2, 1, '2020-01-10 01:02:32'); -INSERT INTO `zz_student_registry_trans` VALUES (15, 1015852480873631744, '李军', 1015817732197453824, 2, 1, '2020-01-10 01:02:37'); -INSERT INTO `zz_student_registry_trans` VALUES (16, 1015852480873631744, '李军', 1015817732197453824, 2, 2, '2020-01-10 01:02:42'); -INSERT INTO `zz_student_registry_trans` VALUES (17, 1015852853839532032, '王石', 1015817732197453824, 2, 2, '2020-01-10 01:02:47'); -INSERT INTO `zz_student_registry_trans` VALUES (18, 1015852853839532032, '王石', 1015817732197453824, 3, 2, '2020-01-10 01:02:52'); -INSERT INTO `zz_student_registry_trans` VALUES (19, 1015852853839532032, '王石', 1015817732197453824, 3, 0, '2020-01-10 01:02:57'); -INSERT INTO `zz_student_registry_trans` VALUES (20, 1015852853839532032, '王石', 1015817732197453824, 3, 1, '2020-01-10 01:03:02'); -INSERT INTO `zz_student_registry_trans` VALUES (21, 1018000939508568064, '天津二哥', 1015817732197453824, 3, 1, '2020-01-10 01:03:07'); -INSERT INTO `zz_student_registry_trans` VALUES (22, 1018000939508568064, '天津二哥', 1015817732197453824, 3, 1, '2020-01-10 01:03:12'); -INSERT INTO `zz_student_registry_trans` VALUES (23, 1018000939508568064, '天津二哥', 1015817732197453824, 4, 1, '2020-01-10 01:03:17'); -INSERT INTO `zz_student_registry_trans` VALUES (24, 1018001219050541056, '南开学霸', 1015817732197453824, 4, 0, '2020-01-10 01:03:22'); -INSERT INTO `zz_student_registry_trans` VALUES (25, 1018001219050541056, '南开学霸', 1015818056597508096, 1, 0, '2020-01-10 01:03:27'); -INSERT INTO `zz_student_registry_trans` VALUES (26, 1018001219050541056, '南开学霸', 1015818056597508096, 1, 1, '2020-01-10 01:03:32'); -INSERT INTO `zz_student_registry_trans` VALUES (27, 1018001219050541056, '南开学霸', 1015818056597508096, 2, 1, '2020-01-10 01:03:37'); -INSERT INTO `zz_student_registry_trans` VALUES (28, 1018001219050541056, '南开学霸', 1015818056597508096, 2, 2, '2020-01-10 01:03:42'); -INSERT INTO `zz_student_registry_trans` VALUES (29, 1018001219050541056, '南开学霸', 1015818056597508096, 3, 0, '2020-01-10 01:03:47'); -INSERT INTO `zz_student_registry_trans` VALUES (30, 1015841864515588096, '张大', 1015818056597508096, 3, 0, '2020-01-10 01:03:52'); -INSERT INTO `zz_student_registry_trans` VALUES (31, 1015841864515588096, '张大', 1015817732197453824, 1, 0, '2020-01-11 01:03:57'); -INSERT INTO `zz_student_registry_trans` VALUES (32, 1015841864515588096, '张大', 1015817732197453824, 1, 1, '2020-01-11 01:04:02'); -INSERT INTO `zz_student_registry_trans` VALUES (33, 1015841864515588096, '张大', 1015817732197453824, 2, 1, '2020-01-11 01:04:07'); -INSERT INTO `zz_student_registry_trans` VALUES (34, 1015841864515588096, '张大', 1015817732197453824, 2, 0, '2020-01-11 01:04:12'); -INSERT INTO `zz_student_registry_trans` VALUES (35, 1015841864515588096, '张大', 1015817732197453824, 3, 0, '2020-01-11 01:04:17'); -INSERT INTO `zz_student_registry_trans` VALUES (36, 1015841864515588096, '张大', 1015817732197453824, 3, 0, '2020-01-11 01:04:22'); -INSERT INTO `zz_student_registry_trans` VALUES (37, 1015852853839532032, '王石', 1015817732197453824, 4, 0, '2020-01-11 01:04:27'); -INSERT INTO `zz_student_registry_trans` VALUES (38, 1015852853839532032, '王石', 1015817732197453824, 4, 1, '2020-01-11 01:04:32'); -INSERT INTO `zz_student_registry_trans` VALUES (39, 1015852853839532032, '王石', 1015817732197453824, 4, 2, '2020-01-11 01:04:37'); -INSERT INTO `zz_student_registry_trans` VALUES (40, 1015852853839532032, '王石', 1015818056597508096, 1, 2, '2020-01-11 01:04:42'); -INSERT INTO `zz_student_registry_trans` VALUES (41, 1015852853839532032, '王石', 1015818056597508096, 1, 0, '2020-01-11 01:04:47'); -INSERT INTO `zz_student_registry_trans` VALUES (42, 1015852853839532032, '王石', 1015818056597508096, 2, 0, '2020-01-11 01:04:52'); -INSERT INTO `zz_student_registry_trans` VALUES (43, 1015852853839532032, '王石', 1015818056597508096, 2, 1, '2020-01-11 01:04:57'); -INSERT INTO `zz_student_registry_trans` VALUES (44, 1018000939508568064, '天津二哥', 1015818056597508096, 2, 1, '2020-01-11 01:05:02'); -INSERT INTO `zz_student_registry_trans` VALUES (45, 1018000939508568064, '天津二哥', 1015818056597508096, 2, 2, '2020-01-11 01:05:07'); -INSERT INTO `zz_student_registry_trans` VALUES (46, 1018000939508568064, '天津二哥', 1015818056597508096, 2, 2, '2020-01-11 01:05:12'); -INSERT INTO `zz_student_registry_trans` VALUES (47, 1018000939508568064, '天津二哥', 1015818056597508096, 3, 2, '2020-01-11 01:05:17'); -INSERT INTO `zz_student_registry_trans` VALUES (48, 1018000939508568064, '天津二哥', 1015818056597508096, 3, 0, '2020-01-11 01:05:22'); -INSERT INTO `zz_student_registry_trans` VALUES (49, 1018001219050541056, '南开学霸', 1015818056597508096, 3, 0, '2020-01-11 01:05:27'); -COMMIT; - --- ---------------------------- --- Table structure for zz_student_stats --- ---------------------------- -DROP TABLE IF EXISTS `zz_student_stats`; -CREATE TABLE `zz_student_stats` ( - `stats_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键Id', - `stats_date` date NOT NULL COMMENT '统计日期', - `student_id` bigint NOT NULL COMMENT '学生Id', - `buy_course_amount` int NOT NULL DEFAULT '0' COMMENT '购课学币数量', - `buy_course_count` int NOT NULL DEFAULT '0' COMMENT '购买课程次数', - `buy_video_amount` int NOT NULL DEFAULT '0' COMMENT '购买视频学币数量', - `buy_video_count` int NOT NULL DEFAULT '0' COMMENT '购买视频次数', - `buy_paper_amount` int NOT NULL DEFAULT '0' COMMENT '购买作业学币数量', - `buy_paper_count` int NOT NULL DEFAULT '0' COMMENT '购买作业次数', - `buy_flower_amount` int NOT NULL DEFAULT '0' COMMENT '购买献花数量', - `buy_flower_count` int NOT NULL DEFAULT '0' COMMENT '购买献花次数', - `recharge_coin_amount` int NOT NULL DEFAULT '0' COMMENT '充值学币数量', - `recharge_coin_count` int NOT NULL DEFAULT '0' COMMENT '充值学币次数', - `do_course_count` int NOT NULL COMMENT '线下课程上课次数', - `watch_video_count` int NOT NULL DEFAULT '0' COMMENT '观看视频次数', - `watch_video_total_second` int NOT NULL COMMENT '购买献花消费学币数量', - `do_exercise_count` int NOT NULL DEFAULT '0' COMMENT '做题数量', - `do_exercise_correct_count` int NOT NULL DEFAULT '0' COMMENT '做题正确的数量', - PRIMARY KEY (`stats_id`) USING BTREE, - UNIQUE KEY `uk_stats_date_student_id` (`stats_date`,`student_id`) USING BTREE, - KEY `idx_student_id` (`student_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Table structure for zz_sys_data_perm --- ---------------------------- -DROP TABLE IF EXISTS `zz_sys_data_perm`; -CREATE TABLE `zz_sys_data_perm` ( - `data_perm_id` bigint NOT NULL COMMENT '主键', - `data_perm_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '显示名称', - `rule_type` tinyint NOT NULL COMMENT '数据权限规则类型(0: 全部可见 1: 只看自己 2: 只看本部门 3: 本部门及子部门 4: 多部门及子部门 5: 自定义部门列表)。', - `create_user_id` bigint NOT NULL COMMENT '创建者', - `create_time` datetime NOT NULL COMMENT '创建时间', - `update_user_id` bigint NOT NULL COMMENT '更新者Id', - `update_time` datetime NOT NULL COMMENT '更新时间', - PRIMARY KEY (`data_perm_id`) USING BTREE, - KEY `idx_create_time` (`create_time`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='数据权限表'; - --- ---------------------------- --- Records of zz_sys_data_perm --- ---------------------------- -BEGIN; -INSERT INTO `zz_sys_data_perm` VALUES (1022710255994015744, '助教部门权限', 3, 1014065909648330753, '2020-10-22 00:00:00', 1014065909648330753, '2020-10-22 00:00:00'); -INSERT INTO `zz_sys_data_perm` VALUES (1022710559330275328, '天津老师看自己', 1, 1014065909648330753, '2020-10-22 00:00:00', 1014065909648330753, '2020-10-22 00:00:00'); -INSERT INTO `zz_sys_data_perm` VALUES (1022710672790392832, '北京老师', 4, 1014065909648330753, '2020-10-22 00:00:00', 1014065909648330753, '2020-10-22 00:00:00'); -INSERT INTO `zz_sys_data_perm` VALUES (1023899201293783040, '天津校长', 5, 1014065909648330753, '2020-10-22 00:00:00', 1014065909648330753, '2020-10-22 00:00:00'); -INSERT INTO `zz_sys_data_perm` VALUES (1027574536048746550, '查看全部', 0, 1014065909648330753, '2020-10-22 00:00:00', 1014065909648330753, '2020-10-22 00:00:00'); -INSERT INTO `zz_sys_data_perm` VALUES (1027575530824409142, '所在部门及子部门', 3, 1014065909648330753, '2020-10-22 00:00:00', 1014065909648330753, '2020-10-22 00:00:00'); -COMMIT; - --- ---------------------------- --- Table structure for zz_sys_data_perm_dept --- ---------------------------- -DROP TABLE IF EXISTS `zz_sys_data_perm_dept`; -CREATE TABLE `zz_sys_data_perm_dept` ( - `data_perm_id` bigint NOT NULL COMMENT '数据权限Id', - `dept_id` bigint NOT NULL COMMENT '部门Id', - PRIMARY KEY (`data_perm_id`,`dept_id`) USING BTREE, - KEY `idx_dept_id` (`dept_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='数据权限和部门关联表'; - --- ---------------------------- --- Records of zz_sys_data_perm_dept --- ---------------------------- -BEGIN; -INSERT INTO `zz_sys_data_perm_dept` VALUES (1022710672790392832, 1014065909648330752); -INSERT INTO `zz_sys_data_perm_dept` VALUES (1023899201293783040, 1014065909648330752); -INSERT INTO `zz_sys_data_perm_dept` VALUES (1022710672790392832, 1015817732197453824); -INSERT INTO `zz_sys_data_perm_dept` VALUES (1022710672790392832, 1015818056597508096); -INSERT INTO `zz_sys_data_perm_dept` VALUES (1023899201293783040, 1015818056597508096); -INSERT INTO `zz_sys_data_perm_dept` VALUES (1022710672790392832, 1015818992220901376); -INSERT INTO `zz_sys_data_perm_dept` VALUES (1023899201293783040, 1015818992220901376); -COMMIT; - --- ---------------------------- --- Table structure for zz_sys_data_perm_user --- ---------------------------- -DROP TABLE IF EXISTS `zz_sys_data_perm_user`; -CREATE TABLE `zz_sys_data_perm_user` ( - `data_perm_id` bigint NOT NULL COMMENT '数据权限Id', - `user_id` bigint NOT NULL COMMENT '用户Id', - PRIMARY KEY (`data_perm_id`,`user_id`) USING BTREE, - KEY `idx_user_id` (`user_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='数据权限和用户关联表'; - --- ---------------------------- --- Records of zz_sys_data_perm_user --- ---------------------------- -BEGIN; -INSERT INTO `zz_sys_data_perm_user` VALUES (1022710559330275328, 1015820835156135936); -INSERT INTO `zz_sys_data_perm_user` VALUES (1022710672790392832, 1015820835156135936); -INSERT INTO `zz_sys_data_perm_user` VALUES (1022710672790392832, 1015836614618517504); -INSERT INTO `zz_sys_data_perm_user` VALUES (1022710559330275328, 1015836821309624320); -INSERT INTO `zz_sys_data_perm_user` VALUES (1022710559330275328, 1015836926548905984); -INSERT INTO `zz_sys_data_perm_user` VALUES (1022710559330275328, 1015837043205083136); -INSERT INTO `zz_sys_data_perm_user` VALUES (1023899201293783040, 1015837043205083136); -INSERT INTO `zz_sys_data_perm_user` VALUES (1022710559330275328, 1022708397548244992); -INSERT INTO `zz_sys_data_perm_user` VALUES (1022710559330275328, 1022708507363512320); -INSERT INTO `zz_sys_data_perm_user` VALUES (1022710255994015744, 1022708776776241152); -INSERT INTO `zz_sys_data_perm_user` VALUES (1022710255994015744, 1022708983702228992); -INSERT INTO `zz_sys_data_perm_user` VALUES (1022710559330275328, 1022708983702228992); -INSERT INTO `zz_sys_data_perm_user` VALUES (1022710255994015744, 1026350428866740296); -INSERT INTO `zz_sys_data_perm_user` VALUES (1022710559330275328, 1026350428866740296); -INSERT INTO `zz_sys_data_perm_user` VALUES (1023899201293783040, 1026350428866740296); -COMMIT; - --- ---------------------------- --- Table structure for zz_sys_dept --- ---------------------------- -DROP TABLE IF EXISTS `zz_sys_dept`; -CREATE TABLE `zz_sys_dept` ( - `dept_id` bigint NOT NULL COMMENT '部门Id', - `parent_id` bigint DEFAULT NULL COMMENT '父部门Id', - `dept_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '部门名称', - `show_order` int NOT NULL COMMENT '兄弟部分之间的显示顺序,数字越小越靠前', - `province_id` bigint NOT NULL COMMENT '所在省Id', - `city_id` bigint NOT NULL COMMENT '所属城市Id', - `create_user_id` bigint NOT NULL COMMENT '创建者', - `create_time` datetime NOT NULL COMMENT '创建时间', - `update_user_id` bigint NOT NULL COMMENT '更新者Id', - `update_time` datetime NOT NULL COMMENT '最后更新时间', - `deleted_flag` int NOT NULL DEFAULT '0' COMMENT '删除标记(1: 正常 -1: 已删除)', - PRIMARY KEY (`dept_id`) USING BTREE, - KEY `idx_parent_id` (`parent_id`) USING BTREE, - KEY `idx_show_order` (`show_order`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='部门管理表'; - --- ---------------------------- --- Records of zz_sys_dept --- ---------------------------- -BEGIN; -INSERT INTO `zz_sys_dept` VALUES (1014065909648330752, NULL, '公司总部', 0, 110000000000, 110100000000, 1014065909648330753, '2020-10-22 00:00:00', 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_sys_dept` VALUES (1015817732197453824, NULL, '北京校区', 1, 110000000000, 110100000000, 1014065909648330753, '2020-10-22 00:00:00', 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_sys_dept` VALUES (1015818056597508096, NULL, '天津校区', 2, 120000000000, 120100000000, 1014065909648330753, '2020-10-22 00:00:00', 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_sys_dept` VALUES (1015818992220901376, NULL, '浙江校区', 3, 330000000000, 330100000000, 1014065909648330753, '2020-10-22 00:00:00', 1014065909648330753, '2020-10-22 00:00:00', 1); -COMMIT; - --- ---------------------------- --- Table structure for zz_sys_dept_relation --- ---------------------------- -DROP TABLE IF EXISTS `zz_sys_dept_relation`; -CREATE TABLE `zz_sys_dept_relation` ( - `parent_dept_id` bigint NOT NULL COMMENT '父部门Id', - `dept_id` bigint NOT NULL COMMENT '部门Id', - PRIMARY KEY (`parent_dept_id`,`dept_id`) USING BTREE, - KEY `idx_dept_id` (`dept_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='部门关联关系表'; - --- ---------------------------- --- Records of zz_sys_dept_relation --- ---------------------------- -BEGIN; -INSERT INTO `zz_sys_dept_relation` VALUES (1014065909648330752, 1014065909648330752); -INSERT INTO `zz_sys_dept_relation` VALUES (1015817732197453824, 1015817732197453824); -INSERT INTO `zz_sys_dept_relation` VALUES (1015818056597508096, 1015818056597508096); -INSERT INTO `zz_sys_dept_relation` VALUES (1015818992220901376, 1015818992220901376); -COMMIT; - --- ---------------------------- --- Table structure for zz_sys_menu --- ---------------------------- -DROP TABLE IF EXISTS `zz_sys_menu`; -CREATE TABLE `zz_sys_menu` ( - `menu_id` bigint NOT NULL COMMENT '主键Id', - `parent_id` bigint DEFAULT NULL COMMENT '父菜单Id,目录菜单的父菜单为null', - `menu_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '菜单显示名称', - `menu_type` int NOT NULL COMMENT '(0: 目录 1: 菜单 2: 按钮 3: UI片段)', - `form_router_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '前端表单路由名称,仅用于menu_type为1的菜单类型', - `online_form_id` bigint DEFAULT NULL COMMENT '在线表单主键Id', - `online_menu_perm_type` int DEFAULT NULL COMMENT '在线表单菜单的权限控制类型', - `show_order` int NOT NULL COMMENT '菜单显示顺序 (值越小,排序越靠前)', - `icon` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '菜单图标', - `create_user_id` bigint NOT NULL COMMENT '创建者', - `create_time` datetime NOT NULL COMMENT '创建时间', - `update_user_id` bigint NOT NULL COMMENT '更新者Id', - `update_time` datetime NOT NULL COMMENT '更新时间', - PRIMARY KEY (`menu_id`) USING BTREE, - KEY `idx_show_order` (`show_order`) USING BTREE, - KEY `idx_parent_id` (`parent_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=COMPACT COMMENT='菜单和操作权限管理表'; - --- ---------------------------- --- Records of zz_sys_menu --- ---------------------------- -BEGIN; -INSERT INTO `zz_sys_menu` VALUES (1293376634899927040, NULL, '系统管理', 0, NULL, NULL, NULL, 1, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1293376634916704256, 1293376634899927040, '用户管理', 1, 'formSysUser', NULL, NULL, 100, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1293376634916704258, 1293376634899927040, '角色管理', 1, 'formSysRole', NULL, NULL, 110, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1293376634916704259, 1293376634899927040, '菜单管理', 1, 'formSysMenu', NULL, NULL, 120, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1293376634916704260, 1293376634899927040, '权限字管理', 1, 'formSysPermCode', NULL, NULL, 125, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1293376634916704261, 1293376634899927040, '权限管理', 1, 'formSysPerm', NULL, NULL, 130, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1293376634916704262, 1293376634899927040, '字典管理', 1, 'formSysDict', NULL, NULL, 135, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1293478813098840064, NULL, '业务管理', 0, NULL, NULL, NULL, 10, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1293478847987060736, NULL, '统计管理', 0, NULL, NULL, NULL, 20, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1293479020943380480, 1293478813098840064, '学生管理', 1, 'formStudent', NULL, NULL, 5, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1293479114610577408, 1293478813098840064, '课程管理', 1, 'formCourse', NULL, NULL, 10, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1293479177793572864, 1293478813098840064, '班级管理', 1, 'formClass', NULL, NULL, 15, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1293479249499394048, 1293478847987060736, '课程统计', 1, 'formCourseStats', NULL, NULL, 1, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1293479313416392704, 1293478847987060736, '学生行为统计', 1, 'formStudentActionStats', NULL, NULL, 5, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1381236988534853632, 1293376634899927040, '在线用户', 1, 'formSysLoginUser', NULL, NULL, 145, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1450436351471128576, 1293376634899927040, '操作日志', 1, 'formSysOperationLog', NULL, NULL, 140, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1450780378271846400, 1293376634899927040, '数据权限管理', 1, 'formSysDataPerm', NULL, NULL, 115, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1450780378414452736, 1293376634899927040, '部门管理', 1, 'formSysDept', NULL, NULL, 105, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990992966, 1293376634916704256, '显示', 3, NULL, NULL, NULL, 1, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990992967, 1293376634916704256, '新增', 3, NULL, NULL, NULL, 2, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990992968, 1293376634916704256, '编辑', 3, NULL, NULL, NULL, 3, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990992969, 1293376634916704256, '删除', 3, NULL, NULL, NULL, 4, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990992970, 1293376634916704256, '重置密码', 3, NULL, NULL, NULL, 5, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990992971, 1293376634916704256, '权限详情', 3, NULL, NULL, NULL, 6, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990992980, 1293376634916704258, '角色管理', 2, NULL, NULL, NULL, 1, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990992981, 1293376634916704258, '用户授权', 2, NULL, NULL, NULL, 2, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990992982, 1471382975990992980, '显示', 3, NULL, NULL, NULL, 1, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990992983, 1471382975990992980, '新增', 3, NULL, NULL, NULL, 2, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990992984, 1471382975990992980, '编辑', 3, NULL, NULL, NULL, 3, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990992985, 1471382975990992980, '删除', 3, NULL, NULL, NULL, 4, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990992986, 1471382975990992980, '权限详情', 3, NULL, NULL, NULL, 5, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990992987, 1471382975990992981, '显示', 3, NULL, NULL, NULL, 1, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990992988, 1471382975990992981, '授权用户', 3, NULL, NULL, NULL, 2, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990992989, 1471382975990992981, '移除用户', 3, NULL, NULL, NULL, 3, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993000, 1293376634916704259, '显示', 3, NULL, NULL, NULL, 1, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993001, 1293376634916704259, '新增', 3, NULL, NULL, NULL, 2, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993002, 1293376634916704259, '编辑', 3, NULL, NULL, NULL, 3, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993003, 1293376634916704259, '删除', 3, NULL, NULL, NULL, 4, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993004, 1293376634916704259, '权限详情', 3, NULL, NULL, NULL, 5, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993012, 1293376634916704260, '显示', 3, NULL, NULL, NULL, 1, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993013, 1293376634916704260, '新增', 3, NULL, NULL, NULL, 2, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993014, 1293376634916704260, '编辑', 3, NULL, NULL, NULL, 3, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993015, 1293376634916704260, '删除', 3, NULL, NULL, NULL, 4, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993016, 1293376634916704260, '权限详情', 3, NULL, NULL, NULL, 5, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993024, 1293376634916704261, '显示', 3, NULL, NULL, NULL, 1, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993025, 1293376634916704261, '新增模块', 3, NULL, NULL, NULL, 2, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993026, 1293376634916704261, '编辑模块', 3, NULL, NULL, NULL, 3, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993027, 1293376634916704261, '删除模块', 3, NULL, NULL, NULL, 4, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993028, 1293376634916704261, '新增权限', 3, NULL, NULL, NULL, 5, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993029, 1293376634916704261, '编辑权限', 3, NULL, NULL, NULL, 6, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993030, 1293376634916704261, '删除权限', 3, NULL, NULL, NULL, 7, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993031, 1293376634916704261, '权限详情', 3, NULL, NULL, NULL, 8, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993042, 1293376634916704262, '显示', 3, NULL, NULL, NULL, 1, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993043, 1293376634916704262, '新增', 3, NULL, NULL, NULL, 2, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993044, 1293376634916704262, '编辑', 3, NULL, NULL, NULL, 3, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993045, 1293376634916704262, '删除', 3, NULL, NULL, NULL, 4, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993046, 1293376634916704262, '同步缓存', 3, NULL, NULL, NULL, 5, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993056, 1293479020943380480, '显示', 3, NULL, NULL, NULL, 1, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993057, 1293479020943380480, '新建', 3, NULL, NULL, NULL, 2, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993058, 1293479020943380480, '编辑', 3, NULL, NULL, NULL, 3, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993059, 1293479020943380480, '删除', 3, NULL, NULL, NULL, 4, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993061, 1293479114610577408, '显示', 3, NULL, NULL, NULL, 1, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993062, 1293479114610577408, '新建', 3, NULL, NULL, NULL, 2, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993063, 1293479114610577408, '编辑', 3, NULL, NULL, NULL, 3, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993064, 1293479114610577408, '删除', 3, NULL, NULL, NULL, 4, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993066, 1293479177793572864, '显示', 3, NULL, NULL, NULL, 1, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993067, 1293479177793572864, '设置班级课程', 3, NULL, NULL, NULL, 2, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993068, 1293479177793572864, '编辑', 3, NULL, NULL, NULL, 3, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993069, 1293479177793572864, '删除', 3, NULL, NULL, NULL, 4, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993070, 1293479177793572864, '移除', 3, NULL, NULL, NULL, 5, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993071, 1293479177793572864, '课程顺序', 3, NULL, NULL, NULL, 6, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993072, 1293479177793572864, '移除', 3, NULL, NULL, NULL, 7, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993073, 1293479177793572864, '设置班级学生', 3, NULL, NULL, NULL, 8, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993074, 1293479177793572864, '新建', 3, NULL, NULL, NULL, 9, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993076, 1293479249499394048, '显示', 3, NULL, NULL, NULL, 1, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975990993078, 1293479313416392704, '显示', 3, NULL, NULL, NULL, 1, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975995187200, 1293479313416392704, '学生行为详情', 3, NULL, NULL, NULL, 2, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975995187201, 1293479313416392704, '学生行为详情', 3, NULL, NULL, NULL, 3, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975995187202, 1293479313416392704, '学生行为详情', 3, NULL, NULL, NULL, 4, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975995187203, 1293479313416392704, '学生行为详情', 3, NULL, NULL, NULL, 5, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975995187204, 1293479313416392704, '学生行为详情', 3, NULL, NULL, NULL, 6, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975995187205, 1293479313416392704, '学生行为详情', 3, NULL, NULL, NULL, 7, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975995187206, 1293479313416392704, '学生行为详情', 3, NULL, NULL, NULL, 8, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975995187207, 1293479313416392704, '学生行为详情', 3, NULL, NULL, NULL, 9, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975995187209, 1381236988534853632, '显示', 3, NULL, NULL, NULL, 1, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975995187210, 1381236988534853632, '强制下线', 3, NULL, NULL, NULL, 2, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975995187215, 1450436351471128576, '显示', 3, NULL, NULL, NULL, 1, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975995187219, 1450780378271846400, '数据权限管理', 2, NULL, NULL, NULL, 1, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975995187220, 1450780378271846400, '用户授权', 2, NULL, NULL, NULL, 2, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975995187221, 1471382975995187219, '显示', 3, NULL, NULL, NULL, 1, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975995187222, 1471382975995187219, '新增', 3, NULL, NULL, NULL, 2, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975995187223, 1471382975995187219, '编辑', 3, NULL, NULL, NULL, 3, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975995187224, 1471382975995187219, '删除', 3, NULL, NULL, NULL, 4, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975995187225, 1471382975995187220, '显示', 3, NULL, NULL, NULL, 1, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975995187226, 1471382975995187220, '授权用户', 3, NULL, NULL, NULL, 2, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975995187227, 1471382975995187220, '移除用户', 3, NULL, NULL, NULL, 3, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975995187237, 1450780378414452736, '显示', 3, NULL, NULL, NULL, 1, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975995187238, 1450780378414452736, '新增', 3, NULL, NULL, NULL, 2, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975995187239, 1450780378414452736, '编辑', 3, NULL, NULL, NULL, 3, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_menu` VALUES (1471382975995187240, 1450780378414452736, '删除', 3, NULL, NULL, NULL, 4, NULL, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -COMMIT; - --- ---------------------------- --- Table structure for zz_sys_menu_perm_code --- ---------------------------- -DROP TABLE IF EXISTS `zz_sys_menu_perm_code`; -CREATE TABLE `zz_sys_menu_perm_code` ( - `menu_id` bigint NOT NULL COMMENT '关联菜单Id', - `perm_code_id` bigint NOT NULL COMMENT '关联权限字Id', - PRIMARY KEY (`menu_id`,`perm_code_id`) USING BTREE, - KEY `idx_perm_code_id` (`perm_code_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='菜单和权限关系表'; - --- ---------------------------- --- Records of zz_sys_menu_perm_code --- ---------------------------- -BEGIN; -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993056, 1293429171069915136); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993057, 1293429267132059648); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993057, 1293429267153031168); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993058, 1293429656866787328); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993058, 1293429656879370240); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993058, 1293434467691532288); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993058, 1293434543608434688); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993057, 1293436368944369664); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993057, 1293436524536270848); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993057, 1293440313007804416); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993058, 1293440371212161024); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993059, 1293440523041771520); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993061, 1293440813111447552); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993062, 1293441007530020864); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993062, 1293441007542603776); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993063, 1293441136060272640); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993063, 1293441136077049856); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993062, 1293441795115454464); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993062, 1293441892486221824); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993063, 1293442667975282688); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993063, 1293442766797279232); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993062, 1293444386415185920); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993063, 1293444441515757568); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993064, 1293444524432953344); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993076, 1293463749092446208); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993078, 1293473829204529152); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187200, 1293475157104398336); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187201, 1293475157104398336); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187202, 1293475157104398336); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187203, 1293475157104398336); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187204, 1293475157104398336); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187205, 1293475157104398336); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187206, 1293475157104398336); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187207, 1293475157104398336); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187200, 1293475157112786944); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187201, 1293475157112786944); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187202, 1293475157112786944); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187203, 1293475157112786944); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187204, 1293475157112786944); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187205, 1293475157112786944); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187206, 1293475157112786944); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187207, 1293475157112786944); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187200, 1293476824138911744); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187201, 1293477488848015360); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187202, 1293477691462258688); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187203, 1293477898908340224); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187204, 1293478093347885056); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187205, 1293478281131069440); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187206, 1293478468947808256); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187207, 1293478698393014272); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993074, 1310160670251028480); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993074, 1310160670297165824); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993068, 1310160774819221504); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993068, 1310160774848581632); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993071, 1310161223228067840); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993071, 1310161223257427968); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993073, 1310161356145561600); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993073, 1310161356158144512); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993067, 1310161474563346432); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993067, 1310161474580123648); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993067, 1310162766899712000); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993073, 1310163498042396672); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993071, 1310164330313945088); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993071, 1310164964761145344); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993068, 1310167306982133760); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993068, 1310167373478629376); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993074, 1310167756917706752); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993074, 1310167812844556288); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993066, 1317447995897155584); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993074, 1317449849376870400); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993067, 1317449931765583872); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993073, 1317449997456773120); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993070, 1317450181515415552); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993071, 1317450267221823488); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993072, 1317450395492028416); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993068, 1317450488903372800); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993069, 1317450579131240448); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990992966, 1471382975990992973); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990992967, 1471382975990992974); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990992968, 1471382975990992975); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990992969, 1471382975990992976); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990992970, 1471382975990992977); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990992971, 1471382975990992978); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990992982, 1471382975990992991); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990992987, 1471382975990992992); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990992983, 1471382975990992993); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990992984, 1471382975990992994); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990992985, 1471382975990992995); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990992986, 1471382975990992996); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990992988, 1471382975990992997); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990992989, 1471382975990992998); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993000, 1471382975990993006); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993001, 1471382975990993007); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993002, 1471382975990993008); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993003, 1471382975990993009); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993004, 1471382975990993010); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993012, 1471382975990993018); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993013, 1471382975990993019); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993014, 1471382975990993020); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993015, 1471382975990993021); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993016, 1471382975990993022); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993024, 1471382975990993033); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993025, 1471382975990993034); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993026, 1471382975990993035); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993027, 1471382975990993036); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993028, 1471382975990993037); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993029, 1471382975990993038); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993030, 1471382975990993039); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993031, 1471382975990993040); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1293376634916704262, 1471382975990993048); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993042, 1471382975990993048); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1293376634916704262, 1471382975990993049); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993043, 1471382975990993049); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1293376634916704262, 1471382975990993050); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993044, 1471382975990993050); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1293376634916704262, 1471382975990993051); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993045, 1471382975990993051); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1293376634916704262, 1471382975990993052); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975990993046, 1471382975990993052); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187209, 1471382975995187212); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187210, 1471382975995187213); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187215, 1471382975995187217); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187221, 1471382975995187229); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187225, 1471382975995187230); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187222, 1471382975995187231); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187223, 1471382975995187232); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187224, 1471382975995187233); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187226, 1471382975995187234); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187227, 1471382975995187235); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187237, 1471382975995187242); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187238, 1471382975995187243); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187239, 1471382975995187244); -INSERT INTO `zz_sys_menu_perm_code` VALUES (1471382975995187240, 1471382975995187245); -COMMIT; - --- ---------------------------- --- Table structure for zz_sys_operation_log --- ---------------------------- -DROP TABLE IF EXISTS `zz_sys_operation_log`; -CREATE TABLE `zz_sys_operation_log` ( - `log_id` bigint NOT NULL COMMENT '主键Id', - `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '日志描述', - `operation_type` int DEFAULT NULL COMMENT '操作类型', - `service_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '接口所在服务名称', - `api_class` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '调用的controller全类名', - `api_method` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '调用的controller中的方法', - `session_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '用户会话sessionId', - `trace_id` char(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '每次请求的Id', - `elapse` int DEFAULT NULL COMMENT '调用时长', - `request_method` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'HTTP 请求方法,如GET', - `request_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'HTTP 请求地址', - `request_arguments` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'controller接口参数', - `response_result` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'controller应答结果', - `request_ip` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '请求IP', - `success` bit(1) DEFAULT NULL COMMENT '应答状态', - `error_msg` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '错误信息', - `tenant_id` bigint DEFAULT NULL COMMENT '租户Id', - `operator_id` bigint DEFAULT NULL COMMENT '操作员Id', - `operator_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '操作员名称', - `operation_time` datetime DEFAULT NULL COMMENT '操作时间', - PRIMARY KEY (`log_id`), - KEY `idx_trace_id_idx` (`trace_id`), - KEY `idx_operation_type_idx` (`operation_type`), - KEY `idx_operation_time_idx` (`operation_time`) USING BTREE, - KEY `idx_success` (`success`) USING BTREE, - KEY `idx_elapse` (`elapse`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='系统操作日志表'; - --- ---------------------------- --- Table structure for zz_sys_perm --- ---------------------------- -DROP TABLE IF EXISTS `zz_sys_perm`; -CREATE TABLE `zz_sys_perm` ( - `perm_id` bigint NOT NULL COMMENT '权限id', - `module_id` bigint NOT NULL DEFAULT '0' COMMENT '权限所在的权限模块id', - `perm_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '权限名称', - `url` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '关联的url', - `show_order` int NOT NULL DEFAULT '0' COMMENT '权限在当前模块下的顺序,由小到大', - `create_user_id` bigint NOT NULL COMMENT '创建者', - `create_time` datetime NOT NULL COMMENT '创建时间', - `update_user_id` bigint NOT NULL COMMENT '更新者Id', - `update_time` datetime NOT NULL COMMENT '更新时间', - PRIMARY KEY (`perm_id`) USING BTREE, - KEY `idx_show_order` (`show_order`) USING BTREE, - KEY `idx_module_id` (`module_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=COMPACT COMMENT='系统权限表'; - --- ---------------------------- --- Records of zz_sys_perm --- ---------------------------- -BEGIN; -INSERT INTO `zz_sys_perm` VALUES (1293376634988007436, 1293376635289997312, '用户管理文件下载', '/admin/upms/sysUser/download', 12, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293376634988007437, 1293376635289997312, '用户管理文件上传', '/admin/upms/sysUser/upload', 11, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293376635331940352, 1293376635289997312, '新增', '/admin/upms/sysUser/add', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293376635331940365, 1293376635289997312, '编辑', '/admin/upms/sysUser/update', 2, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293376635331940379, 1293376635289997312, '删除', '/admin/upms/sysUser/delete', 3, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293376635357106176, 1293376635289997312, '显示列表', '/admin/upms/sysUser/list', 4, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293376635357106182, 1293376635289997312, '导出', '/admin/upms/sysUser/export', 5, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293376635357106188, 1293376635289997312, '详情', '/admin/upms/sysUser/view', 6, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293376635357106190, 1293376635289997312, '打印', '/admin/upms/sysUser/print', 7, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293376635373883392, 1293376635289997312, '重置密码', '/admin/upms/sysUser/resetPassword', 8, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293376760750018568, 1293397261417451520, '课程数据文件下载', '/admin/CourseClass/course/download', 11, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293378861102272520, 1293397261417451520, '课程数据文件上传', '/admin/CourseClass/course/upload', 10, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293396976896839680, 1293396976871673856, '新增', '/admin/CourseClass/student/add', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293396976896839695, 1293396976871673856, '编辑', '/admin/CourseClass/student/update', 2, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293396976896839711, 1293396976871673856, '删除', '/admin/CourseClass/student/delete', 3, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293396976913616896, 1293396976871673856, '显示列表', '/admin/CourseClass/student/list', 4, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293396976913616905, 1293396976871673856, '导出', '/admin/CourseClass/student/export', 5, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293396976913616914, 1293396976871673856, '详情', '/admin/CourseClass/student/view', 6, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293396976913616916, 1293396976871673856, '打印', '/admin/CourseClass/student/print', 7, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293397261434228736, 1293397261417451520, '新增', '/admin/CourseClass/course/add', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293397261434228748, 1293397261417451520, '编辑', '/admin/CourseClass/course/update', 2, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293397261434228761, 1293397261417451520, '删除', '/admin/CourseClass/course/delete', 3, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293397261451005952, 1293397261417451520, '显示列表', '/admin/CourseClass/course/list', 4, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293397261451005960, 1293397261417451520, '导出', '/admin/CourseClass/course/export', 5, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293397261451005968, 1293397261417451520, '详情', '/admin/CourseClass/course/view', 6, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293397261451005970, 1293397261417451520, '打印', '/admin/CourseClass/course/print', 7, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293397319433064448, 1293397319412092928, '新增', '/admin/CourseClass/studentClass/add', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293397319433064457, 1293397319412092928, '编辑', '/admin/CourseClass/studentClass/update', 2, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293397319433064467, 1293397319412092928, '删除', '/admin/CourseClass/studentClass/delete', 3, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293397319449841664, 1293397319412092928, '显示列表', '/admin/CourseClass/studentClass/list', 4, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293397319449841668, 1293397319412092928, '导出', '/admin/CourseClass/studentClass/export', 5, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293397319449841672, 1293397319412092928, '详情', '/admin/CourseClass/studentClass/view', 6, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293397319449841674, 1293397319412092928, '打印', '/admin/CourseClass/studentClass/print', 7, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293423774305095680, 1293423774284124160, '分组列表', '/admin/stats/courseTransStats/listWithGroup', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293423774330261504, 1293423774284124160, '显示列表', '/admin/stats/courseTransStats/list', 2, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293423774330261508, 1293423774284124160, '导出', '/admin/stats/courseTransStats/export', 3, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293423774330261512, 1293423774284124160, '详情', '/admin/stats/courseTransStats/view', 4, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293423774330261514, 1293423774284124160, '打印', '/admin/stats/courseTransStats/print', 5, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293423954664361984, 1293423954643390464, '分组列表', '/admin/stats/studentActionStats/listWithGroup', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293423954676944896, 1293423954643390464, '显示列表', '/admin/stats/studentActionStats/list', 2, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293423954676944901, 1293423954643390464, '导出', '/admin/stats/studentActionStats/export', 3, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293423954676944906, 1293423954643390464, '详情', '/admin/stats/studentActionStats/view', 4, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293423954676944908, 1293423954643390464, '打印', '/admin/stats/studentActionStats/print', 5, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293424012126326784, 1293424012109549568, '新增', '/admin/stats/studentActionTrans/add', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293424012126326799, 1293424012109549568, '编辑', '/admin/stats/studentActionTrans/update', 2, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293424012126326815, 1293424012109549568, '删除', '/admin/stats/studentActionTrans/delete', 3, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293424012151492608, 1293424012109549568, '显示列表', '/admin/stats/studentActionTrans/list', 4, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293424012151492614, 1293424012109549568, '导出', '/admin/stats/studentActionTrans/export', 5, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293424012151492620, 1293424012109549568, '详情', '/admin/stats/studentActionTrans/view', 6, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1293424012151492622, 1293424012109549568, '打印', '/admin/stats/studentActionTrans/print', 7, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1310160460917510144, 1293397319412092928, '新增班级课程', '/admin/CourseClass/studentClass/addClassCourse', 8, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1310160460917510147, 1293397319412092928, '详情班级课程', '/admin/CourseClass/studentClass/viewClassCourse', 9, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1310160460917510150, 1293397319412092928, '编辑班级课程', '/admin/CourseClass/studentClass/updateClassCourse', 10, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1310160460917510154, 1293397319412092928, '移除班级课程', '/admin/CourseClass/studentClass/deleteClassCourse', 11, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1310160460917510157, 1293397319412092928, '班级课程列表', '/admin/CourseClass/studentClass/listClassCourse', 12, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1310160460917510166, 1293397319412092928, '班级课程未关联列表', '/admin/CourseClass/studentClass/listNotInClassCourse', 13, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1310160477766029312, 1293397319412092928, '新增班级学生', '/admin/CourseClass/studentClass/addClassStudent', 14, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1310160477766029321, 1293397319412092928, '移除班级学生', '/admin/CourseClass/studentClass/deleteClassStudent', 15, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1310160477766029324, 1293397319412092928, '班级学生列表', '/admin/CourseClass/studentClass/listClassStudent', 16, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1310160477766029335, 1293397319412092928, '班级学生未关联列表', '/admin/CourseClass/studentClass/listNotInClassStudent', 17, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1450780378443812864, 1450780378422841344, '新增', '/admin/upms/sysDept/add', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1450780378443812873, 1450780378422841344, '编辑', '/admin/upms/sysDept/update', 2, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1450780378443812883, 1450780378422841344, '删除', '/admin/upms/sysDept/delete', 3, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1450780378510921728, 1450780378422841344, '显示列表', '/admin/upms/sysDept/list', 4, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1450780378510921731, 1450780378422841344, '导出', '/admin/upms/sysDept/export', 5, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1450780378510921734, 1450780378422841344, '详情', '/admin/upms/sysDept/view', 6, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1450780378510921736, 1450780378422841344, '打印', '/admin/upms/sysDept/print', 7, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410019, 1293376635289997312, '用户权限资源分配详情', '/admin/upms/sysUser/listSysPermWithDetail', 13, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410020, 1293376635289997312, '用户权限字分配详情', '/admin/upms/sysUser/listSysPermCodeWithDetail', 14, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410021, 1293376635289997312, '用户菜单分配详情', '/admin/upms/sysUser/listSysMenuWithDetail', 15, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410061, 1471382975978410060, '新增', '/admin/upms/sysRole/add', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410062, 1471382975978410060, '编辑', '/admin/upms/sysRole/update', 2, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410063, 1471382975978410060, '删除', '/admin/upms/sysRole/delete', 3, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410064, 1471382975978410060, '显示列表', '/admin/upms/sysRole/list', 4, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410065, 1471382975978410060, '详情', '/admin/upms/sysRole/view', 5, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410066, 1471382975978410060, '授权用户', '/admin/upms/sysRole/addUserRole', 6, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410067, 1471382975978410060, '移除用户', '/admin/upms/sysRole/deleteUserRole', 7, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410068, 1471382975978410060, '角色用户列表', '/admin/upms/sysRole/listUserRole', 8, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410069, 1471382975978410060, '角色未添加用户列表', '/admin/upms/sysRole/listNotInUserRole', 9, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410070, 1471382975978410060, '角色权限资源分配详情', '/admin/upms/sysRole/listSysPermWithDetail', 10, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410071, 1471382975978410060, '角色权限字分配详情', '/admin/upms/sysRole/listSysPermCodeWithDetail', 11, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410073, 1471382975978410072, '新增', '/admin/upms/sysDataPerm/add', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410074, 1471382975978410072, '编辑', '/admin/upms/sysDataPerm/update', 2, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410075, 1471382975978410072, '删除', '/admin/upms/sysDataPerm/delete', 3, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410076, 1471382975978410072, '显示列表', '/admin/upms/sysDataPerm/list', 4, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410077, 1471382975978410072, '详情', '/admin/upms/sysDataPerm/view', 5, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410078, 1471382975978410072, '授权用户', '/admin/upms/sysDataPerm/addDataPermUser', 5, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410079, 1471382975978410072, '移除用户', '/admin/upms/sysDataPerm/deleteDataPermUser', 6, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410080, 1471382975978410072, '数据权限用户列表', '/admin/upms/sysDataPerm/listDataPermUser', 7, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410081, 1471382975978410072, '数据权限未添加用户列表', '/admin/upms/sysDataPerm/listNotInDataPermUser', 8, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410083, 1471382975978410082, '新增', '/admin/upms/sysMenu/add', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410084, 1471382975978410082, '删除', '/admin/upms/sysMenu/delete', 2, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410085, 1471382975978410082, '编辑', '/admin/upms/sysMenu/update', 3, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410086, 1471382975978410082, '显示列表', '/admin/upms/sysMenu/list', 4, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410087, 1471382975978410082, '详情', '/admin/upms/sysMenu/view', 5, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410088, 1471382975978410082, '菜单权限资源分配详情', '/admin/upms/sysMenu/listSysPermWithDetail', 6, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410089, 1471382975978410082, '菜单用户分配详情', '/admin/upms/sysMenu/listSysUserWithDetail', 7, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410091, 1471382975978410090, '新增', '/admin/upms/sysPermCode/add', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410092, 1471382975978410090, '编辑', '/admin/upms/sysPermCode/update', 2, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410093, 1471382975978410090, '删除', '/admin/upms/sysPermCode/delete', 3, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410094, 1471382975978410090, '显示列表', '/admin/upms/sysPermCode/list', 4, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410095, 1471382975978410090, '详情', '/admin/upms/sysPermCode/view', 5, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410096, 1471382975978410090, '权限字用户分配详情', '/admin/upms/sysPermCode/listSysUserWithDetail', 6, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410097, 1471382975978410090, '权限字角色分配详情', '/admin/upms/sysPermCode/listSysRoleWithDetail', 7, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410099, 1471382975978410098, '新增', '/admin/upms/sysPermModule/add', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410100, 1471382975978410098, '编辑', '/admin/upms/sysPermModule/update', 2, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410101, 1471382975978410098, '删除', '/admin/upms/sysPermModule/delete', 3, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410102, 1471382975978410098, '显示列表', '/admin/upms/sysPermModule/list', 4, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410103, 1471382975978410098, '显示全部', '/admin/upms/sysPermModule/listAll', 5, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410105, 1471382975978410104, '新增', '/admin/upms/sysPerm/add', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410106, 1471382975978410104, '编辑', '/admin/upms/sysPerm/update', 2, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410107, 1471382975978410104, '删除', '/admin/upms/sysPerm/delete', 3, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410108, 1471382975978410104, '显示列表', '/admin/upms/sysPerm/list', 4, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410109, 1471382975978410104, '详情', '/admin/upms/sysPerm/view', 5, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410110, 1471382975978410104, '权限资源用户分配详情', '/admin/upms/sysPerm/listSysUserWithDetail', 6, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410111, 1471382975978410104, '权限资源角色分配详情', '/admin/upms/sysPerm/listSysRoleWithDetail', 7, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410112, 1471382975978410104, '权限资源菜单分配详情', '/admin/upms/sysPerm/listSysMenuWithDetail', 8, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410115, 1293378124750262272, '新增', '/admin/CourseClass/areaCode/add', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410116, 1293378124750262272, '编辑', '/admin/CourseClass/areaCode/update', 2, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410117, 1293378124750262272, '删除', '/admin/CourseClass/areaCode/delete', 3, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410118, 1293378124750262272, '同步缓存', '/admin/CourseClass/areaCode/reloadCachedData', 4, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410120, 1293378929620422656, '新增', '/admin/CourseClass/grade/add', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410121, 1293378929620422656, '编辑', '/admin/CourseClass/grade/update', 2, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410122, 1293378929620422656, '删除', '/admin/CourseClass/grade/delete', 3, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410123, 1293378929620422656, '同步缓存', '/admin/CourseClass/grade/reloadCachedData', 4, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410125, 1471382975978410124, '显示列表', '/admin/upms/sysOperationLog/list', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410127, 1471382975978410126, '显示列表', '/admin/upms/loginUser/list', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1471382975978410128, 1471382975978410126, '删除', '/admin/upms/loginUser/delete', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1476927661690327084, 1293376635289997312, '导入', '/admin/upms/sysUser/import', 9, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1476927661690327085, 1293396976871673856, '导入', '/admin/CourseClass/student/import', 8, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1476927661690327086, 1293397261417451520, '导入', '/admin/CourseClass/course/import', 8, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1476927661690327087, 1293397319412092928, '导入', '/admin/CourseClass/studentClass/import', 18, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1476927661690327088, 1293424012109549568, '导入', '/admin/stats/studentActionTrans/import', 8, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1476927661698716018, 1450780378422841344, '导入', '/admin/upms/sysDept/import', 8, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1483414879405608961, 1293397319412092928, '批量移除班级课程', '/admin/CourseClass/studentClass/deleteClassCourseList', 19, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1483414879539826689, 1293397319412092928, '批量移除班级学生', '/admin/CourseClass/studentClass/deleteClassStudentList', 20, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1483415036817838123, 1293376635289997312, '批量删除', '/admin/upms/sysUser/deleteBatch', 10, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1483415036817838124, 1293396976871673856, '批量删除', '/admin/CourseClass/student/deleteBatch', 9, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1483415036817838125, 1293397261417451520, '批量删除', '/admin/CourseClass/course/deleteBatch', 9, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1483415036817838126, 1293397319412092928, '批量删除', '/admin/CourseClass/studentClass/deleteBatch', 21, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1483415036817838127, 1293424012109549568, '批量删除', '/admin/stats/studentActionTrans/deleteBatch', 9, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm` VALUES (1483415036830421028, 1450780378422841344, '批量删除', '/admin/upms/sysDept/deleteBatch', 9, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -COMMIT; - --- ---------------------------- --- Table structure for zz_sys_perm_code --- ---------------------------- -DROP TABLE IF EXISTS `zz_sys_perm_code`; -CREATE TABLE `zz_sys_perm_code` ( - `perm_code_id` bigint NOT NULL COMMENT '主键Id', - `parent_id` bigint DEFAULT NULL COMMENT '上级权限字Id', - `perm_code` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '权限字标识(一般为有含义的英文字符串)', - `perm_code_type` int NOT NULL COMMENT '类型(0: 表单 1: UI片段 2: 操作)', - `show_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '显示名称', - `show_order` int NOT NULL COMMENT '显示顺序(数值越小,越靠前)', - `create_user_id` bigint NOT NULL COMMENT '创建者', - `create_time` datetime NOT NULL COMMENT '创建时间', - `update_user_id` bigint NOT NULL COMMENT '更新者Id', - `update_time` datetime NOT NULL COMMENT '更新时间', - PRIMARY KEY (`perm_code_id`) USING BTREE, - UNIQUE KEY `uk_perm_code` (`perm_code`) USING BTREE, - KEY `idx_parent_id` (`parent_id`) USING BTREE, - KEY `idx_show_order` (`show_order`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=COMPACT COMMENT='系统权限资源表'; - --- ---------------------------- --- Records of zz_sys_perm_code --- ---------------------------- -BEGIN; -INSERT INTO `zz_sys_perm_code` VALUES (1293429171057332224, NULL, 'formStudent', 0, '学生管理', 0, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293429171069915136, 1293429171057332224, 'formStudent:formStudent', 1, '学生管理', 0, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293429267132059648, NULL, 'formCreateStudent', 0, '新建学生', 10, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293429267153031168, 1293429267132059648, 'formCreateStudent:formCreateStudent', 1, '新建学生', 0, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293429656866787328, NULL, 'formEditStudent', 0, '编辑学生', 20, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293429656879370240, 1293429656866787328, 'formEditStudent:formEditStudent', 1, '编辑学生', 0, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293434467691532288, 1293429656879370240, 'formEditStudent:formEditStudent:cancel', 2, '取消', 0, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293434543608434688, 1293429656879370240, 'formEditStudent:formEditStudent:update', 2, '保存', 10, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293436368944369664, 1293429267153031168, 'formCreateStudent:formCreateStudent:cancel', 2, '取消', 0, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293436524536270848, 1293429267153031168, 'formCreateStudent:formCreateStudent:add', 2, '新增', 10, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293440313007804416, 1293429171069915136, 'formStudent:formStudent:formCreateStudent', 2, '新建', 0, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293440371212161024, 1293429171069915136, 'formStudent:formStudent:formEditStudent', 2, '编辑', 10, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293440523041771520, 1293429171069915136, 'formStudent:formStudent:delete', 2, '删除', 20, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293440813098864640, NULL, 'formCourse', 0, '课程管理', 30, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293440813111447552, 1293440813098864640, 'formCourse:formCourse', 1, '课程管理', 0, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293441007530020864, NULL, 'formCreateCourse', 0, '新建课程', 40, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293441007542603776, 1293441007530020864, 'formCreateCourse:formCreateCourse', 1, '新建课程', 0, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293441136060272640, NULL, 'formEditCourse', 0, '编辑课程', 50, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293441136077049856, 1293441136060272640, 'formEditCourse:formEditCourse', 1, '编辑课程', 0, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293441795115454464, 1293441007542603776, 'formCreateCourse:formCreateCourse:cancel', 2, '取消', 0, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293441892486221824, 1293441007542603776, 'formCreateCourse:formCreateCourse:add', 2, '保存', 10, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293442667975282688, 1293441136077049856, 'formEditCourse:formEditCourse:cancel', 2, '取消', 0, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293442766797279232, 1293441136077049856, 'formEditCourse:formEditCourse:update', 2, '保存', 10, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293444386415185920, 1293440813111447552, 'formCourse:formCourse:formCreateCourse', 2, '新建', 0, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293444441515757568, 1293440813111447552, 'formCourse:formCourse:formEditCourse', 2, '编辑', 10, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293444524432953344, 1293440813111447552, 'formCourse:formCourse:delete', 2, '删除', 20, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293463749084057600, NULL, 'formCourseStats', 0, '课程统计', 60, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293463749092446208, 1293463749084057600, 'formCourseStats:formCourseStats', 1, '课程统计', 0, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293473829191946240, NULL, 'formStudentActionStats', 0, '学生行为统计', 70, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293473829204529152, 1293473829191946240, 'formStudentActionStats:formStudentActionStats', 1, '学生行为统计', 0, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293475157104398336, NULL, 'formStudentActionDetail', 0, '学生行为详情', 80, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293475157112786944, 1293475157104398336, 'formStudentActionDetail:formStudentActionDetail', 1, '学生行为详情', 0, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293476824138911744, 1293473829204529152, 'formStudentActionStats:formStudentActionStats:formBuyCourseDetail', 2, '学生行为详情', 0, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293477488848015360, 1293473829204529152, 'formStudentActionStats:formStudentActionStats:formBuyVideoDetail', 2, '学生行为详情', 10, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293477691462258688, 1293473829204529152, 'formStudentActionStats:formStudentActionStats:formBuyFlowerDetail', 2, '学生行为详情', 20, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293477898908340224, 1293473829204529152, 'formStudentActionStats:formStudentActionStats:formBuyPaperDetail', 2, '学生行为详情', 30, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293478093347885056, 1293473829204529152, 'formStudentActionStats:formStudentActionStats:formBuyCoinDetail', 2, '学生行为详情', 40, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293478281131069440, 1293473829204529152, 'formStudentActionStats:formStudentActionStats:formDoCourseDetail', 2, '学生行为详情', 50, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293478468947808256, 1293473829204529152, 'formStudentActionStats:formStudentActionStats:formWatchVideoDetail', 2, '学生行为详情', 60, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1293478698393014272, 1293473829204529152, 'formStudentActionStats:formStudentActionStats:formRfreshDetail', 2, '学生行为详情', 70, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1310160670251028480, NULL, 'formCreateClass', 0, '新建班级', 90, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1310160670297165824, 1310160670251028480, 'formCreateClass:formCreateClass', 1, '新建班级', 0, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1310160774819221504, NULL, 'formEditClass', 0, '编辑班级', 100, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1310160774848581632, 1310160774819221504, 'formEditClass:formEditClass', 1, '编辑班级', 0, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1310161223228067840, NULL, 'formEditClassCourseOrder', 0, '编辑课程顺序', 110, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1310161223257427968, 1310161223228067840, 'formEditClassCourseOrder:formEditClassCourseOrder', 1, '编辑课程顺序', 0, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1310161356145561600, NULL, 'formSetClassStudent', 0, '设置班级学生', 120, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1310161356158144512, 1310161356145561600, 'formSetClassStudent:formSetClassStudent', 1, '设置班级学生', 0, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1310161474563346432, NULL, 'formSetClassCourse', 0, '设置班级课程', 130, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1310161474580123648, 1310161474563346432, 'formSetClassCourse:formSetClassCourse', 1, '设置班级课程', 0, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1310162766899712000, 1310161474580123648, 'formSetClassCourse:formSetClassCourse:addClassCourse', 2, '添加', 0, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1310163498042396672, 1310161356158144512, 'formSetClassStudent:formSetClassStudent:addClassStudent', 2, '添加', 0, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1310164330313945088, 1310161223257427968, 'formEditClassCourseOrder:formEditClassCourseOrder:cancel', 2, '取消', 0, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1310164964761145344, 1310161223257427968, 'formEditClassCourseOrder:formEditClassCourseOrder:updateClassCourse', 2, '保存', 10, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1310167306982133760, 1310160774848581632, 'formEditClass:formEditClass:cancel', 2, '取消', 0, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1310167373478629376, 1310160774848581632, 'formEditClass:formEditClass:update', 2, '保存', 10, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1310167756917706752, 1310160670297165824, 'formCreateClass:formCreateClass:cancel', 2, '取消', 0, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1310167812844556288, 1310160670297165824, 'formCreateClass:formCreateClass:add', 2, '保存', 10, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1317447995888766976, NULL, 'formClass', 0, '班级管理', 140, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1317447995897155584, 1317447995888766976, 'formClass:formClass', 1, '班级管理', 0, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1317449849376870400, 1317447995897155584, 'formClass:formClass:formCreateClass', 2, '新建', 70, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1317449931765583872, 1317447995897155584, 'formClass:formClass:formSetClassCourse', 2, '设置班级课程', 0, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1317449997456773120, 1317447995897155584, 'formClass:formClass:formSetClassStudent', 2, '设置班级学生', 60, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1317450181515415552, 1317447995897155584, 'formClass:formClass:deleteClassCourse', 2, '移除', 30, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1317450267221823488, 1317447995897155584, 'formClass:formClass:formEditClassCourseOrder', 2, '课程顺序', 40, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1317450395492028416, 1317447995897155584, 'formClass:formClass:deleteClassStudent', 2, '移除', 50, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1317450488903372800, 1317447995897155584, 'formClass:formClass:formEditClass', 2, '编辑', 10, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1317450579131240448, 1317447995897155584, 'formClass:formClass:delete', 2, '删除', 20, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990992972, NULL, 'formSysUser', 0, '用户管理', 10000, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990992973, 1471382975990992972, 'formSysUser:fragmentSysUser', 1, '用户管理', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990992974, 1471382975990992973, 'formSysUser:fragmentSysUser:add', 2, '新增', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990992975, 1471382975990992973, 'formSysUser:fragmentSysUser:update', 2, '编辑', 2, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990992976, 1471382975990992973, 'formSysUser:fragmentSysUser:delete', 2, '删除', 3, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990992977, 1471382975990992973, 'formSysUser:fragmentSysUser:resetPassword', 2, '重置密码', 4, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990992978, 1471382975990992973, 'formSysUser:fragmentSysUser:listSysUserPermDetail', 2, '权限详情', 5, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990992990, NULL, 'formSysRole', 0, '角色管理', 10200, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990992991, 1471382975990992990, 'formSysRole:fragmentSysRole', 1, '角色管理', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990992992, 1471382975990992990, 'formSysRole:fragmentSysRoleUser', 1, '用户授权', 2, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990992993, 1471382975990992991, 'formSysRole:fragmentSysRole:add', 2, '新增', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990992994, 1471382975990992991, 'formSysRole:fragmentSysRole:update', 2, '编辑', 2, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990992995, 1471382975990992991, 'formSysRole:fragmentSysRole:delete', 2, '删除', 3, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990992996, 1471382975990992991, 'formSysRole:fragmentSysRole:listSysRolePermDetail', 2, '权限详情', 4, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990992997, 1471382975990992992, 'formSysRole:fragmentSysRoleUser:addUserRole', 2, '授权用户', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990992998, 1471382975990992992, 'formSysRole:fragmentSysRoleUser:deleteUserRole', 2, '移除用户', 2, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990993005, NULL, 'formSysMenu', 0, '菜单管理', 10600, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990993006, 1471382975990993005, 'formSysMenu:fragmentSysMenu', 1, '菜单管理', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990993007, 1471382975990993006, 'formSysMenu:fragmentSysMenu:add', 2, '新增', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990993008, 1471382975990993006, 'formSysMenu:fragmentSysMenu:update', 2, '编辑', 2, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990993009, 1471382975990993006, 'formSysMenu:fragmentSysMenu:delete', 2, '删除', 3, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990993010, 1471382975990993006, 'formSysMenu:fragmentSysMenu:listSysMenuPermDetail', 2, '权限详情', 4, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990993017, NULL, 'formSysPermCode', 0, '权限字管理', 10700, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990993018, 1471382975990993017, 'formSysPermCode:fragmentSysPermCode', 1, '权限字管理', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990993019, 1471382975990993018, 'formSysPermCode:fragmentSysPermCode:add', 2, '新增', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990993020, 1471382975990993018, 'formSysPermCode:fragmentSysPermCode:update', 2, '编辑', 2, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990993021, 1471382975990993018, 'formSysPermCode:fragmentSysPermCode:delete', 2, '删除', 3, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990993022, 1471382975990993018, 'formSysPermCode:fragmentSysPermCode:listSysPermCodePermDetail', 2, '权限详情', 4, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990993032, NULL, 'formSysPerm', 0, '权限管理', 10800, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990993033, 1471382975990993032, 'formSysPerm:fragmentSysPerm', 1, '权限管理', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990993034, 1471382975990993033, 'formSysPerm:fragmentSysPerm:addPermModule', 2, '新增模块', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990993035, 1471382975990993033, 'formSysPerm:fragmentSysPerm:updatePermModule', 2, '编辑模块', 2, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990993036, 1471382975990993033, 'formSysPerm:fragmentSysPerm:deletePermModule', 2, '删除模块', 3, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990993037, 1471382975990993033, 'formSysPerm:fragmentSysPerm:addPerm', 2, '新增权限', 4, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990993038, 1471382975990993033, 'formSysPerm:fragmentSysPerm:updatePerm', 2, '编辑权限', 5, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990993039, 1471382975990993033, 'formSysPerm:fragmentSysPerm:deletePerm', 2, '删除权限', 6, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990993040, 1471382975990993033, 'formSysPerm:fragmentSysPerm:listSysPermPermDetail', 2, '权限详情', 7, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990993047, NULL, 'formSysDict', 0, '字典管理', 10900, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990993048, 1471382975990993047, 'formSysDict:fragmentSysDict', 1, '字典管理', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990993049, 1471382975990993048, 'formSysDict:fragmentSysDict:add', 2, '新增', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990993050, 1471382975990993048, 'formSysDict:fragmentSysDict:update', 2, '编辑', 2, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990993051, 1471382975990993048, 'formSysDict:fragmentSysDict:delete', 2, '删除', 3, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975990993052, 1471382975990993048, 'formSysDict:fragmentSysDict:reloadCache', 2, '同步缓存', 4, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975995187211, NULL, 'formSysLoginUser', 0, '在线用户', 11200, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975995187212, 1471382975995187211, 'formSysLoginUser:fragmentLoginUser', 1, '在线用户', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975995187213, 1471382975995187212, 'formSysLoginUser:fragmentLoginUser:delete', 2, '强制下线', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975995187216, NULL, 'formSysOperationLog', 0, '操作日志', 11100, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975995187217, 1471382975995187216, 'formSysOperationLog:fragmentSysOperationLog', 1, '操作日志', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975995187228, NULL, 'formSysDataPerm', 0, '数据权限管理', 10400, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975995187229, 1471382975995187228, 'formSysDataPerm:fragmentSysDataPerm', 1, '数据权限管理', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975995187230, 1471382975995187228, 'formSysDataPerm:fragmentSysDataPermUser', 1, '用户授权', 2, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975995187231, 1471382975995187229, 'formSysDataPerm:fragmentSysDataPerm:add', 2, '新增', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975995187232, 1471382975995187229, 'formSysDataPerm:fragmentSysDataPerm:update', 2, '编辑', 2, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975995187233, 1471382975995187229, 'formSysDataPerm:fragmentSysDataPerm:delete', 2, '删除', 3, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975995187234, 1471382975995187230, 'formSysDataPerm:fragmentSysDataPermUser:addDataPermUser', 2, '授权用户', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975995187235, 1471382975995187230, 'formSysDataPerm:fragmentSysDataPermUser:deleteDataPermUser', 2, '移除用户', 2, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975995187241, NULL, 'formSysDept', 0, '部门管理', 10100, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975995187242, 1471382975995187241, 'formSysDept:fragmentSysDept', 1, '部门管理', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975995187243, 1471382975995187242, 'formSysDept:fragmentSysDept:add', 2, '新增', 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975995187244, 1471382975995187242, 'formSysDept:fragmentSysDept:update', 2, '编辑', 2, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_code` VALUES (1471382975995187245, 1471382975995187242, 'formSysDept:fragmentSysDept:delete', 2, '删除', 3, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -COMMIT; - --- ---------------------------- --- Table structure for zz_sys_perm_code_perm --- ---------------------------- -DROP TABLE IF EXISTS `zz_sys_perm_code_perm`; -CREATE TABLE `zz_sys_perm_code_perm` ( - `perm_code_id` bigint NOT NULL COMMENT '权限字Id', - `perm_id` bigint NOT NULL COMMENT '权限id', - PRIMARY KEY (`perm_code_id`,`perm_id`), - KEY `idx_perm_id` (`perm_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=COMPACT COMMENT='系统权限字和权限资源关联表'; - --- ---------------------------- --- Records of zz_sys_perm_code_perm --- ---------------------------- -BEGIN; -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990992974, 1293376635331940352); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990992975, 1293376635331940365); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990992976, 1293376635331940379); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990992973, 1293376635357106176); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990992973, 1293376635357106182); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990992975, 1293376635357106188); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990992975, 1293376635357106190); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990992977, 1293376635373883392); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1293440813111447552, 1293376760750018568); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1293441136077049856, 1293376760750018568); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1293441892486221824, 1293378861102272520); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1293442766797279232, 1293378861102272520); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1293436524536270848, 1293396976896839680); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1293434543608434688, 1293396976896839695); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1293440523041771520, 1293396976896839711); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1293429171069915136, 1293396976913616896); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1293429656879370240, 1293396976913616914); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1293441892486221824, 1293397261434228736); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1293442766797279232, 1293397261434228748); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1293444524432953344, 1293397261434228761); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1293440813111447552, 1293397261451005952); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1293441136077049856, 1293397261451005968); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1310167812844556288, 1293397319433064448); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1310167373478629376, 1293397319433064457); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317450579131240448, 1293397319433064467); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317447995897155584, 1293397319449841664); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1310160774848581632, 1293397319449841672); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1293463749092446208, 1293423774305095680); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1293463749092446208, 1293423774330261504); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1293473829204529152, 1293423954664361984); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1293473829204529152, 1293423954676944896); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1293475157112786944, 1293424012151492608); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1310162766899712000, 1310160460917510144); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1310161223257427968, 1310160460917510147); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1310164964761145344, 1310160460917510150); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317450181515415552, 1310160460917510154); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317447995897155584, 1310160460917510157); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1310161474580123648, 1310160460917510166); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1310163498042396672, 1310160477766029312); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317450395492028416, 1310160477766029321); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1317447995897155584, 1310160477766029324); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1310161356158144512, 1310160477766029335); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975995187243, 1450780378443812864); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975995187244, 1450780378443812873); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975995187245, 1450780378443812883); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990992974, 1450780378510921728); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990992975, 1450780378510921728); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975995187242, 1450780378510921728); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975995187242, 1450780378510921731); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975995187244, 1450780378510921734); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975995187244, 1450780378510921736); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990992978, 1471382975978410019); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990992978, 1471382975978410020); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990992978, 1471382975978410021); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990992993, 1471382975978410061); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990992994, 1471382975978410062); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990992995, 1471382975978410063); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990992974, 1471382975978410064); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990992975, 1471382975978410064); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990992991, 1471382975978410064); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990992994, 1471382975978410065); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990992997, 1471382975978410066); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990992998, 1471382975978410067); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990992992, 1471382975978410068); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990992997, 1471382975978410069); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990992996, 1471382975978410070); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990992996, 1471382975978410071); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975995187231, 1471382975978410073); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975995187232, 1471382975978410074); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975995187233, 1471382975978410075); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990992974, 1471382975978410076); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990992975, 1471382975978410076); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975995187229, 1471382975978410076); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975995187232, 1471382975978410077); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975995187234, 1471382975978410078); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975995187235, 1471382975978410079); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975995187230, 1471382975978410080); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975995187234, 1471382975978410081); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993007, 1471382975978410083); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993009, 1471382975978410084); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993008, 1471382975978410085); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990992993, 1471382975978410086); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990992994, 1471382975978410086); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993006, 1471382975978410086); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993008, 1471382975978410087); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993010, 1471382975978410088); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993010, 1471382975978410089); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993019, 1471382975978410091); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993020, 1471382975978410092); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993021, 1471382975978410093); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993007, 1471382975978410094); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993008, 1471382975978410094); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993018, 1471382975978410094); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993020, 1471382975978410095); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993022, 1471382975978410096); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993022, 1471382975978410097); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993034, 1471382975978410099); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993035, 1471382975978410100); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993036, 1471382975978410101); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993033, 1471382975978410102); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993019, 1471382975978410103); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993020, 1471382975978410103); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993033, 1471382975978410103); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993037, 1471382975978410105); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993038, 1471382975978410106); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993039, 1471382975978410107); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993033, 1471382975978410108); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993038, 1471382975978410109); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993040, 1471382975978410110); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993040, 1471382975978410111); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993040, 1471382975978410112); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993048, 1471382975978410115); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993048, 1471382975978410116); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993048, 1471382975978410117); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993048, 1471382975978410118); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993048, 1471382975978410120); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993048, 1471382975978410121); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993048, 1471382975978410122); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975990993048, 1471382975978410123); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975995187217, 1471382975978410125); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975995187212, 1471382975978410127); -INSERT INTO `zz_sys_perm_code_perm` VALUES (1471382975995187213, 1471382975978410128); -COMMIT; - --- ---------------------------- --- Table structure for zz_sys_perm_module --- ---------------------------- -DROP TABLE IF EXISTS `zz_sys_perm_module`; -CREATE TABLE `zz_sys_perm_module` ( - `module_id` bigint NOT NULL COMMENT '权限模块id', - `parent_id` bigint DEFAULT '0' COMMENT '上级权限模块id', - `module_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '权限模块名称', - `module_type` int NOT NULL COMMENT '模块类型(0: 普通模块 1: Controller模块)', - `show_order` int NOT NULL DEFAULT '0' COMMENT '权限模块在当前层级下的顺序,由小到大', - `create_user_id` bigint NOT NULL COMMENT '创建者', - `create_time` datetime NOT NULL COMMENT '创建时间', - `update_user_id` bigint NOT NULL COMMENT '更新者Id', - `update_time` datetime NOT NULL COMMENT '更新时间', - PRIMARY KEY (`module_id`) USING BTREE, - KEY `idx_show_order` (`show_order`) USING BTREE, - KEY `idx_parent_id` (`parent_id`) USING BTREE, - KEY `idx_module_type` (`module_type`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=COMPACT COMMENT='系统权限模块表'; - --- ---------------------------- --- Records of zz_sys_perm_module --- ---------------------------- -BEGIN; -INSERT INTO `zz_sys_perm_module` VALUES (1293376634891538435, NULL, '用户权限', 0, 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_module` VALUES (1293376634933481472, NULL, '系统配置', 0, 2, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_module` VALUES (1293376634933481473, NULL, '缺省分组', 0, 3, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_module` VALUES (1293376635289997312, 1293376634891538435, '用户管理', 1, 5, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_module` VALUES (1293378124750262272, 1471382975978410113, '行政区划', 1, 1, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_module` VALUES (1293378929620422656, 1471382975978410113, '年级', 1, 2, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_module` VALUES (1293396976871673856, 1293376634933481473, '学生数据', 1, 5, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_module` VALUES (1293397261417451520, 1293376634933481473, '课程数据', 1, 0, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_module` VALUES (1293397319412092928, 1293376634933481473, '班级数据', 1, 10, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_module` VALUES (1293423774284124160, 1293376634933481473, '课程统计', 1, 15, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_module` VALUES (1293423954643390464, 1293376634933481473, '学生行为统计', 1, 20, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_module` VALUES (1293424012109549568, 1293376634933481473, '学生行为流水', 1, 25, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_module` VALUES (1450780378422841344, 1293376634891538435, '部门管理', 1, 0, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_module` VALUES (1471382975978410060, 1293376634891538435, '角色管理', 1, 10, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_module` VALUES (1471382975978410072, 1293376634891538435, '数据权限管理', 1, 15, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_module` VALUES (1471382975978410082, 1293376634891538435, '菜单管理', 1, 20, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_module` VALUES (1471382975978410090, 1293376634891538435, '权限字管理', 1, 25, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_module` VALUES (1471382975978410098, 1293376634891538435, '权限模块管理', 1, 30, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_module` VALUES (1471382975978410104, 1293376634891538435, '权限资源管理', 1, 35, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_module` VALUES (1471382975978410113, 1293376634933481472, '字典管理', 0, 0, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_module` VALUES (1471382975978410124, 1293376634933481472, '操作日志', 1, 5, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -INSERT INTO `zz_sys_perm_module` VALUES (1471382975978410126, 1293376634933481472, '在线用户', 1, 10, 1293376634887344128, '2022-02-27 00:00:00', 1293376634887344128, '2022-02-27 00:00:00'); -COMMIT; - --- ---------------------------- --- Table structure for zz_sys_perm_whitelist --- ---------------------------- -DROP TABLE IF EXISTS `zz_sys_perm_whitelist`; -CREATE TABLE `zz_sys_perm_whitelist` ( - `perm_url` varchar(512) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '权限资源的url', - `module_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '权限资源所属模块名字(通常是Controller的名字)', - `perm_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '权限的名称', - PRIMARY KEY (`perm_url`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='权限资源白名单表(认证用户均可访问的url资源)'; - --- ---------------------------- --- Records of zz_sys_perm_whitelist --- ---------------------------- -BEGIN; -INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/CourseClass/areaCode/listAll', '行政区划', '字典全部列表'); -INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/CourseClass/areaCode/listDict', '行政区划', '行政区划列表'); -INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/CourseClass/areaCode/listDictByIds', '行政区划', '行政区划批量Id列表'); -INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/CourseClass/areaCode/listDictByParentId', '行政区划', '行政区划过滤列表'); -INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/CourseClass/course/listDict', '课程数据', '课程字典列表'); -INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/CourseClass/course/listDictByIds', '课程数据', '课程字典批量Id列表'); -INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/CourseClass/grade/listAll', '年级', '字典全部列表'); -INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/CourseClass/grade/listDict', '年级', '字典列表'); -INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/CourseClass/grade/listDictByIds', '年级', '字典批量Id列表'); -INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/CourseClass/student/listDict', '学生数据', '学生字典列表'); -INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/CourseClass/student/listDictByIds', '学生数据', '学生字典批量Id列表'); -INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/upms/login/changeHeadImage', '系统管理', '修改头像'); -INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/upms/login/changePassword', '系统管理', '修改密码'); -INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/upms/login/doLogout', '登录模块', '退出登陆'); -INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/upms/login/downloadHeadImage', '系统管理', '下载头像'); -INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/upms/login/getLoginInfo', '登录模块', '获取登录信息'); -INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/upms/sysDept/listDict', '部门管理', '部门字典字典列表'); -INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/upms/sysDept/listDictByIds', '部门管理', '部门字典字典批量Id列表'); -INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/upms/sysDept/listDictByParentId', '部门管理', '部门字典下一级字典列表'); -INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/upms/sysRole/listDict', '系统管理', '角色字典接口'); -INSERT INTO `zz_sys_perm_whitelist` VALUES ('/admin/upms/sysRole/listDictByIds', '系统管理', '角色字典接口'); -COMMIT; - --- ---------------------------- --- Table structure for zz_sys_role --- ---------------------------- -DROP TABLE IF EXISTS `zz_sys_role`; -CREATE TABLE `zz_sys_role` ( - `role_id` bigint NOT NULL COMMENT '主键Id', - `role_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '角色名称', - `create_user_id` bigint NOT NULL COMMENT '创建者', - `create_time` datetime NOT NULL COMMENT '创建时间', - `update_user_id` bigint NOT NULL COMMENT '更新者Id', - `update_time` datetime NOT NULL COMMENT '更新时间', - PRIMARY KEY (`role_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='系统角色表'; - --- ---------------------------- --- Table structure for zz_sys_role_menu --- ---------------------------- -DROP TABLE IF EXISTS `zz_sys_role_menu`; -CREATE TABLE `zz_sys_role_menu` ( - `role_id` bigint NOT NULL COMMENT '角色Id', - `menu_id` bigint NOT NULL COMMENT '菜单Id', - PRIMARY KEY (`role_id`,`menu_id`) USING BTREE, - KEY `idx_menu_id` (`menu_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=COMPACT COMMENT='角色与菜单对应关系表'; - --- ---------------------------- --- Table structure for zz_sys_user --- ---------------------------- -DROP TABLE IF EXISTS `zz_sys_user`; -CREATE TABLE `zz_sys_user` ( - `user_id` bigint NOT NULL COMMENT '主键Id', - `login_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '用户登录名称', - `password` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '密码', - `show_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '用户显示名称', - `dept_id` bigint NOT NULL COMMENT '用户所在部门Id', - `user_type` int NOT NULL COMMENT '用户类型(0: 管理员 1: 系统管理用户 2: 系统业务用户)', - `head_image_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '用户头像的Url', - `user_status` int NOT NULL COMMENT '状态(0: 正常 1: 锁定)', - `teacher_id` bigint DEFAULT NULL COMMENT '老师id', - `create_user_id` bigint NOT NULL COMMENT '创建者', - `create_time` datetime NOT NULL COMMENT '创建时间', - `update_user_id` bigint NOT NULL COMMENT '更新者Id', - `update_time` datetime NOT NULL COMMENT '最后更新时间', - `deleted_flag` int NOT NULL COMMENT '删除标记(1: 正常 -1: 已删除)', - PRIMARY KEY (`user_id`) USING BTREE, - UNIQUE KEY `uk_login_name` (`login_name`) USING BTREE, - KEY `idx_dept_id` (`dept_id`) USING BTREE, - KEY `idx_status` (`user_status`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='系统用户表'; - --- ---------------------------- --- Records of zz_sys_user --- ---------------------------- -BEGIN; -INSERT INTO `zz_sys_user` VALUES (1014065909648330753, 'admin', '$2a$10$DDltNLYmTOfpb.LBxOxHB.dsihIkSHLcu2iKpjlC3ArCHnhZ1wlqS', '管理员', 1014065909648330752, 0, NULL, 0, NULL, 1014065909648330753, '2020-10-22 00:00:00', 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_sys_user` VALUES (1015820835156135936, 'dazhuang', '$2a$10$DDltNLYmTOfpb.LBxOxHB.dsihIkSHLcu2iKpjlC3ArCHnhZ1wlqS', '大壮', 1015817732197453824, 4, NULL, 0, NULL, 1014065909648330753, '2020-10-22 00:00:00', 1014065909648330753, '2020-11-01 14:55:18', 1); -INSERT INTO `zz_sys_user` VALUES (1015836614618517504, 'pingping', '$2a$10$DDltNLYmTOfpb.LBxOxHB.dsihIkSHLcu2iKpjlC3ArCHnhZ1wlqS', '张萍', 1015818056597508096, 1, NULL, 0, NULL, 1014065909648330753, '2020-10-22 00:00:00', 1014065909648330753, '2020-11-01 14:55:00', 1); -INSERT INTO `zz_sys_user` VALUES (1015836821309624320, 'shuxue', '$2a$10$DDltNLYmTOfpb.LBxOxHB.dsihIkSHLcu2iKpjlC3ArCHnhZ1wlqS', '数学老师', 1015818056597508096, 4, NULL, 0, NULL, 1014065909648330753, '2020-10-22 00:00:00', 1014065909648330753, '2020-11-01 14:55:20', 1); -INSERT INTO `zz_sys_user` VALUES (1015836926548905984, 'yingyu', '$2a$10$DDltNLYmTOfpb.LBxOxHB.dsihIkSHLcu2iKpjlC3ArCHnhZ1wlqS', '英语老师', 1015818056597508096, 4, NULL, 0, NULL, 1014065909648330753, '2020-10-22 00:00:00', 1014065909648330753, '2020-10-22 00:00:00', 1); -INSERT INTO `zz_sys_user` VALUES (1015837043205083136, 'yuwen', '$2a$10$DDltNLYmTOfpb.LBxOxHB.dsihIkSHLcu2iKpjlC3ArCHnhZ1wlqS', '语文老师', 1015818056597508096, 4, NULL, 0, NULL, 1014065909648330753, '2020-10-22 00:00:00', 1014065909648330753, '2020-10-22 09:51:44', 1); -INSERT INTO `zz_sys_user` VALUES (1022708397548244992, 'beijing', '$2a$10$DDltNLYmTOfpb.LBxOxHB.dsihIkSHLcu2iKpjlC3ArCHnhZ1wlqS', '北京管理员', 1015817732197453824, 2, NULL, 0, NULL, 1014065909648330753, '2020-10-22 00:00:00', 1014065909648330753, '2020-11-01 14:55:14', 1); -INSERT INTO `zz_sys_user` VALUES (1022708507363512320, 'tianjin', '$2a$10$DDltNLYmTOfpb.LBxOxHB.dsihIkSHLcu2iKpjlC3ArCHnhZ1wlqS', '天津管理员', 1015818056597508096, 2, NULL, 0, NULL, 1014065909648330753, '2020-10-22 00:00:00', 1014065909648330753, '2020-11-01 14:54:57', 1); -INSERT INTO `zz_sys_user` VALUES (1022708776776241152, 'beijingAssistant', '$2a$10$DDltNLYmTOfpb.LBxOxHB.dsihIkSHLcu2iKpjlC3ArCHnhZ1wlqS', '北京助教', 1015817732197453824, 3, NULL, 0, NULL, 1014065909648330753, '2020-10-22 00:00:00', 1014065909648330753, '2020-11-01 14:55:12', 1); -INSERT INTO `zz_sys_user` VALUES (1022708983702228992, 'tianjinAssistant', '$2a$10$DDltNLYmTOfpb.LBxOxHB.dsihIkSHLcu2iKpjlC3ArCHnhZ1wlqS', '天津助教', 1015818056597508096, 3, NULL, 0, NULL, 1014065909648330753, '2020-10-22 00:00:00', 1014065909648330753, '2020-11-01 14:55:09', 1); -INSERT INTO `zz_sys_user` VALUES (1026350428866740296, 'tiantian', '$2a$10$DDltNLYmTOfpb.LBxOxHB.dsihIkSHLcu2iKpjlC3ArCHnhZ1wlqS', '天天', 1015817732197453824, 1, NULL, 0, NULL, 1014065909648330753, '2020-10-22 00:00:00', 1014065909648330753, '2020-11-01 14:55:25', 1); -COMMIT; - --- ---------------------------- --- Table structure for zz_sys_user_role --- ---------------------------- -DROP TABLE IF EXISTS `zz_sys_user_role`; -CREATE TABLE `zz_sys_user_role` ( - `user_id` bigint NOT NULL COMMENT '用户Id', - `role_id` bigint NOT NULL COMMENT '角色Id', - PRIMARY KEY (`user_id`,`role_id`) USING BTREE, - KEY `idx_role_id` (`role_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='用户与角色对应关系表'; - --- ---------------------------- --- Table structure for zz_teacher --- ---------------------------- -DROP TABLE IF EXISTS `zz_teacher`; -CREATE TABLE `zz_teacher` ( - `teacher_id` bigint NOT NULL COMMENT '主键Id', - `teacher_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '教师名称', - `birthday` date NOT NULL COMMENT '教师生日', - `gender` int NOT NULL COMMENT '教师性别(0: 女 1: 男)', - `subject_id` int NOT NULL COMMENT '所教的科目Id', - `level` int NOT NULL COMMENT '教师职级(0: 初级 1: 中级 2: 高级)', - `flower_count` int DEFAULT '0' COMMENT '鲜花数量', - `school_id` bigint NOT NULL COMMENT '校区Id', - `user_id` bigint NOT NULL COMMENT '用户Id', - `register_date` datetime NOT NULL COMMENT '入职时间', - `available` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否在职', - PRIMARY KEY (`teacher_id`) USING BTREE, - KEY `idx_subject_id` (`subject_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_teacher --- ---------------------------- -BEGIN; -INSERT INTO `zz_teacher` VALUES (1015836481935904768, '李梅', '1996-07-18', 0, 0, 1, 78, 1015817732197453824, 1015820835156135936, '2020-10-22 00:00:00', b'1'); -INSERT INTO `zz_teacher` VALUES (1015836614618517504, '李萍萍', '1989-03-14', 0, 2, 2, 96, 1015817732197453824, 1022708397548244992, '2020-10-22 00:00:00', b'1'); -INSERT INTO `zz_teacher` VALUES (1015836821309624320, '数学老师', '2001-06-29', 1, 1, 0, 87, 1015817732197453824, 1015820835156135936, '2020-10-22 00:00:00', b'1'); -INSERT INTO `zz_teacher` VALUES (1015836926548905984, '英语老师', '1999-07-31', 1, 2, 1, 0, 1015818056597508096, 1015836926548905984, '2020-10-22 00:00:00', b'1'); -INSERT INTO `zz_teacher` VALUES (1015837043205083136, '语文老师', '1984-04-17', 0, 0, 2, 203, 1015817732197453824, 1015820835156135936, '2020-10-22 00:00:00', b'1'); -COMMIT; - --- ---------------------------- --- Table structure for zz_teacher_stats --- ---------------------------- -DROP TABLE IF EXISTS `zz_teacher_stats`; -CREATE TABLE `zz_teacher_stats` ( - `stats_id` bigint NOT NULL COMMENT '主键Id', - `stats_date` date NOT NULL COMMENT '统计日期', - `stats_month` date NOT NULL COMMENT '统计月份', - `province_id` bigint NOT NULL COMMENT '省份Id', - `city_id` bigint NOT NULL COMMENT '城市Id', - `school_id` bigint NOT NULL COMMENT '学校Id', - `video_watch_count` int NOT NULL COMMENT '视频观看数量', - `flower_count` int NOT NULL COMMENT '献花数量', - `new_student` int NOT NULL COMMENT '新增学生数量', - PRIMARY KEY (`stats_id`) USING BTREE, - UNIQUE KEY `uk_stats_date_teacher_id` (`stats_date`,`school_id`) USING BTREE, - KEY `idx_school_id` (`school_id`) USING BTREE, - KEY `idx_province_id` (`province_id`) USING BTREE, - KEY `idx_city_id` (`city_id`) USING BTREE, - KEY `idx_stats_month` (`stats_month`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_teacher_stats --- ---------------------------- -BEGIN; -INSERT INTO `zz_teacher_stats` VALUES (1018047146012446721, '2020-01-12', '2020-01-12', 110000000000, 110000000000, 1015817732197453824, 523, 678, 54); -INSERT INTO `zz_teacher_stats` VALUES (1018047146012446722, '2020-01-12', '2020-01-12', 120000000000, 120000000000, 1015818056597508096, 467, 812, 37); -INSERT INTO `zz_teacher_stats` VALUES (1018047146012446723, '2020-01-12', '2020-01-12', 330000000000, 330100000000, 1015818992220901376, 612, 599, 44); -INSERT INTO `zz_teacher_stats` VALUES (1018047146012446724, '2020-01-13', '2020-01-13', 110000000000, 110000000000, 1015817732197453824, 347, 648, 66); -INSERT INTO `zz_teacher_stats` VALUES (1018047146012446725, '2020-01-13', '2020-01-13', 120000000000, 120000000000, 1015818056597508096, 509, 716, 23); -INSERT INTO `zz_teacher_stats` VALUES (1018047146012446726, '2020-01-13', '2020-01-13', 330000000000, 330100000000, 1015818992220901376, 98, 1203, 55); -INSERT INTO `zz_teacher_stats` VALUES (1018047146012446763, '2020-01-18', '2020-01-18', 110000000000, 110000000000, 1015817732197453824, 678, 2022, 103); -INSERT INTO `zz_teacher_stats` VALUES (1018047146012446764, '2020-01-18', '2020-01-18', 120000000000, 120000000000, 1015818056597508096, 1267, 1039, 98); -INSERT INTO `zz_teacher_stats` VALUES (1018047146016641024, '2020-01-18', '2020-01-18', 330000000000, 330100000000, 1015818992220901376, 872, 2023, 164); -INSERT INTO `zz_teacher_stats` VALUES (1018047146016641025, '2020-02-12', '2020-02-12', 110000000000, 110000000000, 1015817732197453824, 1087, 2012, 67); -INSERT INTO `zz_teacher_stats` VALUES (1018047146016641026, '2020-02-12', '2020-02-12', 120000000000, 120000000000, 1015818056597508096, 1274, 1987, 78); -INSERT INTO `zz_teacher_stats` VALUES (1018047146016641027, '2020-02-12', '2020-02-12', 330000000000, 330100000000, 1015818992220901376, 1098, 2247, 98); -INSERT INTO `zz_teacher_stats` VALUES (1018047146016641028, '2020-02-14', '2020-02-14', 110000000000, 110000000000, 1015817732197453824, 1305, 2207, 76); -INSERT INTO `zz_teacher_stats` VALUES (1018047146016641029, '2020-02-14', '2020-02-14', 120000000000, 120000000000, 1015818056597508096, 1608, 3012, 107); -INSERT INTO `zz_teacher_stats` VALUES (1018047146016641030, '2020-02-16', '2020-02-16', 330000000000, 330100000000, 1015818992220901376, 1069, 2298, 64); -INSERT INTO `zz_teacher_stats` VALUES (1018047146016641031, '2020-02-18', '2020-02-18', 110000000000, 110000000000, 1015817732197453824, 1358, 2739, 82); -INSERT INTO `zz_teacher_stats` VALUES (1018047146016641032, '2020-02-20', '2020-02-20', 120000000000, 120000000000, 1015818056597508096, 1517, 3041, 72); -INSERT INTO `zz_teacher_stats` VALUES (1018047146016641033, '2020-02-22', '2020-02-22', 330000000000, 330100000000, 1015818992220901376, 1703, 3064, 128); -COMMIT; - --- ---------------------------- --- Table structure for zz_teacher_trans_stats --- ---------------------------- -DROP TABLE IF EXISTS `zz_teacher_trans_stats`; -CREATE TABLE `zz_teacher_trans_stats` ( - `stats_id` bigint NOT NULL COMMENT '主键Id', - `stats_date` date NOT NULL COMMENT '统计日期', - `stats_month` date NOT NULL COMMENT '统计月份', - `province_id` bigint NOT NULL COMMENT '省份Id', - `city_id` bigint NOT NULL COMMENT '城市Id', - `school_id` bigint NOT NULL COMMENT '学校Id', - `school_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '学校名称', - `teacher_id` bigint NOT NULL COMMENT '老师Id', - `teacher_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '老师名称', - `video_watch_count` int NOT NULL COMMENT '视频观看数量', - `flower_count` int NOT NULL COMMENT '献花数量', - `new_student` int NOT NULL COMMENT '新增学生数量', - PRIMARY KEY (`stats_id`) USING BTREE, - UNIQUE KEY `uk_stats_date_teacher_id` (`stats_date`,`teacher_id`) USING BTREE, - KEY `idx_teacher_id` (`teacher_id`) USING BTREE, - KEY `idx_school_id` (`school_id`) USING BTREE, - KEY `idx_province_id` (`province_id`) USING BTREE, - KEY `idx_city_id` (`city_id`) USING BTREE, - KEY `idx_stats_month` (`stats_month`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_teacher_trans_stats --- ---------------------------- -BEGIN; -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446727, '2020-01-12', '2020-01-12', 110000000000, 110000000000, 1015817732197453824, '北京校区', 1015820835156135936, '王大壮', 36, 78, 12); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446728, '2020-01-12', '2020-01-12', 110000000000, 110000000000, 1015817732197453824, '北京校区', 1015836481935904768, '李梅', 41, 80, 8); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446729, '2020-01-12', '2020-01-12', 110000000000, 110000000000, 1015817732197453824, '北京校区', 1015836614618517504, '李萍萍', 27, 105, 15); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446730, '2020-01-12', '2020-01-12', 120000000000, 120000000000, 1015818056597508096, '天津校区', 1015836821309624320, '数学老师', 62, 231, 21); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446731, '2020-01-12', '2020-01-12', 120000000000, 120000000000, 1015818056597508096, '天津校区', 1015836926548905984, '英语老师', 17, 65, 9); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446732, '2020-01-12', '2020-01-12', 120000000000, 120000000000, 1015818056597508096, '天津校区', 1015837043205083136, '语文老师', 44, 92, 37); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446733, '2020-01-16', '2020-01-16', 110000000000, 110000000000, 1015817732197453824, '北京校区', 1015820835156135936, '王大壮', 47, 129, 7); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446734, '2020-01-16', '2020-01-16', 110000000000, 110000000000, 1015817732197453824, '北京校区', 1015836481935904768, '李梅', 39, 89, 15); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446735, '2020-01-16', '2020-01-16', 110000000000, 110000000000, 1015817732197453824, '北京校区', 1015836614618517504, '李萍萍', 62, 96, 13); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446736, '2020-01-16', '2020-01-16', 120000000000, 120000000000, 1015818056597508096, '天津校区', 1015836821309624320, '数学老师', 58, 187, 9); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446737, '2020-01-16', '2020-01-16', 120000000000, 120000000000, 1015818056597508096, '天津校区', 1015836926548905984, '英语老师', 34, 72, 27); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446738, '2020-01-16', '2020-01-16', 120000000000, 120000000000, 1015818056597508096, '天津校区', 1015837043205083136, '语文老师', 60, 103, 31); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446739, '2020-01-22', '2020-01-22', 110000000000, 110000000000, 1015817732197453824, '北京校区', 1015820835156135936, '王大壮', 56, 107, 29); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446740, '2020-01-22', '2020-01-22', 110000000000, 110000000000, 1015817732197453824, '北京校区', 1015836481935904768, '李梅', 61, 102, 21); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446741, '2020-01-22', '2020-01-22', 110000000000, 110000000000, 1015817732197453824, '北京校区', 1015836614618517504, '李萍萍', 70, 126, 34); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446742, '2020-01-22', '2020-01-22', 120000000000, 120000000000, 1015818056597508096, '天津校区', 1015836821309624320, '数学老师', 48, 252, 41); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446743, '2020-01-22', '2020-01-22', 120000000000, 120000000000, 1015818056597508096, '天津校区', 1015836926548905984, '英语老师', 60, 89, 52); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446744, '2020-01-22', '2020-01-22', 120000000000, 120000000000, 1015818056597508096, '天津校区', 1015837043205083136, '语文老师', 71, 203, 49); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446745, '2020-02-12', '2020-02-12', 110000000000, 110000000000, 1015817732197453824, '北京校区', 1015820835156135936, '王大壮', 61, 107, 23); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446746, '2020-02-12', '2020-02-12', 110000000000, 110000000000, 1015817732197453824, '北京校区', 1015836481935904768, '李梅', 56, 78, 12); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446747, '2020-02-12', '2020-02-12', 110000000000, 110000000000, 1015817732197453824, '北京校区', 1015836614618517504, '李萍萍', 47, 301, 17); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446748, '2020-02-12', '2020-02-12', 120000000000, 120000000000, 1015818056597508096, '天津校区', 1015836821309624320, '数学老师', 72, 167, 30); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446749, '2020-02-12', '2020-02-12', 120000000000, 120000000000, 1015818056597508096, '天津校区', 1015836926548905984, '英语老师', 23, 64, 14); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446750, '2020-02-12', '2020-02-12', 120000000000, 120000000000, 1015818056597508096, '天津校区', 1015837043205083136, '语文老师', 39, 88, 41); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446751, '2020-02-16', '2020-02-16', 110000000000, 110000000000, 1015817732197453824, '北京校区', 1015820835156135936, '王大壮', 61, 172, 15); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446752, '2020-02-16', '2020-02-16', 110000000000, 110000000000, 1015817732197453824, '北京校区', 1015836481935904768, '李梅', 41, 107, 17); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446753, '2020-02-16', '2020-02-16', 110000000000, 110000000000, 1015817732197453824, '北京校区', 1015836614618517504, '李萍萍', 77, 66, 23); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446754, '2020-02-16', '2020-02-16', 120000000000, 120000000000, 1015818056597508096, '天津校区', 1015836821309624320, '数学老师', 60, 156, 14); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446755, '2020-02-16', '2020-02-16', 120000000000, 120000000000, 1015818056597508096, '天津校区', 1015836926548905984, '英语老师', 29, 81, 21); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446756, '2020-02-16', '2020-02-16', 120000000000, 120000000000, 1015818056597508096, '天津校区', 1015837043205083136, '语文老师', 78, 131, 20); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446757, '2020-02-24', '2020-02-24', 110000000000, 110000000000, 1015817732197453824, '北京校区', 1015820835156135936, '王大壮', 61, 231, 24); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446758, '2020-02-24', '2020-02-24', 110000000000, 110000000000, 1015817732197453824, '北京校区', 1015836481935904768, '李梅', 81, 250, 13); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446759, '2020-02-24', '2020-02-24', 110000000000, 110000000000, 1015817732197453824, '北京校区', 1015836614618517504, '李萍萍', 92, 88, 27); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446760, '2020-02-24', '2020-02-24', 120000000000, 120000000000, 1015818056597508096, '天津校区', 1015836821309624320, '数学老师', 56, 473, 17); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446761, '2020-02-24', '2020-02-24', 120000000000, 120000000000, 1015818056597508096, '天津校区', 1015836926548905984, '英语老师', 58, 78, 49); -INSERT INTO `zz_teacher_trans_stats` VALUES (1018047146012446762, '2020-02-24', '2020-02-24', 120000000000, 120000000000, 1015818056597508096, '天津校区', 1015837043205083136, '语文老师', 89, 402, 66); -COMMIT; - --- ---------------------------- --- Table structure for zz_transaction_message_producer_trans --- ---------------------------- -DROP TABLE IF EXISTS `zz_transaction_message_producer_trans`; -CREATE TABLE `zz_transaction_message_producer_trans` ( - `trans_id` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '消息事务Id', - `message_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '消息类型', - `command_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '命令类型', - `message_topic` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '消息主题', - `producer_trace_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '生产者traceId', - `create_time` datetime NOT NULL COMMENT '创建时间', - PRIMARY KEY (`trans_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='用于事务型消息的生产者发送数据流水表'; - --- ---------------------------- --- Table structure for zz_video --- ---------------------------- -DROP TABLE IF EXISTS `zz_video`; -CREATE TABLE `zz_video` ( - `video_id` bigint NOT NULL COMMENT '主键Id', - `video_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '视频名称', - `video_course_id` bigint NOT NULL COMMENT '视频课程Id', - `knowledge_id` bigint NOT NULL COMMENT '知识点Id', - `teacher_id` bigint NOT NULL COMMENT '老师Id', - `duration` int NOT NULL COMMENT '视频时长(秒)', - `online_flag` bit(1) NOT NULL COMMENT '可用状态', - `picture_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '图片URL', - `video_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '视频文件URL', - `create_user_id` bigint NOT NULL COMMENT '创建用户Id', - `create_time` datetime NOT NULL COMMENT '创建时间', - `update_time` datetime NOT NULL COMMENT '更新时间', - PRIMARY KEY (`video_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_video --- ---------------------------- -BEGIN; -INSERT INTO `zz_video` VALUES (1016963569539616768, '一年级语文视频', 1016957456463171584, 1015982168275161088, 1015837043205083136, 624, b'1', '[{\"name\":\"timg.jpg\",\"downloadUri\":\"/admin/app/video/download\",\"filename\":\"cf6014c41efd4bb2b3c1bc9d82e21ed4.jpg\"}]', NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_video` VALUES (1016963799974678528, '二年级语文视频', 1016958701789777920, 1015982558173466624, 1015836481935904768, 1235, b'1', '[{\"name\":\"timg2.jpg\",\"downloadUri\":\"/admin/app/video/download\",\"filename\":\"826a309ff58a498190c5ba70b8a249f4.jpg\"}]', NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_video` VALUES (1016963931352862720, '三年级语文视频', 1016958789157130240, 1015982664863977472, 1015837043205083136, 267, b'1', '[{\"name\":\"timg3.jpg\",\"downloadUri\":\"/admin/app/video/download\",\"filename\":\"71efa003a8a64e8b972f95c896609a99.jpg\"}]', NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_video` VALUES (1016964107991781376, '四年级语文视频', 1016959021731287040, 1015982732862033920, 1015837043205083136, 296, b'1', '[{\"name\":\"timg2.jpg\",\"downloadUri\":\"/admin/app/video/download\",\"filename\":\"1564b8ead36343f0800466c566b46074.jpg\"}]', NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_video` VALUES (1016964923775520768, '五年级语文视频', 1016959113108393984, 1015983151499710464, 1015836481935904768, 1492, b'1', '[{\"name\":\"timg.jpg\",\"downloadUri\":\"/admin/app/video/download\",\"filename\":\"f143f2cf1a6d4f3fa023ee6125d0c4e3.jpg\"}]', NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_video` VALUES (1016965059209596928, '作文精讲', 1016959302460248064, 1015983151499710464, 1015837043205083136, 1623, b'1', '[{\"name\":\"timg3.jpg\",\"downloadUri\":\"/admin/app/video/download\",\"filename\":\"dec26c74568c43b18c7702112e391de7.jpg\"}]', NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_video` VALUES (1016965239115878400, '一年级数学视频', 1016959410283220992, 1015983358530555904, 1015820835156135936, 327, b'1', '[{\"name\":\"shuxue.jpg\",\"downloadUri\":\"/admin/app/video/download\",\"filename\":\"9a4d824a4775475c86e03ae667199f28.jpg\"}]', NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_video` VALUES (1016965393139109888, '二年级数学视频', 1016959761849782272, 1015983495600410624, 1015836821309624320, 423, b'1', '[{\"name\":\"shuxue2.jpg\",\"downloadUri\":\"/admin/app/video/download\",\"filename\":\"509ca43e3f5c44e8985d1c98915fd1de.jpg\"}]', NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_video` VALUES (1016965516225155072, '三年级数学视频', 1016960151777447936, 1015983618824867840, 1015836821309624320, 524, b'1', '[{\"name\":\"shuxue.jpg\",\"downloadUri\":\"/admin/app/video/download\",\"filename\":\"bbda47080e814773ad9da320c99c2305.jpg\"}]', NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_video` VALUES (1016965691203129344, '四年级数学视频', 1016960232958201856, 1016911184083554304, 1015820835156135936, 596, b'1', '[{\"name\":\"shuxue2.jpg\",\"downloadUri\":\"/admin/app/video/download\",\"filename\":\"11f354a2ee4d4438a2d56e67e221a452.jpg\"}]', NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_video` VALUES (1016965953884000256, '五年级数学视频', 1016960319478304768, 1015984021314473984, 1015820835156135936, 269, b'1', '[{\"name\":\"shuxue2.jpg\",\"downloadUri\":\"/admin/app/video/download\",\"filename\":\"06ea45d787a3412c8262a6fe6dc81653.jpg\"}]', '[]', 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_video` VALUES (1016966114085441536, '六年级数学视频', 1016960403515379712, 1015983701339410432, 1015836821309624320, 762, b'1', '[{\"name\":\"shuxue.jpg\",\"downloadUri\":\"/admin/app/video/download\",\"filename\":\"d59a6ac38508423dbd3dbfa9e9206581.jpg\"}]', NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_video` VALUES (1016966419271389184, '一年级英语视频', 1016961515781885952, 1015984444750434304, 1015836926548905984, 306, b'1', '[{\"name\":\"english.jpg\",\"downloadUri\":\"/admin/app/video/download\",\"filename\":\"c66c187bfa8d4f8aa3ab4c3ae80450fb.jpg\"}]', NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_video` VALUES (1016966585349050368, '二年级英语视频', 1016961683566628864, 1015984694990999552, 1015836614618517504, 129, b'1', '[{\"name\":\"english2.jpg\",\"downloadUri\":\"/admin/app/video/download\",\"filename\":\"04d3bd376844446aa2b5cd810c8b6ebd.jpg\"}]', NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_video` VALUES (1016966700428169216, '三年级英语视频', 1016962125608521728, 1016911399163269120, 1015836926548905984, 634, b'1', '[{\"name\":\"english.jpg\",\"downloadUri\":\"/admin/app/video/download\",\"filename\":\"77a2658ae4bf45e2ba05c612932b6df0.jpg\"}]', NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_video` VALUES (1016966988031594496, '四年级英语视频', 1016962297742757888, 1015985406223323136, 1015836614618517504, 381, b'1', '[{\"name\":\"english.jpg\",\"downloadUri\":\"/admin/app/video/download\",\"filename\":\"7d4b9ab24203476e90520d6007a0e8c6.jpg\"}]', NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_video` VALUES (1016967130365300736, '五年级英语视频', 1016962548197232640, 1016911399163269120, 1015836926548905984, 589, b'1', '[{\"name\":\"english2.jpg\",\"downloadUri\":\"/admin/app/video/download\",\"filename\":\"d741a362c76940b898bb49bb1fb2b19d.jpg\"}]', NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_video` VALUES (1016967252788645888, '六年级英语视频', 1016962626827849728, 1015984805611573248, 1015836926548905984, 623, b'1', '[{\"name\":\"english.jpg\",\"downloadUri\":\"/admin/app/video/download\",\"filename\":\"22701d3689e14b2e9633940183d2a428.jpg\"}]', NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -INSERT INTO `zz_video` VALUES (1016967373664292864, '六年级英语视频B', 1016962626827849728, 1016911467798859776, 1015836614618517504, 412, b'1', '[{\"name\":\"english2.jpg\",\"downloadUri\":\"/admin/app/video/download\",\"filename\":\"272c00ed1fd94a5cbb7a5cee9ac1294d.jpg\"}]', NULL, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00'); -COMMIT; - --- ---------------------------- --- Table structure for zz_video_course --- ---------------------------- -DROP TABLE IF EXISTS `zz_video_course`; -CREATE TABLE `zz_video_course` ( - `video_course_id` bigint NOT NULL COMMENT '主键Id', - `course_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '课程名称', - `price` int NOT NULL COMMENT '课程价格', - `difficulty` int NOT NULL COMMENT '课程难度(0: 容易 1: 普通 2: 很难)', - `grade_id` tinyint NOT NULL COMMENT '年级Id', - `subject_id` tinyint NOT NULL COMMENT '学科Id', - `edition_id` int NOT NULL COMMENT '教材版本', - `create_user_id` bigint NOT NULL COMMENT '创建用户Id', - `create_time` datetime NOT NULL COMMENT '创建时间', - `update_time` datetime NOT NULL COMMENT '更新时间', - `available` tinyint NOT NULL DEFAULT '0' COMMENT '是否可用(0: 不可用 1: 可用)', - PRIMARY KEY (`video_course_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_video_course --- ---------------------------- -BEGIN; -INSERT INTO `zz_video_course` VALUES (1016957456463171584, '一年级语文视频课', 199, 0, 1, 0, 2, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00', 1); -INSERT INTO `zz_video_course` VALUES (1016958701789777920, '二年级语文视频课', 198, 0, 2, 0, 2, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00', 1); -INSERT INTO `zz_video_course` VALUES (1016958789157130240, '三年级语文视频课', 201, 1, 3, 0, 3, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00', 1); -INSERT INTO `zz_video_course` VALUES (1016959021731287040, '四年级语文视频课', 248, 1, 4, 0, 4, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00', 1); -INSERT INTO `zz_video_course` VALUES (1016959113108393984, '五年级语文视频课', 273, 2, 5, 0, 2, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00', 1); -INSERT INTO `zz_video_course` VALUES (1016959302460248064, '六年级语文视频课', 321, 2, 6, 0, 3, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00', 1); -INSERT INTO `zz_video_course` VALUES (1016959410283220992, '一年级数学视频课', 199, 0, 1, 1, 1, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00', 1); -INSERT INTO `zz_video_course` VALUES (1016959761849782272, '二年级数学视频课', 148, 0, 2, 1, 1, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00', 1); -INSERT INTO `zz_video_course` VALUES (1016960151777447936, '三年级数学视频课', 218, 0, 3, 1, 4, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00', 1); -INSERT INTO `zz_video_course` VALUES (1016960232958201856, '四年级数学视频课', 242, 1, 4, 1, 3, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00', 1); -INSERT INTO `zz_video_course` VALUES (1016960319478304768, '五年级数学视频课', 312, 1, 5, 1, 2, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00', 1); -INSERT INTO `zz_video_course` VALUES (1016960403515379712, '六年级数学视频课', 388, 1, 6, 1, 1, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00', 1); -INSERT INTO `zz_video_course` VALUES (1016961515781885952, '一年级英语视频课', 98, 0, 1, 2, 1, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00', 1); -INSERT INTO `zz_video_course` VALUES (1016961683566628864, '二年级英语视频课', 78, 0, 2, 2, 3, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00', 1); -INSERT INTO `zz_video_course` VALUES (1016962125608521728, '三年级英语视频课', 125, 0, 3, 2, 1, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00', 1); -INSERT INTO `zz_video_course` VALUES (1016962297742757888, '四年级英语视频课', 888, 1, 4, 2, 3, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00', 1); -INSERT INTO `zz_video_course` VALUES (1016962548197232640, '五年级英语视频课', 88, 1, 5, 2, 1, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00', 1); -INSERT INTO `zz_video_course` VALUES (1016962626827849728, '六年级英语视频课', 92, 1, 6, 2, 1, 1014065909648330753, '2020-10-22 00:00:00', '2020-10-22 00:00:00', 1); -COMMIT; - --- ---------------------------- --- Table structure for zz_video_stats --- ---------------------------- -DROP TABLE IF EXISTS `zz_video_stats`; -CREATE TABLE `zz_video_stats` ( - `stats_id` bigint NOT NULL COMMENT '主键Id', - `stats_date` date NOT NULL COMMENT '统计日期', - `grade_id` tinyint NOT NULL COMMENT '年级Id', - `province_id` bigint NOT NULL COMMENT '学生所属省Id', - `city_id` bigint NOT NULL COMMENT '学生所属城市Id', - `chinese_count` int NOT NULL COMMENT '语文视频统计数量', - `math_count` int NOT NULL COMMENT '数学视频播放数量', - `english_count` int NOT NULL COMMENT '英语视频播放数量', - PRIMARY KEY (`stats_id`) USING BTREE, - UNIQUE KEY `uk_stats_date_grade_id_region_id` (`stats_date`,`grade_id`,`province_id`,`city_id`) USING BTREE, - KEY `idx_grade_id` (`grade_id`) USING BTREE, - KEY `idx_province_id` (`province_id`) USING BTREE, - KEY `idx_city_id` (`city_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Table structure for zz_video_trans --- ---------------------------- -DROP TABLE IF EXISTS `zz_video_trans`; -CREATE TABLE `zz_video_trans` ( - `trans_id` bigint NOT NULL COMMENT '主键Id', - `student_id` bigint NOT NULL COMMENT '学生Id', - `student_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '学生名称', - `school_id` bigint NOT NULL COMMENT '学生校区', - `video_course_id` bigint NOT NULL COMMENT '视频课程Id', - `video_id` bigint NOT NULL COMMENT '视频Id', - `device_type` tinyint NOT NULL COMMENT '设备类型(0: iOS 1: Android 2: PC)', - `watch_seconds` int NOT NULL DEFAULT '0' COMMENT '观看时长', - `watch_time` datetime NOT NULL COMMENT '观看时间', - PRIMARY KEY (`trans_id`) USING BTREE, - KEY `idx_video_id` (`video_id`) USING BTREE, - KEY `idx_student_id` (`student_id`) USING BTREE, - KEY `idx_course_id` (`video_course_id`) USING BTREE, - KEY `idx_watch_time` (`watch_time`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_video_trans --- ---------------------------- -BEGIN; -INSERT INTO `zz_video_trans` VALUES (1018047145995669504, 1015841864515588096, '张大', 1015817732197453824, 1016957456463171584, 1016963569539616768, 0, 248, '2020-01-16 08:54:16'); -INSERT INTO `zz_video_trans` VALUES (1018047145995669505, 1015842628948463616, '张三', 1015817732197453824, 1016959410283220992, 1016965239115878400, 1, 312, '2020-01-16 08:55:23'); -INSERT INTO `zz_video_trans` VALUES (1018047145995669506, 1015852480873631744, '李军', 1015817732197453824, 1016958701789777920, 1016963799974678528, 0, 603, '2020-01-16 09:03:48'); -INSERT INTO `zz_video_trans` VALUES (1018047145995669507, 1018000939508568064, '天津二哥', 1015818056597508096, 1016961515781885952, 1016966419271389184, 2, 1265, '2020-01-16 09:13:23'); -INSERT INTO `zz_video_trans` VALUES (1018047145995669508, 1015852853839532032, '王石', 1015817732197453824, 1016960232958201856, 1016965691203129344, 1, 923, '2020-01-16 09:48:34'); -INSERT INTO `zz_video_trans` VALUES (1018047145995669509, 1015841864515588096, '张大', 1015817732197453824, 1016958789157130240, 1016963931352862720, 2, 742, '2020-01-16 10:04:22'); -INSERT INTO `zz_video_trans` VALUES (1018047145995669510, 1015852480873631744, '李军', 1015817732197453824, 1016962297742757888, 1016966988031594496, 0, 1014, '2020-01-16 10:05:37'); -INSERT INTO `zz_video_trans` VALUES (1018047145995669511, 1018001219050541056, '南开学霸', 1015818056597508096, 1016959113108393984, 1016964923775520768, 1, 1341, '2020-01-16 10:07:59'); -INSERT INTO `zz_video_trans` VALUES (1018047145995669512, 1015842628948463616, '张三', 1015817732197453824, 1016959761849782272, 1016965393139109888, 0, 697, '2020-01-16 10:08:26'); -INSERT INTO `zz_video_trans` VALUES (1018047145995669513, 1018001219050541056, '南开学霸', 1015818056597508096, 1016962125608521728, 1016966700428169216, 2, 403, '2020-01-16 11:09:34'); -INSERT INTO `zz_video_trans` VALUES (1018047145995669514, 1018001219050541056, '南开学霸', 1015818056597508096, 1016960232958201856, 1016965691203129344, 2, 703, '2020-01-16 12:11:34'); -INSERT INTO `zz_video_trans` VALUES (1018047145995669515, 1015852480873631744, '李军', 1015817732197453824, 1016965393139109888, 1016959761849782272, 0, 528, '2020-01-17 07:03:48'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863808, 1018000939508568064, '天津二哥', 1015818056597508096, 1016961515781885952, 1016966419271389184, 2, 1107, '2020-01-17 08:23:23'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863809, 1018001219050541056, '南开学霸', 1015818056597508096, 1016961683566628864, 1016966585349050368, 1, 634, '2020-01-17 09:03:59'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863810, 1015852853839532032, '王石', 1015817732197453824, 1016962125608521728, 1016966700428169216, 1, 923, '2020-01-17 09:48:34'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863811, 1015841864515588096, '张大', 1015817732197453824, 1016959302460248064, 1016965059209596928, 2, 1023, '2020-01-17 10:04:22'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863812, 1018001219050541056, '南开学霸', 1015818056597508096, 1016959410283220992, 1016965239115878400, 2, 1204, '2020-01-17 11:09:34'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863813, 1018001219050541056, '南开学霸', 1015818056597508096, 1016959761849782272, 1016965393139109888, 2, 1011, '2020-01-17 12:11:34'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863814, 1015852853839532032, '王石', 1015817732197453824, 1016958701789777920, 1016963799974678528, 1, 987, '2020-01-17 13:48:34'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863815, 1018000939508568064, '天津二哥', 1015818056597508096, 1016959021731287040, 1016964107991781376, 0, 327, '2020-01-17 13:50:34'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863816, 1018001219050541056, '南开学霸', 1015818056597508096, 1016959113108393984, 1016964923775520768, 2, 872, '2020-01-17 14:07:11'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863817, 1015852853839532032, '王石', 1015817732197453824, 1016959302460248064, 1016965059209596928, 1, 1012, '2020-01-17 14:23:01'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863818, 1015842628948463616, '张三', 1015817732197453824, 1016959410283220992, 1016965239115878400, 1, 63, '2020-01-17 15:31:34'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863819, 1018001219050541056, '南开学霸', 1015818056597508096, 1016959761849782272, 1016965393139109888, 0, 572, '2020-01-17 15:33:51'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863820, 1015841864515588096, '张大', 1015817732197453824, 1016960151777447936, 1016965516225155072, 1, 12, '2020-01-17 15:42:03'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863821, 1015852480873631744, '李军', 1015817732197453824, 1016960403515379712, 1016966114085441536, 2, 96, '2020-01-17 16:08:21'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863822, 1015841864515588096, '张大', 1015817732197453824, 1016959021731287040, 1016964107991781376, 0, 745, '2020-01-18 07:26:11'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863823, 1015842628948463616, '张三', 1015817732197453824, 1016959113108393984, 1016964923775520768, 1, 56, '2020-01-18 07:32:11'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863824, 1015852480873631744, '李军', 1015817732197453824, 1016959302460248064, 1016965059209596928, 2, 23, '2020-01-18 07:26:11'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863825, 1015852853839532032, '王石', 1015817732197453824, 1016959410283220992, 1016965239115878400, 0, 87, '2020-01-18 07:35:03'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863826, 1018000939508568064, '天津二哥', 1015818056597508096, 1016959761849782272, 1016965393139109888, 0, 962, '2020-01-18 07:36:11'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863827, 1018001219050541056, '南开学霸', 1015818056597508096, 1016960151777447936, 1016965516225155072, 1, 1103, '2020-01-18 07:37:46'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863828, 1018001219050541056, '南开学霸', 1015818056597508096, 1016960232958201856, 1016965691203129344, 0, 2013, '2020-01-18 07:40:51'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863829, 1015852853839532032, '王石', 1015817732197453824, 1016960319478304768, 1016965953884000256, 2, 123, '2020-01-18 07:41:03'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863830, 1015841864515588096, '张大', 1015817732197453824, 1016960403515379712, 1016966114085441536, 2, 435, '2020-01-18 07:43:29'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863831, 1018001219050541056, '南开学霸', 1015818056597508096, 1016957456463171584, 1016963569539616768, 1, 671, '2020-01-18 08:11:52'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863832, 1018001219050541056, '南开学霸', 1015818056597508096, 1016958701789777920, 1016963799974678528, 0, 12, '2020-01-18 08:13:23'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863833, 1015852853839532032, '王石', 1015817732197453824, 1016958789157130240, 1016963931352862720, 1, 7, '2020-01-18 08:14:04'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863834, 1018000939508568064, '天津二哥', 1015818056597508096, 1016959021731287040, 1016964107991781376, 1, 126, '2020-01-18 08:14:48'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863835, 1018001219050541056, '南开学霸', 1015818056597508096, 1016959113108393984, 1016964923775520768, 0, 341, '2020-01-18 09:11:20'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863836, 1015841864515588096, '张大', 1015817732197453824, 1016959302460248064, 1016965059209596928, 2, 571, '2020-01-18 09:23:51'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863837, 1015842628948463616, '张三', 1015817732197453824, 1016959410283220992, 1016965239115878400, 1, 458, '2020-01-18 10:01:37'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863838, 1015852480873631744, '李军', 1015817732197453824, 1016959761849782272, 1016965393139109888, 2, 567, '2020-01-18 10:16:53'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863839, 1015842628948463616, '张三', 1015817732197453824, 1016960151777447936, 1016965516225155072, 0, 1209, '2020-01-18 10:45:07'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863840, 1018001219050541056, '南开学霸', 1015818056597508096, 1016960232958201856, 1016965691203129344, 2, 203, '2020-01-18 11:12:43'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863841, 1015841864515588096, '张大', 1015817732197453824, 1016962297742757888, 1016966988031594496, 2, 478, '2020-01-18 11:23:11'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863842, 1015852480873631744, '李军', 1015817732197453824, 1016962548197232640, 1016967130365300736, 1, 482, '2020-01-18 11:31:20'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863843, 1015852853839532032, '王石', 1015817732197453824, 1016962626827849728, 1016967252788645888, 1, 316, '2020-01-18 11:58:45'); -INSERT INTO `zz_video_trans` VALUES (1018047145999863844, 1018000939508568064, '天津二哥', 1015818056597508096, 1016962626827849728, 1016967373664292864, 2, 456, '2020-01-18 13:03:05'); -INSERT INTO `zz_video_trans` VALUES (1018047146004058112, 1018001219050541056, '南开学霸', 1015818056597508096, 1016960232958201856, 1016965691203129344, 0, 702, '2020-01-18 13:58:07'); -INSERT INTO `zz_video_trans` VALUES (1018047146004058114, 1015841864515588096, '张大', 1015817732197453824, 1016960319478304768, 1016965953884000256, 0, 892, '2020-01-18 14:23:01'); -INSERT INTO `zz_video_trans` VALUES (1018047146004058115, 1015842628948463616, '张三', 1015817732197453824, 1016960403515379712, 1016966114085441536, 1, 1670, '2020-01-18 15:07:52'); -INSERT INTO `zz_video_trans` VALUES (1018047146004058116, 1015852480873631744, '李军', 1015817732197453824, 1016961515781885952, 1016966419271389184, 2, 102, '2020-01-18 16:32:52'); -INSERT INTO `zz_video_trans` VALUES (1018047146004058117, 1015852480873631744, '李军', 1015817732197453824, 1016961683566628864, 1016966585349050368, 1, 374, '2020-01-18 17:03:26'); -INSERT INTO `zz_video_trans` VALUES (1018047146004058118, 1015842628948463616, '张三', 1015817732197453824, 1016962125608521728, 1016966700428169216, 0, 231, '2020-01-18 21:03:39'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252418, 1015852853839532032, '王石', 1015817732197453824, 1016958789157130240, 1016963931352862720, 0, 2013, '2020-01-19 07:32:04'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252419, 1015841864515588096, '张大', 1015817732197453824, 1016959021731287040, 1016964107991781376, 2, 123, '2020-01-19 07:33:08'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252420, 1018001219050541056, '南开学霸', 1015818056597508096, 1016959113108393984, 1016964923775520768, 1, 435, '2020-01-19 07:34:54'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252421, 1018001219050541056, '南开学霸', 1015818056597508096, 1016959302460248064, 1016965059209596928, 1, 671, '2020-01-19 07:42:21'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252422, 1015852853839532032, '王石', 1015817732197453824, 1016959410283220992, 1016965239115878400, 2, 12, '2020-01-19 08:11:13'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252423, 1018000939508568064, '天津二哥', 1015818056597508096, 1016959761849782272, 1016965393139109888, 2, 7, '2020-01-19 08:16:42'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252424, 1018001219050541056, '南开学霸', 1015818056597508096, 1016960151777447936, 1016965516225155072, 2, 126, '2020-01-19 08:51:07'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252425, 1015852853839532032, '王石', 1015817732197453824, 1016959021731287040, 1016964107991781376, 1, 341, '2020-01-19 09:21:43'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252426, 1015841864515588096, '张大', 1015817732197453824, 1016959113108393984, 1016964923775520768, 0, 571, '2020-01-19 09:43:21'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252427, 1015842628948463616, '张三', 1015817732197453824, 1016959302460248064, 1016965059209596928, 2, 458, '2020-01-19 10:04:32'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252428, 1015852480873631744, '李军', 1015817732197453824, 1016959410283220992, 1016965239115878400, 1, 482, '2020-01-19 10:11:23'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252429, 1015852853839532032, '王石', 1015817732197453824, 1016959021731287040, 1016964107991781376, 1, 316, '2020-01-19 10:23:31'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252430, 1018000939508568064, '天津二哥', 1015818056597508096, 1016959113108393984, 1016964923775520768, 0, 456, '2020-01-19 11:23:21'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252431, 1018001219050541056, '南开学霸', 1015818056597508096, 1016959302460248064, 1016965059209596928, 1, 702, '2020-01-19 11:45:51'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252432, 1018001219050541056, '南开学霸', 1015818056597508096, 1016959410283220992, 1016965239115878400, 2, 892, '2020-01-19 13:01:36'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252433, 1015852853839532032, '王石', 1015817732197453824, 1016959761849782272, 1016965393139109888, 0, 12, '2020-01-19 14:01:11'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252434, 1015841864515588096, '张大', 1015817732197453824, 1016960151777447936, 1016965516225155072, 1, 96, '2020-01-19 14:03:21'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252435, 1018001219050541056, '南开学霸', 1015818056597508096, 1016960403515379712, 1016966114085441536, 2, 745, '2020-01-19 14:32:32'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252436, 1018001219050541056, '南开学霸', 1015818056597508096, 1016959021731287040, 1016964107991781376, 0, 56, '2020-01-19 15:01:32'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252437, 1018001219050541056, '南开学霸', 1015818056597508096, 1016959113108393984, 1016964923775520768, 0, 23, '2020-01-19 15:22:26'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252438, 1015841864515588096, '张大', 1015817732197453824, 1016959302460248064, 1016965059209596928, 1, 87, '2020-01-19 15:52:21'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252439, 1015842628948463616, '张三', 1015817732197453824, 1016959410283220992, 1016965239115878400, 0, 962, '2020-01-19 16:11:14'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252440, 1015852480873631744, '李军', 1015817732197453824, 1016959761849782272, 1016965393139109888, 2, 1103, '2020-01-19 16:32:27'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252441, 1015852480873631744, '李军', 1015817732197453824, 1016959761849782272, 1016965393139109888, 2, 2013, '2020-01-19 16:42:19'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252442, 1015841864515588096, '张大', 1015817732197453824, 1016960151777447936, 1016965516225155072, 1, 123, '2020-01-19 16:50:14'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252443, 1015842628948463616, '张三', 1015817732197453824, 1016960232958201856, 1016965691203129344, 0, 435, '2020-01-19 17:11:33'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252444, 1015852480873631744, '李军', 1015817732197453824, 1016960319478304768, 1016965953884000256, 1, 671, '2020-01-19 17:20:04'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252445, 1018000939508568064, '天津二哥', 1015818056597508096, 1016960403515379712, 1016966114085441536, 1, 12, '2020-01-19 17:27:24'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252446, 1015852853839532032, '王石', 1015817732197453824, 1016957456463171584, 1016963569539616768, 0, 1209, '2020-01-19 17:32:43'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252447, 1015841864515588096, '张大', 1015817732197453824, 1016958701789777920, 1016963799974678528, 2, 203, '2020-01-19 17:52:03'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252448, 1015852480873631744, '李军', 1015817732197453824, 1016958789157130240, 1016963931352862720, 1, 478, '2020-01-19 18:03:15'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252449, 1018001219050541056, '南开学霸', 1015818056597508096, 1016959021731287040, 1016964107991781376, 2, 482, '2020-01-19 19:03:11'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252450, 1018000939508568064, '天津二哥', 1015818056597508096, 1016958701789777920, 1016963799974678528, 0, 316, '2020-01-19 19:23:46'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252451, 1018001219050541056, '南开学霸', 1015818056597508096, 1016961515781885952, 1016966419271389184, 2, 456, '2020-01-19 20:23:34'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252452, 1015852853839532032, '王石', 1015817732197453824, 1016960232958201856, 1016965691203129344, 2, 702, '2020-01-19 21:53:39'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252453, 1015842628948463616, '张三', 1015817732197453824, 1016958789157130240, 1016963931352862720, 1, 571, '2020-01-19 22:12:01'); -INSERT INTO `zz_video_trans` VALUES (1018047146008252454, 1018001219050541056, '南开学霸', 1015818056597508096, 1016962297742757888, 1016966988031594496, 2, 458, '2020-01-19 23:41:11'); -INSERT INTO `zz_video_trans` VALUES (1018430570120351744, 1015842628948463616, '张三', 1015817732197453824, 1016959021731287040, 1016964107991781376, 2, 454, '2020-01-20 08:11:54'); -INSERT INTO `zz_video_trans` VALUES (1018430610134011904, 1015842628948463616, '张三', 1015817732197453824, 1016959113108393984, 1016964923775520768, 2, 153, '2020-01-20 08:12:31'); -INSERT INTO `zz_video_trans` VALUES (1018430645886259200, 1015852480873631744, '李军', 1015817732197453824, 1016958701789777920, 1016963799974678528, 2, 787, '2020-01-20 08:13:17'); -COMMIT; - --- ---------------------------- --- Table structure for zz_video_trans_stats --- ---------------------------- -DROP TABLE IF EXISTS `zz_video_trans_stats`; -CREATE TABLE `zz_video_trans_stats` ( - `stats_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键Id', - `stats_date` date NOT NULL COMMENT '统计日期', - `stats_hour_range` tinyint DEFAULT NULL COMMENT '观看小时区段(2小时一个区段)', - `grade_id` tinyint NOT NULL COMMENT '年级Id', - `subject_id` tinyint NOT NULL COMMENT '学科Id', - `video_id` bigint NOT NULL COMMENT '视频Id', - `video_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '视频名称', - `watch_count` int NOT NULL COMMENT '观看次数', - `watch_second` int NOT NULL COMMENT '观看秒数', - PRIMARY KEY (`stats_id`) USING BTREE, - UNIQUE KEY `uk_stats_date_stats_hour_video_id` (`stats_date`,`stats_hour_range`,`video_id`) USING BTREE, - KEY `idx_grade_id` (`grade_id`) USING BTREE, - KEY `idx_subject_id` (`subject_id`) USING BTREE, - KEY `idx_video_id` (`video_id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=1088831419698642947 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; - --- ---------------------------- --- Records of zz_video_trans_stats --- ---------------------------- -BEGIN; -INSERT INTO `zz_video_trans_stats` VALUES (1088831419170160640, '2020-01-16', NULL, 1, 0, 1016963569539616768, '一年级语文视频', 1, 248); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419170160641, '2020-01-16', NULL, 2, 0, 1016963799974678528, '二年级语文视频', 1, 603); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419170160642, '2020-01-16', NULL, 3, 0, 1016963931352862720, '三年级语文视频', 1, 742); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419170160643, '2020-01-16', NULL, 5, 0, 1016964923775520768, '五年级语文视频', 1, 1341); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419170160644, '2020-01-16', NULL, 1, 1, 1016965239115878400, '一年级数学视频', 1, 312); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419170160645, '2020-01-16', NULL, 2, 1, 1016965393139109888, '二年级数学视频', 1, 697); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419170160646, '2020-01-16', NULL, 4, 1, 1016965691203129344, '四年级数学视频', 2, 1626); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419170160647, '2020-01-16', NULL, 1, 2, 1016966419271389184, '一年级英语视频', 1, 1265); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419170160648, '2020-01-16', NULL, 3, 2, 1016966700428169216, '三年级英语视频', 1, 403); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419170160649, '2020-01-16', NULL, 4, 2, 1016966988031594496, '四年级英语视频', 1, 1014); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419321155584, '2020-01-17', NULL, 2, 0, 1016963799974678528, '二年级语文视频', 1, 987); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419321155585, '2020-01-17', NULL, 4, 0, 1016964107991781376, '四年级语文视频', 1, 327); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419321155586, '2020-01-17', NULL, 5, 0, 1016964923775520768, '五年级语文视频', 1, 872); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419321155587, '2020-01-17', NULL, 6, 0, 1016965059209596928, '作文精讲', 2, 2035); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419321155588, '2020-01-17', NULL, 1, 1, 1016965239115878400, '一年级数学视频', 2, 1267); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419321155589, '2020-01-17', NULL, 2, 1, 1016965393139109888, '二年级数学视频', 2, 1583); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419321155590, '2020-01-17', NULL, 3, 1, 1016965516225155072, '三年级数学视频', 1, 12); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419321155591, '2020-01-17', NULL, 6, 1, 1016966114085441536, '六年级数学视频', 1, 96); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419321155592, '2020-01-17', NULL, 1, 2, 1016966419271389184, '一年级英语视频', 1, 1107); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419321155593, '2020-01-17', NULL, 2, 2, 1016966585349050368, '二年级英语视频', 1, 634); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419321155594, '2020-01-17', NULL, 3, 2, 1016966700428169216, '三年级英语视频', 1, 923); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419430207488, '2020-01-18', NULL, 1, 0, 1016963569539616768, '一年级语文视频', 1, 671); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419430207489, '2020-01-18', NULL, 2, 0, 1016963799974678528, '二年级语文视频', 1, 12); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419430207490, '2020-01-18', NULL, 3, 0, 1016963931352862720, '三年级语文视频', 1, 7); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419430207491, '2020-01-18', NULL, 4, 0, 1016964107991781376, '四年级语文视频', 2, 871); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419430207492, '2020-01-18', NULL, 5, 0, 1016964923775520768, '五年级语文视频', 2, 397); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419430207493, '2020-01-18', NULL, 6, 0, 1016965059209596928, '作文精讲', 2, 594); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419430207494, '2020-01-18', NULL, 1, 1, 1016965239115878400, '一年级数学视频', 2, 545); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419430207495, '2020-01-18', NULL, 2, 1, 1016965393139109888, '二年级数学视频', 2, 1529); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419430207496, '2020-01-18', NULL, 3, 1, 1016965516225155072, '三年级数学视频', 2, 2312); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419430207497, '2020-01-18', NULL, 4, 1, 1016965691203129344, '四年级数学视频', 3, 2918); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419430207498, '2020-01-18', NULL, 5, 1, 1016965953884000256, '五年级数学视频', 2, 1015); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419430207499, '2020-01-18', NULL, 6, 1, 1016966114085441536, '六年级数学视频', 2, 2105); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419434401792, '2020-01-18', NULL, 1, 2, 1016966419271389184, '一年级英语视频', 1, 102); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419434401793, '2020-01-18', NULL, 2, 2, 1016966585349050368, '二年级英语视频', 1, 374); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419434401794, '2020-01-18', NULL, 3, 2, 1016966700428169216, '三年级英语视频', 1, 231); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419434401795, '2020-01-18', NULL, 4, 2, 1016966988031594496, '四年级英语视频', 1, 478); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419434401796, '2020-01-18', NULL, 5, 2, 1016967130365300736, '五年级英语视频', 1, 482); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419434401797, '2020-01-18', NULL, 6, 2, 1016967252788645888, '六年级英语视频', 1, 316); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419434401798, '2020-01-18', NULL, 6, 2, 1016967373664292864, '六年级英语视频B', 1, 456); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419551842304, '2020-01-19', NULL, 1, 0, 1016963569539616768, '一年级语文视频', 1, 1209); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419551842305, '2020-01-19', NULL, 2, 0, 1016963799974678528, '二年级语文视频', 2, 519); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419551842306, '2020-01-19', NULL, 3, 0, 1016963931352862720, '三年级语文视频', 3, 3062); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419551842307, '2020-01-19', NULL, 4, 0, 1016964107991781376, '四年级语文视频', 5, 1318); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419551842308, '2020-01-19', NULL, 5, 0, 1016964923775520768, '五年级语文视频', 4, 1485); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419551842309, '2020-01-19', NULL, 6, 0, 1016965059209596928, '作文精讲', 4, 1918); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419551842310, '2020-01-19', NULL, 1, 1, 1016965239115878400, '一年级数学视频', 4, 2348); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419551842311, '2020-01-19', NULL, 2, 1, 1016965393139109888, '二年级数学视频', 4, 3135); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419551842312, '2020-01-19', NULL, 3, 1, 1016965516225155072, '三年级数学视频', 3, 345); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419551842313, '2020-01-19', NULL, 4, 1, 1016965691203129344, '四年级数学视频', 2, 1137); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419551842314, '2020-01-19', NULL, 5, 1, 1016965953884000256, '五年级数学视频', 1, 671); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419551842315, '2020-01-19', NULL, 6, 1, 1016966114085441536, '六年级数学视频', 2, 757); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419551842316, '2020-01-19', NULL, 1, 2, 1016966419271389184, '一年级英语视频', 1, 456); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419551842317, '2020-01-19', NULL, 4, 2, 1016966988031594496, '四年级英语视频', 1, 458); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419698642944, '2020-01-20', NULL, 2, 0, 1016963799974678528, '二年级语文视频', 1, 787); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419698642945, '2020-01-20', NULL, 4, 0, 1016964107991781376, '四年级语文视频', 1, 454); -INSERT INTO `zz_video_trans_stats` VALUES (1088831419698642946, '2020-01-20', NULL, 5, 0, 1016964923775520768, '五年级语文视频', 1, 153); -COMMIT; - -SET FOREIGN_KEY_CHECKS = 1; diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/clear-data.sh b/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/clear-data.sh deleted file mode 100644 index 06b3bb70..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/clear-data.sh +++ /dev/null @@ -1,21 +0,0 @@ -#! /bin/bash - -# 如果执行的是docker-compose down,下次再docker-compose up启动中间件时, -# kafka 可能会因为之前的强行退出而出现position错误,此时可以执行当前shell, -# 删除他们的数据。 -# 我们更推荐docker-compose stop的方式停止服务,下次启动docker-compose start。 - -rm -rf ./data/redis/* -rm -rf ./data/elasticsearch/* -rm -rf ./data/kafka/* -rm -rf ./data/rocketmq/* -rm -rf ./data/logstash/* -rm -rf ./data/logstash/.lock -rm -rf ./data/zookeeper/* - -rm -rf ./logs/redis/* -rm -rf ./logs/elasticsearch/* -rm -rf ./logs/kafka/* -rm -rf ./logs/rocketmq/* -rm -rf ./logs/logstash/* -rm -rf ./logs/zookeeper/* diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/docker-compose-full.yml b/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/docker-compose-full.yml deleted file mode 100644 index 95f58489..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/docker-compose-full.yml +++ /dev/null @@ -1,148 +0,0 @@ -version: '3.5' - -services: - - xxljob: - image: docker.io/xuxueli/xxl-job-admin:2.2.0 - container_name: xxljob - volumes: - - ./logs/xxljob:/data/applogs - ports: - - "8081:8080" - environment: - TZ: Asia/Shanghai - # 注意: spring.datasource.password需要修改成正确的root密码 - PARAMS: '--spring.datasource.url=jdbc:mysql://host.docker.internal:3306/xxl_job?Unicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai - --spring.datasource.username=root - --spring.datasource.password=123456 - --xxl.job.login.username=admin - --xxl.job.login.password=123456' - logging: - driver: "json-file" - options: - max-size: "200k" - max-file: "10" - - nacos: - image: nacos/nacos-server:1.4.1 - container_name: nacos-standalone - environment: - - PREFER_HOST_MODE=hostname - - MODE=standalone - privileged: true - volumes: - - ./logs/nacos/:/home/nacos/logs - - ./data/nacos/:/home/nacos/data - ports: - - "8848:8848" - networks: - - zz-test - - redis: - container_name: redis - build: - context: services/redis/ - args: - - REDIS_VER=4 - ports: - - "6379:6379" - volumes: - - ./services/redis/redis.conf:/usr/local/etc/redis/redis.conf:rw - - ./data/redis:/data:rw - - ./logs/redis:/var/log/:rw - networks: - - zz-test - - elasticsearch: - container_name: elasticsearch - build: - context: services/elasticsearch/ - args: - - ES_VER=7.5.0 - ports: - - "9200:9200" - - "9300:9300" - environment: - ES_JAVA_OPTS: "-Xms512m -Xmx512m" - discovery.type: single-node - volumes: - - ./data/elasticsearch/plugins/:/usr/share/elasticsearch/plugins/ - - ./data/elasticsearch/:/usr/share/elasticsearch/data/ - - ./logs/elasticsearch/:/usr/share/elasticsearch/logs/ - - ./services/elasticsearch/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml - networks: - - zz-test - - logstash: - build: - context: services/logstash/ - args: - - LOGSTASH_VER=7.5.0 - environment: - LS_JAVA_OPTS: "-Xmx256m -Xms256m" - volumes: - - ./data/logstash/:/usr/share/logstash/data/ - - ./logs/logstash/:/usr/share/logstash/logs/ - - ./services/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml - - ./services/logstash/config/pipelines.yml:/usr/share/logstash/config/pipeline.yml - - ./services/logstash/pipeline/:/usr/share/logstash/pipeline/ - networks: - - zz-test - depends_on: - - elasticsearch - - kafka - - kibana: - container_name: kibana - build: - context: services/kibana/ - args: - - KIBANA_VER=7.5.0 - ports: - - "5601:5601" - volumes: - - ./services/kibana/kibana.yml:/usr/share/kibana/config/kibana.yml - networks: - - zz-test - depends_on: - - elasticsearch - - zookeeper: - image: zookeeper:3.5.5 - ports: - - "2181:2181" - volumes: - - ./logs/zookeeper/:/data - - ./data/zookeeper/:/datalog - networks: - - zz-test - - kafka: - image: wurstmeister/kafka:2.12-2.4.0 - ports: - - "9092:9092" - expose: - - "9093" - environment: - KAFKA_ADVERTISED_LISTENERS: INSIDE://kafka:9093,OUTSIDE://localhost:9092 - KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT - KAFKA_LISTENERS: INSIDE://0.0.0.0:9093,OUTSIDE://0.0.0.0:9092 - KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 - KAFKA_INTER_BROKER_LISTENER_NAME: INSIDE - volumes: - - ./data/kafka/:/kafka - networks: - - zz-test - depends_on: - - zookeeper - - sentinel: - image: bladex/sentinel-dashboard - ports: - - "8858:8858" - networks: - - zz-test - -networks: - zz-test: - driver: bridge diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/docker-compose.yml b/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/docker-compose.yml deleted file mode 100644 index 046ed5c1..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/docker-compose.yml +++ /dev/null @@ -1,73 +0,0 @@ -version: '3.5' - -services: - - nacos: - image: nacos/nacos-server:1.4.1 - container_name: nacos-standalone - environment: - - PREFER_HOST_MODE=hostname - - MODE=standalone - privileged: true - volumes: - - ./logs/nacos/:/home/nacos/logs - - ./data/nacos/:/home/nacos/data - ports: - - "8848:8848" - networks: - - zz-test - - redis: - container_name: redis - build: - context: services/redis/ - args: - - REDIS_VER=4 - ports: - - "6379:6379" - volumes: - - ./services/redis/redis.conf:/usr/local/etc/redis/redis.conf:rw - - ./data/redis:/data:rw - - ./logs/redis:/var/log/:rw - networks: - - zz-test - - zookeeper: - image: zookeeper:3.5.5 - ports: - - "2181:2181" - volumes: - - ./logs/zookeeper/:/data - - ./data/zookeeper/:/datalog - networks: - - zz-test - - kafka: - image: wurstmeister/kafka:2.12-2.4.0 - ports: - - "9092:9092" - expose: - - "9093" - environment: - KAFKA_ADVERTISED_LISTENERS: INSIDE://kafka:9093,OUTSIDE://localhost:9092 - KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT - KAFKA_LISTENERS: INSIDE://0.0.0.0:9093,OUTSIDE://0.0.0.0:9092 - KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 - KAFKA_INTER_BROKER_LISTENER_NAME: INSIDE - volumes: - - ./data/kafka/:/kafka - networks: - - zz-test - depends_on: - - zookeeper - - sentinel: - image: bladex/sentinel-dashboard - ports: - - "8858:8858" - networks: - - zz-test - -networks: - zz-test: - driver: bridge diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/elasticsearch/Dockerfile b/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/elasticsearch/Dockerfile deleted file mode 100644 index b16a285a..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/elasticsearch/Dockerfile +++ /dev/null @@ -1,7 +0,0 @@ -ARG ES_VER - -FROM elasticsearch:${ES_VER} - -# 设置时区为上海 -ENV TZ=Asia/Shanghai -RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/elasticsearch/elasticsearch.yml b/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/elasticsearch/elasticsearch.yml deleted file mode 100644 index 2dbf0b04..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/elasticsearch/elasticsearch.yml +++ /dev/null @@ -1,15 +0,0 @@ -# 设置支持Elasticsearch-Head -http.cors.enabled: true -http.cors.allow-origin: "*" - -# 设置集群Master配置信息 -cluster.name: "docker-cluster-master" -# 设置网络,如果是本机的话就是127.0.0.1,其他服务器配置对应的IP地址即可(0.0.0.0支持外网访问) -network.host: 0.0.0.0 - -# 密码验证 -# xpack.security.enabled: true -# xpack.security.transport.ssl.enabled: true - -# 单节点模式 -discovery.type: single-node \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/Dockerfile b/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/Dockerfile deleted file mode 100644 index abff8c56..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/Dockerfile +++ /dev/null @@ -1,3 +0,0 @@ -ARG KAFKA_VER - -FROM wurstmeister/kafka:${KAFKA_VER} \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/connect-console-sink.properties b/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/connect-console-sink.properties deleted file mode 100644 index e240a8f0..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/connect-console-sink.properties +++ /dev/null @@ -1,19 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -name=local-console-sink -connector.class=org.apache.kafka.connect.file.FileStreamSinkConnector -tasks.max=1 -topics=connect-test \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/connect-console-source.properties b/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/connect-console-source.properties deleted file mode 100644 index d0e20690..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/connect-console-source.properties +++ /dev/null @@ -1,19 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -name=local-console-source -connector.class=org.apache.kafka.connect.file.FileStreamSourceConnector -tasks.max=1 -topic=connect-test \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/connect-distributed.properties b/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/connect-distributed.properties deleted file mode 100644 index 72db145f..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/connect-distributed.properties +++ /dev/null @@ -1,86 +0,0 @@ -## -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -## - -# This file contains some of the configurations for the Kafka Connect distributed worker. This file is intended -# to be used with the examples, and some settings may differ from those used in a production system, especially -# the `bootstrap.servers` and those specifying replication factors. - -# A list of host/port pairs to use for establishing the initial connection to the Kafka cluster. -bootstrap.servers=localhost:9092 - -# unique name for the cluster, used in forming the Connect cluster group. Note that this must not conflict with consumer group IDs -group.id=connect-cluster - -# The converters specify the format of data in Kafka and how to translate it into Connect data. Every Connect user will -# need to configure these based on the format they want their data in when loaded from or stored into Kafka -key.converter=org.apache.kafka.connect.json.JsonConverter -value.converter=org.apache.kafka.connect.json.JsonConverter -# Converter-specific settings can be passed in by prefixing the Converter's setting with the converter we want to apply -# it to -key.converter.schemas.enable=true -value.converter.schemas.enable=true - -# Topic to use for storing offsets. This topic should have many partitions and be replicated and compacted. -# Kafka Connect will attempt to create the topic automatically when needed, but you can always manually create -# the topic before starting Kafka Connect if a specific topic configuration is needed. -# Most users will want to use the built-in default replication factor of 3 or in some cases even specify a larger value. -# Since this means there must be at least as many brokers as the maximum replication factor used, we'd like to be able -# to run this example on a single-broker cluster and so here we instead set the replication factor to 1. -offset.storage.topic=connect-offsets -offset.storage.replication.factor=1 -#offset.storage.partitions=25 - -# Topic to use for storing connector and task configurations; note that this should be a single partition, highly replicated, -# and compacted topic. Kafka Connect will attempt to create the topic automatically when needed, but you can always manually create -# the topic before starting Kafka Connect if a specific topic configuration is needed. -# Most users will want to use the built-in default replication factor of 3 or in some cases even specify a larger value. -# Since this means there must be at least as many brokers as the maximum replication factor used, we'd like to be able -# to run this example on a single-broker cluster and so here we instead set the replication factor to 1. -config.storage.topic=connect-configs -config.storage.replication.factor=1 - -# Topic to use for storing statuses. This topic can have multiple partitions and should be replicated and compacted. -# Kafka Connect will attempt to create the topic automatically when needed, but you can always manually create -# the topic before starting Kafka Connect if a specific topic configuration is needed. -# Most users will want to use the built-in default replication factor of 3 or in some cases even specify a larger value. -# Since this means there must be at least as many brokers as the maximum replication factor used, we'd like to be able -# to run this example on a single-broker cluster and so here we instead set the replication factor to 1. -status.storage.topic=connect-status -status.storage.replication.factor=1 -#status.storage.partitions=5 - -# Flush much faster than normal, which is useful for testing/debugging -offset.flush.interval.ms=10000 - -# These are provided to inform the user about the presence of the REST host and port configs -# Hostname & Port for the REST API to listen on. If this is set, it will bind to the interface used to listen to requests. -#rest.host.name= -#rest.port=8083 - -# The Hostname & Port that will be given out to other workers to connect to i.e. URLs that are routable from other servers. -#rest.advertised.host.name= -#rest.advertised.port= - -# Set to a list of filesystem paths separated by commas (,) to enable class loading isolation for plugins -# (connectors, converters, transformations). The list should consist of top level directories that include -# any combination of: -# a) directories immediately containing jars with plugins and their dependencies -# b) uber-jars with plugins and their dependencies -# c) directories immediately containing the package directory structure of classes of plugins and their dependencies -# Examples: -# plugin.path=/usr/local/share/java,/usr/local/share/kafka/plugins,/opt/connectors, -#plugin.path= diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/connect-file-sink.properties b/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/connect-file-sink.properties deleted file mode 100644 index 594ccc6e..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/connect-file-sink.properties +++ /dev/null @@ -1,20 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -name=local-file-sink -connector.class=FileStreamSink -tasks.max=1 -file=test.sink.txt -topics=connect-test \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/connect-file-source.properties b/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/connect-file-source.properties deleted file mode 100644 index 599cf4cb..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/connect-file-source.properties +++ /dev/null @@ -1,20 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -name=local-file-source -connector.class=FileStreamSource -tasks.max=1 -file=test.txt -topic=connect-test \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/connect-log4j.properties b/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/connect-log4j.properties deleted file mode 100644 index 4e1e1967..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/connect-log4j.properties +++ /dev/null @@ -1,32 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -log4j.rootLogger=INFO, stdout - - -log4j.appender.stdout=org.apache.log4j.ConsoleAppender -log4j.appender.stdout.layout=org.apache.log4j.PatternLayout - -# -# The `%X{connector.context}` parameter in the layout includes connector-specific and task-specific information -# in the log message, where appropriate. This makes it easier to identify those log messages that apply to a -# specific connector. Simply add this parameter to the log layout configuration below to include the contextual information. -# -#log4j.appender.stdout.layout.ConversionPattern=[%d] %p %X{connector.context}%m (%c:%L)%n -log4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c:%L)%n - -log4j.logger.org.apache.zookeeper=ERROR -log4j.logger.org.I0Itec.zkclient=ERROR -log4j.logger.org.reflections=ERROR diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/connect-standalone.properties b/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/connect-standalone.properties deleted file mode 100644 index a340a3bf..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/connect-standalone.properties +++ /dev/null @@ -1,41 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# These are defaults. This file just demonstrates how to override some settings. -bootstrap.servers=localhost:9092 - -# The converters specify the format of data in Kafka and how to translate it into Connect data. Every Connect user will -# need to configure these based on the format they want their data in when loaded from or stored into Kafka -key.converter=org.apache.kafka.connect.json.JsonConverter -value.converter=org.apache.kafka.connect.json.JsonConverter -# Converter-specific settings can be passed in by prefixing the Converter's setting with the converter we want to apply -# it to -key.converter.schemas.enable=true -value.converter.schemas.enable=true - -offset.storage.file.filename=/tmp/connect.offsets -# Flush much faster than normal, which is useful for testing/debugging -offset.flush.interval.ms=10000 - -# Set to a list of filesystem paths separated by commas (,) to enable class loading isolation for plugins -# (connectors, converters, transformations). The list should consist of top level directories that include -# any combination of: -# a) directories immediately containing jars with plugins and their dependencies -# b) uber-jars with plugins and their dependencies -# c) directories immediately containing the package directory structure of classes of plugins and their dependencies -# Note: symlinks will be followed to discover dependencies or plugins. -# Examples: -# plugin.path=/usr/local/share/java,/usr/local/share/kafka/plugins,/opt/connectors, -#plugin.path= diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/consumer.properties b/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/consumer.properties deleted file mode 100644 index 01bb12eb..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/consumer.properties +++ /dev/null @@ -1,26 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# see org.apache.kafka.clients.consumer.ConsumerConfig for more details - -# list of brokers used for bootstrapping knowledge about the rest of the cluster -# format: host1:port1,host2:port2 ... -bootstrap.servers=localhost:9092 - -# consumer group id -group.id=test-consumer-group - -# What to do when there is no initial offset in Kafka or if the current -# offset does not exist any more on the server: latest, earliest, none -#auto.offset.reset= diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/log4j.properties b/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/log4j.properties deleted file mode 100644 index 3ff3f9e4..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/log4j.properties +++ /dev/null @@ -1,92 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Unspecified loggers and loggers with additivity=true output to server.log and stdout -# Note that INFO only applies to unspecified loggers, the log level of the child logger is used otherwise -log4j.rootLogger=INFO, stdout, kafkaAppender - -log4j.appender.stdout=org.apache.log4j.ConsoleAppender -log4j.appender.stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c)%n - -log4j.appender.kafkaAppender=org.apache.log4j.DailyRollingFileAppender -log4j.appender.kafkaAppender.DatePattern='.'yyyy-MM-dd-HH -log4j.appender.kafkaAppender.File=${kafka.logs.dir}/server.log -log4j.appender.kafkaAppender.layout=org.apache.log4j.PatternLayout -log4j.appender.kafkaAppender.layout.ConversionPattern=[%d] %p %m (%c)%n - -log4j.appender.stateChangeAppender=org.apache.log4j.DailyRollingFileAppender -log4j.appender.stateChangeAppender.DatePattern='.'yyyy-MM-dd-HH -log4j.appender.stateChangeAppender.File=${kafka.logs.dir}/state-change.log -log4j.appender.stateChangeAppender.layout=org.apache.log4j.PatternLayout -log4j.appender.stateChangeAppender.layout.ConversionPattern=[%d] %p %m (%c)%n - -log4j.appender.requestAppender=org.apache.log4j.DailyRollingFileAppender -log4j.appender.requestAppender.DatePattern='.'yyyy-MM-dd-HH -log4j.appender.requestAppender.File=${kafka.logs.dir}/kafka-request.log -log4j.appender.requestAppender.layout=org.apache.log4j.PatternLayout -log4j.appender.requestAppender.layout.ConversionPattern=[%d] %p %m (%c)%n - -log4j.appender.cleanerAppender=org.apache.log4j.DailyRollingFileAppender -log4j.appender.cleanerAppender.DatePattern='.'yyyy-MM-dd-HH -log4j.appender.cleanerAppender.File=${kafka.logs.dir}/log-cleaner.log -log4j.appender.cleanerAppender.layout=org.apache.log4j.PatternLayout -log4j.appender.cleanerAppender.layout.ConversionPattern=[%d] %p %m (%c)%n - -log4j.appender.controllerAppender=org.apache.log4j.DailyRollingFileAppender -log4j.appender.controllerAppender.DatePattern='.'yyyy-MM-dd-HH -log4j.appender.controllerAppender.File=${kafka.logs.dir}/controller.log -log4j.appender.controllerAppender.layout=org.apache.log4j.PatternLayout -log4j.appender.controllerAppender.layout.ConversionPattern=[%d] %p %m (%c)%n - -log4j.appender.authorizerAppender=org.apache.log4j.DailyRollingFileAppender -log4j.appender.authorizerAppender.DatePattern='.'yyyy-MM-dd-HH -log4j.appender.authorizerAppender.File=${kafka.logs.dir}/kafka-authorizer.log -log4j.appender.authorizerAppender.layout=org.apache.log4j.PatternLayout -log4j.appender.authorizerAppender.layout.ConversionPattern=[%d] %p %m (%c)%n - -# Change the two lines below to adjust ZK client logging -log4j.logger.org.I0Itec.zkclient.ZkClient=INFO -log4j.logger.org.apache.zookeeper=INFO - -# Change the two lines below to adjust the general broker logging level (output to server.log and stdout) -log4j.logger.kafka=INFO -log4j.logger.org.apache.kafka=INFO - -# Change to DEBUG or TRACE to enable request logging -log4j.logger.kafka.request.logger=WARN, requestAppender -log4j.additivity.kafka.request.logger=false - -# Uncomment the lines below and change log4j.logger.kafka.network.RequestChannel$ to TRACE for additional output -# related to the handling of requests -#log4j.logger.kafka.network.Processor=TRACE, requestAppender -#log4j.logger.kafka.server.KafkaApis=TRACE, requestAppender -#log4j.additivity.kafka.server.KafkaApis=false -log4j.logger.kafka.network.RequestChannel$=WARN, requestAppender -log4j.additivity.kafka.network.RequestChannel$=false - -log4j.logger.kafka.controller=TRACE, controllerAppender -log4j.additivity.kafka.controller=false - -log4j.logger.kafka.log.LogCleaner=INFO, cleanerAppender -log4j.additivity.kafka.log.LogCleaner=false - -log4j.logger.state.change.logger=TRACE, stateChangeAppender -log4j.additivity.state.change.logger=false - -# Access denials are logged at INFO level, change to DEBUG to also log allowed accesses -log4j.logger.kafka.authorizer.logger=INFO, authorizerAppender -log4j.additivity.kafka.authorizer.logger=false - diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/producer.properties b/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/producer.properties deleted file mode 100644 index 4786b988..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/producer.properties +++ /dev/null @@ -1,45 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# see org.apache.kafka.clients.producer.ProducerConfig for more details - -############################# Producer Basics ############################# - -# list of brokers used for bootstrapping knowledge about the rest of the cluster -# format: host1:port1,host2:port2 ... -bootstrap.servers=localhost:9092 - -# specify the compression codec for all data generated: none, gzip, snappy, lz4, zstd -compression.type=none - -# name of the partitioner class for partitioning events; default partition spreads data randomly -#partitioner.class= - -# the maximum amount of time the client will wait for the response of a request -#request.timeout.ms= - -# how long `KafkaProducer.send` and `KafkaProducer.partitionsFor` will block for -#max.block.ms= - -# the producer will wait for up to the given delay to allow other records to be sent so that the sends can be batched together -#linger.ms= - -# the maximum size of a request in bytes -#max.request.size= - -# the default batch size in bytes when batching multiple records sent to a partition -#batch.size= - -# the total bytes of memory the producer can use to buffer records waiting to be sent to the server -#buffer.memory= diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/server.properties b/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/server.properties deleted file mode 100644 index e5635bac..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/server.properties +++ /dev/null @@ -1,137 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# see kafka.server.KafkaConfig for additional details and defaults - -############################# Server Basics ############################# - -# The id of the broker. This must be set to a unique integer for each broker. -broker.id=0 - -############################# Socket Server Settings ############################# - -# The address the socket server listens on. It will get the value returned from -# java.net.InetAddress.getCanonicalHostName() if not configured. -# FORMAT: -# listeners = listener_name://host_name:port -# EXAMPLE: -# listeners = PLAINTEXT://your.host.name:9092 -listeners=PLAINTEXT://0.0.0.0:9092 - -# Hostname and port the broker will advertise to producers and consumers. If not set, -# it uses the value for "listeners" if configured. Otherwise, it will use the value -# returned from java.net.InetAddress.getCanonicalHostName(). -advertised.listeners=PLAINTEXT://192.168.0.1:9092 - -# Maps listener names to security protocols, the default is for them to be the same. See the config documentation for more details -#listener.security.protocol.map=PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL - -# The number of threads that the server uses for receiving requests from the network and sending responses to the network -num.network.threads=3 - -# The number of threads that the server uses for processing requests, which may include disk I/O -num.io.threads=8 - -# The send buffer (SO_SNDBUF) used by the socket server -socket.send.buffer.bytes=102400 - -# The receive buffer (SO_RCVBUF) used by the socket server -socket.receive.buffer.bytes=102400 - -# The maximum size of a request that the socket server will accept (protection against OOM) -socket.request.max.bytes=104857600 - - -############################# Log Basics ############################# - -# A comma separated list of directories under which to store log files -log.dirs=/kafka/kafka-logs-7d53de35ca1e - -# The default number of log partitions per topic. More partitions allow greater -# parallelism for consumption, but this will also result in more files across -# the brokers. -num.partitions=1 - -# The number of threads per data directory to be used for log recovery at startup and flushing at shutdown. -# This value is recommended to be increased for installations with data dirs located in RAID array. -num.recovery.threads.per.data.dir=1 - -############################# Internal Topic Settings ############################# -# The replication factor for the group metadata internal topics "__consumer_offsets" and "__transaction_state" -# For anything other than development testing, a value greater than 1 is recommended for to ensure availability such as 3. -offsets.topic.replication.factor=1 -transaction.state.log.replication.factor=1 -transaction.state.log.min.isr=1 - -############################# Log Flush Policy ############################# - -# Messages are immediately written to the filesystem but by default we only fsync() to sync -# the OS cache lazily. The following configurations control the flush of data to disk. -# There are a few important trade-offs here: -# 1. Durability: Unflushed data may be lost if you are not using replication. -# 2. Latency: Very large flush intervals may lead to latency spikes when the flush does occur as there will be a lot of data to flush. -# 3. Throughput: The flush is generally the most expensive operation, and a small flush interval may lead to excessive seeks. -# The settings below allow one to configure the flush policy to flush data after a period of time or -# every N messages (or both). This can be done globally and overridden on a per-topic basis. - -# The number of messages to accept before forcing a flush of data to disk -#log.flush.interval.messages=10000 - -# The maximum amount of time a message can sit in a log before we force a flush -#log.flush.interval.ms=1000 - -############################# Log Retention Policy ############################# - -# The following configurations control the disposal of log segments. The policy can -# be set to delete segments after a period of time, or after a given size has accumulated. -# A segment will be deleted whenever *either* of these criteria are met. Deletion always happens -# from the end of the log. - -# The minimum age of a log file to be eligible for deletion due to age -log.retention.hours=168 - -# A size-based retention policy for logs. Segments are pruned from the log unless the remaining -# segments drop below log.retention.bytes. Functions independently of log.retention.hours. -#log.retention.bytes=1073741824 - -# The maximum size of a log segment file. When this size is reached a new log segment will be created. -log.segment.bytes=1073741824 - -# The interval at which log segments are checked to see if they can be deleted according -# to the retention policies -log.retention.check.interval.ms=300000 - -############################# Zookeeper ############################# - -# Zookeeper connection string (see zookeeper docs for details). -# This is a comma separated host:port pairs, each corresponding to a zk -# server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002". -# You can also append an optional chroot string to the urls to specify the -# root directory for all kafka znodes. -zookeeper.connect=zookeeper:2181 - -# Timeout in ms for connecting to zookeeper -zookeeper.connection.timeout.ms=6000 - - -############################# Group Coordinator Settings ############################# - -# The following configuration specifies the time, in milliseconds, that the GroupCoordinator will delay the initial consumer rebalance. -# The rebalance will be further delayed by the value of group.initial.rebalance.delay.ms as new members join the group, up to a maximum of max.poll.interval.ms. -# The default value for this is 3 seconds. -# We override this to 0 here as it makes for a better out-of-the-box experience for development and testing. -# However, in production environments the default value of 3 seconds is more suitable as this will help to avoid unnecessary, and potentially expensive, rebalances during application startup. -group.initial.rebalance.delay.ms=0 -port=9092 diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/tools-log4j.properties b/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/tools-log4j.properties deleted file mode 100644 index b19e3432..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/tools-log4j.properties +++ /dev/null @@ -1,21 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -log4j.rootLogger=WARN, stderr - -log4j.appender.stderr=org.apache.log4j.ConsoleAppender -log4j.appender.stderr.layout=org.apache.log4j.PatternLayout -log4j.appender.stderr.layout.ConversionPattern=[%d] %p %m (%c)%n -log4j.appender.stderr.Target=System.err diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/trogdor.conf b/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/trogdor.conf deleted file mode 100644 index 320cbe75..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/trogdor.conf +++ /dev/null @@ -1,25 +0,0 @@ -{ - "_comment": [ - "Licensed to the Apache Software Foundation (ASF) under one or more", - "contributor license agreements. See the NOTICE file distributed with", - "this work for additional information regarding copyright ownership.", - "The ASF licenses this file to You under the Apache License, Version 2.0", - "(the \"License\"); you may not use this file except in compliance with", - "the License. You may obtain a copy of the License at", - "", - "http://www.apache.org/licenses/LICENSE-2.0", - "", - "Unless required by applicable law or agreed to in writing, software", - "distributed under the License is distributed on an \"AS IS\" BASIS,", - "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.", - "See the License for the specific language governing permissions and", - "limitations under the License." - ], - "platform": "org.apache.kafka.trogdor.basic.BasicPlatform", "nodes": { - "node0": { - "hostname": "localhost", - "trogdor.agent.port": 8888, - "trogdor.coordinator.port": 8889 - } - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/zookeeper.properties b/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/zookeeper.properties deleted file mode 100644 index 74cbf904..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kafka/config/zookeeper.properties +++ /dev/null @@ -1,20 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# the directory where the snapshot is stored. -dataDir=/tmp/zookeeper -# the port at which the clients will connect -clientPort=2181 -# disable the per-ip limit on the number of connections since this is a non-production config -maxClientCnxns=0 diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kibana/Dockerfile b/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kibana/Dockerfile deleted file mode 100644 index a0977bae..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kibana/Dockerfile +++ /dev/null @@ -1,3 +0,0 @@ -ARG KIBANA_VER - -FROM kibana:${KIBANA_VER} \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kibana/kibana.yml b/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kibana/kibana.yml deleted file mode 100644 index e2465bb3..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/kibana/kibana.yml +++ /dev/null @@ -1,13 +0,0 @@ -# -# ** THIS IS AN AUTO-GENERATED FILE ** -# - -# Default Kibana configuration for docker target -server.name: kibana -server.host: "0" -elasticsearch.hosts: [ "http://elasticsearch:9200" ] -# elasticsearch.username: "" -# elasticsearch.password: "" - -# 汉化 -i18n.locale: "zh-CN" \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/logstash/Dockerfile b/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/logstash/Dockerfile deleted file mode 100644 index fe861b67..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/logstash/Dockerfile +++ /dev/null @@ -1,3 +0,0 @@ -ARG LOGSTASH_VER - -FROM logstash:${LOGSTASH_VER} \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/logstash/config/logstash.yml b/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/logstash/config/logstash.yml deleted file mode 100644 index 58e1a35d..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/logstash/config/logstash.yml +++ /dev/null @@ -1,2 +0,0 @@ -http.host: "0.0.0.0" -xpack.monitoring.elasticsearch.hosts: [ "http://elasticsearch:9200" ] diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/logstash/config/pipelines.yml b/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/logstash/config/pipelines.yml deleted file mode 100644 index 4fae603b..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/logstash/config/pipelines.yml +++ /dev/null @@ -1,6 +0,0 @@ -# This file is where you define your pipelines. You can define multiple. -# For more information on multiple pipelines, see the documentation: -# https://www.elastic.co/guide/en/logstash/current/multiple-pipelines.html - -- pipeline.id: main - path.config: "/usr/share/logstash/pipeline" \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/logstash/pipeline/kafka.conf b/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/logstash/pipeline/kafka.conf deleted file mode 100644 index 82a4791e..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/logstash/pipeline/kafka.conf +++ /dev/null @@ -1,15 +0,0 @@ -input { - kafka { - bootstrap_servers => "kafka:9093" - topics => "zz-log-topic" - codec => plain - } -} - -# 监听 -output { - elasticsearch { - hosts => ["http://elasticsearch:9200"] - index => "logstash-%{+YYYY-MM}" - } -} diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/redis/Dockerfile b/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/redis/Dockerfile deleted file mode 100644 index 924bd9d6..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/redis/Dockerfile +++ /dev/null @@ -1,13 +0,0 @@ -ARG REDIS_VER - -FROM redis:${REDIS_VER} - -COPY redis.conf /usr/local/etc/redis/redis.conf -CMD ["redis-server", "/usr/local/etc/redis/redis.conf"] - -# 设置时区为上海 -ENV TZ=Asia/Shanghai -RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone - -# Ubuntu软件源选择中国的服务器 -RUN sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/redis/redis.conf b/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/redis/redis.conf deleted file mode 100644 index 2eecfa5a..00000000 --- a/orange-demo-multi/orange-demo-multi-service/zz-resource/docker-files/services/redis/redis.conf +++ /dev/null @@ -1,1307 +0,0 @@ -# Redis configuration file example. -# -# Note that in order to read the configuration file, Redis must be -# started with the file path as first argument: -# -# ./redis-server /path/to/redis.conf - -# Note on units: when memory size is needed, it is possible to specify -# it in the usual form of 1k 5GB 4M and so forth: -# -# 1k => 1000 bytes -# 1kb => 1024 bytes -# 1m => 1000000 bytes -# 1mb => 1024*1024 bytes -# 1g => 1000000000 bytes -# 1gb => 1024*1024*1024 bytes -# -# units are case insensitive so 1GB 1Gb 1gB are all the same. - -################################## INCLUDES ################################### - -# Include one or more other config files here. This is useful if you -# have a standard template that goes to all Redis servers but also need -# to customize a few per-server settings. Include files can include -# other files, so use this wisely. -# -# Notice option "include" won't be rewritten by command "CONFIG REWRITE" -# from admin or Redis Sentinel. Since Redis always uses the last processed -# line as value of a configuration directive, you'd better put includes -# at the beginning of this file to avoid overwriting config change at runtime. -# -# If instead you are interested in using includes to override configuration -# options, it is better to use include as the last line. -# -# include /path/to/local.conf -# include /path/to/other.conf - -################################## MODULES ##################################### - -# Load modules at startup. If the server is not able to load modules -# it will abort. It is possible to use multiple loadmodule directives. -# -# loadmodule /path/to/my_module.so -# loadmodule /path/to/other_module.so - -################################## NETWORK ##################################### - -# By default, if no "bind" configuration directive is specified, Redis listens -# for connections from all the network interfaces available on the server. -# It is possible to listen to just one or multiple selected interfaces using -# the "bind" configuration directive, followed by one or more IP addresses. -# -# Examples: -# -# bind 192.168.1.100 10.0.0.1 -# bind 127.0.0.1 ::1 -# -# ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the -# internet, binding to all the interfaces is dangerous and will expose the -# instance to everybody on the internet. So by default we uncomment the -# following bind directive, that will force Redis to listen only into -# the IPv4 lookback interface address (this means Redis will be able to -# accept connections only from clients running into the same computer it -# is running). -# -# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES -# JUST COMMENT THE FOLLOWING LINE. -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -bind 0.0.0.0 - -# Protected mode is a layer of security protection, in order to avoid that -# Redis instances left open on the internet are accessed and exploited. -# -# When protected mode is on and if: -# -# 1) The server is not binding explicitly to a set of addresses using the -# "bind" directive. -# 2) No password is configured. -# -# The server only accepts connections from clients connecting from the -# IPv4 and IPv6 loopback addresses 127.0.0.1 and ::1, and from Unix domain -# sockets. -# -# By default protected mode is enabled. You should disable it only if -# you are sure you want clients from other hosts to connect to Redis -# even if no authentication is configured, nor a specific set of interfaces -# are explicitly listed using the "bind" directive. -protected-mode yes - -# Accept connections on the specified port, default is 6379 (IANA #815344). -# If port 0 is specified Redis will not listen on a TCP socket. -port 6379 - -# TCP listen() backlog. -# -# In high requests-per-second environments you need an high backlog in order -# to avoid slow clients connections issues. Note that the Linux kernel -# will silently truncate it to the value of /proc/sys/net/core/somaxconn so -# make sure to raise both the value of somaxconn and tcp_max_syn_backlog -# in order to get the desired effect. -tcp-backlog 511 - -# Unix socket. -# -# Specify the path for the Unix socket that will be used to listen for -# incoming connections. There is no default, so Redis will not listen -# on a unix socket when not specified. -# -# unixsocket /tmp/redis.sock -# unixsocketperm 700 - -# Close the connection after a client is idle for N seconds (0 to disable) -timeout 0 - -# TCP keepalive. -# -# If non-zero, use SO_KEEPALIVE to send TCP ACKs to clients in absence -# of communication. This is useful for two reasons: -# -# 1) Detect dead peers. -# 2) Take the connection alive from the point of view of network -# equipment in the middle. -# -# On Linux, the specified value (in seconds) is the period used to send ACKs. -# Note that to close the connection the double of the time is needed. -# On other kernels the period depends on the kernel configuration. -# -# A reasonable value for this option is 300 seconds, which is the new -# Redis default starting with Redis 3.2.1. -tcp-keepalive 300 - -################################# GENERAL ##################################### - -# By default Redis does not run as a daemon. Use 'yes' if you need it. -# Note that Redis will write a pid file in /var/run/redis.pid when daemonized. -daemonize no - -# If you run Redis from upstart or systemd, Redis can interact with your -# supervision tree. Options: -# supervised no - no supervision interaction -# supervised upstart - signal upstart by putting Redis into SIGSTOP mode -# supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET -# supervised auto - detect upstart or systemd method based on -# UPSTART_JOB or NOTIFY_SOCKET environment variables -# Note: these supervision methods only signal "process is ready." -# They do not enable continuous liveness pings back to your supervisor. -supervised no - -# If a pid file is specified, Redis writes it where specified at startup -# and removes it at exit. -# -# When the server runs non daemonized, no pid file is created if none is -# specified in the configuration. When the server is daemonized, the pid file -# is used even if not specified, defaulting to "/var/run/redis.pid". -# -# Creating a pid file is best effort: if Redis is not able to create it -# nothing bad happens, the server will start and run normally. -pidfile /var/run/redis_6379.pid - -# Specify the server verbosity level. -# This can be one of: -# debug (a lot of information, useful for development/testing) -# verbose (many rarely useful info, but not a mess like the debug level) -# notice (moderately verbose, what you want in production probably) -# warning (only very important / critical messages are logged) -loglevel notice - -# Specify the log file name. Also the empty string can be used to force -# Redis to log on the standard output. Note that if you use standard -# output for logging but daemonize, logs will be sent to /dev/null -logfile /var/log/redis_6379.log - -# To enable logging to the system logger, just set 'syslog-enabled' to yes, -# and optionally update the other syslog parameters to suit your needs. -# syslog-enabled no - -# Specify the syslog identity. -# syslog-ident redis - -# Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7. -# syslog-facility local0 - -# Set the number of databases. The default database is DB 0, you can select -# a different one on a per-connection basis using SELECT where -# dbid is a number between 0 and 'databases'-1 -databases 16 - -# By default Redis shows an ASCII art logo only when started to log to the -# standard output and if the standard output is a TTY. Basically this means -# that normally a logo is displayed only in interactive sessions. -# -# However it is possible to force the pre-4.0 behavior and always show a -# ASCII art logo in startup logs by setting the following option to yes. -always-show-logo yes - -################################ SNAPSHOTTING ################################ -# -# Save the DB on disk: -# -# save -# -# Will save the DB if both the given number of seconds and the given -# number of write operations against the DB occurred. -# -# In the example below the behaviour will be to save: -# after 900 sec (15 min) if at least 1 key changed -# after 300 sec (5 min) if at least 10 keys changed -# after 60 sec if at least 10000 keys changed -# -# Note: you can disable saving completely by commenting out all "save" lines. -# -# It is also possible to remove all the previously configured save -# points by adding a save directive with a single empty string argument -# like in the following example: -# -# save "" - -save 900 1 -save 300 10 -save 60 10000 - -# By default Redis will stop accepting writes if RDB snapshots are enabled -# (at least one save point) and the latest background save failed. -# This will make the user aware (in a hard way) that data is not persisting -# on disk properly, otherwise chances are that no one will notice and some -# disaster will happen. -# -# If the background saving process will start working again Redis will -# automatically allow writes again. -# -# However if you have setup your proper monitoring of the Redis server -# and persistence, you may want to disable this feature so that Redis will -# continue to work as usual even if there are problems with disk, -# permissions, and so forth. -stop-writes-on-bgsave-error yes - -# Compress string objects using LZF when dump .rdb databases? -# For default that's set to 'yes' as it's almost always a win. -# If you want to save some CPU in the saving child set it to 'no' but -# the dataset will likely be bigger if you have compressible values or keys. -rdbcompression yes - -# Since version 5 of RDB a CRC64 checksum is placed at the end of the file. -# This makes the format more resistant to corruption but there is a performance -# hit to pay (around 10%) when saving and loading RDB files, so you can disable it -# for maximum performances. -# -# RDB files created with checksum disabled have a checksum of zero that will -# tell the loading code to skip the check. -rdbchecksum yes - -# The filename where to dump the DB -dbfilename dump.rdb - -# The working directory. -# -# The DB will be written inside this directory, with the filename specified -# above using the 'dbfilename' configuration directive. -# -# The Append Only File will also be created inside this directory. -# -# Note that you must specify a directory here, not a file name. -dir ./ - -################################# REPLICATION ################################# - -# Master-Slave replication. Use slaveof to make a Redis instance a copy of -# another Redis server. A few things to understand ASAP about Redis replication. -# -# 1) Redis replication is asynchronous, but you can configure a master to -# stop accepting writes if it appears to be not connected with at least -# a given number of slaves. -# 2) Redis slaves are able to perform a partial resynchronization with the -# master if the replication link is lost for a relatively small amount of -# time. You may want to configure the replication backlog size (see the next -# sections of this file) with a sensible value depending on your needs. -# 3) Replication is automatic and does not need user intervention. After a -# network partition slaves automatically try to reconnect to masters -# and resynchronize with them. -# -# slaveof - -# If the master is password protected (using the "requirepass" configuration -# directive below) it is possible to tell the slave to authenticate before -# starting the replication synchronization process, otherwise the master will -# refuse the slave request. -# -# masterauth - -# When a slave loses its connection with the master, or when the replication -# is still in progress, the slave can act in two different ways: -# -# 1) if slave-serve-stale-data is set to 'yes' (the default) the slave will -# still reply to client requests, possibly with out of date data, or the -# data set may just be empty if this is the first synchronization. -# -# 2) if slave-serve-stale-data is set to 'no' the slave will reply with -# an error "SYNC with master in progress" to all the kind of commands -# but to INFO and SLAVEOF. -# -slave-serve-stale-data yes - -# You can configure a slave instance to accept writes or not. Writing against -# a slave instance may be useful to store some ephemeral data (because data -# written on a slave will be easily deleted after resync with the master) but -# may also cause problems if clients are writing to it because of a -# misconfiguration. -# -# Since Redis 2.6 by default slaves are read-only. -# -# Note: read only slaves are not designed to be exposed to untrusted clients -# on the internet. It's just a protection layer against misuse of the instance. -# Still a read only slave exports by default all the administrative commands -# such as CONFIG, DEBUG, and so forth. To a limited extent you can improve -# security of read only slaves using 'rename-command' to shadow all the -# administrative / dangerous commands. -slave-read-only yes - -# Replication SYNC strategy: disk or socket. -# -# ------------------------------------------------------- -# WARNING: DISKLESS REPLICATION IS EXPERIMENTAL CURRENTLY -# ------------------------------------------------------- -# -# New slaves and reconnecting slaves that are not able to continue the replication -# process just receiving differences, need to do what is called a "full -# synchronization". An RDB file is transmitted from the master to the slaves. -# The transmission can happen in two different ways: -# -# 1) Disk-backed: The Redis master creates a new process that writes the RDB -# file on disk. Later the file is transferred by the parent -# process to the slaves incrementally. -# 2) Diskless: The Redis master creates a new process that directly writes the -# RDB file to slave sockets, without touching the disk at all. -# -# With disk-backed replication, while the RDB file is generated, more slaves -# can be queued and served with the RDB file as soon as the current child producing -# the RDB file finishes its work. With diskless replication instead once -# the transfer starts, new slaves arriving will be queued and a new transfer -# will start when the current one terminates. -# -# When diskless replication is used, the master waits a configurable amount of -# time (in seconds) before starting the transfer in the hope that multiple slaves -# will arrive and the transfer can be parallelized. -# -# With slow disks and fast (large bandwidth) networks, diskless replication -# works better. -repl-diskless-sync no - -# When diskless replication is enabled, it is possible to configure the delay -# the server waits in order to spawn the child that transfers the RDB via socket -# to the slaves. -# -# This is important since once the transfer starts, it is not possible to serve -# new slaves arriving, that will be queued for the next RDB transfer, so the server -# waits a delay in order to let more slaves arrive. -# -# The delay is specified in seconds, and by default is 5 seconds. To disable -# it entirely just set it to 0 seconds and the transfer will start ASAP. -repl-diskless-sync-delay 5 - -# Slaves send PINGs to server in a predefined interval. It's possible to change -# this interval with the repl_ping_slave_period option. The default value is 10 -# seconds. -# -# repl-ping-slave-period 10 - -# The following option sets the replication timeout for: -# -# 1) Bulk transfer I/O during SYNC, from the point of view of slave. -# 2) Master timeout from the point of view of slaves (data, pings). -# 3) Slave timeout from the point of view of masters (REPLCONF ACK pings). -# -# It is important to make sure that this value is greater than the value -# specified for repl-ping-slave-period otherwise a timeout will be detected -# every time there is low traffic between the master and the slave. -# -# repl-timeout 60 - -# Disable TCP_NODELAY on the slave socket after SYNC? -# -# If you select "yes" Redis will use a smaller number of TCP packets and -# less bandwidth to send data to slaves. But this can add a delay for -# the data to appear on the slave side, up to 40 milliseconds with -# Linux kernels using a default configuration. -# -# If you select "no" the delay for data to appear on the slave side will -# be reduced but more bandwidth will be used for replication. -# -# By default we optimize for low latency, but in very high traffic conditions -# or when the master and slaves are many hops away, turning this to "yes" may -# be a good idea. -repl-disable-tcp-nodelay no - -# Set the replication backlog size. The backlog is a buffer that accumulates -# slave data when slaves are disconnected for some time, so that when a slave -# wants to reconnect again, often a full resync is not needed, but a partial -# resync is enough, just passing the portion of data the slave missed while -# disconnected. -# -# The bigger the replication backlog, the longer the time the slave can be -# disconnected and later be able to perform a partial resynchronization. -# -# The backlog is only allocated once there is at least a slave connected. -# -# repl-backlog-size 1mb - -# After a master has no longer connected slaves for some time, the backlog -# will be freed. The following option configures the amount of seconds that -# need to elapse, starting from the time the last slave disconnected, for -# the backlog buffer to be freed. -# -# Note that slaves never free the backlog for timeout, since they may be -# promoted to masters later, and should be able to correctly "partially -# resynchronize" with the slaves: hence they should always accumulate backlog. -# -# A value of 0 means to never release the backlog. -# -# repl-backlog-ttl 3600 - -# The slave priority is an integer number published by Redis in the INFO output. -# It is used by Redis Sentinel in order to select a slave to promote into a -# master if the master is no longer working correctly. -# -# A slave with a low priority number is considered better for promotion, so -# for instance if there are three slaves with priority 10, 100, 25 Sentinel will -# pick the one with priority 10, that is the lowest. -# -# However a special priority of 0 marks the slave as not able to perform the -# role of master, so a slave with priority of 0 will never be selected by -# Redis Sentinel for promotion. -# -# By default the priority is 100. -slave-priority 100 - -# It is possible for a master to stop accepting writes if there are less than -# N slaves connected, having a lag less or equal than M seconds. -# -# The N slaves need to be in "online" state. -# -# The lag in seconds, that must be <= the specified value, is calculated from -# the last ping received from the slave, that is usually sent every second. -# -# This option does not GUARANTEE that N replicas will accept the write, but -# will limit the window of exposure for lost writes in case not enough slaves -# are available, to the specified number of seconds. -# -# For example to require at least 3 slaves with a lag <= 10 seconds use: -# -# min-slaves-to-write 3 -# min-slaves-max-lag 10 -# -# Setting one or the other to 0 disables the feature. -# -# By default min-slaves-to-write is set to 0 (feature disabled) and -# min-slaves-max-lag is set to 10. - -# A Redis master is able to list the address and port of the attached -# slaves in different ways. For example the "INFO replication" section -# offers this information, which is used, among other tools, by -# Redis Sentinel in order to discover slave instances. -# Another place where this info is available is in the output of the -# "ROLE" command of a master. -# -# The listed IP and address normally reported by a slave is obtained -# in the following way: -# -# IP: The address is auto detected by checking the peer address -# of the socket used by the slave to connect with the master. -# -# Port: The port is communicated by the slave during the replication -# handshake, and is normally the port that the slave is using to -# list for connections. -# -# However when port forwarding or Network Address Translation (NAT) is -# used, the slave may be actually reachable via different IP and port -# pairs. The following two options can be used by a slave in order to -# report to its master a specific set of IP and port, so that both INFO -# and ROLE will report those values. -# -# There is no need to use both the options if you need to override just -# the port or the IP address. -# -# slave-announce-ip 5.5.5.5 -# slave-announce-port 1234 - -################################## SECURITY ################################### - -# Require clients to issue AUTH before processing any other -# commands. This might be useful in environments in which you do not trust -# others with access to the host running redis-server. -# -# This should stay commented out for backward compatibility and because most -# people do not need auth (e.g. they run their own servers). -# -# Warning: since Redis is pretty fast an outside user can try up to -# 150k passwords per second against a good box. This means that you should -# use a very strong password otherwise it will be very easy to break. -# -# requirepass foobared - -# Command renaming. -# -# It is possible to change the name of dangerous commands in a shared -# environment. For instance the CONFIG command may be renamed into something -# hard to guess so that it will still be available for internal-use tools -# but not available for general clients. -# -# Example: -# -# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52 -# -# It is also possible to completely kill a command by renaming it into -# an empty string: -# -# rename-command CONFIG "" -# -# Please note that changing the name of commands that are logged into the -# AOF file or transmitted to slaves may cause problems. - -################################### CLIENTS #################################### - -# Set the max number of connected clients at the same time. By default -# this limit is set to 10000 clients, however if the Redis server is not -# able to configure the process file limit to allow for the specified limit -# the max number of allowed clients is set to the current file limit -# minus 32 (as Redis reserves a few file descriptors for internal uses). -# -# Once the limit is reached Redis will close all the new connections sending -# an error 'max number of clients reached'. -# -# maxclients 10000 - -############################## MEMORY MANAGEMENT ################################ - -# Set a memory usage limit to the specified amount of bytes. -# When the memory limit is reached Redis will try to remove keys -# according to the eviction policy selected (see maxmemory-policy). -# -# If Redis can't remove keys according to the policy, or if the policy is -# set to 'noeviction', Redis will start to reply with errors to commands -# that would use more memory, like SET, LPUSH, and so on, and will continue -# to reply to read-only commands like GET. -# -# This option is usually useful when using Redis as an LRU or LFU cache, or to -# set a hard memory limit for an instance (using the 'noeviction' policy). -# -# WARNING: If you have slaves attached to an instance with maxmemory on, -# the size of the output buffers needed to feed the slaves are subtracted -# from the used memory count, so that network problems / resyncs will -# not trigger a loop where keys are evicted, and in turn the output -# buffer of slaves is full with DELs of keys evicted triggering the deletion -# of more keys, and so forth until the database is completely emptied. -# -# In short... if you have slaves attached it is suggested that you set a lower -# limit for maxmemory so that there is some free RAM on the system for slave -# output buffers (but this is not needed if the policy is 'noeviction'). -# -# maxmemory - -# MAXMEMORY POLICY: how Redis will select what to remove when maxmemory -# is reached. You can select among five behaviors: -# -# volatile-lru -> Evict using approximated LRU among the keys with an expire set. -# allkeys-lru -> Evict any key using approximated LRU. -# volatile-lfu -> Evict using approximated LFU among the keys with an expire set. -# allkeys-lfu -> Evict any key using approximated LFU. -# volatile-random -> Remove a random key among the ones with an expire set. -# allkeys-random -> Remove a random key, any key. -# volatile-ttl -> Remove the key with the nearest expire time (minor TTL) -# noeviction -> Don't evict anything, just return an error on write operations. -# -# LRU means Least Recently Used -# LFU means Least Frequently Used -# -# Both LRU, LFU and volatile-ttl are implemented using approximated -# randomized algorithms. -# -# Note: with any of the above policies, Redis will return an error on write -# operations, when there are no suitable keys for eviction. -# -# At the date of writing these commands are: set setnx setex append -# incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd -# sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby -# zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby -# getset mset msetnx exec sort -# -# The default is: -# -# maxmemory-policy noeviction - -# LRU, LFU and minimal TTL algorithms are not precise algorithms but approximated -# algorithms (in order to save memory), so you can tune it for speed or -# accuracy. For default Redis will check five keys and pick the one that was -# used less recently, you can change the sample size using the following -# configuration directive. -# -# The default of 5 produces good enough results. 10 Approximates very closely -# true LRU but costs more CPU. 3 is faster but not very accurate. -# -# maxmemory-samples 5 - -############################# LAZY FREEING #################################### - -# Redis has two primitives to delete keys. One is called DEL and is a blocking -# deletion of the object. It means that the server stops processing new commands -# in order to reclaim all the memory associated with an object in a synchronous -# way. If the key deleted is associated with a small object, the time needed -# in order to execute the DEL command is very small and comparable to most other -# O(1) or O(log_N) commands in Redis. However if the key is associated with an -# aggregated value containing millions of elements, the server can block for -# a long time (even seconds) in order to complete the operation. -# -# For the above reasons Redis also offers non blocking deletion primitives -# such as UNLINK (non blocking DEL) and the ASYNC option of FLUSHALL and -# FLUSHDB commands, in order to reclaim memory in background. Those commands -# are executed in constant time. Another thread will incrementally free the -# object in the background as fast as possible. -# -# DEL, UNLINK and ASYNC option of FLUSHALL and FLUSHDB are user-controlled. -# It's up to the design of the application to understand when it is a good -# idea to use one or the other. However the Redis server sometimes has to -# delete keys or flush the whole database as a side effect of other operations. -# Specifically Redis deletes objects independently of a user call in the -# following scenarios: -# -# 1) On eviction, because of the maxmemory and maxmemory policy configurations, -# in order to make room for new data, without going over the specified -# memory limit. -# 2) Because of expire: when a key with an associated time to live (see the -# EXPIRE command) must be deleted from memory. -# 3) Because of a side effect of a command that stores data on a key that may -# already exist. For example the RENAME command may delete the old key -# content when it is replaced with another one. Similarly SUNIONSTORE -# or SORT with STORE option may delete existing keys. The SET command -# itself removes any old content of the specified key in order to replace -# it with the specified string. -# 4) During replication, when a slave performs a full resynchronization with -# its master, the content of the whole database is removed in order to -# load the RDB file just transfered. -# -# In all the above cases the default is to delete objects in a blocking way, -# like if DEL was called. However you can configure each case specifically -# in order to instead release memory in a non-blocking way like if UNLINK -# was called, using the following configuration directives: - -lazyfree-lazy-eviction no -lazyfree-lazy-expire no -lazyfree-lazy-server-del no -slave-lazy-flush no - -############################## APPEND ONLY MODE ############################### - -# By default Redis asynchronously dumps the dataset on disk. This mode is -# good enough in many applications, but an issue with the Redis process or -# a power outage may result into a few minutes of writes lost (depending on -# the configured save points). -# -# The Append Only File is an alternative persistence mode that provides -# much better durability. For instance using the default data fsync policy -# (see later in the config file) Redis can lose just one second of writes in a -# dramatic event like a server power outage, or a single write if something -# wrong with the Redis process itself happens, but the operating system is -# still running correctly. -# -# AOF and RDB persistence can be enabled at the same time without problems. -# If the AOF is enabled on startup Redis will load the AOF, that is the file -# with the better durability guarantees. -# -# Please check http://redis.io/topics/persistence for more information. - -appendonly no - -# The name of the append only file (default: "appendonly.aof") - -appendfilename "appendonly.aof" - -# The fsync() call tells the Operating System to actually write data on disk -# instead of waiting for more data in the output buffer. Some OS will really flush -# data on disk, some other OS will just try to do it ASAP. -# -# Redis supports three different modes: -# -# no: don't fsync, just let the OS flush the data when it wants. Faster. -# always: fsync after every write to the append only log. Slow, Safest. -# everysec: fsync only one time every second. Compromise. -# -# The default is "everysec", as that's usually the right compromise between -# speed and data safety. It's up to you to understand if you can relax this to -# "no" that will let the operating system flush the output buffer when -# it wants, for better performances (but if you can live with the idea of -# some data loss consider the default persistence mode that's snapshotting), -# or on the contrary, use "always" that's very slow but a bit safer than -# everysec. -# -# More details please check the following article: -# http://antirez.com/post/redis-persistence-demystified.html -# -# If unsure, use "everysec". - -# appendfsync always -appendfsync everysec -# appendfsync no - -# When the AOF fsync policy is set to always or everysec, and a background -# saving process (a background save or AOF log background rewriting) is -# performing a lot of I/O against the disk, in some Linux configurations -# Redis may block too long on the fsync() call. Note that there is no fix for -# this currently, as even performing fsync in a different thread will block -# our synchronous write(2) call. -# -# In order to mitigate this problem it's possible to use the following option -# that will prevent fsync() from being called in the main process while a -# BGSAVE or BGREWRITEAOF is in progress. -# -# This means that while another child is saving, the durability of Redis is -# the same as "appendfsync none". In practical terms, this means that it is -# possible to lose up to 30 seconds of log in the worst scenario (with the -# default Linux settings). -# -# If you have latency problems turn this to "yes". Otherwise leave it as -# "no" that is the safest pick from the point of view of durability. - -no-appendfsync-on-rewrite no - -# Automatic rewrite of the append only file. -# Redis is able to automatically rewrite the log file implicitly calling -# BGREWRITEAOF when the AOF log size grows by the specified percentage. -# -# This is how it works: Redis remembers the size of the AOF file after the -# latest rewrite (if no rewrite has happened since the restart, the size of -# the AOF at startup is used). -# -# This base size is compared to the current size. If the current size is -# bigger than the specified percentage, the rewrite is triggered. Also -# you need to specify a minimal size for the AOF file to be rewritten, this -# is useful to avoid rewriting the AOF file even if the percentage increase -# is reached but it is still pretty small. -# -# Specify a percentage of zero in order to disable the automatic AOF -# rewrite feature. - -auto-aof-rewrite-percentage 100 -auto-aof-rewrite-min-size 64mb - -# An AOF file may be found to be truncated at the end during the Redis -# startup process, when the AOF data gets loaded back into memory. -# This may happen when the system where Redis is running -# crashes, especially when an ext4 filesystem is mounted without the -# data=ordered option (however this can't happen when Redis itself -# crashes or aborts but the operating system still works correctly). -# -# Redis can either exit with an error when this happens, or load as much -# data as possible (the default now) and start if the AOF file is found -# to be truncated at the end. The following option controls this behavior. -# -# If aof-load-truncated is set to yes, a truncated AOF file is loaded and -# the Redis server starts emitting a log to inform the user of the event. -# Otherwise if the option is set to no, the server aborts with an error -# and refuses to start. When the option is set to no, the user requires -# to fix the AOF file using the "redis-check-aof" utility before to restart -# the server. -# -# Note that if the AOF file will be found to be corrupted in the middle -# the server will still exit with an error. This option only applies when -# Redis will try to read more data from the AOF file but not enough bytes -# will be found. -aof-load-truncated yes - -# When rewriting the AOF file, Redis is able to use an RDB preamble in the -# AOF file for faster rewrites and recoveries. When this option is turned -# on the rewritten AOF file is composed of two different stanzas: -# -# [RDB file][AOF tail] -# -# When loading Redis recognizes that the AOF file starts with the "REDIS" -# string and loads the prefixed RDB file, and continues loading the AOF -# tail. -# -# This is currently turned off by default in order to avoid the surprise -# of a format change, but will at some point be used as the default. -aof-use-rdb-preamble no - -################################ LUA SCRIPTING ############################### - -# Max execution time of a Lua script in milliseconds. -# -# If the maximum execution time is reached Redis will log that a script is -# still in execution after the maximum allowed time and will start to -# reply to queries with an error. -# -# When a long running script exceeds the maximum execution time only the -# SCRIPT KILL and SHUTDOWN NOSAVE commands are available. The first can be -# used to stop a script that did not yet called write commands. The second -# is the only way to shut down the server in the case a write command was -# already issued by the script but the user doesn't want to wait for the natural -# termination of the script. -# -# Set it to 0 or a negative value for unlimited execution without warnings. -lua-time-limit 5000 - -################################ REDIS CLUSTER ############################### -# -# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# WARNING EXPERIMENTAL: Redis Cluster is considered to be stable code, however -# in order to mark it as "mature" we need to wait for a non trivial percentage -# of users to deploy it in production. -# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -# -# Normal Redis instances can't be part of a Redis Cluster; only nodes that are -# started as cluster nodes can. In order to start a Redis instance as a -# cluster node enable the cluster support uncommenting the following: -# -# cluster-enabled yes - -# Every cluster node has a cluster configuration file. This file is not -# intended to be edited by hand. It is created and updated by Redis nodes. -# Every Redis Cluster node requires a different cluster configuration file. -# Make sure that instances running in the same system do not have -# overlapping cluster configuration file names. -# -# cluster-config-file nodes-6379.conf - -# Cluster node timeout is the amount of milliseconds a node must be unreachable -# for it to be considered in failure state. -# Most other internal time limits are multiple of the node timeout. -# -# cluster-node-timeout 15000 - -# A slave of a failing master will avoid to start a failover if its data -# looks too old. -# -# There is no simple way for a slave to actually have an exact measure of -# its "data age", so the following two checks are performed: -# -# 1) If there are multiple slaves able to failover, they exchange messages -# in order to try to give an advantage to the slave with the best -# replication offset (more data from the master processed). -# Slaves will try to get their rank by offset, and apply to the start -# of the failover a delay proportional to their rank. -# -# 2) Every single slave computes the time of the last interaction with -# its master. This can be the last ping or command received (if the master -# is still in the "connected" state), or the time that elapsed since the -# disconnection with the master (if the replication link is currently down). -# If the last interaction is too old, the slave will not try to failover -# at all. -# -# The point "2" can be tuned by user. Specifically a slave will not perform -# the failover if, since the last interaction with the master, the time -# elapsed is greater than: -# -# (node-timeout * slave-validity-factor) + repl-ping-slave-period -# -# So for example if node-timeout is 30 seconds, and the slave-validity-factor -# is 10, and assuming a default repl-ping-slave-period of 10 seconds, the -# slave will not try to failover if it was not able to talk with the master -# for longer than 310 seconds. -# -# A large slave-validity-factor may allow slaves with too old data to failover -# a master, while a too small value may prevent the cluster from being able to -# elect a slave at all. -# -# For maximum availability, it is possible to set the slave-validity-factor -# to a value of 0, which means, that slaves will always try to failover the -# master regardless of the last time they interacted with the master. -# (However they'll always try to apply a delay proportional to their -# offset rank). -# -# Zero is the only value able to guarantee that when all the partitions heal -# the cluster will always be able to continue. -# -# cluster-slave-validity-factor 10 - -# Cluster slaves are able to migrate to orphaned masters, that are masters -# that are left without working slaves. This improves the cluster ability -# to resist to failures as otherwise an orphaned master can't be failed over -# in case of failure if it has no working slaves. -# -# Slaves migrate to orphaned masters only if there are still at least a -# given number of other working slaves for their old master. This number -# is the "migration barrier". A migration barrier of 1 means that a slave -# will migrate only if there is at least 1 other working slave for its master -# and so forth. It usually reflects the number of slaves you want for every -# master in your cluster. -# -# Default is 1 (slaves migrate only if their masters remain with at least -# one slave). To disable migration just set it to a very large value. -# A value of 0 can be set but is useful only for debugging and dangerous -# in production. -# -# cluster-migration-barrier 1 - -# By default Redis Cluster nodes stop accepting queries if they detect there -# is at least an hash slot uncovered (no available node is serving it). -# This way if the cluster is partially down (for example a range of hash slots -# are no longer covered) all the cluster becomes, eventually, unavailable. -# It automatically returns available as soon as all the slots are covered again. -# -# However sometimes you want the subset of the cluster which is working, -# to continue to accept queries for the part of the key space that is still -# covered. In order to do so, just set the cluster-require-full-coverage -# option to no. -# -# cluster-require-full-coverage yes - -# In order to setup your cluster make sure to read the documentation -# available at http://redis.io web site. - -########################## CLUSTER DOCKER/NAT support ######################## - -# In certain deployments, Redis Cluster nodes address discovery fails, because -# addresses are NAT-ted or because ports are forwarded (the typical case is -# Docker and other containers). -# -# In order to make Redis Cluster working in such environments, a static -# configuration where each node knows its public address is needed. The -# following two options are used for this scope, and are: -# -# * cluster-announce-ip -# * cluster-announce-port -# * cluster-announce-bus-port -# -# Each instruct the node about its address, client port, and cluster message -# bus port. The information is then published in the header of the bus packets -# so that other nodes will be able to correctly map the address of the node -# publishing the information. -# -# If the above options are not used, the normal Redis Cluster auto-detection -# will be used instead. -# -# Note that when remapped, the bus port may not be at the fixed offset of -# clients port + 10000, so you can specify any port and bus-port depending -# on how they get remapped. If the bus-port is not set, a fixed offset of -# 10000 will be used as usually. -# -# Example: -# -# cluster-announce-ip 10.1.1.5 -# cluster-announce-port 6379 -# cluster-announce-bus-port 6380 - -################################## SLOW LOG ################################### - -# The Redis Slow Log is a system to log queries that exceeded a specified -# execution time. The execution time does not include the I/O operations -# like talking with the client, sending the reply and so forth, -# but just the time needed to actually execute the command (this is the only -# stage of command execution where the thread is blocked and can not serve -# other requests in the meantime). -# -# You can configure the slow log with two parameters: one tells Redis -# what is the execution time, in microseconds, to exceed in order for the -# command to get logged, and the other parameter is the length of the -# slow log. When a new command is logged the oldest one is removed from the -# queue of logged commands. - -# The following time is expressed in microseconds, so 1000000 is equivalent -# to one second. Note that a negative number disables the slow log, while -# a value of zero forces the logging of every command. -slowlog-log-slower-than 10000 - -# There is no limit to this length. Just be aware that it will consume memory. -# You can reclaim memory used by the slow log with SLOWLOG RESET. -slowlog-max-len 128 - -################################ LATENCY MONITOR ############################## - -# The Redis latency monitoring subsystem samples different operations -# at runtime in order to collect data related to possible sources of -# latency of a Redis instance. -# -# Via the LATENCY command this information is available to the user that can -# print graphs and obtain reports. -# -# The system only logs operations that were performed in a time equal or -# greater than the amount of milliseconds specified via the -# latency-monitor-threshold configuration directive. When its value is set -# to zero, the latency monitor is turned off. -# -# By default latency monitoring is disabled since it is mostly not needed -# if you don't have latency issues, and collecting data has a performance -# impact, that while very small, can be measured under big load. Latency -# monitoring can easily be enabled at runtime using the command -# "CONFIG SET latency-monitor-threshold " if needed. -latency-monitor-threshold 0 - -############################# EVENT NOTIFICATION ############################## - -# Redis can notify Pub/Sub clients about events happening in the key space. -# This feature is documented at http://redis.io/topics/notifications -# -# For instance if keyspace events notification is enabled, and a client -# performs a DEL operation on key "foo" stored in the Database 0, two -# messages will be published via Pub/Sub: -# -# PUBLISH __keyspace@0__:foo del -# PUBLISH __keyevent@0__:del foo -# -# It is possible to select the events that Redis will notify among a set -# of classes. Every class is identified by a single character: -# -# K Keyspace events, published with __keyspace@__ prefix. -# E Keyevent events, published with __keyevent@__ prefix. -# g Generic commands (non-type specific) like DEL, EXPIRE, RENAME, ... -# $ String commands -# l List commands -# s Set commands -# h Hash commands -# z Sorted set commands -# x Expired events (events generated every time a key expires) -# e Evicted events (events generated when a key is evicted for maxmemory) -# A Alias for g$lshzxe, so that the "AKE" string means all the events. -# -# The "notify-keyspace-events" takes as argument a string that is composed -# of zero or multiple characters. The empty string means that notifications -# are disabled. -# -# Example: to enable list and generic events, from the point of view of the -# event name, use: -# -# notify-keyspace-events Elg -# -# Example 2: to get the stream of the expired keys subscribing to channel -# name __keyevent@0__:expired use: -# -# notify-keyspace-events Ex -# -# By default all notifications are disabled because most users don't need -# this feature and the feature has some overhead. Note that if you don't -# specify at least one of K or E, no events will be delivered. -notify-keyspace-events "" - -############################### ADVANCED CONFIG ############################### - -# Hashes are encoded using a memory efficient data structure when they have a -# small number of entries, and the biggest entry does not exceed a given -# threshold. These thresholds can be configured using the following directives. -hash-max-ziplist-entries 512 -hash-max-ziplist-value 64 - -# Lists are also encoded in a special way to save a lot of space. -# The number of entries allowed per internal list node can be specified -# as a fixed maximum size or a maximum number of elements. -# For a fixed maximum size, use -5 through -1, meaning: -# -5: max size: 64 Kb <-- not recommended for normal workloads -# -4: max size: 32 Kb <-- not recommended -# -3: max size: 16 Kb <-- probably not recommended -# -2: max size: 8 Kb <-- good -# -1: max size: 4 Kb <-- good -# Positive numbers mean store up to _exactly_ that number of elements -# per list node. -# The highest performing option is usually -2 (8 Kb size) or -1 (4 Kb size), -# but if your use case is unique, adjust the settings as necessary. -list-max-ziplist-size -2 - -# Lists may also be compressed. -# Compress depth is the number of quicklist ziplist nodes from *each* side of -# the list to *exclude* from compression. The head and tail of the list -# are always uncompressed for fast push/pop operations. Settings are: -# 0: disable all list compression -# 1: depth 1 means "don't start compressing until after 1 node into the list, -# going from either the head or tail" -# So: [head]->node->node->...->node->[tail] -# [head], [tail] will always be uncompressed; inner nodes will compress. -# 2: [head]->[next]->node->node->...->node->[prev]->[tail] -# 2 here means: don't compress head or head->next or tail->prev or tail, -# but compress all nodes between them. -# 3: [head]->[next]->[next]->node->node->...->node->[prev]->[prev]->[tail] -# etc. -list-compress-depth 0 - -# Sets have a special encoding in just one case: when a set is composed -# of just strings that happen to be integers in radix 10 in the range -# of 64 bit signed integers. -# The following configuration setting sets the limit in the size of the -# set in order to use this special memory saving encoding. -set-max-intset-entries 512 - -# Similarly to hashes and lists, sorted sets are also specially encoded in -# order to save a lot of space. This encoding is only used when the length and -# elements of a sorted set are below the following limits: -zset-max-ziplist-entries 128 -zset-max-ziplist-value 64 - -# HyperLogLog sparse representation bytes limit. The limit includes the -# 16 bytes header. When an HyperLogLog using the sparse representation crosses -# this limit, it is converted into the dense representation. -# -# A value greater than 16000 is totally useless, since at that point the -# dense representation is more memory efficient. -# -# The suggested value is ~ 3000 in order to have the benefits of -# the space efficient encoding without slowing down too much PFADD, -# which is O(N) with the sparse encoding. The value can be raised to -# ~ 10000 when CPU is not a concern, but space is, and the data set is -# composed of many HyperLogLogs with cardinality in the 0 - 15000 range. -hll-sparse-max-bytes 3000 - -# Active rehashing uses 1 millisecond every 100 milliseconds of CPU time in -# order to help rehashing the main Redis hash table (the one mapping top-level -# keys to values). The hash table implementation Redis uses (see dict.c) -# performs a lazy rehashing: the more operation you run into a hash table -# that is rehashing, the more rehashing "steps" are performed, so if the -# server is idle the rehashing is never complete and some more memory is used -# by the hash table. -# -# The default is to use this millisecond 10 times every second in order to -# actively rehash the main dictionaries, freeing memory when possible. -# -# If unsure: -# use "activerehashing no" if you have hard latency requirements and it is -# not a good thing in your environment that Redis can reply from time to time -# to queries with 2 milliseconds delay. -# -# use "activerehashing yes" if you don't have such hard requirements but -# want to free memory asap when possible. -activerehashing yes - -# The client output buffer limits can be used to force disconnection of clients -# that are not reading data from the server fast enough for some reason (a -# common reason is that a Pub/Sub client can't consume messages as fast as the -# publisher can produce them). -# -# The limit can be set differently for the three different classes of clients: -# -# normal -> normal clients including MONITOR clients -# slave -> slave clients -# pubsub -> clients subscribed to at least one pubsub channel or pattern -# -# The syntax of every client-output-buffer-limit directive is the following: -# -# client-output-buffer-limit -# -# A client is immediately disconnected once the hard limit is reached, or if -# the soft limit is reached and remains reached for the specified number of -# seconds (continuously). -# So for instance if the hard limit is 32 megabytes and the soft limit is -# 16 megabytes / 10 seconds, the client will get disconnected immediately -# if the size of the output buffers reach 32 megabytes, but will also get -# disconnected if the client reaches 16 megabytes and continuously overcomes -# the limit for 10 seconds. -# -# By default normal clients are not limited because they don't receive data -# without asking (in a push way), but just after a request, so only -# asynchronous clients may create a scenario where data is requested faster -# than it can read. -# -# Instead there is a default limit for pubsub and slave clients, since -# subscribers and slaves receive data in a push fashion. -# -# Both the hard or the soft limit can be disabled by setting them to zero. -client-output-buffer-limit normal 0 0 0 -client-output-buffer-limit slave 256mb 64mb 60 -client-output-buffer-limit pubsub 32mb 8mb 60 - -# Client query buffers accumulate new commands. They are limited to a fixed -# amount by default in order to avoid that a protocol desynchronization (for -# instance due to a bug in the client) will lead to unbound memory usage in -# the query buffer. However you can configure it here if you have very special -# needs, such us huge multi/exec requests or alike. -# -# client-query-buffer-limit 1gb - -# In the Redis protocol, bulk requests, that are, elements representing single -# strings, are normally limited ot 512 mb. However you can change this limit -# here. -# -# proto-max-bulk-len 512mb - -# Redis calls an internal function to perform many background tasks, like -# closing connections of clients in timeout, purging expired keys that are -# never requested, and so forth. -# -# Not all tasks are performed with the same frequency, but Redis checks for -# tasks to perform according to the specified "hz" value. -# -# By default "hz" is set to 10. Raising the value will use more CPU when -# Redis is idle, but at the same time will make Redis more responsive when -# there are many keys expiring at the same time, and timeouts may be -# handled with more precision. -# -# The range is between 1 and 500, however a value over 100 is usually not -# a good idea. Most users should use the default of 10 and raise this up to -# 100 only in environments where very low latency is required. -hz 10 - -# When a child rewrites the AOF file, if the following option is enabled -# the file will be fsync-ed every 32 MB of data generated. This is useful -# in order to commit the file to the disk more incrementally and avoid -# big latency spikes. -aof-rewrite-incremental-fsync yes - -# Redis LFU eviction (see maxmemory setting) can be tuned. However it is a good -# idea to start with the default settings and only change them after investigating -# how to improve the performances and how the keys LFU change over time, which -# is possible to inspect via the OBJECT FREQ command. -# -# There are two tunable parameters in the Redis LFU implementation: the -# counter logarithm factor and the counter decay time. It is important to -# understand what the two parameters mean before changing them. -# -# The LFU counter is just 8 bits per key, it's maximum value is 255, so Redis -# uses a probabilistic increment with logarithmic behavior. Given the value -# of the old counter, when a key is accessed, the counter is incremented in -# this way: -# -# 1. A random number R between 0 and 1 is extracted. -# 2. A probability P is calculated as 1/(old_value*lfu_log_factor+1). -# 3. The counter is incremented only if R < P. -# -# The default lfu-log-factor is 10. This is a table of how the frequency -# counter changes with a different number of accesses with different -# logarithmic factors: -# -# +--------+------------+------------+------------+------------+------------+ -# | factor | 100 hits | 1000 hits | 100K hits | 1M hits | 10M hits | -# +--------+------------+------------+------------+------------+------------+ -# | 0 | 104 | 255 | 255 | 255 | 255 | -# +--------+------------+------------+------------+------------+------------+ -# | 1 | 18 | 49 | 255 | 255 | 255 | -# +--------+------------+------------+------------+------------+------------+ -# | 10 | 10 | 18 | 142 | 255 | 255 | -# +--------+------------+------------+------------+------------+------------+ -# | 100 | 8 | 11 | 49 | 143 | 255 | -# +--------+------------+------------+------------+------------+------------+ -# -# NOTE: The above table was obtained by running the following commands: -# -# redis-benchmark -n 1000000 incr foo -# redis-cli object freq foo -# -# NOTE 2: The counter initial value is 5 in order to give new objects a chance -# to accumulate hits. -# -# The counter decay time is the time, in minutes, that must elapse in order -# for the key counter to be divided by two (or decremented if it has a value -# less <= 10). -# -# The default value for the lfu-decay-time is 1. A Special value of 0 means to -# decay the counter every time it happens to be scanned. -# -# lfu-log-factor 10 -# lfu-decay-time 1 - -########################### ACTIVE DEFRAGMENTATION ####################### -# -# WARNING THIS FEATURE IS EXPERIMENTAL. However it was stress tested -# even in production and manually tested by multiple engineers for some -# time. -# -# What is active defragmentation? -# ------------------------------- -# -# Active (online) defragmentation allows a Redis server to compact the -# spaces left between small allocations and deallocations of data in memory, -# thus allowing to reclaim back memory. -# -# Fragmentation is a natural process that happens with every allocator (but -# less so with Jemalloc, fortunately) and certain workloads. Normally a server -# restart is needed in order to lower the fragmentation, or at least to flush -# away all the data and create it again. However thanks to this feature -# implemented by Oran Agra for Redis 4.0 this process can happen at runtime -# in an "hot" way, while the server is running. -# -# Basically when the fragmentation is over a certain level (see the -# configuration options below) Redis will start to create new copies of the -# values in contiguous memory regions by exploiting certain specific Jemalloc -# features (in order to understand if an allocation is causing fragmentation -# and to allocate it in a better place), and at the same time, will release the -# old copies of the data. This process, repeated incrementally for all the keys -# will cause the fragmentation to drop back to normal values. -# -# Important things to understand: -# -# 1. This feature is disabled by default, and only works if you compiled Redis -# to use the copy of Jemalloc we ship with the source code of Redis. -# This is the default with Linux builds. -# -# 2. You never need to enable this feature if you don't have fragmentation -# issues. -# -# 3. Once you experience fragmentation, you can enable this feature when -# needed with the command "CONFIG SET activedefrag yes". -# -# The configuration parameters are able to fine tune the behavior of the -# defragmentation process. If you are not sure about what they mean it is -# a good idea to leave the defaults untouched. - -# Enabled active defragmentation -# activedefrag yes - -# Minimum amount of fragmentation waste to start active defrag -# active-defrag-ignore-bytes 100mb - -# Minimum percentage of fragmentation to start active defrag -# active-defrag-threshold-lower 10 - -# Maximum percentage of fragmentation at which we use maximum effort -# active-defrag-threshold-upper 100 - -# Minimal effort for defrag in CPU percentage -# active-defrag-cycle-min 25 - -# Maximal effort for defrag in CPU percentage -# active-defrag-cycle-max 75 - diff --git a/orange-demo-multi/orange-demo-multi-web/.browserslistrc b/orange-demo-multi/orange-demo-multi-web/.browserslistrc deleted file mode 100644 index d6471a38..00000000 --- a/orange-demo-multi/orange-demo-multi-web/.browserslistrc +++ /dev/null @@ -1,2 +0,0 @@ -> 1% -last 2 versions diff --git a/orange-demo-multi/orange-demo-multi-web/.editorconfig b/orange-demo-multi/orange-demo-multi-web/.editorconfig deleted file mode 100644 index 7053c49a..00000000 --- a/orange-demo-multi/orange-demo-multi-web/.editorconfig +++ /dev/null @@ -1,5 +0,0 @@ -[*.{js,jsx,ts,tsx,vue}] -indent_style = space -indent_size = 2 -trim_trailing_whitespace = true -insert_final_newline = true diff --git a/orange-demo-multi/orange-demo-multi-web/.eslintignore b/orange-demo-multi/orange-demo-multi-web/.eslintignore deleted file mode 100644 index 53395bc7..00000000 --- a/orange-demo-multi/orange-demo-multi-web/.eslintignore +++ /dev/null @@ -1,2 +0,0 @@ -/src/views/workflow/package/* -/src/components/Verifition/* \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-web/.eslintrc.js b/orange-demo-multi/orange-demo-multi-web/.eslintrc.js deleted file mode 100644 index 81d92950..00000000 --- a/orange-demo-multi/orange-demo-multi-web/.eslintrc.js +++ /dev/null @@ -1,39 +0,0 @@ -module.exports = { - root: true, - env: { - node: true - }, - 'extends': [ - 'plugin:vue/essential', - '@vue/standard' - ], - parserOptions: { - parser: 'babel-eslint' - }, - rules: { - 'no-console': 'off', - 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', - 'semi': ['off', 'always'], - 'prefer-promise-reject-errors': ['error', { 'allowEmptyReject': true }], - 'no-trailing-spaces': ['error', { 'skipBlankLines': true }], - 'prefer-const': ['off'], - 'quote-props': ['off'], - 'object-curly-spacing': ['off'], - 'dot-notation': ['off'], - 'lines-between-class-members': ['off'], - // 'no-undef': ['off', 'always'], - // 'no-unused-vars': ['off', 'always'], - 'no-new-func': ['off', 'always'] - }, - overrides: [ - { - files: [ - '**/__tests__/*.{j,t}s?(x)', - '**/tests/unit/**/*.spec.{j,t}s?(x)' - ], - env: { - jest: true - } - } - ] -} diff --git a/orange-demo-multi/orange-demo-multi-web/.gitignore b/orange-demo-multi/orange-demo-multi-web/.gitignore deleted file mode 100644 index a0dddc6f..00000000 --- a/orange-demo-multi/orange-demo-multi-web/.gitignore +++ /dev/null @@ -1,21 +0,0 @@ -.DS_Store -node_modules -/dist - -# local env files -.env.local -.env.*.local - -# Log files -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Editor directories and files -.idea -.vscode -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? diff --git a/orange-demo-multi/orange-demo-multi-web/README.md b/orange-demo-multi/orange-demo-multi-web/README.md deleted file mode 100644 index 3b5fbf8e..00000000 --- a/orange-demo-multi/orange-demo-multi-web/README.md +++ /dev/null @@ -1,15 +0,0 @@ -## 橙单代码生成器 -### 构建命令 -``` bash -# install dependencies -npm install - -# serve with hot reload at localhost:8080 -npm run dev - -# build for production with minification -npm run build - -# run all tests -npm test -``` diff --git a/orange-demo-multi/orange-demo-multi-web/babel.config.js b/orange-demo-multi/orange-demo-multi-web/babel.config.js deleted file mode 100644 index e9558405..00000000 --- a/orange-demo-multi/orange-demo-multi-web/babel.config.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = { - presets: [ - '@vue/cli-plugin-babel/preset' - ] -} diff --git a/orange-demo-multi/orange-demo-multi-web/jest.config.js b/orange-demo-multi/orange-demo-multi-web/jest.config.js deleted file mode 100644 index 0f957914..00000000 --- a/orange-demo-multi/orange-demo-multi-web/jest.config.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - preset: '@vue/cli-plugin-unit-jest' -} diff --git a/orange-demo-multi/orange-demo-multi-web/package.json b/orange-demo-multi/orange-demo-multi-web/package.json deleted file mode 100644 index 316b3cd0..00000000 --- a/orange-demo-multi/orange-demo-multi-web/package.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "name": "orange-project", - "version": "1.0.0", - "private": true, - "scripts": { - "serve": "vue-cli-service serve", - "dev": "vue-cli-service serve", - "build": "vue-cli-service build", - "test:unit": "vue-cli-service test:unit", - "lint": "vue-cli-service lint" - }, - "dependencies": { - "axios": "^0.18.0", - "echarts": "^4.2.1", - "element-ui": "^2.13.0", - "jquery": "^3.3.1", - "js-cookie": "^2.2.1", - "jsencrypt": "^3.0.0-rc.1", - "json-bigint": "^0.3.0", - "layui-layer": "^1.0.9", - "lodash": "^4.17.5", - "core-js": "^3.6.4", - "register-service-worker": "^1.6.2", - "sortablejs": "^1.7.0", - "v-charts": "^1.19.0", - "vue": "^2.6.11", - "vue-router": "^3.1.5", - "vuex": "^3.1.2", - "wangeditor": "^3.1.1", - "vue-json-viewer": "^2.2.18", - "min-dash": "^3.5.2", - "vuedraggable": "^2.24.3", - "xml-js": "^1.6.11", - "highlight.js": "^10.5.0", - "bpmn-js-token-simulation": "^0.10.0", - "crypto-js": "^4.1.1" - }, - "devDependencies": { - "@vue/cli-plugin-babel": "~4.2.0", - "@vue/cli-plugin-eslint": "~4.2.0", - "@vue/cli-plugin-pwa": "~4.2.0", - "@vue/cli-plugin-router": "~4.2.0", - "@vue/cli-plugin-unit-jest": "~4.2.0", - "@vue/cli-plugin-vuex": "~4.2.0", - "@vue/cli-service": "~4.2.0", - "@vue/eslint-config-standard": "^5.1.0", - "@vue/test-utils": "1.0.0-beta.31", - "babel-eslint": "^10.0.3", - "bpmn-js": "^7.4.0", - "bpmn-js-properties-panel": "^0.37.2", - "camunda-bpmn-moddle": "^4.4.1", - "eslint": "^6.7.2", - "eslint-plugin-import": "^2.20.1", - "eslint-plugin-node": "^11.0.0", - "eslint-plugin-promise": "^4.2.1", - "eslint-plugin-standard": "^4.0.0", - "eslint-plugin-vue": "^6.1.2", - "lint-staged": "^9.5.0", - "node-sass": "^4.13.1", - "sass-loader": "^7.3.1", - "vue-template-compiler": "^2.6.11" - }, - "gitHooks": { - "pre-commit": "lint-staged" - }, - "lint-staged": { - "*.{js,jsx,vue}": [ - "vue-cli-service lint", - "git add" - ] - } -} diff --git a/orange-demo-multi/orange-demo-multi-web/public/favicon.ico b/orange-demo-multi/orange-demo-multi-web/public/favicon.ico deleted file mode 100644 index df36fcfb..00000000 Binary files a/orange-demo-multi/orange-demo-multi-web/public/favicon.ico and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-web/public/img/icons/android-chrome-192x192.png b/orange-demo-multi/orange-demo-multi-web/public/img/icons/android-chrome-192x192.png deleted file mode 100644 index b02aa64d..00000000 Binary files a/orange-demo-multi/orange-demo-multi-web/public/img/icons/android-chrome-192x192.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-web/public/img/icons/android-chrome-512x512.png b/orange-demo-multi/orange-demo-multi-web/public/img/icons/android-chrome-512x512.png deleted file mode 100644 index 06088b01..00000000 Binary files a/orange-demo-multi/orange-demo-multi-web/public/img/icons/android-chrome-512x512.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-web/public/img/icons/android-chrome-maskable-192x192.png b/orange-demo-multi/orange-demo-multi-web/public/img/icons/android-chrome-maskable-192x192.png deleted file mode 100644 index 791e9c8c..00000000 Binary files a/orange-demo-multi/orange-demo-multi-web/public/img/icons/android-chrome-maskable-192x192.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-web/public/img/icons/android-chrome-maskable-512x512.png b/orange-demo-multi/orange-demo-multi-web/public/img/icons/android-chrome-maskable-512x512.png deleted file mode 100644 index 5f2098ed..00000000 Binary files a/orange-demo-multi/orange-demo-multi-web/public/img/icons/android-chrome-maskable-512x512.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-web/public/img/icons/apple-touch-icon-120x120.png b/orange-demo-multi/orange-demo-multi-web/public/img/icons/apple-touch-icon-120x120.png deleted file mode 100644 index 1427cf62..00000000 Binary files a/orange-demo-multi/orange-demo-multi-web/public/img/icons/apple-touch-icon-120x120.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-web/public/img/icons/apple-touch-icon-152x152.png b/orange-demo-multi/orange-demo-multi-web/public/img/icons/apple-touch-icon-152x152.png deleted file mode 100644 index f24d454a..00000000 Binary files a/orange-demo-multi/orange-demo-multi-web/public/img/icons/apple-touch-icon-152x152.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-web/public/img/icons/apple-touch-icon-180x180.png b/orange-demo-multi/orange-demo-multi-web/public/img/icons/apple-touch-icon-180x180.png deleted file mode 100644 index 404e192a..00000000 Binary files a/orange-demo-multi/orange-demo-multi-web/public/img/icons/apple-touch-icon-180x180.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-web/public/img/icons/apple-touch-icon-60x60.png b/orange-demo-multi/orange-demo-multi-web/public/img/icons/apple-touch-icon-60x60.png deleted file mode 100644 index cf10a560..00000000 Binary files a/orange-demo-multi/orange-demo-multi-web/public/img/icons/apple-touch-icon-60x60.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-web/public/img/icons/apple-touch-icon-76x76.png b/orange-demo-multi/orange-demo-multi-web/public/img/icons/apple-touch-icon-76x76.png deleted file mode 100644 index c500769e..00000000 Binary files a/orange-demo-multi/orange-demo-multi-web/public/img/icons/apple-touch-icon-76x76.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-web/public/img/icons/apple-touch-icon.png b/orange-demo-multi/orange-demo-multi-web/public/img/icons/apple-touch-icon.png deleted file mode 100644 index 03c0c5d5..00000000 Binary files a/orange-demo-multi/orange-demo-multi-web/public/img/icons/apple-touch-icon.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-web/public/img/icons/favicon-16x16.png b/orange-demo-multi/orange-demo-multi-web/public/img/icons/favicon-16x16.png deleted file mode 100644 index 42af0096..00000000 Binary files a/orange-demo-multi/orange-demo-multi-web/public/img/icons/favicon-16x16.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-web/public/img/icons/favicon-32x32.png b/orange-demo-multi/orange-demo-multi-web/public/img/icons/favicon-32x32.png deleted file mode 100644 index 46ca04de..00000000 Binary files a/orange-demo-multi/orange-demo-multi-web/public/img/icons/favicon-32x32.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-web/public/img/icons/msapplication-icon-144x144.png b/orange-demo-multi/orange-demo-multi-web/public/img/icons/msapplication-icon-144x144.png deleted file mode 100644 index 7808237a..00000000 Binary files a/orange-demo-multi/orange-demo-multi-web/public/img/icons/msapplication-icon-144x144.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-web/public/img/icons/mstile-150x150.png b/orange-demo-multi/orange-demo-multi-web/public/img/icons/mstile-150x150.png deleted file mode 100644 index 3b37a43a..00000000 Binary files a/orange-demo-multi/orange-demo-multi-web/public/img/icons/mstile-150x150.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-web/public/img/icons/safari-pinned-tab.svg b/orange-demo-multi/orange-demo-multi-web/public/img/icons/safari-pinned-tab.svg deleted file mode 100644 index 732afd8e..00000000 --- a/orange-demo-multi/orange-demo-multi-web/public/img/icons/safari-pinned-tab.svg +++ /dev/null @@ -1,149 +0,0 @@ - - - - -Created by potrace 1.11, written by Peter Selinger 2001-2013 - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/public/index.html b/orange-demo-multi/orange-demo-multi-web/public/index.html deleted file mode 100644 index 011aade2..00000000 --- a/orange-demo-multi/orange-demo-multi-web/public/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - 橙单代码生成平台 - - - -
- - - diff --git a/orange-demo-multi/orange-demo-multi-web/public/robots.txt b/orange-demo-multi/orange-demo-multi-web/public/robots.txt deleted file mode 100644 index eb053628..00000000 --- a/orange-demo-multi/orange-demo-multi-web/public/robots.txt +++ /dev/null @@ -1,2 +0,0 @@ -User-agent: * -Disallow: diff --git a/orange-demo-multi/orange-demo-multi-web/src/App.vue b/orange-demo-multi/orange-demo-multi-web/src/App.vue deleted file mode 100644 index 7e16a155..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/App.vue +++ /dev/null @@ -1,21 +0,0 @@ - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/api/Controller/CourseController.js b/orange-demo-multi/orange-demo-multi-web/src/api/Controller/CourseController.js deleted file mode 100644 index 6f4b6ce3..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/api/Controller/CourseController.js +++ /dev/null @@ -1,25 +0,0 @@ -export default class CourseController { - static list (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/course/list', 'post', params, axiosOption, httpOption); - } - - static view (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/course/view', 'get', params, axiosOption, httpOption); - } - - static export (sender, params, fileName) { - return sender.download('/admin/CourseClass/course/export', params, fileName); - } - - static add (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/course/add', 'post', params, axiosOption, httpOption); - } - - static update (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/course/update', 'post', params, axiosOption, httpOption); - } - - static delete (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/course/delete', 'post', params, axiosOption, httpOption); - } -} diff --git a/orange-demo-multi/orange-demo-multi-web/src/api/Controller/CourseTransStatsController.js b/orange-demo-multi/orange-demo-multi-web/src/api/Controller/CourseTransStatsController.js deleted file mode 100644 index 0680b7ea..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/api/Controller/CourseTransStatsController.js +++ /dev/null @@ -1,17 +0,0 @@ -export default class CourseTransStatsController { - static list (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/stats/courseTransStats/list', 'post', params, axiosOption, httpOption); - } - - static view (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/stats/courseTransStats/view', 'get', params, axiosOption, httpOption); - } - - static export (sender, params, fileName) { - return sender.download('/admin/stats/courseTransStats/export', params, fileName); - } - - static listWithGroup (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/stats/courseTransStats/listWithGroup', 'post', params, axiosOption, httpOption); - } -} diff --git a/orange-demo-multi/orange-demo-multi-web/src/api/Controller/DictionaryController.js b/orange-demo-multi/orange-demo-multi-web/src/api/Controller/DictionaryController.js deleted file mode 100644 index de28d92a..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/api/Controller/DictionaryController.js +++ /dev/null @@ -1,194 +0,0 @@ -import * as staticDict from '@/staticDict' - -export default class DictionaryController { - static dictSysRole (sender, params, axiosOption, httpOption) { - return new Promise((resolve, reject) => { - sender.doUrl('/admin/upms/sysRole/listDict', 'get', params, axiosOption, httpOption).then(res => { - let dictData = new staticDict.DictionaryBase('角色字典'); - dictData.setList(res.data); - resolve(dictData); - }).catch(err => { - reject(err); - }); - }); - } - static dictSysUserStatus () { - return new Promise((resolve) => { - resolve(staticDict.SysUserStatus); - }); - } - static dictSysUserType () { - return new Promise((resolve) => { - resolve(staticDict.SysUserType); - }); - } - static dictClassStatus () { - return new Promise((resolve) => { - resolve(staticDict.ClassStatus); - }); - } - static dictClassLevel () { - return new Promise((resolve) => { - resolve(staticDict.ClassLevel); - }); - } - static dictCourseDifficult () { - return new Promise((resolve) => { - resolve(staticDict.CourseDifficult); - }); - } - static dictSubject () { - return new Promise((resolve) => { - resolve(staticDict.Subject); - }); - } - static dictStudentActionType () { - return new Promise((resolve) => { - resolve(staticDict.StudentActionType); - }); - } - static dictDeviceType () { - return new Promise((resolve) => { - resolve(staticDict.DeviceType); - }); - } - static dictGender () { - return new Promise((resolve) => { - resolve(staticDict.Gender); - }); - } - static dictExpLevel () { - return new Promise((resolve) => { - resolve(staticDict.ExpLevel); - }); - } - static dictStudentStatus () { - return new Promise((resolve) => { - resolve(staticDict.StudentStatus); - }); - } - static dictAreaCode (sender, params, axiosOption, httpOption) { - return new Promise((resolve, reject) => { - sender.doUrl('/admin/CourseClass/areaCode/listDict', 'get', params, axiosOption, httpOption).then(res => { - let dictData = new staticDict.DictionaryBase('行政区划'); - dictData.setList(res.data); - resolve(dictData); - }).catch(err => { - reject(err); - }); - }); - } - static dictAreaCodeAll (sender, params, axiosOption, httpOption) { - return new Promise((resolve, reject) => { - sender.doUrl('/admin/CourseClass/areaCode/listAll', 'get', params, axiosOption, httpOption).then(res => { - resolve(res.data); - }).catch(err => { - reject(err); - }); - }); - } - static dictAreaCodeByParentId (sender, params, axiosOption, httpOption) { - return new Promise((resolve, reject) => { - sender.doUrl('/admin/CourseClass/areaCode/listDictByParentId', 'get', params, axiosOption, httpOption).then(res => { - let dictData = new staticDict.DictionaryBase('行政区划'); - dictData.setList(res.data); - resolve(dictData); - }).catch(err => { - reject(err); - }); - }); - } - static dictAddAreaCode (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/areaCode/add', 'post', params, axiosOption, httpOption); - } - static dictDeleteAreaCode (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/areaCode/delete', 'post', params, axiosOption, httpOption); - } - static dictUpdateAreaCode (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/areaCode/update', 'post', params, axiosOption, httpOption); - } - static dictReloadAreaCodeCachedData (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/areaCode/reloadCachedData', 'get', params, axiosOption, httpOption); - } - static dictCourse (sender, params, axiosOption, httpOption) { - return new Promise((resolve, reject) => { - sender.doUrl('/admin/CourseClass/course/listDict', 'get', params, axiosOption, httpOption).then(res => { - let dictData = new staticDict.DictionaryBase('课程'); - dictData.setList(res.data); - resolve(dictData); - }).catch(err => { - reject(err); - }); - }); - } - static dictGrade (sender, params, axiosOption, httpOption) { - return new Promise((resolve, reject) => { - sender.doUrl('/admin/CourseClass/grade/listDict', 'get', params, axiosOption, httpOption).then(res => { - let dictData = new staticDict.DictionaryBase('年级'); - dictData.setList(res.data); - resolve(dictData); - }).catch(err => { - reject(err); - }); - }); - } - static dictGradeAll (sender, params, axiosOption, httpOption) { - return new Promise((resolve, reject) => { - sender.doUrl('/admin/CourseClass/grade/listAll', 'get', params, axiosOption, httpOption).then(res => { - resolve(res.data); - }).catch(err => { - reject(err); - }); - }); - } - static dictAddGrade (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/grade/add', 'post', params, axiosOption, httpOption); - } - static dictDeleteGrade (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/grade/delete', 'post', params, axiosOption, httpOption); - } - static dictUpdateGrade (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/grade/update', 'post', params, axiosOption, httpOption); - } - static dictReloadGradeCachedData (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/grade/reloadCachedData', 'get', params, axiosOption, httpOption); - } - static dictStudent (sender, params, axiosOption, httpOption) { - return new Promise((resolve, reject) => { - sender.doUrl('/admin/CourseClass/student/listDict', 'get', params, axiosOption, httpOption).then(res => { - let dictData = new staticDict.DictionaryBase('学生'); - dictData.setList(res.data); - resolve(dictData); - }).catch(err => { - reject(err); - }); - }); - } - static dictSysDept (sender, params, axiosOption, httpOption) { - return new Promise((resolve, reject) => { - sender.doUrl('/admin/upms/sysDept/listDict', 'get', params, axiosOption, httpOption).then(res => { - let dictData = new staticDict.DictionaryBase('部门字典'); - dictData.setList(res.data); - resolve(dictData); - }).catch(err => { - reject(err); - }); - }); - } - static dictSysDeptByParentId (sender, params, axiosOption, httpOption) { - return new Promise((resolve, reject) => { - sender.doUrl('/admin/upms/sysDept/listDictByParentId', 'get', params, axiosOption, httpOption).then(res => { - let dictData = new staticDict.DictionaryBase('部门字典'); - dictData.setList(res.data); - resolve(dictData); - }).catch(err => { - reject(err); - }); - }); - } - static dictSysDataPermType () { - return new Promise((resolve) => { - resolve(staticDict.SysDataPermType); - }); - } -} diff --git a/orange-demo-multi/orange-demo-multi-web/src/api/Controller/StudentActionStatsController.js b/orange-demo-multi/orange-demo-multi-web/src/api/Controller/StudentActionStatsController.js deleted file mode 100644 index 92de8dd7..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/api/Controller/StudentActionStatsController.js +++ /dev/null @@ -1,17 +0,0 @@ -export default class StudentActionStatsController { - static list (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/stats/studentActionStats/list', 'post', params, axiosOption, httpOption); - } - - static view (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/stats/studentActionStats/view', 'get', params, axiosOption, httpOption); - } - - static export (sender, params, fileName) { - return sender.download('/admin/stats/studentActionStats/export', params, fileName); - } - - static listWithGroup (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/stats/studentActionStats/listWithGroup', 'post', params, axiosOption, httpOption); - } -} diff --git a/orange-demo-multi/orange-demo-multi-web/src/api/Controller/StudentActionTransController.js b/orange-demo-multi/orange-demo-multi-web/src/api/Controller/StudentActionTransController.js deleted file mode 100644 index 90556d35..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/api/Controller/StudentActionTransController.js +++ /dev/null @@ -1,25 +0,0 @@ -export default class StudentActionTransController { - static list (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/stats/studentActionTrans/list', 'post', params, axiosOption, httpOption); - } - - static view (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/stats/studentActionTrans/view', 'get', params, axiosOption, httpOption); - } - - static export (sender, params, fileName) { - return sender.download('/admin/stats/studentActionTrans/export', params, fileName); - } - - static add (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/stats/studentActionTrans/add', 'post', params, axiosOption, httpOption); - } - - static update (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/stats/studentActionTrans/update', 'post', params, axiosOption, httpOption); - } - - static delete (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/stats/studentActionTrans/delete', 'post', params, axiosOption, httpOption); - } -} diff --git a/orange-demo-multi/orange-demo-multi-web/src/api/Controller/StudentClassController.js b/orange-demo-multi/orange-demo-multi-web/src/api/Controller/StudentClassController.js deleted file mode 100644 index 86a65378..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/api/Controller/StudentClassController.js +++ /dev/null @@ -1,65 +0,0 @@ -export default class StudentClassController { - static list (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/studentClass/list', 'post', params, axiosOption, httpOption); - } - - static view (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/studentClass/view', 'get', params, axiosOption, httpOption); - } - - static export (sender, params, fileName) { - return sender.download('/admin/CourseClass/studentClass/export', params, fileName); - } - - static add (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/studentClass/add', 'post', params, axiosOption, httpOption); - } - - static update (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/studentClass/update', 'post', params, axiosOption, httpOption); - } - - static delete (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/studentClass/delete', 'post', params, axiosOption, httpOption); - } - - static listClassCourse (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/studentClass/listClassCourse', 'post', params, axiosOption, httpOption); - } - - static listNotInClassCourse (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/studentClass/listNotInClassCourse', 'post', params, axiosOption, httpOption); - } - - static addClassCourse (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/studentClass/addClassCourse', 'post', params, axiosOption, httpOption); - } - - static deleteClassCourse (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/studentClass/deleteClassCourse', 'post', params, axiosOption, httpOption); - } - - static updateClassCourse (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/studentClass/updateClassCourse', 'post', params, axiosOption, httpOption); - } - - static viewClassCourse (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/studentClass/viewClassCourse', 'get', params, axiosOption, httpOption); - } - - static listClassStudent (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/studentClass/listClassStudent', 'post', params, axiosOption, httpOption); - } - - static listNotInClassStudent (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/studentClass/listNotInClassStudent', 'post', params, axiosOption, httpOption); - } - - static addClassStudent (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/studentClass/addClassStudent', 'post', params, axiosOption, httpOption); - } - - static deleteClassStudent (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/studentClass/deleteClassStudent', 'post', params, axiosOption, httpOption); - } -} diff --git a/orange-demo-multi/orange-demo-multi-web/src/api/Controller/StudentController.js b/orange-demo-multi/orange-demo-multi-web/src/api/Controller/StudentController.js deleted file mode 100644 index f3900bab..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/api/Controller/StudentController.js +++ /dev/null @@ -1,25 +0,0 @@ -export default class StudentController { - static list (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/student/list', 'post', params, axiosOption, httpOption); - } - - static view (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/student/view', 'get', params, axiosOption, httpOption); - } - - static export (sender, params, fileName) { - return sender.download('/admin/CourseClass/student/export', params, fileName); - } - - static add (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/student/add', 'post', params, axiosOption, httpOption); - } - - static update (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/student/update', 'post', params, axiosOption, httpOption); - } - - static delete (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/CourseClass/student/delete', 'post', params, axiosOption, httpOption); - } -} diff --git a/orange-demo-multi/orange-demo-multi-web/src/api/Controller/SysDataPermController.js b/orange-demo-multi/orange-demo-multi-web/src/api/Controller/SysDataPermController.js deleted file mode 100644 index 15fd5ccc..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/api/Controller/SysDataPermController.js +++ /dev/null @@ -1,61 +0,0 @@ -export default class SysDataPermController { - /** - * @param params {dataPermId, dataPermName, deptIdListString} - */ - static add (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysDataPerm/add', 'post', params, axiosOption, httpOption); - } - - /** - * @param params {dataPermId, dataPermName, deptIdListString} - */ - static update (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysDataPerm/update', 'post', params, axiosOption, httpOption); - } - - /** - * @param params {dataPermId} - */ - static delete (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysDataPerm/delete', 'post', params, axiosOption, httpOption); - } - - /** - * @param params {dataPermName} - */ - static list (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysDataPerm/list', 'post', params, axiosOption, httpOption); - } - - /** - * @param params {dataPermId} - */ - static view (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysDataPerm/view', 'get', params, axiosOption, httpOption); - } - - /** - * @param params {dataPermId, searchString} - */ - static listDataPermUser (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysDataPerm/listDataPermUser', 'post', params, axiosOption, httpOption); - } - - /** - * @param params {dataPermId, userIdListString} - */ - static addDataPermUser (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysDataPerm/addDataPermUser', 'post', params, axiosOption, httpOption); - } - - /** - * @param params {dataPermId, userId} - */ - static deleteDataPermUser (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysDataPerm/deleteDataPermUser', 'post', params, axiosOption, httpOption); - } - - static listNotInDataPermUser (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysDataPerm/listNotInDataPermUser', 'post', params, axiosOption, httpOption); - } -} diff --git a/orange-demo-multi/orange-demo-multi-web/src/api/Controller/SysDeptController.js b/orange-demo-multi/orange-demo-multi-web/src/api/Controller/SysDeptController.js deleted file mode 100644 index ff96ce55..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/api/Controller/SysDeptController.js +++ /dev/null @@ -1,25 +0,0 @@ -export default class SysDeptController { - static list (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysDept/list', 'post', params, axiosOption, httpOption); - } - - static view (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysDept/view', 'get', params, axiosOption, httpOption); - } - - static export (sender, params, fileName) { - return sender.download('admin/upms/sysDept/export', params, fileName); - } - - static add (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysDept/add', 'post', params, axiosOption, httpOption); - } - - static update (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysDept/update', 'post', params, axiosOption, httpOption); - } - - static delete (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysDept/delete', 'post', params, axiosOption, httpOption); - } -} diff --git a/orange-demo-multi/orange-demo-multi-web/src/api/Controller/SysUserController.js b/orange-demo-multi/orange-demo-multi-web/src/api/Controller/SysUserController.js deleted file mode 100644 index 92d627d3..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/api/Controller/SysUserController.js +++ /dev/null @@ -1,25 +0,0 @@ -export default class SysUserController { - static list (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysUser/list', 'post', params, axiosOption, httpOption); - } - - static view (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysUser/view', 'get', params, axiosOption, httpOption); - } - - static export (sender, params, fileName) { - return sender.download('admin/upms/sysUser/export', params, fileName); - } - - static add (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysUser/add', 'post', params, axiosOption, httpOption); - } - - static update (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysUser/update', 'post', params, axiosOption, httpOption); - } - - static delete (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysUser/delete', 'post', params, axiosOption, httpOption); - } -} diff --git a/orange-demo-multi/orange-demo-multi-web/src/api/Controller/SystemController.js b/orange-demo-multi/orange-demo-multi-web/src/api/Controller/SystemController.js deleted file mode 100644 index b4cd8f30..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/api/Controller/SystemController.js +++ /dev/null @@ -1,260 +0,0 @@ -export default class SystemController { - static login (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/login/doLogin', 'post', params, axiosOption, httpOption); - } - - static logout (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/login/doLogout', 'post', params, axiosOption, httpOption); - } - - static changePassword (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/login/changePassword', 'post', params, axiosOption, httpOption); - } - - static getLoginInfo (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/login/getLoginInfo', 'get', params, axiosOption, httpOption); - } - - static getDictList (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysDict/list', 'post', params, axiosOption, httpOption); - } - - static getRoleList (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysRole/list', 'post', params, axiosOption, httpOption); - } - - static getRole (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysRole/view', 'get', params, axiosOption, httpOption); - } - - static deleteRole (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysRole/delete', 'post', params, axiosOption, httpOption); - } - - static addRole (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysRole/add', 'post', params, axiosOption, httpOption); - } - - static updateRole (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysRole/update', 'post', params, axiosOption, httpOption); - } - - static getUserList (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysUser/list', 'post', params, axiosOption, httpOption); - } - - static getUser (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysUser/view', 'get', params, axiosOption, httpOption); - } - - static resetUserPassword (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysUser/resetPassword', 'post', params, axiosOption, httpOption); - } - - static deleteUser (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysUser/delete', 'post', params, axiosOption, httpOption); - } - - static addUser (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysUser/add', 'post', params, axiosOption, httpOption); - } - - static updateUser (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysUser/update', 'post', params, axiosOption, httpOption); - } - - static addDepartment (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysDept/add', 'post', params, axiosOption, httpOption); - } - - static deleteDepartment (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysDept/delete', 'post', params, axiosOption, httpOption); - } - - static updateDepartment (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysDept/update', 'post', params, axiosOption, httpOption); - } - - static getDepartmentList (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysDept/list', 'post', params, axiosOption, httpOption); - } - - // 菜单接口 - static getMenuPermList (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysMenu/list', 'post', params, axiosOption, httpOption); - } - static addMenu (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysMenu/add', 'post', params, axiosOption, httpOption); - } - - static updateMenu (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysMenu/update', 'post', params, axiosOption, httpOption); - } - static deleteMenu (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysMenu/delete', 'post', params, axiosOption, httpOption); - } - - static viewMenu (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysMenu/view', 'get', params, axiosOption, httpOption); - } - // 权限字接口 - static getPermCodeList (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysPermCode/list', 'post', params, axiosOption, httpOption); - } - - static addPermCode (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysPermCode/add', 'post', params, axiosOption, httpOption); - } - - static updatePermCode (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysPermCode/update', 'post', params, axiosOption, httpOption); - } - - static deletePermCode (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysPermCode/delete', 'post', params, axiosOption, httpOption); - } - - static viewPermCode (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysPermCode/view', 'get', params, axiosOption, httpOption); - } - - // 权限资源接口 - static getAllPermList (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysPermModule/listAll', 'post', params, axiosOption, httpOption); - } - - static getPermGroupList (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysPermModule/list', 'post', params, axiosOption, httpOption); - } - - static addPermGroup (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysPermModule/add', 'post', params, axiosOption, httpOption); - } - - static updatePermGroup (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysPermModule/update', 'post', params, axiosOption, httpOption); - } - - static deletePermGroup (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysPermModule/delete', 'post', params, axiosOption, httpOption); - } - - static getPermList (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysPerm/list', 'post', params, axiosOption, httpOption); - } - - static viewPerm (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysPerm/view', 'get', params, axiosOption, httpOption); - } - - static addPerm (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysPerm/add', 'post', params, axiosOption, httpOption); - } - - static updatePerm (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysPerm/update', 'post', params, axiosOption, httpOption); - } - - static deletePerm (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysPerm/delete', 'post', params, axiosOption, httpOption); - } - /** - * @param params {roleId, searchString} - */ - static listRoleUser (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysRole/listUserRole', 'post', params, axiosOption, httpOption); - } - - static listNotInUserRole (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysRole/listNotInUserRole', 'post', params, axiosOption, httpOption); - } - - /** - * @param params {roleId, userIdListString} - */ - static addRoleUser (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysRole/addUserRole', 'post', params, axiosOption, httpOption); - } - - /** - * @param params {roleId, userId} - */ - static deleteRoleUser (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysRole/deleteUserRole', 'post', params, axiosOption, httpOption); - } - - /** - * @param params {} - */ - static queryRoleByPermCode (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysRole/listAllRolesByPermCode', 'post', params, axiosOption, httpOption); - } - // 权限查询 - static listSysPermWithDetail (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysUser/listSysPermWithDetail', 'get', params, axiosOption, httpOption); - } - - static listSysPermCodeWithDetail (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysUser/listSysPermCodeWithDetail', 'get', params, axiosOption, httpOption); - } - - static listSysMenuWithDetail (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysUser/listSysMenuWithDetail', 'get', params, axiosOption, httpOption); - } - - static listSysPermByRoleIdWithDetail (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysRole/listSysPermWithDetail', 'get', params, axiosOption, httpOption); - } - - static listSysPermCodeByRoleIdWithDetail (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysRole/listSysPermCodeWithDetail', 'get', params, axiosOption, httpOption); - } - - static listMenuPermCode (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysMenu/listMenuPerm', 'get', params, axiosOption, httpOption); - } - - static listSysPermByMenuIdWithDetail (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysMenu/listSysPermWithDetail', 'get', params, axiosOption, httpOption); - } - - static listSysUserByMenuIdWithDetail (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysMenu/listSysUserWithDetail', 'get', params, axiosOption, httpOption); - } - - static listSysUserByPermCodeIdWithDetail (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysPermCode/listSysUserWithDetail', 'get', params, axiosOption, httpOption); - } - - static listSysRoleByPermCodeIdWithDetail (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysPermCode/listSysRoleWithDetail', 'get', params, axiosOption, httpOption); - } - - static listSysUserByPermIdWithDetail (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysPerm/listSysUserWithDetail', 'get', params, axiosOption, httpOption); - } - - static listSysRoleByPermIdWithDetail (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysPerm/listSysRoleWithDetail', 'get', params, axiosOption, httpOption); - } - - static listSysMenuByPermIdWithDetail (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysPerm/listSysMenuWithDetail', 'get', params, axiosOption, httpOption); - } - // 操作日志 - static listSysOperationLog (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/sysOperationLog/list', 'post', params, axiosOption, httpOption); - } - // 在线用户 - static listSysLoginUser (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/loginUser/list', 'post', params, axiosOption, httpOption); - } - - static deleteSysLoginUser (sender, params, axiosOption, httpOption) { - return sender.doUrl('admin/upms/loginUser/delete', 'post', params, axiosOption, httpOption); - } - // 上传用户头像URL - static changeHeadImageUrl () { - return 'admin/upms/login/changeHeadImage'; - } -} diff --git a/orange-demo-multi/orange-demo-multi-web/src/api/index.js b/orange-demo-multi/orange-demo-multi-web/src/api/index.js deleted file mode 100644 index 0d5b1a16..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/api/index.js +++ /dev/null @@ -1,25 +0,0 @@ -import SystemController from './Controller/SystemController' -import SysDataPermController from './Controller/SysDataPermController' -import DictionaryController from './Controller/DictionaryController' -import CourseController from './Controller/CourseController.js'; -import StudentController from './Controller/StudentController.js'; -import SysDeptController from './Controller/SysDeptController.js'; -import SysUserController from './Controller/SysUserController.js'; -import StudentClassController from './Controller/StudentClassController.js'; -import CourseTransStatsController from './Controller/CourseTransStatsController.js'; -import StudentActionStatsController from './Controller/StudentActionStatsController.js'; -import StudentActionTransController from './Controller/StudentActionTransController.js'; - -export { - SystemController, - SysDataPermController, - DictionaryController, - CourseController, - StudentController, - SysDeptController, - SysUserController, - StudentClassController, - CourseTransStatsController, - StudentActionStatsController, - StudentActionTransController -} diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/element-variables-blue.scss b/orange-demo-multi/orange-demo-multi-web/src/assets/element-variables-blue.scss deleted file mode 100644 index 5e4966bb..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/element-variables-blue.scss +++ /dev/null @@ -1,1014 +0,0 @@ -/* Element Chalk Variables */ - -@mixin linear-gradient ($from, $to, $direction) { - @if variable-exists(to) { - @if variable-exists(direction) { - background: linear-gradient($direction, $from, $to); - } @else { - background: linear-gradient($from, $to); - } - } @else { - background: $from; - } -} - -// Special comment for theme configurator -// type|skipAutoTranslation|Category|Order -// skipAutoTranslation 1 - -/* Transition --------------------------- */ -$--all-transition: all .3s cubic-bezier(.645,.045,.355,1) !default; -$--fade-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1) !default; -$--fade-linear-transition: opacity 200ms linear !default; -$--md-fade-transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1) !default; -$--border-transition-base: border-color .2s cubic-bezier(.645,.045,.355,1) !default; -$--color-transition-base: color .2s cubic-bezier(.645,.045,.355,1) !default; - -/* Color --------------------------- */ -/// color|1|Brand Color|0 -$--color-primary: #0092FF !default; -/// color|1|Background Color|4 -$--color-white: #FFFFFF !default; -/// color|1|Background Color|4 -$--color-black: #000000 !default; -$--color-primary-light-1: mix($--color-white, $--color-primary, 10%) !default; /* 53a8ff */ -$--color-primary-light-2: mix($--color-white, $--color-primary, 20%) !default; /* 66b1ff */ -$--color-primary-light-3: mix($--color-white, $--color-primary, 30%) !default; /* 79bbff */ -$--color-primary-light-4: mix($--color-white, $--color-primary, 40%) !default; /* 8cc5ff */ -$--color-primary-light-5: mix($--color-white, $--color-primary, 50%) !default; /* a0cfff */ -$--color-primary-light-6: mix($--color-white, $--color-primary, 60%) !default; /* b3d8ff */ -$--color-primary-light-7: mix($--color-white, $--color-primary, 70%) !default; /* c6e2ff */ -$--color-primary-light-8: mix($--color-white, $--color-primary, 80%) !default; /* d9ecff */ -$--color-primary-light-9: mix($--color-white, $--color-primary, 90%) !default; /* ecf5ff */ -/// color|1|Functional Color|1 -$--color-success: #67C23A !default; -/// color|1|Functional Color|1 -$--color-warning: #E6A23C !default; -/// color|1|Functional Color|1 -$--color-danger: #F56C6C !default; -/// color|1|Functional Color|1 -$--color-info: #909399 !default; - -$--color-success-light: mix($--color-white, $--color-success, 80%) !default; -$--color-warning-light: mix($--color-white, $--color-warning, 80%) !default; -$--color-danger-light: mix($--color-white, $--color-danger, 80%) !default; -$--color-info-light: mix($--color-white, $--color-info, 80%) !default; - -$--color-success-lighter: mix($--color-white, $--color-success, 90%) !default; -$--color-warning-lighter: mix($--color-white, $--color-warning, 90%) !default; -$--color-danger-lighter: mix($--color-white, $--color-danger, 90%) !default; -$--color-info-lighter: mix($--color-white, $--color-info, 90%) !default; -/// color|1|Font Color|2 -$--color-text-primary: #303133 !default; -/// color|1|Font Color|2 -$--color-text-regular: #606266 !default; -/// color|1|Font Color|2 -$--color-text-secondary: #909399 !default; -/// color|1|Font Color|2 -$--color-text-placeholder: #C0C4CC !default; -/// color|1|Border Color|3 -$--border-color-base: #DCDFE6 !default; -/// color|1|Border Color|3 -$--border-color-light: #E4E7ED !default; -/// color|1|Border Color|3 -$--border-color-lighter: #EBEEF5 !default; -/// color|1|Border Color|3 -$--border-color-extra-light: #F2F6FC !default; - -// Background -/// color|1|Background Color|4 -$--background-color-base: #F5F7FA !default; - -// color for left sidebar title -$--color-sidebar-title-text: #FFFFFF; -// color for left sidebar background -$--color-menu-background: $--color-primary; -$--color-menu-item-active-text-color: #FFFFFF; -$--color-menu-item-active-background: rgba(255, 255, 255, 0.01); -$--color-menu-item-active-background-to: rgba(255, 255, 255, 0.3); - -/* Link --------------------------- */ -$--link-color: $--color-primary-light-2 !default; -$--link-hover-color: $--color-primary !default; - -/* Border --------------------------- */ -$--border-width-base: 1px !default; -$--border-style-base: solid !default; -$--border-color-hover: $--color-text-placeholder !default; -$--border-base: $--border-width-base $--border-style-base $--border-color-base !default; -/// borderRadius|1|Radius|0 -$--border-radius-base: 4px !default; -/// borderRadius|1|Radius|0 -$--border-radius-small: 2px !default; -/// borderRadius|1|Radius|0 -$--border-radius-circle: 100% !default; -/// borderRadius|1|Radius|0 -$--border-radius-zero: 0 !default; - -// Box-shadow -/// boxShadow|1|Shadow|1 -$--box-shadow-base: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04) !default; -// boxShadow|1|Shadow|1 -$--box-shadow-dark: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .12) !default; -/// boxShadow|1|Shadow|1 -$--box-shadow-light: 0 2px 12px 0 rgba(0, 0, 0, 0.1) !default; - -/* Fill --------------------------- */ -$--fill-base: $--color-white !default; - -/* Typography --------------------------- */ -$--font-path: 'fonts' !default; -$--font-display: 'auto' !default; -/// fontSize|1|Font Size|0 -$--font-size-extra-large: 20px !default; -/// fontSize|1|Font Size|0 -$--font-size-large: 18px !default; -/// fontSize|1|Font Size|0 -$--font-size-medium: 16px !default; -/// fontSize|1|Font Size|0 -$--font-size-base: 14px !default; -/// fontSize|1|Font Size|0 -$--font-size-small: 13px !default; -/// fontSize|1|Font Size|0 -$--font-size-extra-small: 12px !default; -/// fontWeight|1|Font Weight|1 -$--font-weight-primary: 500 !default; -/// fontWeight|1|Font Weight|1 -$--font-weight-secondary: 100 !default; -/// fontLineHeight|1|Line Height|2 -$--font-line-height-primary: 24px !default; -/// fontLineHeight|1|Line Height|2 -$--font-line-height-secondary: 16px !default; -$--font-color-disabled-base: #bbb !default; -/* Size --------------------------- */ -$--size-base: 14px !default; - -/* z-index --------------------------- */ -$--index-normal: 1 !default; -$--index-top: 1000 !default; -$--index-popper: 2000 !default; - -/* Disable base --------------------------- */ -$--disabled-fill-base: $--background-color-base !default; -$--disabled-color-base: $--color-text-placeholder !default; -$--disabled-border-base: $--border-color-light !default; - -/* Icon --------------------------- */ -$--icon-color: #666 !default; -$--icon-color-base: $--color-info !default; - -/* Checkbox --------------------------- */ -/// fontSize||Font|1 -$--checkbox-font-size: 14px !default; -/// fontWeight||Font|1 -$--checkbox-font-weight: $--font-weight-primary !default; -/// color||Color|0 -$--checkbox-font-color: $--color-text-regular !default; -$--checkbox-input-height: 14px !default; -$--checkbox-input-width: 14px !default; -/// borderRadius||Border|2 -$--checkbox-border-radius: $--border-radius-small !default; -/// color||Color|0 -$--checkbox-background-color: $--color-white !default; -$--checkbox-input-border: $--border-base !default; - -/// color||Color|0 -$--checkbox-disabled-border-color: $--border-color-base !default; -$--checkbox-disabled-input-fill: #edf2fc !default; -$--checkbox-disabled-icon-color: $--color-text-placeholder !default; - -$--checkbox-disabled-checked-input-fill: $--border-color-extra-light !default; -$--checkbox-disabled-checked-input-border-color: $--border-color-base !default; -$--checkbox-disabled-checked-icon-color: $--color-text-placeholder !default; - -/// color||Color|0 -$--checkbox-checked-font-color: $--color-primary !default; -$--checkbox-checked-input-border-color: $--color-primary !default; -/// color||Color|0 -$--checkbox-checked-background-color: $--color-primary !default; -$--checkbox-checked-icon-color: $--fill-base !default; - -$--checkbox-input-border-color-hover: $--color-primary !default; -/// height||Other|4 -$--checkbox-bordered-height: 40px !default; -/// padding||Spacing|3 -$--checkbox-bordered-padding: 9px 20px 9px 10px !default; -/// padding||Spacing|3 -$--checkbox-bordered-medium-padding: 7px 20px 7px 10px !default; -/// padding||Spacing|3 -$--checkbox-bordered-small-padding: 5px 15px 5px 10px !default; -/// padding||Spacing|3 -$--checkbox-bordered-mini-padding: 3px 15px 3px 10px !default; -$--checkbox-bordered-medium-input-height: 14px !default; -$--checkbox-bordered-medium-input-width: 14px !default; -/// height||Other|4 -$--checkbox-bordered-medium-height: 36px !default; -$--checkbox-bordered-small-input-height: 12px !default; -$--checkbox-bordered-small-input-width: 12px !default; -/// height||Other|4 -$--checkbox-bordered-small-height: 32px !default; -$--checkbox-bordered-mini-input-height: 12px !default; -$--checkbox-bordered-mini-input-width: 12px !default; -/// height||Other|4 -$--checkbox-bordered-mini-height: 28px !default; - -/// color||Color|0 -$--checkbox-button-checked-background-color: $--color-primary !default; -/// color||Color|0 -$--checkbox-button-checked-font-color: $--color-white !default; -/// color||Color|0 -$--checkbox-button-checked-border-color: $--color-primary !default; - - - -/* Radio --------------------------- */ -/// fontSize||Font|1 -$--radio-font-size: $--font-size-base !default; -/// fontWeight||Font|1 -$--radio-font-weight: $--font-weight-primary !default; -/// color||Color|0 -$--radio-font-color: $--color-text-regular !default; -$--radio-input-height: 14px !default; -$--radio-input-width: 14px !default; -/// borderRadius||Border|2 -$--radio-input-border-radius: $--border-radius-circle !default; -/// color||Color|0 -$--radio-input-background-color: $--color-white !default; -$--radio-input-border: $--border-base !default; -/// color||Color|0 -$--radio-input-border-color: $--border-color-base !default; -/// color||Color|0 -$--radio-icon-color: $--color-white !default; - -$--radio-disabled-input-border-color: $--disabled-border-base !default; -$--radio-disabled-input-fill: $--disabled-fill-base !default; -$--radio-disabled-icon-color: $--disabled-fill-base !default; - -$--radio-disabled-checked-input-border-color: $--disabled-border-base !default; -$--radio-disabled-checked-input-fill: $--disabled-fill-base !default; -$--radio-disabled-checked-icon-color: $--color-text-placeholder !default; - -/// color||Color|0 -$--radio-checked-font-color: $--color-primary !default; -/// color||Color|0 -$--radio-checked-input-border-color: $--color-primary !default; -/// color||Color|0 -$--radio-checked-input-background-color: $--color-white !default; -/// color||Color|0 -$--radio-checked-icon-color: $--color-primary !default; - -$--radio-input-border-color-hover: $--color-primary !default; - -$--radio-bordered-height: 40px !default; -$--radio-bordered-padding: 12px 20px 0 10px !default; -$--radio-bordered-medium-padding: 10px 20px 0 10px !default; -$--radio-bordered-small-padding: 8px 15px 0 10px !default; -$--radio-bordered-mini-padding: 6px 15px 0 10px !default; -$--radio-bordered-medium-input-height: 14px !default; -$--radio-bordered-medium-input-width: 14px !default; -$--radio-bordered-medium-height: 36px !default; -$--radio-bordered-small-input-height: 12px !default; -$--radio-bordered-small-input-width: 12px !default; -$--radio-bordered-small-height: 32px !default; -$--radio-bordered-mini-input-height: 12px !default; -$--radio-bordered-mini-input-width: 12px !default; -$--radio-bordered-mini-height: 28px !default; - -/// fontSize||Font|1 -$--radio-button-font-size: $--font-size-base !default; -/// color||Color|0 -$--radio-button-checked-background-color: $--color-primary !default; -/// color||Color|0 -$--radio-button-checked-font-color: $--color-white !default; -/// color||Color|0 -$--radio-button-checked-border-color: $--color-primary !default; -$--radio-button-disabled-checked-fill: $--border-color-extra-light !default; - -/* Select --------------------------- */ -$--select-border-color-hover: $--border-color-hover !default; -$--select-disabled-border: $--disabled-border-base !default; -/// fontSize||Font|1 -$--select-font-size: $--font-size-base !default; -$--select-close-hover-color: $--color-text-secondary !default; - -$--select-input-color: $--color-text-placeholder !default; -$--select-multiple-input-color: #666 !default; -/// color||Color|0 -$--select-input-focus-border-color: $--color-primary !default; -/// fontSize||Font|1 -$--select-input-font-size: 14px !default; - -$--select-option-color: $--color-text-regular !default; -$--select-option-disabled-color: $--color-text-placeholder !default; -$--select-option-disabled-background: $--color-white !default; -/// height||Other|4 -$--select-option-height: 34px !default; -$--select-option-hover-background: $--background-color-base !default; -/// color||Color|0 -$--select-option-selected-font-color: $--color-primary !default; -$--select-option-selected-hover: $--background-color-base !default; - -$--select-group-color: $--color-info !default; -$--select-group-height: 30px !default; -$--select-group-font-size: 12px !default; - -$--select-dropdown-background: $--color-white !default; -$--select-dropdown-shadow: $--box-shadow-light !default; -$--select-dropdown-empty-color: #999 !default; -/// height||Other|4 -$--select-dropdown-max-height: 274px !default; -$--select-dropdown-padding: 6px 0 !default; -$--select-dropdown-empty-padding: 10px 0 !default; -$--select-dropdown-border: solid 1px $--border-color-light !default; - -/* Alert --------------------------- */ -$--alert-padding: 8px 16px !default; -/// borderRadius||Border|2 -$--alert-border-radius: $--border-radius-base !default; -/// fontSize||Font|1 -$--alert-title-font-size: 13px !default; -/// fontSize||Font|1 -$--alert-description-font-size: 12px !default; -/// fontSize||Font|1 -$--alert-close-font-size: 12px !default; -/// fontSize||Font|1 -$--alert-close-customed-font-size: 13px !default; - -$--alert-success-color: $--color-success-lighter !default; -$--alert-info-color: $--color-info-lighter !default; -$--alert-warning-color: $--color-warning-lighter !default; -$--alert-danger-color: $--color-danger-lighter !default; - -/// height||Other|4 -$--alert-icon-size: 16px !default; -/// height||Other|4 -$--alert-icon-large-size: 28px !default; - -/* MessageBox --------------------------- */ -/// color||Color|0 -$--messagebox-title-color: $--color-text-primary !default; -$--msgbox-width: 420px !default; -$--msgbox-border-radius: 4px !default; -/// fontSize||Font|1 -$--messagebox-font-size: $--font-size-large !default; -/// fontSize||Font|1 -$--messagebox-content-font-size: $--font-size-base !default; -/// color||Color|0 -$--messagebox-content-color: $--color-text-regular !default; -/// fontSize||Font|1 -$--messagebox-error-font-size: 12px !default; -$--msgbox-padding-primary: 15px !default; -/// color||Color|0 -$--messagebox-success-color: $--color-success !default; -/// color||Color|0 -$--messagebox-info-color: $--color-info !default; -/// color||Color|0 -$--messagebox-warning-color: $--color-warning !default; -/// color||Color|0 -$--messagebox-danger-color: $--color-danger !default; - -/* Message --------------------------- */ -$--message-shadow: $--box-shadow-base !default; -$--message-min-width: 380px !default; -$--message-background-color: #edf2fc !default; -$--message-padding: 15px 15px 15px 20px !default; -/// color||Color|0 -$--message-close-icon-color: $--color-text-placeholder !default; -/// height||Other|4 -$--message-close-size: 16px !default; -/// color||Color|0 -$--message-close-hover-color: $--color-text-secondary !default; - -/// color||Color|0 -$--message-success-font-color: $--color-success !default; -/// color||Color|0 -$--message-info-font-color: $--color-info !default; -/// color||Color|0 -$--message-warning-font-color: $--color-warning !default; -/// color||Color|0 -$--message-danger-font-color: $--color-danger !default; - -/* Notification --------------------------- */ -$--notification-width: 330px !default; -/// padding||Spacing|3 -$--notification-padding: 14px 26px 14px 13px !default; -$--notification-radius: 8px !default; -$--notification-shadow: $--box-shadow-light !default; -/// color||Color|0 -$--notification-border-color: $--border-color-lighter !default; -$--notification-icon-size: 24px !default; -$--notification-close-font-size: $--message-close-size !default; -$--notification-group-margin-left: 13px !default; -$--notification-group-margin-right: 8px !default; -/// fontSize||Font|1 -$--notification-content-font-size: $--font-size-base !default; -/// color||Color|0 -$--notification-content-color: $--color-text-regular !default; -/// fontSize||Font|1 -$--notification-title-font-size: 16px !default; -/// color||Color|0 -$--notification-title-color: $--color-text-primary !default; - -/// color||Color|0 -$--notification-close-color: $--color-text-secondary !default; -/// color||Color|0 -$--notification-close-hover-color: $--color-text-regular !default; - -/// color||Color|0 -$--notification-success-icon-color: $--color-success !default; -/// color||Color|0 -$--notification-info-icon-color: $--color-info !default; -/// color||Color|0 -$--notification-warning-icon-color: $--color-warning !default; -/// color||Color|0 -$--notification-danger-icon-color: $--color-danger !default; - -/* Input --------------------------- */ -$--input-font-size: $--font-size-base !default; -/// color||Color|0 -$--input-font-color: $--color-text-regular !default; -/// height||Other|4 -$--input-width: 140px !default; -/// height||Other|4 -$--input-height: 40px !default; -$--input-border: $--border-base !default; -$--input-border-color: $--border-color-base !default; -/// borderRadius||Border|2 -$--input-border-radius: $--border-radius-base !default; -$--input-border-color-hover: $--border-color-hover !default; -/// color||Color|0 -$--input-background-color: $--color-white !default; -$--input-fill-disabled: $--disabled-fill-base !default; -$--input-color-disabled: $--font-color-disabled-base !default; -/// color||Color|0 -$--input-icon-color: $--color-text-placeholder !default; -/// color||Color|0 -$--input-placeholder-color: $--color-text-placeholder !default; -$--input-max-width: 314px !default; - -$--input-hover-border: $--border-color-hover !default; -$--input-clear-hover-color: $--color-text-secondary !default; - -$--input-focus-border: $--color-primary !default; -$--input-focus-fill: $--color-white !default; - -$--input-disabled-fill: $--disabled-fill-base !default; -$--input-disabled-border: $--disabled-border-base !default; -$--input-disabled-color: $--disabled-color-base !default; -$--input-disabled-placeholder-color: $--color-text-placeholder !default; - -/// fontSize||Font|1 -$--input-medium-font-size: 14px !default; -/// height||Other|4 -$--input-medium-height: 36px !default; -/// fontSize||Font|1 -$--input-small-font-size: 13px !default; -/// height||Other|4 -$--input-small-height: 32px !default; -/// fontSize||Font|1 -$--input-mini-font-size: 12px !default; -/// height||Other|4 -$--input-mini-height: 28px !default; - -/* Cascader --------------------------- */ -/// color||Color|0 -$--cascader-menu-font-color: $--color-text-regular !default; -/// color||Color|0 -$--cascader-menu-selected-font-color: $--color-primary !default; -$--cascader-menu-fill: $--fill-base !default; -$--cascader-menu-font-size: $--font-size-base !default; -$--cascader-menu-radius: $--border-radius-base !default; -$--cascader-menu-border: solid 1px $--border-color-light !default; -$--cascader-menu-shadow: $--box-shadow-light !default; -$--cascader-node-background-hover: $--background-color-base !default; -$--cascader-node-color-disabled:$--color-text-placeholder !default; -$--cascader-color-empty:$--color-text-placeholder !default; -$--cascader-tag-background: #f0f2f5; - -/* Group --------------------------- */ -$--group-option-flex: 0 0 (1/5) * 100% !default; -$--group-option-offset-bottom: 12px !default; -$--group-option-fill-hover: rgba($--color-black, 0.06) !default; -$--group-title-color: $--color-black !default; -$--group-title-font-size: $--font-size-base !default; -$--group-title-width: 66px !default; - -/* Tab --------------------------- */ -$--tab-font-size: $--font-size-base !default; -$--tab-border-line: 1px solid #e4e4e4 !default; -$--tab-header-color-active: $--color-text-secondary !default; -$--tab-header-color-hover: $--color-text-regular !default; -$--tab-header-color: $--color-text-regular !default; -$--tab-header-fill-active: rgba($--color-black, 0.06) !default; -$--tab-header-fill-hover: rgba($--color-black, 0.06) !default; -$--tab-vertical-header-width: 90px !default; -$--tab-vertical-header-count-color: $--color-white !default; -$--tab-vertical-header-count-fill: $--color-text-secondary !default; - -/* Button --------------------------- */ -/// fontSize||Font|1 -$--button-font-size: $--font-size-base !default; -/// fontWeight||Font|1 -$--button-font-weight: $--font-weight-primary !default; -/// borderRadius||Border|2 -$--button-border-radius: $--border-radius-base !default; -/// padding||Spacing|3 -$--button-padding-vertical: 12px !default; -/// padding||Spacing|3 -$--button-padding-horizontal: 20px !default; - -/// fontSize||Font|1 -$--button-medium-font-size: $--font-size-base !default; -/// borderRadius||Border|2 -$--button-medium-border-radius: $--border-radius-base !default; -/// padding||Spacing|3 -$--button-medium-padding-vertical: 10px !default; -/// padding||Spacing|3 -$--button-medium-padding-horizontal: 20px !default; - -/// fontSize||Font|1 -$--button-small-font-size: 12px !default; -$--button-small-border-radius: #{$--border-radius-base - 1} !default; -/// padding||Spacing|3 -$--button-small-padding-vertical: 9px !default; -/// padding||Spacing|3 -$--button-small-padding-horizontal: 15px !default; -/// fontSize||Font|1 -$--button-mini-font-size: 12px !default; -$--button-mini-border-radius: #{$--border-radius-base - 1} !default; -/// padding||Spacing|3 -$--button-mini-padding-vertical: 7px !default; -/// padding||Spacing|3 -$--button-mini-padding-horizontal: 15px !default; - -/// color||Color|0 -$--button-default-font-color: $--color-text-regular !default; -/// color||Color|0 -$--button-default-background-color: $--color-white !default; -/// color||Color|0 -$--button-default-border-color: $--border-color-base !default; - -/// color||Color|0 -$--button-disabled-font-color: $--color-text-placeholder !default; -/// color||Color|0 -$--button-disabled-background-color: $--color-white !default; -/// color||Color|0 -$--button-disabled-border-color: $--border-color-lighter !default; - -/// color||Color|0 -$--button-primary-border-color: $--color-primary !default; -/// color||Color|0 -$--button-primary-font-color: $--color-white !default; -/// color||Color|0 -$--button-primary-background-color: $--color-primary !default; -/// color||Color|0 -$--button-success-border-color: $--color-success !default; -/// color||Color|0 -$--button-success-font-color: $--color-white !default; -/// color||Color|0 -$--button-success-background-color: $--color-success !default; -/// color||Color|0 -$--button-warning-border-color: $--color-warning !default; -/// color||Color|0 -$--button-warning-font-color: $--color-white !default; -/// color||Color|0 -$--button-warning-background-color: $--color-warning !default; -/// color||Color|0 -$--button-danger-border-color: $--color-danger !default; -/// color||Color|0 -$--button-danger-font-color: $--color-white !default; -/// color||Color|0 -$--button-danger-background-color: $--color-danger !default; -/// color||Color|0 -$--button-info-border-color: $--color-info !default; -/// color||Color|0 -$--button-info-font-color: $--color-white !default; -/// color||Color|0 -$--button-info-background-color: $--color-info !default; - -$--button-hover-tint-percent: 20% !default; -$--button-active-shade-percent: 10% !default; - - -/* cascader --------------------------- */ -$--cascader-height: 200px !default; - -/* Switch --------------------------- */ -/// color||Color|0 -$--switch-on-color: $--color-primary !default; -/// color||Color|0 -$--switch-off-color: $--border-color-base !default; -/// fontSize||Font|1 -$--switch-font-size: $--font-size-base !default; -$--switch-core-border-radius: 10px !default; -// height||Other|4 TODO: width 代码写死的40px 所以下面这三个属性都没意义 -$--switch-width: 40px !default; -// height||Other|4 -$--switch-height: 20px !default; -// height||Other|4 -$--switch-button-size: 16px !default; - -/* Dialog --------------------------- */ -$--dialog-background-color: $--color-white !default; -$--dialog-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !default; -/// fontSize||Font|1 -$--dialog-title-font-size: $--font-size-large !default; -/// fontSize||Font|1 -$--dialog-content-font-size: 14px !default; -/// fontLineHeight||LineHeight|2 -$--dialog-font-line-height: $--font-line-height-primary !default; -/// padding||Spacing|3 -$--dialog-padding-primary: 20px !default; - -/* Table --------------------------- */ -/// color||Color|0 -$--table-border-color: $--border-color-lighter !default; -$--table-border: 1px solid $--table-border-color !default; -/// color||Color|0 -$--table-font-color: $--color-text-regular !default; -/// color||Color|0 -$--table-header-font-color: $--color-text-secondary !default; -/// color||Color|0 -$--table-row-hover-background-color: $--background-color-base !default; -$--table-current-row-background-color: rgba(255, 255, 255, .12) !default; -/// color||Color|0 -$--table-header-background-color: $--color-white !default; -$--table-fixed-box-shadow: 0 0 10px rgba(0, 0, 0, .12) !default; - -/* Pagination --------------------------- */ -/// fontSize||Font|1 -$--pagination-font-size: 13px !default; -/// color||Color|0 -$--pagination-background-color: $--color-white !default; -/// color||Color|0 -$--pagination-font-color: $--color-text-primary !default; -$--pagination-border-radius: 3px !default; -/// color||Color|0 -$--pagination-button-color: $--color-text-primary !default; -/// height||Other|4 -$--pagination-button-width: 35.5px !default; -/// height||Other|4 -$--pagination-button-height: 28px !default; -/// color||Color|0 -$--pagination-button-disabled-color: $--color-text-placeholder !default; -/// color||Color|0 -$--pagination-button-disabled-background-color: $--color-white !default; -/// color||Color|0 -$--pagination-hover-color: $--color-primary !default; - -/* Popup --------------------------- */ -/// color||Color|0 -$--popup-modal-background-color: $--color-black !default; -/// opacity||Other|1 -$--popup-modal-opacity: 0.5 !default; - -/* Popover --------------------------- */ -/// color||Color|0 -$--popover-background-color: $--color-white !default; -/// fontSize||Font|1 -$--popover-font-size: $--font-size-base !default; -/// color||Color|0 -$--popover-border-color: $--border-color-lighter !default; -$--popover-arrow-size: 6px !default; -/// padding||Spacing|3 -$--popover-padding: 12px !default; -$--popover-padding-large: 18px 20px !default; -/// fontSize||Font|1 -$--popover-title-font-size: 16px !default; -/// color||Color|0 -$--popover-title-font-color: $--color-text-primary !default; - -/* Tooltip --------------------------- */ -/// color|1|Color|0 -$--tooltip-fill: $--color-text-primary !default; -/// color|1|Color|0 -$--tooltip-color: $--color-white !default; -/// fontSize||Font|1 -$--tooltip-font-size: 12px !default; -/// color||Color|0 -$--tooltip-border-color: $--color-text-primary !default; -$--tooltip-arrow-size: 6px !default; -/// padding||Spacing|3 -$--tooltip-padding: 10px !default; - -/* Tag --------------------------- */ -/// color||Color|0 -$--tag-info-color: $--color-info !default; -/// color||Color|0 -$--tag-primary-color: $--color-primary !default; -/// color||Color|0 -$--tag-success-color: $--color-success !default; -/// color||Color|0 -$--tag-warning-color: $--color-warning !default; -/// color||Color|0 -$--tag-danger-color: $--color-danger !default; -/// fontSize||Font|1 -$--tag-font-size: 12px !default; -$--tag-border-radius: 4px !default; -$--tag-padding: 0 10px !default; - -/* Tree --------------------------- */ -/// color||Color|0 -$--tree-node-hover-background-color: $--background-color-base !default; -/// color||Color|0 -$--tree-font-color: $--color-text-regular !default; -/// color||Color|0 -$--tree-expand-icon-color: $--color-text-placeholder !default; - -/* Dropdown --------------------------- */ -$--dropdown-menu-box-shadow: $--box-shadow-light !default; -$--dropdown-menuItem-hover-fill: $--color-menu-background !default; -$--dropdown-menuItem-hover-color: $--color-white !default; - -/* Badge --------------------------- */ -/// color||Color|0 -$--badge-background-color: $--color-danger !default; -$--badge-radius: 10px !default; -/// fontSize||Font|1 -$--badge-font-size: 12px !default; -/// padding||Spacing|3 -$--badge-padding: 6px !default; -/// height||Other|4 -$--badge-size: 18px !default; - -/* Card ---------------------------*/ -/// color||Color|0 -$--card-border-color: $--border-color-lighter !default; -$--card-border-radius: 4px !default; -/// padding||Spacing|3 -$--card-padding: 20px !default; - -/* Slider ---------------------------*/ -/// color||Color|0 -$--slider-main-background-color: $--color-primary !default; -/// color||Color|0 -$--slider-runway-background-color: $--border-color-light !default; -$--slider-button-hover-color: mix($--color-primary, black, 97%) !default; -$--slider-stop-background-color: $--color-white !default; -$--slider-disable-color: $--color-text-placeholder !default; -$--slider-margin: 16px 0 !default; -$--slider-border-radius: 3px !default; -/// height|1|Other|4 -$--slider-height: 6px !default; -/// height||Other|4 -$--slider-button-size: 16px !default; -$--slider-button-wrapper-size: 36px !default; -$--slider-button-wrapper-offset: -15px !default; - -/* Steps ---------------------------*/ -$--steps-border-color: $--disabled-border-base !default; -$--steps-border-radius: 4px !default; -$--steps-padding: 20px !default; - -/* Menu ---------------------------*/ -/// fontSize||Font|1 -$--menu-item-font-size: $--font-size-base !default; -/// color||Color|0 -$--menu-item-font-color: $--color-white !default; -/// color||Color|0 -$--menu-background-color: $--color-menu-background !default; -$--menu-item-hover-fill: $--color-menu-item-active-background !default; - -/* Rate ---------------------------*/ -$--rate-height: 20px !default; -/// fontSize||Font|1 -$--rate-font-size: $--font-size-base !default; -/// height||Other|3 -$--rate-icon-size: 18px !default; -/// margin||Spacing|2 -$--rate-icon-margin: 6px !default; -$--rate-icon-color: $--color-text-placeholder !default; - -/* DatePicker ---------------------------*/ -$--datepicker-font-color: $--color-text-regular !default; -/// color|1|Color|0 -$--datepicker-off-font-color: $--color-text-placeholder !default; -/// color||Color|0 -$--datepicker-header-font-color: $--color-text-regular !default; -$--datepicker-icon-color: $--color-text-primary !default; -$--datepicker-border-color: $--disabled-border-base !default; -$--datepicker-inner-border-color: #e4e4e4 !default; -/// color||Color|0 -$--datepicker-inrange-background-color: $--border-color-extra-light !default; -/// color||Color|0 -$--datepicker-inrange-hover-background-color: $--border-color-extra-light !default; -/// color||Color|0 -$--datepicker-active-color: $--color-primary !default; -/// color||Color|0 -$--datepicker-hover-font-color: $--color-primary !default; -$--datepicker-cell-hover-color: #fff !default; - -/* Loading ---------------------------*/ -/// height||Other|4 -$--loading-spinner-size: 42px !default; -/// height||Other|4 -$--loading-fullscreen-spinner-size: 50px !default; - -/* Scrollbar ---------------------------*/ -$--scrollbar-background-color: rgba($--color-text-secondary, .3) !default; -$--scrollbar-hover-background-color: rgba($--color-text-secondary, .5) !default; - -/* Carousel ---------------------------*/ -/// fontSize||Font|1 -$--carousel-arrow-font-size: 12px !default; -$--carousel-arrow-size: 36px !default; -$--carousel-arrow-background: rgba(31, 45, 61, 0.11) !default; -$--carousel-arrow-hover-background: rgba(31, 45, 61, 0.23) !default; -/// width||Other|4 -$--carousel-indicator-width: 30px !default; -/// height||Other|4 -$--carousel-indicator-height: 2px !default; -$--carousel-indicator-padding-horizontal: 4px !default; -$--carousel-indicator-padding-vertical: 12px !default; -$--carousel-indicator-out-color: $--border-color-hover !default; - -/* Collapse ---------------------------*/ -/// color||Color|0 -$--collapse-border-color: $--border-color-lighter !default; -/// height||Other|4 -$--collapse-header-height: 48px !default; -/// color||Color|0 -$--collapse-header-background-color: $--color-white !default; -/// color||Color|0 -$--collapse-header-font-color: $--color-text-primary !default; -/// fontSize||Font|1 -$--collapse-header-font-size: 13px !default; -/// color||Color|0 -$--collapse-content-background-color: $--color-white !default; -/// fontSize||Font|1 -$--collapse-content-font-size: 13px !default; -/// color||Color|0 -$--collapse-content-font-color: $--color-text-primary !default; - -/* Transfer ---------------------------*/ -$--transfer-border-color: $--border-color-lighter !default; -$--transfer-border-radius: $--border-radius-base !default; -/// height||Other|4 -$--transfer-panel-width: 200px !default; -/// height||Other|4 -$--transfer-panel-header-height: 40px !default; -/// color||Color|0 -$--transfer-panel-header-background-color: $--background-color-base !default; -/// height||Other|4 -$--transfer-panel-footer-height: 40px !default; -/// height||Other|4 -$--transfer-panel-body-height: 246px !default; -/// height||Other|4 -$--transfer-item-height: 30px !default; -/// height||Other|4 -$--transfer-filter-height: 32px !default; - -/* Header - --------------------------*/ -$--header-padding: 0 20px !default; - -/* Footer ---------------------------*/ -$--footer-padding: 0 20px !default; - -/* Main ---------------------------*/ -$--main-padding: 20px !default; - -/* Timeline ---------------------------*/ -$--timeline-node-size-normal: 12px !default; -$--timeline-node-size-large: 14px !default; -$--timeline-node-color: $--border-color-light !default; - -/* Backtop ---------------------------*/ -/// color||Color|0 -$--backtop-background-color: $--color-white !default; -/// color||Color|0 -$--backtop-font-color: $--color-primary !default; -/// color||Color|0 -$--backtop-hover-background-color: $--border-color-extra-light !default; - -/* Link ---------------------------*/ -/// fontSize||Font|1 -$--link-font-size: $--font-size-base !default; -/// fontWeight||Font|1 -$--link-font-weight: $--font-weight-primary !default; -/// color||Color|0 -$--link-default-font-color: $--color-text-regular !default; -/// color||Color|0 -$--link-default-active-color: $--color-primary !default; -/// color||Color|0 -$--link-disabled-font-color: $--color-text-placeholder !default; -/// color||Color|0 -$--link-primary-font-color: $--color-primary !default; -/// color||Color|0 -$--link-success-font-color: $--color-success !default; -/// color||Color|0 -$--link-warning-font-color: $--color-warning !default; -/// color||Color|0 -$--link-danger-font-color: $--color-danger !default; -/// color||Color|0 -$--link-info-font-color: $--color-info !default; -/* Calendar ---------------------------*/ -/// border||Other|4 -$--calendar-border: $--table-border !default; -/// color||Other|4 -$--calendar-selected-background-color: #F2F8FE !default; -$--calendar-cell-width: 85px !default; - -/* Form --------------------------- */ -/// fontSize||Font|1 -$--form-label-font-size: $--font-size-base !default; - -/* Avatar ---------------------------*/ -/// color||Color|0 -$--avatar-font-color: #fff !default; -/// color||Color|0 -$--avatar-background-color: #C0C4CC !default; -/// fontSize||Font Size|1 -$--avatar-text-font-size: 14px !default; -/// fontSize||Font Size|1 -$--avatar-icon-font-size: 18px !default; -/// borderRadius||Border|2 -$--avatar-border-radius: $--border-radius-base !default; -/// size|1|Avatar Size|3 -$--avatar-large-size: 40px !default; -/// size|1|Avatar Size|3 -$--avatar-medium-size: 36px !default; -/// size|1|Avatar Size|3 -$--avatar-small-size: 28px !default; - -/* Break-point ---------------------------*/ -$--sm: 768px !default; -$--md: 992px !default; -$--lg: 1200px !default; -$--xl: 1920px !default; - -$--breakpoints: ( - 'xs' : (max-width: $--sm - 1), - 'sm' : (min-width: $--sm), - 'md' : (min-width: $--md), - 'lg' : (min-width: $--lg), - 'xl' : (min-width: $--xl) -); - -$--breakpoints-spec: ( - 'xs-only' : (max-width: $--sm - 1), - 'sm-and-up' : (min-width: $--sm), - 'sm-only': "(min-width: #{$--sm}) and (max-width: #{$--md - 1})", - 'sm-and-down': (max-width: $--md - 1), - 'md-and-up' : (min-width: $--md), - 'md-only': "(min-width: #{$--md}) and (max-width: #{$--lg - 1})", - 'md-and-down': (max-width: $--lg - 1), - 'lg-and-up' : (min-width: $--lg), - 'lg-only': "(min-width: #{$--lg}) and (max-width: #{$--xl - 1})", - 'lg-and-down': (max-width: $--xl - 1), - 'xl-only' : (min-width: $--xl), -); diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/element-variables-dark.scss b/orange-demo-multi/orange-demo-multi-web/src/assets/element-variables-dark.scss deleted file mode 100644 index ed98457d..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/element-variables-dark.scss +++ /dev/null @@ -1,1000 +0,0 @@ -/* Element Chalk Variables */ - -// Special comment for theme configurator -// type|skipAutoTranslation|Category|Order -// skipAutoTranslation 1 - -/* Transition --------------------------- */ -$--all-transition: all .3s cubic-bezier(.645,.045,.355,1) !default; -$--fade-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1) !default; -$--fade-linear-transition: opacity 200ms linear !default; -$--md-fade-transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1) !default; -$--border-transition-base: border-color .2s cubic-bezier(.645,.045,.355,1) !default; -$--color-transition-base: color .2s cubic-bezier(.645,.045,.355,1) !default; - -/* Color --------------------------- */ -/// color|1|Brand Color|0 -$--color-primary: #409EFF !default; -/// color|1|Background Color|4 -$--color-white: #FFFFFF !default; -/// color|1|Background Color|4 -$--color-black: #000000 !default; -$--color-primary-light-1: mix($--color-white, $--color-primary, 10%) !default; /* 53a8ff */ -$--color-primary-light-2: mix($--color-white, $--color-primary, 20%) !default; /* 66b1ff */ -$--color-primary-light-3: mix($--color-white, $--color-primary, 30%) !default; /* 79bbff */ -$--color-primary-light-4: mix($--color-white, $--color-primary, 40%) !default; /* 8cc5ff */ -$--color-primary-light-5: mix($--color-white, $--color-primary, 50%) !default; /* a0cfff */ -$--color-primary-light-6: mix($--color-white, $--color-primary, 60%) !default; /* b3d8ff */ -$--color-primary-light-7: mix($--color-white, $--color-primary, 70%) !default; /* c6e2ff */ -$--color-primary-light-8: mix($--color-white, $--color-primary, 80%) !default; /* d9ecff */ -$--color-primary-light-9: mix($--color-white, $--color-primary, 90%) !default; /* ecf5ff */ -/// color|1|Functional Color|1 -$--color-success: #67C23A !default; -/// color|1|Functional Color|1 -$--color-warning: #E6A23C !default; -/// color|1|Functional Color|1 -$--color-danger: #F56C6C !default; -/// color|1|Functional Color|1 -$--color-info: #909399 !default; - -$--color-success-light: mix($--color-white, $--color-success, 80%) !default; -$--color-warning-light: mix($--color-white, $--color-warning, 80%) !default; -$--color-danger-light: mix($--color-white, $--color-danger, 80%) !default; -$--color-info-light: mix($--color-white, $--color-info, 80%) !default; - -$--color-success-lighter: mix($--color-white, $--color-success, 90%) !default; -$--color-warning-lighter: mix($--color-white, $--color-warning, 90%) !default; -$--color-danger-lighter: mix($--color-white, $--color-danger, 90%) !default; -$--color-info-lighter: mix($--color-white, $--color-info, 90%) !default; -/// color|1|Font Color|2 -$--color-text-primary: #303133 !default; -/// color|1|Font Color|2 -$--color-text-regular: #606266 !default; -/// color|1|Font Color|2 -$--color-text-secondary: #909399 !default; -/// color|1|Font Color|2 -$--color-text-placeholder: #C0C4CC !default; -/// color|1|Border Color|3 -$--border-color-base: #DCDFE6 !default; -/// color|1|Border Color|3 -$--border-color-light: #E4E7ED !default; -/// color|1|Border Color|3 -$--border-color-lighter: #EBEEF5 !default; -/// color|1|Border Color|3 -$--border-color-extra-light: #F2F6FC !default; - -// Background -/// color|1|Background Color|4 -$--background-color-base: #F5F7FA !default; - -// color for left sidebar title -$--color-sidebar-title-text: #FFFFFF; -// color for left sidebar background -$--color-menu-background: #272C34; -$--color-menu-item-active-text-color: #FFFFFF; -$--color-menu-item-active-background: $--color-primary; -/* Link --------------------------- */ -$--link-color: $--color-primary-light-2 !default; -$--link-hover-color: $--color-primary !default; - -/* Border --------------------------- */ -$--border-width-base: 1px !default; -$--border-style-base: solid !default; -$--border-color-hover: $--color-text-placeholder !default; -$--border-base: $--border-width-base $--border-style-base $--border-color-base !default; -/// borderRadius|1|Radius|0 -$--border-radius-base: 4px !default; -/// borderRadius|1|Radius|0 -$--border-radius-small: 2px !default; -/// borderRadius|1|Radius|0 -$--border-radius-circle: 100% !default; -/// borderRadius|1|Radius|0 -$--border-radius-zero: 0 !default; - -// Box-shadow -/// boxShadow|1|Shadow|1 -$--box-shadow-base: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04) !default; -// boxShadow|1|Shadow|1 -$--box-shadow-dark: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .12) !default; -/// boxShadow|1|Shadow|1 -$--box-shadow-light: 0 2px 12px 0 rgba(0, 0, 0, 0.1) !default; - -/* Fill --------------------------- */ -$--fill-base: $--color-white !default; - -/* Typography --------------------------- */ -$--font-path: 'fonts' !default; -$--font-display: 'auto' !default; -/// fontSize|1|Font Size|0 -$--font-size-extra-large: 20px !default; -/// fontSize|1|Font Size|0 -$--font-size-large: 18px !default; -/// fontSize|1|Font Size|0 -$--font-size-medium: 16px !default; -/// fontSize|1|Font Size|0 -$--font-size-base: 14px !default; -/// fontSize|1|Font Size|0 -$--font-size-small: 13px !default; -/// fontSize|1|Font Size|0 -$--font-size-extra-small: 12px !default; -/// fontWeight|1|Font Weight|1 -$--font-weight-primary: 500 !default; -/// fontWeight|1|Font Weight|1 -$--font-weight-secondary: 100 !default; -/// fontLineHeight|1|Line Height|2 -$--font-line-height-primary: 24px !default; -/// fontLineHeight|1|Line Height|2 -$--font-line-height-secondary: 16px !default; -$--font-color-disabled-base: #bbb !default; -/* Size --------------------------- */ -$--size-base: 14px !default; - -/* z-index --------------------------- */ -$--index-normal: 1 !default; -$--index-top: 1000 !default; -$--index-popper: 2000 !default; - -/* Disable base --------------------------- */ -$--disabled-fill-base: $--background-color-base !default; -$--disabled-color-base: $--color-text-placeholder !default; -$--disabled-border-base: $--border-color-light !default; - -/* Icon --------------------------- */ -$--icon-color: #666 !default; -$--icon-color-base: $--color-info !default; - -/* Checkbox --------------------------- */ -/// fontSize||Font|1 -$--checkbox-font-size: 14px !default; -/// fontWeight||Font|1 -$--checkbox-font-weight: $--font-weight-primary !default; -/// color||Color|0 -$--checkbox-font-color: $--color-text-regular !default; -$--checkbox-input-height: 14px !default; -$--checkbox-input-width: 14px !default; -/// borderRadius||Border|2 -$--checkbox-border-radius: $--border-radius-small !default; -/// color||Color|0 -$--checkbox-background-color: $--color-white !default; -$--checkbox-input-border: $--border-base !default; - -/// color||Color|0 -$--checkbox-disabled-border-color: $--border-color-base !default; -$--checkbox-disabled-input-fill: #edf2fc !default; -$--checkbox-disabled-icon-color: $--color-text-placeholder !default; - -$--checkbox-disabled-checked-input-fill: $--border-color-extra-light !default; -$--checkbox-disabled-checked-input-border-color: $--border-color-base !default; -$--checkbox-disabled-checked-icon-color: $--color-text-placeholder !default; - -/// color||Color|0 -$--checkbox-checked-font-color: $--color-primary !default; -$--checkbox-checked-input-border-color: $--color-primary !default; -/// color||Color|0 -$--checkbox-checked-background-color: $--color-primary !default; -$--checkbox-checked-icon-color: $--fill-base !default; - -$--checkbox-input-border-color-hover: $--color-primary !default; -/// height||Other|4 -$--checkbox-bordered-height: 40px !default; -/// padding||Spacing|3 -$--checkbox-bordered-padding: 9px 20px 9px 10px !default; -/// padding||Spacing|3 -$--checkbox-bordered-medium-padding: 7px 20px 7px 10px !default; -/// padding||Spacing|3 -$--checkbox-bordered-small-padding: 5px 15px 5px 10px !default; -/// padding||Spacing|3 -$--checkbox-bordered-mini-padding: 3px 15px 3px 10px !default; -$--checkbox-bordered-medium-input-height: 14px !default; -$--checkbox-bordered-medium-input-width: 14px !default; -/// height||Other|4 -$--checkbox-bordered-medium-height: 36px !default; -$--checkbox-bordered-small-input-height: 12px !default; -$--checkbox-bordered-small-input-width: 12px !default; -/// height||Other|4 -$--checkbox-bordered-small-height: 32px !default; -$--checkbox-bordered-mini-input-height: 12px !default; -$--checkbox-bordered-mini-input-width: 12px !default; -/// height||Other|4 -$--checkbox-bordered-mini-height: 28px !default; - -/// color||Color|0 -$--checkbox-button-checked-background-color: $--color-primary !default; -/// color||Color|0 -$--checkbox-button-checked-font-color: $--color-white !default; -/// color||Color|0 -$--checkbox-button-checked-border-color: $--color-primary !default; - - - -/* Radio --------------------------- */ -/// fontSize||Font|1 -$--radio-font-size: $--font-size-base !default; -/// fontWeight||Font|1 -$--radio-font-weight: $--font-weight-primary !default; -/// color||Color|0 -$--radio-font-color: $--color-text-regular !default; -$--radio-input-height: 14px !default; -$--radio-input-width: 14px !default; -/// borderRadius||Border|2 -$--radio-input-border-radius: $--border-radius-circle !default; -/// color||Color|0 -$--radio-input-background-color: $--color-white !default; -$--radio-input-border: $--border-base !default; -/// color||Color|0 -$--radio-input-border-color: $--border-color-base !default; -/// color||Color|0 -$--radio-icon-color: $--color-white !default; - -$--radio-disabled-input-border-color: $--disabled-border-base !default; -$--radio-disabled-input-fill: $--disabled-fill-base !default; -$--radio-disabled-icon-color: $--disabled-fill-base !default; - -$--radio-disabled-checked-input-border-color: $--disabled-border-base !default; -$--radio-disabled-checked-input-fill: $--disabled-fill-base !default; -$--radio-disabled-checked-icon-color: $--color-text-placeholder !default; - -/// color||Color|0 -$--radio-checked-font-color: $--color-primary !default; -/// color||Color|0 -$--radio-checked-input-border-color: $--color-primary !default; -/// color||Color|0 -$--radio-checked-input-background-color: $--color-white !default; -/// color||Color|0 -$--radio-checked-icon-color: $--color-primary !default; - -$--radio-input-border-color-hover: $--color-primary !default; - -$--radio-bordered-height: 40px !default; -$--radio-bordered-padding: 12px 20px 0 10px !default; -$--radio-bordered-medium-padding: 10px 20px 0 10px !default; -$--radio-bordered-small-padding: 8px 15px 0 10px !default; -$--radio-bordered-mini-padding: 6px 15px 0 10px !default; -$--radio-bordered-medium-input-height: 14px !default; -$--radio-bordered-medium-input-width: 14px !default; -$--radio-bordered-medium-height: 36px !default; -$--radio-bordered-small-input-height: 12px !default; -$--radio-bordered-small-input-width: 12px !default; -$--radio-bordered-small-height: 32px !default; -$--radio-bordered-mini-input-height: 12px !default; -$--radio-bordered-mini-input-width: 12px !default; -$--radio-bordered-mini-height: 28px !default; - -/// fontSize||Font|1 -$--radio-button-font-size: $--font-size-base !default; -/// color||Color|0 -$--radio-button-checked-background-color: $--color-primary !default; -/// color||Color|0 -$--radio-button-checked-font-color: $--color-white !default; -/// color||Color|0 -$--radio-button-checked-border-color: $--color-primary !default; -$--radio-button-disabled-checked-fill: $--border-color-extra-light !default; - -/* Select --------------------------- */ -$--select-border-color-hover: $--border-color-hover !default; -$--select-disabled-border: $--disabled-border-base !default; -/// fontSize||Font|1 -$--select-font-size: $--font-size-base !default; -$--select-close-hover-color: $--color-text-secondary !default; - -$--select-input-color: $--color-text-placeholder !default; -$--select-multiple-input-color: #666 !default; -/// color||Color|0 -$--select-input-focus-border-color: $--color-primary !default; -/// fontSize||Font|1 -$--select-input-font-size: 14px !default; - -$--select-option-color: $--color-text-regular !default; -$--select-option-disabled-color: $--color-text-placeholder !default; -$--select-option-disabled-background: $--color-white !default; -/// height||Other|4 -$--select-option-height: 34px !default; -$--select-option-hover-background: $--background-color-base !default; -/// color||Color|0 -$--select-option-selected-font-color: $--color-primary !default; -$--select-option-selected-hover: $--background-color-base !default; - -$--select-group-color: $--color-info !default; -$--select-group-height: 30px !default; -$--select-group-font-size: 12px !default; - -$--select-dropdown-background: $--color-white !default; -$--select-dropdown-shadow: $--box-shadow-light !default; -$--select-dropdown-empty-color: #999 !default; -/// height||Other|4 -$--select-dropdown-max-height: 274px !default; -$--select-dropdown-padding: 6px 0 !default; -$--select-dropdown-empty-padding: 10px 0 !default; -$--select-dropdown-border: solid 1px $--border-color-light !default; - -/* Alert --------------------------- */ -$--alert-padding: 8px 16px !default; -/// borderRadius||Border|2 -$--alert-border-radius: $--border-radius-base !default; -/// fontSize||Font|1 -$--alert-title-font-size: 13px !default; -/// fontSize||Font|1 -$--alert-description-font-size: 12px !default; -/// fontSize||Font|1 -$--alert-close-font-size: 12px !default; -/// fontSize||Font|1 -$--alert-close-customed-font-size: 13px !default; - -$--alert-success-color: $--color-success-lighter !default; -$--alert-info-color: $--color-info-lighter !default; -$--alert-warning-color: $--color-warning-lighter !default; -$--alert-danger-color: $--color-danger-lighter !default; - -/// height||Other|4 -$--alert-icon-size: 16px !default; -/// height||Other|4 -$--alert-icon-large-size: 28px !default; - -/* MessageBox --------------------------- */ -/// color||Color|0 -$--messagebox-title-color: $--color-text-primary !default; -$--msgbox-width: 420px !default; -$--msgbox-border-radius: 4px !default; -/// fontSize||Font|1 -$--messagebox-font-size: $--font-size-large !default; -/// fontSize||Font|1 -$--messagebox-content-font-size: $--font-size-base !default; -/// color||Color|0 -$--messagebox-content-color: $--color-text-regular !default; -/// fontSize||Font|1 -$--messagebox-error-font-size: 12px !default; -$--msgbox-padding-primary: 15px !default; -/// color||Color|0 -$--messagebox-success-color: $--color-success !default; -/// color||Color|0 -$--messagebox-info-color: $--color-info !default; -/// color||Color|0 -$--messagebox-warning-color: $--color-warning !default; -/// color||Color|0 -$--messagebox-danger-color: $--color-danger !default; - -/* Message --------------------------- */ -$--message-shadow: $--box-shadow-base !default; -$--message-min-width: 380px !default; -$--message-background-color: #edf2fc !default; -$--message-padding: 15px 15px 15px 20px !default; -/// color||Color|0 -$--message-close-icon-color: $--color-text-placeholder !default; -/// height||Other|4 -$--message-close-size: 16px !default; -/// color||Color|0 -$--message-close-hover-color: $--color-text-secondary !default; - -/// color||Color|0 -$--message-success-font-color: $--color-success !default; -/// color||Color|0 -$--message-info-font-color: $--color-info !default; -/// color||Color|0 -$--message-warning-font-color: $--color-warning !default; -/// color||Color|0 -$--message-danger-font-color: $--color-danger !default; - -/* Notification --------------------------- */ -$--notification-width: 330px !default; -/// padding||Spacing|3 -$--notification-padding: 14px 26px 14px 13px !default; -$--notification-radius: 8px !default; -$--notification-shadow: $--box-shadow-light !default; -/// color||Color|0 -$--notification-border-color: $--border-color-lighter !default; -$--notification-icon-size: 24px !default; -$--notification-close-font-size: $--message-close-size !default; -$--notification-group-margin-left: 13px !default; -$--notification-group-margin-right: 8px !default; -/// fontSize||Font|1 -$--notification-content-font-size: $--font-size-base !default; -/// color||Color|0 -$--notification-content-color: $--color-text-regular !default; -/// fontSize||Font|1 -$--notification-title-font-size: 16px !default; -/// color||Color|0 -$--notification-title-color: $--color-text-primary !default; - -/// color||Color|0 -$--notification-close-color: $--color-text-secondary !default; -/// color||Color|0 -$--notification-close-hover-color: $--color-text-regular !default; - -/// color||Color|0 -$--notification-success-icon-color: $--color-success !default; -/// color||Color|0 -$--notification-info-icon-color: $--color-info !default; -/// color||Color|0 -$--notification-warning-icon-color: $--color-warning !default; -/// color||Color|0 -$--notification-danger-icon-color: $--color-danger !default; - -/* Input --------------------------- */ -$--input-font-size: $--font-size-base !default; -/// color||Color|0 -$--input-font-color: $--color-text-regular !default; -/// height||Other|4 -$--input-width: 140px !default; -/// height||Other|4 -$--input-height: 40px !default; -$--input-border: $--border-base !default; -$--input-border-color: $--border-color-base !default; -/// borderRadius||Border|2 -$--input-border-radius: $--border-radius-base !default; -$--input-border-color-hover: $--border-color-hover !default; -/// color||Color|0 -$--input-background-color: $--color-white !default; -$--input-fill-disabled: $--disabled-fill-base !default; -$--input-color-disabled: $--font-color-disabled-base !default; -/// color||Color|0 -$--input-icon-color: $--color-text-placeholder !default; -/// color||Color|0 -$--input-placeholder-color: $--color-text-placeholder !default; -$--input-max-width: 314px !default; - -$--input-hover-border: $--border-color-hover !default; -$--input-clear-hover-color: $--color-text-secondary !default; - -$--input-focus-border: $--color-primary !default; -$--input-focus-fill: $--color-white !default; - -$--input-disabled-fill: $--disabled-fill-base !default; -$--input-disabled-border: $--disabled-border-base !default; -$--input-disabled-color: $--disabled-color-base !default; -$--input-disabled-placeholder-color: $--color-text-placeholder !default; - -/// fontSize||Font|1 -$--input-medium-font-size: 14px !default; -/// height||Other|4 -$--input-medium-height: 36px !default; -/// fontSize||Font|1 -$--input-small-font-size: 13px !default; -/// height||Other|4 -$--input-small-height: 32px !default; -/// fontSize||Font|1 -$--input-mini-font-size: 12px !default; -/// height||Other|4 -$--input-mini-height: 28px !default; - -/* Cascader --------------------------- */ -/// color||Color|0 -$--cascader-menu-font-color: $--color-text-regular !default; -/// color||Color|0 -$--cascader-menu-selected-font-color: $--color-primary !default; -$--cascader-menu-fill: $--fill-base !default; -$--cascader-menu-font-size: $--font-size-base !default; -$--cascader-menu-radius: $--border-radius-base !default; -$--cascader-menu-border: solid 1px $--border-color-light !default; -$--cascader-menu-shadow: $--box-shadow-light !default; -$--cascader-node-background-hover: $--background-color-base !default; -$--cascader-node-color-disabled:$--color-text-placeholder !default; -$--cascader-color-empty:$--color-text-placeholder !default; -$--cascader-tag-background: #f0f2f5; - -/* Group --------------------------- */ -$--group-option-flex: 0 0 (1/5) * 100% !default; -$--group-option-offset-bottom: 12px !default; -$--group-option-fill-hover: rgba($--color-black, 0.06) !default; -$--group-title-color: $--color-black !default; -$--group-title-font-size: $--font-size-base !default; -$--group-title-width: 66px !default; - -/* Tab --------------------------- */ -$--tab-font-size: $--font-size-base !default; -$--tab-border-line: 1px solid #e4e4e4 !default; -$--tab-header-color-active: $--color-text-secondary !default; -$--tab-header-color-hover: $--color-text-regular !default; -$--tab-header-color: $--color-text-regular !default; -$--tab-header-fill-active: rgba($--color-black, 0.06) !default; -$--tab-header-fill-hover: rgba($--color-black, 0.06) !default; -$--tab-vertical-header-width: 90px !default; -$--tab-vertical-header-count-color: $--color-white !default; -$--tab-vertical-header-count-fill: $--color-text-secondary !default; - -/* Button --------------------------- */ -/// fontSize||Font|1 -$--button-font-size: $--font-size-base !default; -/// fontWeight||Font|1 -$--button-font-weight: $--font-weight-primary !default; -/// borderRadius||Border|2 -$--button-border-radius: $--border-radius-base !default; -/// padding||Spacing|3 -$--button-padding-vertical: 12px !default; -/// padding||Spacing|3 -$--button-padding-horizontal: 20px !default; - -/// fontSize||Font|1 -$--button-medium-font-size: $--font-size-base !default; -/// borderRadius||Border|2 -$--button-medium-border-radius: $--border-radius-base !default; -/// padding||Spacing|3 -$--button-medium-padding-vertical: 10px !default; -/// padding||Spacing|3 -$--button-medium-padding-horizontal: 20px !default; - -/// fontSize||Font|1 -$--button-small-font-size: 12px !default; -$--button-small-border-radius: #{$--border-radius-base - 1} !default; -/// padding||Spacing|3 -$--button-small-padding-vertical: 9px !default; -/// padding||Spacing|3 -$--button-small-padding-horizontal: 15px !default; -/// fontSize||Font|1 -$--button-mini-font-size: 12px !default; -$--button-mini-border-radius: #{$--border-radius-base - 1} !default; -/// padding||Spacing|3 -$--button-mini-padding-vertical: 7px !default; -/// padding||Spacing|3 -$--button-mini-padding-horizontal: 15px !default; - -/// color||Color|0 -$--button-default-font-color: $--color-text-regular !default; -/// color||Color|0 -$--button-default-background-color: $--color-white !default; -/// color||Color|0 -$--button-default-border-color: $--border-color-base !default; - -/// color||Color|0 -$--button-disabled-font-color: $--color-text-placeholder !default; -/// color||Color|0 -$--button-disabled-background-color: $--color-white !default; -/// color||Color|0 -$--button-disabled-border-color: $--border-color-lighter !default; - -/// color||Color|0 -$--button-primary-border-color: $--color-primary !default; -/// color||Color|0 -$--button-primary-font-color: $--color-white !default; -/// color||Color|0 -$--button-primary-background-color: $--color-primary !default; -/// color||Color|0 -$--button-success-border-color: $--color-success !default; -/// color||Color|0 -$--button-success-font-color: $--color-white !default; -/// color||Color|0 -$--button-success-background-color: $--color-success !default; -/// color||Color|0 -$--button-warning-border-color: $--color-warning !default; -/// color||Color|0 -$--button-warning-font-color: $--color-white !default; -/// color||Color|0 -$--button-warning-background-color: $--color-warning !default; -/// color||Color|0 -$--button-danger-border-color: $--color-danger !default; -/// color||Color|0 -$--button-danger-font-color: $--color-white !default; -/// color||Color|0 -$--button-danger-background-color: $--color-danger !default; -/// color||Color|0 -$--button-info-border-color: $--color-info !default; -/// color||Color|0 -$--button-info-font-color: $--color-white !default; -/// color||Color|0 -$--button-info-background-color: $--color-info !default; - -$--button-hover-tint-percent: 20% !default; -$--button-active-shade-percent: 10% !default; - - -/* cascader --------------------------- */ -$--cascader-height: 200px !default; - -/* Switch --------------------------- */ -/// color||Color|0 -$--switch-on-color: $--color-primary !default; -/// color||Color|0 -$--switch-off-color: $--border-color-base !default; -/// fontSize||Font|1 -$--switch-font-size: $--font-size-base !default; -$--switch-core-border-radius: 10px !default; -// height||Other|4 TODO: width 代码写死的40px 所以下面这三个属性都没意义 -$--switch-width: 40px !default; -// height||Other|4 -$--switch-height: 20px !default; -// height||Other|4 -$--switch-button-size: 16px !default; - -/* Dialog --------------------------- */ -$--dialog-background-color: $--color-white !default; -$--dialog-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !default; -/// fontSize||Font|1 -$--dialog-title-font-size: $--font-size-large !default; -/// fontSize||Font|1 -$--dialog-content-font-size: 14px !default; -/// fontLineHeight||LineHeight|2 -$--dialog-font-line-height: $--font-line-height-primary !default; -/// padding||Spacing|3 -$--dialog-padding-primary: 20px !default; - -/* Table --------------------------- */ -/// color||Color|0 -$--table-border-color: $--border-color-lighter !default; -$--table-border: 1px solid $--table-border-color !default; -/// color||Color|0 -$--table-font-color: $--color-text-regular !default; -/// color||Color|0 -$--table-header-font-color: $--color-text-secondary !default; -/// color||Color|0 -$--table-row-hover-background-color: $--background-color-base !default; -$--table-current-row-background-color: $--color-primary-light-9 !default; -/// color||Color|0 -$--table-header-background-color: $--color-white !default; -$--table-fixed-box-shadow: 0 0 10px rgba(0, 0, 0, .12) !default; - -/* Pagination --------------------------- */ -/// fontSize||Font|1 -$--pagination-font-size: 13px !default; -/// color||Color|0 -$--pagination-background-color: $--color-white !default; -/// color||Color|0 -$--pagination-font-color: $--color-text-primary !default; -$--pagination-border-radius: 3px !default; -/// color||Color|0 -$--pagination-button-color: $--color-text-primary !default; -/// height||Other|4 -$--pagination-button-width: 35.5px !default; -/// height||Other|4 -$--pagination-button-height: 28px !default; -/// color||Color|0 -$--pagination-button-disabled-color: $--color-text-placeholder !default; -/// color||Color|0 -$--pagination-button-disabled-background-color: $--color-white !default; -/// color||Color|0 -$--pagination-hover-color: $--color-primary !default; - -/* Popup --------------------------- */ -/// color||Color|0 -$--popup-modal-background-color: $--color-black !default; -/// opacity||Other|1 -$--popup-modal-opacity: 0.5 !default; - -/* Popover --------------------------- */ -/// color||Color|0 -$--popover-background-color: $--color-white !default; -/// fontSize||Font|1 -$--popover-font-size: $--font-size-base !default; -/// color||Color|0 -$--popover-border-color: $--border-color-lighter !default; -$--popover-arrow-size: 6px !default; -/// padding||Spacing|3 -$--popover-padding: 12px !default; -$--popover-padding-large: 18px 20px !default; -/// fontSize||Font|1 -$--popover-title-font-size: 16px !default; -/// color||Color|0 -$--popover-title-font-color: $--color-text-primary !default; - -/* Tooltip --------------------------- */ -/// color|1|Color|0 -$--tooltip-fill: $--color-text-primary !default; -/// color|1|Color|0 -$--tooltip-color: $--color-white !default; -/// fontSize||Font|1 -$--tooltip-font-size: 12px !default; -/// color||Color|0 -$--tooltip-border-color: $--color-text-primary !default; -$--tooltip-arrow-size: 6px !default; -/// padding||Spacing|3 -$--tooltip-padding: 10px !default; - -/* Tag --------------------------- */ -/// color||Color|0 -$--tag-info-color: $--color-info !default; -/// color||Color|0 -$--tag-primary-color: $--color-primary !default; -/// color||Color|0 -$--tag-success-color: $--color-success !default; -/// color||Color|0 -$--tag-warning-color: $--color-warning !default; -/// color||Color|0 -$--tag-danger-color: $--color-danger !default; -/// fontSize||Font|1 -$--tag-font-size: 12px !default; -$--tag-border-radius: 4px !default; -$--tag-padding: 0 10px !default; - -/* Tree --------------------------- */ -/// color||Color|0 -$--tree-node-hover-background-color: $--background-color-base !default; -/// color||Color|0 -$--tree-font-color: $--color-text-regular !default; -/// color||Color|0 -$--tree-expand-icon-color: $--color-text-placeholder !default; - -/* Dropdown --------------------------- */ -$--dropdown-menu-box-shadow: $--box-shadow-light !default; -$--dropdown-menuItem-hover-fill: $--color-menu-item-active-background !default; -$--dropdown-menuItem-hover-color: $--color-white !default; - -/* Badge --------------------------- */ -/// color||Color|0 -$--badge-background-color: $--color-danger !default; -$--badge-radius: 10px !default; -/// fontSize||Font|1 -$--badge-font-size: 12px !default; -/// padding||Spacing|3 -$--badge-padding: 6px !default; -/// height||Other|4 -$--badge-size: 18px !default; - -/* Card ---------------------------*/ -/// color||Color|0 -$--card-border-color: $--border-color-lighter !default; -$--card-border-radius: 4px !default; -/// padding||Spacing|3 -$--card-padding: 20px !default; - -/* Slider ---------------------------*/ -/// color||Color|0 -$--slider-main-background-color: $--color-primary !default; -/// color||Color|0 -$--slider-runway-background-color: $--border-color-light !default; -$--slider-button-hover-color: mix($--color-primary, black, 97%) !default; -$--slider-stop-background-color: $--color-white !default; -$--slider-disable-color: $--color-text-placeholder !default; -$--slider-margin: 16px 0 !default; -$--slider-border-radius: 3px !default; -/// height|1|Other|4 -$--slider-height: 6px !default; -/// height||Other|4 -$--slider-button-size: 16px !default; -$--slider-button-wrapper-size: 36px !default; -$--slider-button-wrapper-offset: -15px !default; - -/* Steps ---------------------------*/ -$--steps-border-color: $--disabled-border-base !default; -$--steps-border-radius: 4px !default; -$--steps-padding: 20px !default; - -/* Menu ---------------------------*/ -/// fontSize||Font|1 -$--menu-item-font-size: $--font-size-base !default; -/// color||Color|0 -$--menu-item-font-color: $--color-white !default; -/// color||Color|0 -$--menu-background-color: $--color-menu-background !default; -$--menu-item-hover-fill: $--color-primary !default; - -/* Rate ---------------------------*/ -$--rate-height: 20px !default; -/// fontSize||Font|1 -$--rate-font-size: $--font-size-base !default; -/// height||Other|3 -$--rate-icon-size: 18px !default; -/// margin||Spacing|2 -$--rate-icon-margin: 6px !default; -$--rate-icon-color: $--color-text-placeholder !default; - -/* DatePicker ---------------------------*/ -$--datepicker-font-color: $--color-text-regular !default; -/// color|1|Color|0 -$--datepicker-off-font-color: $--color-text-placeholder !default; -/// color||Color|0 -$--datepicker-header-font-color: $--color-text-regular !default; -$--datepicker-icon-color: $--color-text-primary !default; -$--datepicker-border-color: $--disabled-border-base !default; -$--datepicker-inner-border-color: #e4e4e4 !default; -/// color||Color|0 -$--datepicker-inrange-background-color: $--border-color-extra-light !default; -/// color||Color|0 -$--datepicker-inrange-hover-background-color: $--border-color-extra-light !default; -/// color||Color|0 -$--datepicker-active-color: $--color-primary !default; -/// color||Color|0 -$--datepicker-hover-font-color: $--color-primary !default; -$--datepicker-cell-hover-color: #fff !default; - -/* Loading ---------------------------*/ -/// height||Other|4 -$--loading-spinner-size: 42px !default; -/// height||Other|4 -$--loading-fullscreen-spinner-size: 50px !default; - -/* Scrollbar ---------------------------*/ -$--scrollbar-background-color: rgba($--color-text-secondary, .3) !default; -$--scrollbar-hover-background-color: rgba($--color-text-secondary, .5) !default; - -/* Carousel ---------------------------*/ -/// fontSize||Font|1 -$--carousel-arrow-font-size: 12px !default; -$--carousel-arrow-size: 36px !default; -$--carousel-arrow-background: rgba(31, 45, 61, 0.11) !default; -$--carousel-arrow-hover-background: rgba(31, 45, 61, 0.23) !default; -/// width||Other|4 -$--carousel-indicator-width: 30px !default; -/// height||Other|4 -$--carousel-indicator-height: 2px !default; -$--carousel-indicator-padding-horizontal: 4px !default; -$--carousel-indicator-padding-vertical: 12px !default; -$--carousel-indicator-out-color: $--border-color-hover !default; - -/* Collapse ---------------------------*/ -/// color||Color|0 -$--collapse-border-color: $--border-color-lighter !default; -/// height||Other|4 -$--collapse-header-height: 48px !default; -/// color||Color|0 -$--collapse-header-background-color: $--color-white !default; -/// color||Color|0 -$--collapse-header-font-color: $--color-text-primary !default; -/// fontSize||Font|1 -$--collapse-header-font-size: 13px !default; -/// color||Color|0 -$--collapse-content-background-color: $--color-white !default; -/// fontSize||Font|1 -$--collapse-content-font-size: 13px !default; -/// color||Color|0 -$--collapse-content-font-color: $--color-text-primary !default; - -/* Transfer ---------------------------*/ -$--transfer-border-color: $--border-color-lighter !default; -$--transfer-border-radius: $--border-radius-base !default; -/// height||Other|4 -$--transfer-panel-width: 200px !default; -/// height||Other|4 -$--transfer-panel-header-height: 40px !default; -/// color||Color|0 -$--transfer-panel-header-background-color: $--background-color-base !default; -/// height||Other|4 -$--transfer-panel-footer-height: 40px !default; -/// height||Other|4 -$--transfer-panel-body-height: 246px !default; -/// height||Other|4 -$--transfer-item-height: 30px !default; -/// height||Other|4 -$--transfer-filter-height: 32px !default; - -/* Header - --------------------------*/ -$--header-padding: 0 20px !default; - -/* Footer ---------------------------*/ -$--footer-padding: 0 20px !default; - -/* Main ---------------------------*/ -$--main-padding: 20px !default; - -/* Timeline ---------------------------*/ -$--timeline-node-size-normal: 12px !default; -$--timeline-node-size-large: 14px !default; -$--timeline-node-color: $--border-color-light !default; - -/* Backtop ---------------------------*/ -/// color||Color|0 -$--backtop-background-color: $--color-white !default; -/// color||Color|0 -$--backtop-font-color: $--color-primary !default; -/// color||Color|0 -$--backtop-hover-background-color: $--border-color-extra-light !default; - -/* Link ---------------------------*/ -/// fontSize||Font|1 -$--link-font-size: $--font-size-base !default; -/// fontWeight||Font|1 -$--link-font-weight: $--font-weight-primary !default; -/// color||Color|0 -$--link-default-font-color: $--color-text-regular !default; -/// color||Color|0 -$--link-default-active-color: $--color-primary !default; -/// color||Color|0 -$--link-disabled-font-color: $--color-text-placeholder !default; -/// color||Color|0 -$--link-primary-font-color: $--color-primary !default; -/// color||Color|0 -$--link-success-font-color: $--color-success !default; -/// color||Color|0 -$--link-warning-font-color: $--color-warning !default; -/// color||Color|0 -$--link-danger-font-color: $--color-danger !default; -/// color||Color|0 -$--link-info-font-color: $--color-info !default; -/* Calendar ---------------------------*/ -/// border||Other|4 -$--calendar-border: $--table-border !default; -/// color||Other|4 -$--calendar-selected-background-color: #F2F8FE !default; -$--calendar-cell-width: 85px !default; - -/* Form --------------------------- */ -/// fontSize||Font|1 -$--form-label-font-size: $--font-size-base !default; - -/* Avatar ---------------------------*/ -/// color||Color|0 -$--avatar-font-color: #fff !default; -/// color||Color|0 -$--avatar-background-color: #C0C4CC !default; -/// fontSize||Font Size|1 -$--avatar-text-font-size: 14px !default; -/// fontSize||Font Size|1 -$--avatar-icon-font-size: 18px !default; -/// borderRadius||Border|2 -$--avatar-border-radius: $--border-radius-base !default; -/// size|1|Avatar Size|3 -$--avatar-large-size: 40px !default; -/// size|1|Avatar Size|3 -$--avatar-medium-size: 36px !default; -/// size|1|Avatar Size|3 -$--avatar-small-size: 28px !default; - -/* Break-point ---------------------------*/ -$--sm: 768px !default; -$--md: 992px !default; -$--lg: 1200px !default; -$--xl: 1920px !default; - -$--breakpoints: ( - 'xs' : (max-width: $--sm - 1), - 'sm' : (min-width: $--sm), - 'md' : (min-width: $--md), - 'lg' : (min-width: $--lg), - 'xl' : (min-width: $--xl) -); - -$--breakpoints-spec: ( - 'xs-only' : (max-width: $--sm - 1), - 'sm-and-up' : (min-width: $--sm), - 'sm-only': "(min-width: #{$--sm}) and (max-width: #{$--md - 1})", - 'sm-and-down': (max-width: $--md - 1), - 'md-and-up' : (min-width: $--md), - 'md-only': "(min-width: #{$--md}) and (max-width: #{$--lg - 1})", - 'md-and-down': (max-width: $--lg - 1), - 'lg-and-up' : (min-width: $--lg), - 'lg-only': "(min-width: #{$--lg}) and (max-width: #{$--xl - 1})", - 'lg-and-down': (max-width: $--xl - 1), - 'xl-only' : (min-width: $--xl), -); diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/element-variables-green.scss b/orange-demo-multi/orange-demo-multi-web/src/assets/element-variables-green.scss deleted file mode 100644 index e51e10f9..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/element-variables-green.scss +++ /dev/null @@ -1,1000 +0,0 @@ -/* Element Chalk Variables */ - -// Special comment for theme configurator -// type|skipAutoTranslation|Category|Order -// skipAutoTranslation 1 - -/* Transition --------------------------- */ -$--all-transition: all .3s cubic-bezier(.645,.045,.355,1) !default; -$--fade-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1) !default; -$--fade-linear-transition: opacity 200ms linear !default; -$--md-fade-transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1) !default; -$--border-transition-base: border-color .2s cubic-bezier(.645,.045,.355,1) !default; -$--color-transition-base: color .2s cubic-bezier(.645,.045,.355,1) !default; - -/* Color --------------------------- */ -/// color|1|Brand Color|0 -$--color-primary: #00988B !default; -/// color|1|Background Color|4 -$--color-white: #FFFFFF !default; -/// color|1|Background Color|4 -$--color-black: #000000 !default; -$--color-primary-light-1: mix($--color-white, $--color-primary, 10%) !default; /* 53a8ff */ -$--color-primary-light-2: mix($--color-white, $--color-primary, 20%) !default; /* 66b1ff */ -$--color-primary-light-3: mix($--color-white, $--color-primary, 30%) !default; /* 79bbff */ -$--color-primary-light-4: mix($--color-white, $--color-primary, 40%) !default; /* 8cc5ff */ -$--color-primary-light-5: mix($--color-white, $--color-primary, 50%) !default; /* a0cfff */ -$--color-primary-light-6: mix($--color-white, $--color-primary, 60%) !default; /* b3d8ff */ -$--color-primary-light-7: mix($--color-white, $--color-primary, 70%) !default; /* c6e2ff */ -$--color-primary-light-8: mix($--color-white, $--color-primary, 80%) !default; /* d9ecff */ -$--color-primary-light-9: mix($--color-white, $--color-primary, 90%) !default; /* ecf5ff */ -/// color|1|Functional Color|1 -$--color-success: #67C23A !default; -/// color|1|Functional Color|1 -$--color-warning: #E6A23C !default; -/// color|1|Functional Color|1 -$--color-danger: #F56C6C !default; -/// color|1|Functional Color|1 -$--color-info: #909399 !default; - -$--color-success-light: mix($--color-white, $--color-success, 80%) !default; -$--color-warning-light: mix($--color-white, $--color-warning, 80%) !default; -$--color-danger-light: mix($--color-white, $--color-danger, 80%) !default; -$--color-info-light: mix($--color-white, $--color-info, 80%) !default; - -$--color-success-lighter: mix($--color-white, $--color-success, 90%) !default; -$--color-warning-lighter: mix($--color-white, $--color-warning, 90%) !default; -$--color-danger-lighter: mix($--color-white, $--color-danger, 90%) !default; -$--color-info-lighter: mix($--color-white, $--color-info, 90%) !default; -/// color|1|Font Color|2 -$--color-text-primary: #303133 !default; -/// color|1|Font Color|2 -$--color-text-regular: #606266 !default; -/// color|1|Font Color|2 -$--color-text-secondary: #909399 !default; -/// color|1|Font Color|2 -$--color-text-placeholder: #C0C4CC !default; -/// color|1|Border Color|3 -$--border-color-base: #DCDFE6 !default; -/// color|1|Border Color|3 -$--border-color-light: #E4E7ED !default; -/// color|1|Border Color|3 -$--border-color-lighter: #EBEEF5 !default; -/// color|1|Border Color|3 -$--border-color-extra-light: #F2F6FC !default; - -// Background -/// color|1|Background Color|4 -$--background-color-base: #F5F7FA !default; - -// color for left sidebar title -$--color-sidebar-title-text: #FFFFFF; -// color for left sidebar background -$--color-menu-background: #272C34; -$--color-menu-item-active-text-color: #FFFFFF; -$--color-menu-item-active-background: $--color-primary; -/* Link --------------------------- */ -$--link-color: $--color-primary-light-2 !default; -$--link-hover-color: $--color-primary !default; - -/* Border --------------------------- */ -$--border-width-base: 1px !default; -$--border-style-base: solid !default; -$--border-color-hover: $--color-text-placeholder !default; -$--border-base: $--border-width-base $--border-style-base $--border-color-base !default; -/// borderRadius|1|Radius|0 -$--border-radius-base: 4px !default; -/// borderRadius|1|Radius|0 -$--border-radius-small: 2px !default; -/// borderRadius|1|Radius|0 -$--border-radius-circle: 100% !default; -/// borderRadius|1|Radius|0 -$--border-radius-zero: 0 !default; - -// Box-shadow -/// boxShadow|1|Shadow|1 -$--box-shadow-base: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04) !default; -// boxShadow|1|Shadow|1 -$--box-shadow-dark: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .12) !default; -/// boxShadow|1|Shadow|1 -$--box-shadow-light: 0 2px 12px 0 rgba(0, 0, 0, 0.1) !default; - -/* Fill --------------------------- */ -$--fill-base: $--color-white !default; - -/* Typography --------------------------- */ -$--font-path: 'fonts' !default; -$--font-display: 'auto' !default; -/// fontSize|1|Font Size|0 -$--font-size-extra-large: 20px !default; -/// fontSize|1|Font Size|0 -$--font-size-large: 18px !default; -/// fontSize|1|Font Size|0 -$--font-size-medium: 16px !default; -/// fontSize|1|Font Size|0 -$--font-size-base: 14px !default; -/// fontSize|1|Font Size|0 -$--font-size-small: 13px !default; -/// fontSize|1|Font Size|0 -$--font-size-extra-small: 12px !default; -/// fontWeight|1|Font Weight|1 -$--font-weight-primary: 500 !default; -/// fontWeight|1|Font Weight|1 -$--font-weight-secondary: 100 !default; -/// fontLineHeight|1|Line Height|2 -$--font-line-height-primary: 24px !default; -/// fontLineHeight|1|Line Height|2 -$--font-line-height-secondary: 16px !default; -$--font-color-disabled-base: #bbb !default; -/* Size --------------------------- */ -$--size-base: 14px !default; - -/* z-index --------------------------- */ -$--index-normal: 1 !default; -$--index-top: 1000 !default; -$--index-popper: 2000 !default; - -/* Disable base --------------------------- */ -$--disabled-fill-base: $--background-color-base !default; -$--disabled-color-base: $--color-text-placeholder !default; -$--disabled-border-base: $--border-color-light !default; - -/* Icon --------------------------- */ -$--icon-color: #666 !default; -$--icon-color-base: $--color-info !default; - -/* Checkbox --------------------------- */ -/// fontSize||Font|1 -$--checkbox-font-size: 14px !default; -/// fontWeight||Font|1 -$--checkbox-font-weight: $--font-weight-primary !default; -/// color||Color|0 -$--checkbox-font-color: $--color-text-regular !default; -$--checkbox-input-height: 14px !default; -$--checkbox-input-width: 14px !default; -/// borderRadius||Border|2 -$--checkbox-border-radius: $--border-radius-small !default; -/// color||Color|0 -$--checkbox-background-color: $--color-white !default; -$--checkbox-input-border: $--border-base !default; - -/// color||Color|0 -$--checkbox-disabled-border-color: $--border-color-base !default; -$--checkbox-disabled-input-fill: #edf2fc !default; -$--checkbox-disabled-icon-color: $--color-text-placeholder !default; - -$--checkbox-disabled-checked-input-fill: $--border-color-extra-light !default; -$--checkbox-disabled-checked-input-border-color: $--border-color-base !default; -$--checkbox-disabled-checked-icon-color: $--color-text-placeholder !default; - -/// color||Color|0 -$--checkbox-checked-font-color: $--color-primary !default; -$--checkbox-checked-input-border-color: $--color-primary !default; -/// color||Color|0 -$--checkbox-checked-background-color: $--color-primary !default; -$--checkbox-checked-icon-color: $--fill-base !default; - -$--checkbox-input-border-color-hover: $--color-primary !default; -/// height||Other|4 -$--checkbox-bordered-height: 40px !default; -/// padding||Spacing|3 -$--checkbox-bordered-padding: 9px 20px 9px 10px !default; -/// padding||Spacing|3 -$--checkbox-bordered-medium-padding: 7px 20px 7px 10px !default; -/// padding||Spacing|3 -$--checkbox-bordered-small-padding: 5px 15px 5px 10px !default; -/// padding||Spacing|3 -$--checkbox-bordered-mini-padding: 3px 15px 3px 10px !default; -$--checkbox-bordered-medium-input-height: 14px !default; -$--checkbox-bordered-medium-input-width: 14px !default; -/// height||Other|4 -$--checkbox-bordered-medium-height: 36px !default; -$--checkbox-bordered-small-input-height: 12px !default; -$--checkbox-bordered-small-input-width: 12px !default; -/// height||Other|4 -$--checkbox-bordered-small-height: 32px !default; -$--checkbox-bordered-mini-input-height: 12px !default; -$--checkbox-bordered-mini-input-width: 12px !default; -/// height||Other|4 -$--checkbox-bordered-mini-height: 28px !default; - -/// color||Color|0 -$--checkbox-button-checked-background-color: $--color-primary !default; -/// color||Color|0 -$--checkbox-button-checked-font-color: $--color-white !default; -/// color||Color|0 -$--checkbox-button-checked-border-color: $--color-primary !default; - - - -/* Radio --------------------------- */ -/// fontSize||Font|1 -$--radio-font-size: $--font-size-base !default; -/// fontWeight||Font|1 -$--radio-font-weight: $--font-weight-primary !default; -/// color||Color|0 -$--radio-font-color: $--color-text-regular !default; -$--radio-input-height: 14px !default; -$--radio-input-width: 14px !default; -/// borderRadius||Border|2 -$--radio-input-border-radius: $--border-radius-circle !default; -/// color||Color|0 -$--radio-input-background-color: $--color-white !default; -$--radio-input-border: $--border-base !default; -/// color||Color|0 -$--radio-input-border-color: $--border-color-base !default; -/// color||Color|0 -$--radio-icon-color: $--color-white !default; - -$--radio-disabled-input-border-color: $--disabled-border-base !default; -$--radio-disabled-input-fill: $--disabled-fill-base !default; -$--radio-disabled-icon-color: $--disabled-fill-base !default; - -$--radio-disabled-checked-input-border-color: $--disabled-border-base !default; -$--radio-disabled-checked-input-fill: $--disabled-fill-base !default; -$--radio-disabled-checked-icon-color: $--color-text-placeholder !default; - -/// color||Color|0 -$--radio-checked-font-color: $--color-primary !default; -/// color||Color|0 -$--radio-checked-input-border-color: $--color-primary !default; -/// color||Color|0 -$--radio-checked-input-background-color: $--color-white !default; -/// color||Color|0 -$--radio-checked-icon-color: $--color-primary !default; - -$--radio-input-border-color-hover: $--color-primary !default; - -$--radio-bordered-height: 40px !default; -$--radio-bordered-padding: 12px 20px 0 10px !default; -$--radio-bordered-medium-padding: 10px 20px 0 10px !default; -$--radio-bordered-small-padding: 8px 15px 0 10px !default; -$--radio-bordered-mini-padding: 6px 15px 0 10px !default; -$--radio-bordered-medium-input-height: 14px !default; -$--radio-bordered-medium-input-width: 14px !default; -$--radio-bordered-medium-height: 36px !default; -$--radio-bordered-small-input-height: 12px !default; -$--radio-bordered-small-input-width: 12px !default; -$--radio-bordered-small-height: 32px !default; -$--radio-bordered-mini-input-height: 12px !default; -$--radio-bordered-mini-input-width: 12px !default; -$--radio-bordered-mini-height: 28px !default; - -/// fontSize||Font|1 -$--radio-button-font-size: $--font-size-base !default; -/// color||Color|0 -$--radio-button-checked-background-color: $--color-primary !default; -/// color||Color|0 -$--radio-button-checked-font-color: $--color-white !default; -/// color||Color|0 -$--radio-button-checked-border-color: $--color-primary !default; -$--radio-button-disabled-checked-fill: $--border-color-extra-light !default; - -/* Select --------------------------- */ -$--select-border-color-hover: $--border-color-hover !default; -$--select-disabled-border: $--disabled-border-base !default; -/// fontSize||Font|1 -$--select-font-size: $--font-size-base !default; -$--select-close-hover-color: $--color-text-secondary !default; - -$--select-input-color: $--color-text-placeholder !default; -$--select-multiple-input-color: #666 !default; -/// color||Color|0 -$--select-input-focus-border-color: $--color-primary !default; -/// fontSize||Font|1 -$--select-input-font-size: 14px !default; - -$--select-option-color: $--color-text-regular !default; -$--select-option-disabled-color: $--color-text-placeholder !default; -$--select-option-disabled-background: $--color-white !default; -/// height||Other|4 -$--select-option-height: 34px !default; -$--select-option-hover-background: $--background-color-base !default; -/// color||Color|0 -$--select-option-selected-font-color: $--color-primary !default; -$--select-option-selected-hover: $--background-color-base !default; - -$--select-group-color: $--color-info !default; -$--select-group-height: 30px !default; -$--select-group-font-size: 12px !default; - -$--select-dropdown-background: $--color-white !default; -$--select-dropdown-shadow: $--box-shadow-light !default; -$--select-dropdown-empty-color: #999 !default; -/// height||Other|4 -$--select-dropdown-max-height: 274px !default; -$--select-dropdown-padding: 6px 0 !default; -$--select-dropdown-empty-padding: 10px 0 !default; -$--select-dropdown-border: solid 1px $--border-color-light !default; - -/* Alert --------------------------- */ -$--alert-padding: 8px 16px !default; -/// borderRadius||Border|2 -$--alert-border-radius: $--border-radius-base !default; -/// fontSize||Font|1 -$--alert-title-font-size: 13px !default; -/// fontSize||Font|1 -$--alert-description-font-size: 12px !default; -/// fontSize||Font|1 -$--alert-close-font-size: 12px !default; -/// fontSize||Font|1 -$--alert-close-customed-font-size: 13px !default; - -$--alert-success-color: $--color-success-lighter !default; -$--alert-info-color: $--color-info-lighter !default; -$--alert-warning-color: $--color-warning-lighter !default; -$--alert-danger-color: $--color-danger-lighter !default; - -/// height||Other|4 -$--alert-icon-size: 16px !default; -/// height||Other|4 -$--alert-icon-large-size: 28px !default; - -/* MessageBox --------------------------- */ -/// color||Color|0 -$--messagebox-title-color: $--color-text-primary !default; -$--msgbox-width: 420px !default; -$--msgbox-border-radius: 4px !default; -/// fontSize||Font|1 -$--messagebox-font-size: $--font-size-large !default; -/// fontSize||Font|1 -$--messagebox-content-font-size: $--font-size-base !default; -/// color||Color|0 -$--messagebox-content-color: $--color-text-regular !default; -/// fontSize||Font|1 -$--messagebox-error-font-size: 12px !default; -$--msgbox-padding-primary: 15px !default; -/// color||Color|0 -$--messagebox-success-color: $--color-success !default; -/// color||Color|0 -$--messagebox-info-color: $--color-info !default; -/// color||Color|0 -$--messagebox-warning-color: $--color-warning !default; -/// color||Color|0 -$--messagebox-danger-color: $--color-danger !default; - -/* Message --------------------------- */ -$--message-shadow: $--box-shadow-base !default; -$--message-min-width: 380px !default; -$--message-background-color: #edf2fc !default; -$--message-padding: 15px 15px 15px 20px !default; -/// color||Color|0 -$--message-close-icon-color: $--color-text-placeholder !default; -/// height||Other|4 -$--message-close-size: 16px !default; -/// color||Color|0 -$--message-close-hover-color: $--color-text-secondary !default; - -/// color||Color|0 -$--message-success-font-color: $--color-success !default; -/// color||Color|0 -$--message-info-font-color: $--color-info !default; -/// color||Color|0 -$--message-warning-font-color: $--color-warning !default; -/// color||Color|0 -$--message-danger-font-color: $--color-danger !default; - -/* Notification --------------------------- */ -$--notification-width: 330px !default; -/// padding||Spacing|3 -$--notification-padding: 14px 26px 14px 13px !default; -$--notification-radius: 8px !default; -$--notification-shadow: $--box-shadow-light !default; -/// color||Color|0 -$--notification-border-color: $--border-color-lighter !default; -$--notification-icon-size: 24px !default; -$--notification-close-font-size: $--message-close-size !default; -$--notification-group-margin-left: 13px !default; -$--notification-group-margin-right: 8px !default; -/// fontSize||Font|1 -$--notification-content-font-size: $--font-size-base !default; -/// color||Color|0 -$--notification-content-color: $--color-text-regular !default; -/// fontSize||Font|1 -$--notification-title-font-size: 16px !default; -/// color||Color|0 -$--notification-title-color: $--color-text-primary !default; - -/// color||Color|0 -$--notification-close-color: $--color-text-secondary !default; -/// color||Color|0 -$--notification-close-hover-color: $--color-text-regular !default; - -/// color||Color|0 -$--notification-success-icon-color: $--color-success !default; -/// color||Color|0 -$--notification-info-icon-color: $--color-info !default; -/// color||Color|0 -$--notification-warning-icon-color: $--color-warning !default; -/// color||Color|0 -$--notification-danger-icon-color: $--color-danger !default; - -/* Input --------------------------- */ -$--input-font-size: $--font-size-base !default; -/// color||Color|0 -$--input-font-color: $--color-text-regular !default; -/// height||Other|4 -$--input-width: 140px !default; -/// height||Other|4 -$--input-height: 40px !default; -$--input-border: $--border-base !default; -$--input-border-color: $--border-color-base !default; -/// borderRadius||Border|2 -$--input-border-radius: $--border-radius-base !default; -$--input-border-color-hover: $--border-color-hover !default; -/// color||Color|0 -$--input-background-color: $--color-white !default; -$--input-fill-disabled: $--disabled-fill-base !default; -$--input-color-disabled: $--font-color-disabled-base !default; -/// color||Color|0 -$--input-icon-color: $--color-text-placeholder !default; -/// color||Color|0 -$--input-placeholder-color: $--color-text-placeholder !default; -$--input-max-width: 314px !default; - -$--input-hover-border: $--border-color-hover !default; -$--input-clear-hover-color: $--color-text-secondary !default; - -$--input-focus-border: $--color-primary !default; -$--input-focus-fill: $--color-white !default; - -$--input-disabled-fill: $--disabled-fill-base !default; -$--input-disabled-border: $--disabled-border-base !default; -$--input-disabled-color: $--disabled-color-base !default; -$--input-disabled-placeholder-color: $--color-text-placeholder !default; - -/// fontSize||Font|1 -$--input-medium-font-size: 14px !default; -/// height||Other|4 -$--input-medium-height: 36px !default; -/// fontSize||Font|1 -$--input-small-font-size: 13px !default; -/// height||Other|4 -$--input-small-height: 32px !default; -/// fontSize||Font|1 -$--input-mini-font-size: 12px !default; -/// height||Other|4 -$--input-mini-height: 28px !default; - -/* Cascader --------------------------- */ -/// color||Color|0 -$--cascader-menu-font-color: $--color-text-regular !default; -/// color||Color|0 -$--cascader-menu-selected-font-color: $--color-primary !default; -$--cascader-menu-fill: $--fill-base !default; -$--cascader-menu-font-size: $--font-size-base !default; -$--cascader-menu-radius: $--border-radius-base !default; -$--cascader-menu-border: solid 1px $--border-color-light !default; -$--cascader-menu-shadow: $--box-shadow-light !default; -$--cascader-node-background-hover: $--background-color-base !default; -$--cascader-node-color-disabled:$--color-text-placeholder !default; -$--cascader-color-empty:$--color-text-placeholder !default; -$--cascader-tag-background: #f0f2f5; - -/* Group --------------------------- */ -$--group-option-flex: 0 0 (1/5) * 100% !default; -$--group-option-offset-bottom: 12px !default; -$--group-option-fill-hover: rgba($--color-black, 0.06) !default; -$--group-title-color: $--color-black !default; -$--group-title-font-size: $--font-size-base !default; -$--group-title-width: 66px !default; - -/* Tab --------------------------- */ -$--tab-font-size: $--font-size-base !default; -$--tab-border-line: 1px solid #e4e4e4 !default; -$--tab-header-color-active: $--color-text-secondary !default; -$--tab-header-color-hover: $--color-text-regular !default; -$--tab-header-color: $--color-text-regular !default; -$--tab-header-fill-active: rgba($--color-black, 0.06) !default; -$--tab-header-fill-hover: rgba($--color-black, 0.06) !default; -$--tab-vertical-header-width: 90px !default; -$--tab-vertical-header-count-color: $--color-white !default; -$--tab-vertical-header-count-fill: $--color-text-secondary !default; - -/* Button --------------------------- */ -/// fontSize||Font|1 -$--button-font-size: $--font-size-base !default; -/// fontWeight||Font|1 -$--button-font-weight: $--font-weight-primary !default; -/// borderRadius||Border|2 -$--button-border-radius: $--border-radius-base !default; -/// padding||Spacing|3 -$--button-padding-vertical: 12px !default; -/// padding||Spacing|3 -$--button-padding-horizontal: 20px !default; - -/// fontSize||Font|1 -$--button-medium-font-size: $--font-size-base !default; -/// borderRadius||Border|2 -$--button-medium-border-radius: $--border-radius-base !default; -/// padding||Spacing|3 -$--button-medium-padding-vertical: 10px !default; -/// padding||Spacing|3 -$--button-medium-padding-horizontal: 20px !default; - -/// fontSize||Font|1 -$--button-small-font-size: 12px !default; -$--button-small-border-radius: #{$--border-radius-base - 1} !default; -/// padding||Spacing|3 -$--button-small-padding-vertical: 9px !default; -/// padding||Spacing|3 -$--button-small-padding-horizontal: 15px !default; -/// fontSize||Font|1 -$--button-mini-font-size: 12px !default; -$--button-mini-border-radius: #{$--border-radius-base - 1} !default; -/// padding||Spacing|3 -$--button-mini-padding-vertical: 7px !default; -/// padding||Spacing|3 -$--button-mini-padding-horizontal: 15px !default; - -/// color||Color|0 -$--button-default-font-color: $--color-text-regular !default; -/// color||Color|0 -$--button-default-background-color: $--color-white !default; -/// color||Color|0 -$--button-default-border-color: $--border-color-base !default; - -/// color||Color|0 -$--button-disabled-font-color: $--color-text-placeholder !default; -/// color||Color|0 -$--button-disabled-background-color: $--color-white !default; -/// color||Color|0 -$--button-disabled-border-color: $--border-color-lighter !default; - -/// color||Color|0 -$--button-primary-border-color: $--color-primary !default; -/// color||Color|0 -$--button-primary-font-color: $--color-white !default; -/// color||Color|0 -$--button-primary-background-color: $--color-primary !default; -/// color||Color|0 -$--button-success-border-color: $--color-success !default; -/// color||Color|0 -$--button-success-font-color: $--color-white !default; -/// color||Color|0 -$--button-success-background-color: $--color-success !default; -/// color||Color|0 -$--button-warning-border-color: $--color-warning !default; -/// color||Color|0 -$--button-warning-font-color: $--color-white !default; -/// color||Color|0 -$--button-warning-background-color: $--color-warning !default; -/// color||Color|0 -$--button-danger-border-color: $--color-danger !default; -/// color||Color|0 -$--button-danger-font-color: $--color-white !default; -/// color||Color|0 -$--button-danger-background-color: $--color-danger !default; -/// color||Color|0 -$--button-info-border-color: $--color-info !default; -/// color||Color|0 -$--button-info-font-color: $--color-white !default; -/// color||Color|0 -$--button-info-background-color: $--color-info !default; - -$--button-hover-tint-percent: 20% !default; -$--button-active-shade-percent: 10% !default; - - -/* cascader --------------------------- */ -$--cascader-height: 200px !default; - -/* Switch --------------------------- */ -/// color||Color|0 -$--switch-on-color: $--color-primary !default; -/// color||Color|0 -$--switch-off-color: $--border-color-base !default; -/// fontSize||Font|1 -$--switch-font-size: $--font-size-base !default; -$--switch-core-border-radius: 10px !default; -// height||Other|4 TODO: width 代码写死的40px 所以下面这三个属性都没意义 -$--switch-width: 40px !default; -// height||Other|4 -$--switch-height: 20px !default; -// height||Other|4 -$--switch-button-size: 16px !default; - -/* Dialog --------------------------- */ -$--dialog-background-color: $--color-white !default; -$--dialog-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !default; -/// fontSize||Font|1 -$--dialog-title-font-size: $--font-size-large !default; -/// fontSize||Font|1 -$--dialog-content-font-size: 14px !default; -/// fontLineHeight||LineHeight|2 -$--dialog-font-line-height: $--font-line-height-primary !default; -/// padding||Spacing|3 -$--dialog-padding-primary: 20px !default; - -/* Table --------------------------- */ -/// color||Color|0 -$--table-border-color: $--border-color-lighter !default; -$--table-border: 1px solid $--table-border-color !default; -/// color||Color|0 -$--table-font-color: $--color-text-regular !default; -/// color||Color|0 -$--table-header-font-color: $--color-text-secondary !default; -/// color||Color|0 -$--table-row-hover-background-color: $--background-color-base !default; -$--table-current-row-background-color: $--color-primary-light-9 !default; -/// color||Color|0 -$--table-header-background-color: $--color-white !default; -$--table-fixed-box-shadow: 0 0 10px rgba(0, 0, 0, .12) !default; - -/* Pagination --------------------------- */ -/// fontSize||Font|1 -$--pagination-font-size: 13px !default; -/// color||Color|0 -$--pagination-background-color: $--color-white !default; -/// color||Color|0 -$--pagination-font-color: $--color-text-primary !default; -$--pagination-border-radius: 3px !default; -/// color||Color|0 -$--pagination-button-color: $--color-text-primary !default; -/// height||Other|4 -$--pagination-button-width: 35.5px !default; -/// height||Other|4 -$--pagination-button-height: 28px !default; -/// color||Color|0 -$--pagination-button-disabled-color: $--color-text-placeholder !default; -/// color||Color|0 -$--pagination-button-disabled-background-color: $--color-white !default; -/// color||Color|0 -$--pagination-hover-color: $--color-primary !default; - -/* Popup --------------------------- */ -/// color||Color|0 -$--popup-modal-background-color: $--color-black !default; -/// opacity||Other|1 -$--popup-modal-opacity: 0.5 !default; - -/* Popover --------------------------- */ -/// color||Color|0 -$--popover-background-color: $--color-white !default; -/// fontSize||Font|1 -$--popover-font-size: $--font-size-base !default; -/// color||Color|0 -$--popover-border-color: $--border-color-lighter !default; -$--popover-arrow-size: 6px !default; -/// padding||Spacing|3 -$--popover-padding: 12px !default; -$--popover-padding-large: 18px 20px !default; -/// fontSize||Font|1 -$--popover-title-font-size: 16px !default; -/// color||Color|0 -$--popover-title-font-color: $--color-text-primary !default; - -/* Tooltip --------------------------- */ -/// color|1|Color|0 -$--tooltip-fill: $--color-text-primary !default; -/// color|1|Color|0 -$--tooltip-color: $--color-white !default; -/// fontSize||Font|1 -$--tooltip-font-size: 12px !default; -/// color||Color|0 -$--tooltip-border-color: $--color-text-primary !default; -$--tooltip-arrow-size: 6px !default; -/// padding||Spacing|3 -$--tooltip-padding: 10px !default; - -/* Tag --------------------------- */ -/// color||Color|0 -$--tag-info-color: $--color-info !default; -/// color||Color|0 -$--tag-primary-color: $--color-primary !default; -/// color||Color|0 -$--tag-success-color: $--color-success !default; -/// color||Color|0 -$--tag-warning-color: $--color-warning !default; -/// color||Color|0 -$--tag-danger-color: $--color-danger !default; -/// fontSize||Font|1 -$--tag-font-size: 12px !default; -$--tag-border-radius: 4px !default; -$--tag-padding: 0 10px !default; - -/* Tree --------------------------- */ -/// color||Color|0 -$--tree-node-hover-background-color: $--background-color-base !default; -/// color||Color|0 -$--tree-font-color: $--color-text-regular !default; -/// color||Color|0 -$--tree-expand-icon-color: $--color-text-placeholder !default; - -/* Dropdown --------------------------- */ -$--dropdown-menu-box-shadow: $--box-shadow-light !default; -$--dropdown-menuItem-hover-fill: $--color-menu-item-active-background !default; -$--dropdown-menuItem-hover-color: $--color-white !default; - -/* Badge --------------------------- */ -/// color||Color|0 -$--badge-background-color: $--color-danger !default; -$--badge-radius: 10px !default; -/// fontSize||Font|1 -$--badge-font-size: 12px !default; -/// padding||Spacing|3 -$--badge-padding: 6px !default; -/// height||Other|4 -$--badge-size: 18px !default; - -/* Card ---------------------------*/ -/// color||Color|0 -$--card-border-color: $--border-color-lighter !default; -$--card-border-radius: 4px !default; -/// padding||Spacing|3 -$--card-padding: 20px !default; - -/* Slider ---------------------------*/ -/// color||Color|0 -$--slider-main-background-color: $--color-primary !default; -/// color||Color|0 -$--slider-runway-background-color: $--border-color-light !default; -$--slider-button-hover-color: mix($--color-primary, black, 97%) !default; -$--slider-stop-background-color: $--color-white !default; -$--slider-disable-color: $--color-text-placeholder !default; -$--slider-margin: 16px 0 !default; -$--slider-border-radius: 3px !default; -/// height|1|Other|4 -$--slider-height: 6px !default; -/// height||Other|4 -$--slider-button-size: 16px !default; -$--slider-button-wrapper-size: 36px !default; -$--slider-button-wrapper-offset: -15px !default; - -/* Steps ---------------------------*/ -$--steps-border-color: $--disabled-border-base !default; -$--steps-border-radius: 4px !default; -$--steps-padding: 20px !default; - -/* Menu ---------------------------*/ -/// fontSize||Font|1 -$--menu-item-font-size: $--font-size-base !default; -/// color||Color|0 -$--menu-item-font-color: $--color-white !default; -/// color||Color|0 -$--menu-background-color: $--color-menu-background !default; -$--menu-item-hover-fill: $--color-primary !default; - -/* Rate ---------------------------*/ -$--rate-height: 20px !default; -/// fontSize||Font|1 -$--rate-font-size: $--font-size-base !default; -/// height||Other|3 -$--rate-icon-size: 18px !default; -/// margin||Spacing|2 -$--rate-icon-margin: 6px !default; -$--rate-icon-color: $--color-text-placeholder !default; - -/* DatePicker ---------------------------*/ -$--datepicker-font-color: $--color-text-regular !default; -/// color|1|Color|0 -$--datepicker-off-font-color: $--color-text-placeholder !default; -/// color||Color|0 -$--datepicker-header-font-color: $--color-text-regular !default; -$--datepicker-icon-color: $--color-text-primary !default; -$--datepicker-border-color: $--disabled-border-base !default; -$--datepicker-inner-border-color: #e4e4e4 !default; -/// color||Color|0 -$--datepicker-inrange-background-color: $--border-color-extra-light !default; -/// color||Color|0 -$--datepicker-inrange-hover-background-color: $--border-color-extra-light !default; -/// color||Color|0 -$--datepicker-active-color: $--color-primary !default; -/// color||Color|0 -$--datepicker-hover-font-color: $--color-primary !default; -$--datepicker-cell-hover-color: #fff !default; - -/* Loading ---------------------------*/ -/// height||Other|4 -$--loading-spinner-size: 42px !default; -/// height||Other|4 -$--loading-fullscreen-spinner-size: 50px !default; - -/* Scrollbar ---------------------------*/ -$--scrollbar-background-color: rgba($--color-text-secondary, .3) !default; -$--scrollbar-hover-background-color: rgba($--color-text-secondary, .5) !default; - -/* Carousel ---------------------------*/ -/// fontSize||Font|1 -$--carousel-arrow-font-size: 12px !default; -$--carousel-arrow-size: 36px !default; -$--carousel-arrow-background: rgba(31, 45, 61, 0.11) !default; -$--carousel-arrow-hover-background: rgba(31, 45, 61, 0.23) !default; -/// width||Other|4 -$--carousel-indicator-width: 30px !default; -/// height||Other|4 -$--carousel-indicator-height: 2px !default; -$--carousel-indicator-padding-horizontal: 4px !default; -$--carousel-indicator-padding-vertical: 12px !default; -$--carousel-indicator-out-color: $--border-color-hover !default; - -/* Collapse ---------------------------*/ -/// color||Color|0 -$--collapse-border-color: $--border-color-lighter !default; -/// height||Other|4 -$--collapse-header-height: 48px !default; -/// color||Color|0 -$--collapse-header-background-color: $--color-white !default; -/// color||Color|0 -$--collapse-header-font-color: $--color-text-primary !default; -/// fontSize||Font|1 -$--collapse-header-font-size: 13px !default; -/// color||Color|0 -$--collapse-content-background-color: $--color-white !default; -/// fontSize||Font|1 -$--collapse-content-font-size: 13px !default; -/// color||Color|0 -$--collapse-content-font-color: $--color-text-primary !default; - -/* Transfer ---------------------------*/ -$--transfer-border-color: $--border-color-lighter !default; -$--transfer-border-radius: $--border-radius-base !default; -/// height||Other|4 -$--transfer-panel-width: 200px !default; -/// height||Other|4 -$--transfer-panel-header-height: 40px !default; -/// color||Color|0 -$--transfer-panel-header-background-color: $--background-color-base !default; -/// height||Other|4 -$--transfer-panel-footer-height: 40px !default; -/// height||Other|4 -$--transfer-panel-body-height: 246px !default; -/// height||Other|4 -$--transfer-item-height: 30px !default; -/// height||Other|4 -$--transfer-filter-height: 32px !default; - -/* Header - --------------------------*/ -$--header-padding: 0 20px !default; - -/* Footer ---------------------------*/ -$--footer-padding: 0 20px !default; - -/* Main ---------------------------*/ -$--main-padding: 20px !default; - -/* Timeline ---------------------------*/ -$--timeline-node-size-normal: 12px !default; -$--timeline-node-size-large: 14px !default; -$--timeline-node-color: $--border-color-light !default; - -/* Backtop ---------------------------*/ -/// color||Color|0 -$--backtop-background-color: $--color-white !default; -/// color||Color|0 -$--backtop-font-color: $--color-primary !default; -/// color||Color|0 -$--backtop-hover-background-color: $--border-color-extra-light !default; - -/* Link ---------------------------*/ -/// fontSize||Font|1 -$--link-font-size: $--font-size-base !default; -/// fontWeight||Font|1 -$--link-font-weight: $--font-weight-primary !default; -/// color||Color|0 -$--link-default-font-color: $--color-text-regular !default; -/// color||Color|0 -$--link-default-active-color: $--color-primary !default; -/// color||Color|0 -$--link-disabled-font-color: $--color-text-placeholder !default; -/// color||Color|0 -$--link-primary-font-color: $--color-primary !default; -/// color||Color|0 -$--link-success-font-color: $--color-success !default; -/// color||Color|0 -$--link-warning-font-color: $--color-warning !default; -/// color||Color|0 -$--link-danger-font-color: $--color-danger !default; -/// color||Color|0 -$--link-info-font-color: $--color-info !default; -/* Calendar ---------------------------*/ -/// border||Other|4 -$--calendar-border: $--table-border !default; -/// color||Other|4 -$--calendar-selected-background-color: #F2F8FE !default; -$--calendar-cell-width: 85px !default; - -/* Form --------------------------- */ -/// fontSize||Font|1 -$--form-label-font-size: $--font-size-base !default; - -/* Avatar ---------------------------*/ -/// color||Color|0 -$--avatar-font-color: #fff !default; -/// color||Color|0 -$--avatar-background-color: #C0C4CC !default; -/// fontSize||Font Size|1 -$--avatar-text-font-size: 14px !default; -/// fontSize||Font Size|1 -$--avatar-icon-font-size: 18px !default; -/// borderRadius||Border|2 -$--avatar-border-radius: $--border-radius-base !default; -/// size|1|Avatar Size|3 -$--avatar-large-size: 40px !default; -/// size|1|Avatar Size|3 -$--avatar-medium-size: 36px !default; -/// size|1|Avatar Size|3 -$--avatar-small-size: 28px !default; - -/* Break-point ---------------------------*/ -$--sm: 768px !default; -$--md: 992px !default; -$--lg: 1200px !default; -$--xl: 1920px !default; - -$--breakpoints: ( - 'xs' : (max-width: $--sm - 1), - 'sm' : (min-width: $--sm), - 'md' : (min-width: $--md), - 'lg' : (min-width: $--lg), - 'xl' : (min-width: $--xl) -); - -$--breakpoints-spec: ( - 'xs-only' : (max-width: $--sm - 1), - 'sm-and-up' : (min-width: $--sm), - 'sm-only': "(min-width: #{$--sm}) and (max-width: #{$--md - 1})", - 'sm-and-down': (max-width: $--md - 1), - 'md-and-up' : (min-width: $--md), - 'md-only': "(min-width: #{$--md}) and (max-width: #{$--lg - 1})", - 'md-and-down': (max-width: $--lg - 1), - 'lg-and-up' : (min-width: $--lg), - 'lg-only': "(min-width: #{$--lg}) and (max-width: #{$--xl - 1})", - 'lg-and-down': (max-width: $--xl - 1), - 'xl-only' : (min-width: $--xl), -); diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/element-variables-light.scss b/orange-demo-multi/orange-demo-multi-web/src/assets/element-variables-light.scss deleted file mode 100644 index 2c6cdad8..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/element-variables-light.scss +++ /dev/null @@ -1,998 +0,0 @@ -/* Element Chalk Variables */ - -// Special comment for theme configurator -// type|skipAutoTranslation|Category|Order -// skipAutoTranslation 1 - -/* Transition --------------------------- */ -$--all-transition: all .3s cubic-bezier(.645,.045,.355,1) !default; -$--fade-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1) !default; -$--fade-linear-transition: opacity 200ms linear !default; -$--md-fade-transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1) !default; -$--border-transition-base: border-color .2s cubic-bezier(.645,.045,.355,1) !default; -$--color-transition-base: color .2s cubic-bezier(.645,.045,.355,1) !default; - -/* Color --------------------------- */ -// color for left sidebar title -$--color-sidebar-title-text: #381524; -// color for left sidebar background -$--color-menu-background: #FFFFFF; -/// color|1|Brand Color|0 -$--color-primary: #409EFF !default; -/// color|1|Background Color|4 -$--color-white: #FFFFFF !default; -/// color|1|Background Color|4 -$--color-black: #000000 !default; -$--color-primary-light-1: mix($--color-white, $--color-primary, 10%) !default; /* 53a8ff */ -$--color-primary-light-2: mix($--color-white, $--color-primary, 20%) !default; /* 66b1ff */ -$--color-primary-light-3: mix($--color-white, $--color-primary, 30%) !default; /* 79bbff */ -$--color-primary-light-4: mix($--color-white, $--color-primary, 40%) !default; /* 8cc5ff */ -$--color-primary-light-5: mix($--color-white, $--color-primary, 50%) !default; /* a0cfff */ -$--color-primary-light-6: mix($--color-white, $--color-primary, 60%) !default; /* b3d8ff */ -$--color-primary-light-7: mix($--color-white, $--color-primary, 70%) !default; /* c6e2ff */ -$--color-primary-light-8: mix($--color-white, $--color-primary, 80%) !default; /* d9ecff */ -$--color-primary-light-9: mix($--color-white, $--color-primary, 90%) !default; /* ecf5ff */ -/// color|1|Functional Color|1 -$--color-success: #67C23A !default; -/// color|1|Functional Color|1 -$--color-warning: #E6A23C !default; -/// color|1|Functional Color|1 -$--color-danger: #F56C6C !default; -/// color|1|Functional Color|1 -$--color-info: #909399 !default; - -$--color-success-light: mix($--color-white, $--color-success, 80%) !default; -$--color-warning-light: mix($--color-white, $--color-warning, 80%) !default; -$--color-danger-light: mix($--color-white, $--color-danger, 80%) !default; -$--color-info-light: mix($--color-white, $--color-info, 80%) !default; - -$--color-success-lighter: mix($--color-white, $--color-success, 90%) !default; -$--color-warning-lighter: mix($--color-white, $--color-warning, 90%) !default; -$--color-danger-lighter: mix($--color-white, $--color-danger, 90%) !default; -$--color-info-lighter: mix($--color-white, $--color-info, 90%) !default; -/// color|1|Font Color|2 -$--color-text-primary: #303133 !default; -/// color|1|Font Color|2 -$--color-text-regular: #606266 !default; -/// color|1|Font Color|2 -$--color-text-secondary: #909399 !default; -/// color|1|Font Color|2 -$--color-text-placeholder: #C0C4CC !default; -/// color|1|Border Color|3 -$--border-color-base: #DCDFE6 !default; -/// color|1|Border Color|3 -$--border-color-light: #E4E7ED !default; -/// color|1|Border Color|3 -$--border-color-lighter: #EBEEF5 !default; -/// color|1|Border Color|3 -$--border-color-extra-light: #F2F6FC !default; - -// Background -/// color|1|Background Color|4 -$--background-color-base: #F5F7FA !default; - -/* Link --------------------------- */ -$--link-color: $--color-primary-light-2 !default; -$--link-hover-color: $--color-primary !default; - -/* Border --------------------------- */ -$--border-width-base: 1px !default; -$--border-style-base: solid !default; -$--border-color-hover: $--color-text-placeholder !default; -$--border-base: $--border-width-base $--border-style-base $--border-color-base !default; -/// borderRadius|1|Radius|0 -$--border-radius-base: 4px !default; -/// borderRadius|1|Radius|0 -$--border-radius-small: 2px !default; -/// borderRadius|1|Radius|0 -$--border-radius-circle: 100% !default; -/// borderRadius|1|Radius|0 -$--border-radius-zero: 0 !default; - -// Box-shadow -/// boxShadow|1|Shadow|1 -$--box-shadow-base: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04) !default; -// boxShadow|1|Shadow|1 -$--box-shadow-dark: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .12) !default; -/// boxShadow|1|Shadow|1 -$--box-shadow-light: 0 2px 12px 0 rgba(0, 0, 0, 0.1) !default; - -/* Fill --------------------------- */ -$--fill-base: $--color-white !default; - -/* Typography --------------------------- */ -$--font-path: 'fonts' !default; -$--font-display: 'auto' !default; -/// fontSize|1|Font Size|0 -$--font-size-extra-large: 20px !default; -/// fontSize|1|Font Size|0 -$--font-size-large: 18px !default; -/// fontSize|1|Font Size|0 -$--font-size-medium: 16px !default; -/// fontSize|1|Font Size|0 -$--font-size-base: 14px !default; -/// fontSize|1|Font Size|0 -$--font-size-small: 13px !default; -/// fontSize|1|Font Size|0 -$--font-size-extra-small: 12px !default; -/// fontWeight|1|Font Weight|1 -$--font-weight-primary: 500 !default; -/// fontWeight|1|Font Weight|1 -$--font-weight-secondary: 100 !default; -/// fontLineHeight|1|Line Height|2 -$--font-line-height-primary: 24px !default; -/// fontLineHeight|1|Line Height|2 -$--font-line-height-secondary: 16px !default; -$--font-color-disabled-base: #bbb !default; -/* Size --------------------------- */ -$--size-base: 14px !default; - -/* z-index --------------------------- */ -$--index-normal: 1 !default; -$--index-top: 1000 !default; -$--index-popper: 2000 !default; - -/* Disable base --------------------------- */ -$--disabled-fill-base: $--background-color-base !default; -$--disabled-color-base: $--color-text-placeholder !default; -$--disabled-border-base: $--border-color-light !default; - -/* Icon --------------------------- */ -$--icon-color: #666 !default; -$--icon-color-base: $--color-info !default; - -/* Checkbox --------------------------- */ -/// fontSize||Font|1 -$--checkbox-font-size: 14px !default; -/// fontWeight||Font|1 -$--checkbox-font-weight: $--font-weight-primary !default; -/// color||Color|0 -$--checkbox-font-color: $--color-text-regular !default; -$--checkbox-input-height: 14px !default; -$--checkbox-input-width: 14px !default; -/// borderRadius||Border|2 -$--checkbox-border-radius: $--border-radius-small !default; -/// color||Color|0 -$--checkbox-background-color: $--color-white !default; -$--checkbox-input-border: $--border-base !default; - -/// color||Color|0 -$--checkbox-disabled-border-color: $--border-color-base !default; -$--checkbox-disabled-input-fill: #edf2fc !default; -$--checkbox-disabled-icon-color: $--color-text-placeholder !default; - -$--checkbox-disabled-checked-input-fill: $--border-color-extra-light !default; -$--checkbox-disabled-checked-input-border-color: $--border-color-base !default; -$--checkbox-disabled-checked-icon-color: $--color-text-placeholder !default; - -/// color||Color|0 -$--checkbox-checked-font-color: $--color-primary !default; -$--checkbox-checked-input-border-color: $--color-primary !default; -/// color||Color|0 -$--checkbox-checked-background-color: $--color-primary !default; -$--checkbox-checked-icon-color: $--fill-base !default; - -$--checkbox-input-border-color-hover: $--color-primary !default; -/// height||Other|4 -$--checkbox-bordered-height: 40px !default; -/// padding||Spacing|3 -$--checkbox-bordered-padding: 9px 20px 9px 10px !default; -/// padding||Spacing|3 -$--checkbox-bordered-medium-padding: 7px 20px 7px 10px !default; -/// padding||Spacing|3 -$--checkbox-bordered-small-padding: 5px 15px 5px 10px !default; -/// padding||Spacing|3 -$--checkbox-bordered-mini-padding: 3px 15px 3px 10px !default; -$--checkbox-bordered-medium-input-height: 14px !default; -$--checkbox-bordered-medium-input-width: 14px !default; -/// height||Other|4 -$--checkbox-bordered-medium-height: 36px !default; -$--checkbox-bordered-small-input-height: 12px !default; -$--checkbox-bordered-small-input-width: 12px !default; -/// height||Other|4 -$--checkbox-bordered-small-height: 32px !default; -$--checkbox-bordered-mini-input-height: 12px !default; -$--checkbox-bordered-mini-input-width: 12px !default; -/// height||Other|4 -$--checkbox-bordered-mini-height: 28px !default; - -/// color||Color|0 -$--checkbox-button-checked-background-color: $--color-primary !default; -/// color||Color|0 -$--checkbox-button-checked-font-color: $--color-white !default; -/// color||Color|0 -$--checkbox-button-checked-border-color: $--color-primary !default; - - - -/* Radio --------------------------- */ -/// fontSize||Font|1 -$--radio-font-size: $--font-size-base !default; -/// fontWeight||Font|1 -$--radio-font-weight: $--font-weight-primary !default; -/// color||Color|0 -$--radio-font-color: $--color-text-regular !default; -$--radio-input-height: 14px !default; -$--radio-input-width: 14px !default; -/// borderRadius||Border|2 -$--radio-input-border-radius: $--border-radius-circle !default; -/// color||Color|0 -$--radio-input-background-color: $--color-white !default; -$--radio-input-border: $--border-base !default; -/// color||Color|0 -$--radio-input-border-color: $--border-color-base !default; -/// color||Color|0 -$--radio-icon-color: $--color-white !default; - -$--radio-disabled-input-border-color: $--disabled-border-base !default; -$--radio-disabled-input-fill: $--disabled-fill-base !default; -$--radio-disabled-icon-color: $--disabled-fill-base !default; - -$--radio-disabled-checked-input-border-color: $--disabled-border-base !default; -$--radio-disabled-checked-input-fill: $--disabled-fill-base !default; -$--radio-disabled-checked-icon-color: $--color-text-placeholder !default; - -/// color||Color|0 -$--radio-checked-font-color: $--color-primary !default; -/// color||Color|0 -$--radio-checked-input-border-color: $--color-primary !default; -/// color||Color|0 -$--radio-checked-input-background-color: $--color-white !default; -/// color||Color|0 -$--radio-checked-icon-color: $--color-primary !default; - -$--radio-input-border-color-hover: $--color-primary !default; - -$--radio-bordered-height: 40px !default; -$--radio-bordered-padding: 12px 20px 0 10px !default; -$--radio-bordered-medium-padding: 10px 20px 0 10px !default; -$--radio-bordered-small-padding: 8px 15px 0 10px !default; -$--radio-bordered-mini-padding: 6px 15px 0 10px !default; -$--radio-bordered-medium-input-height: 14px !default; -$--radio-bordered-medium-input-width: 14px !default; -$--radio-bordered-medium-height: 36px !default; -$--radio-bordered-small-input-height: 12px !default; -$--radio-bordered-small-input-width: 12px !default; -$--radio-bordered-small-height: 32px !default; -$--radio-bordered-mini-input-height: 12px !default; -$--radio-bordered-mini-input-width: 12px !default; -$--radio-bordered-mini-height: 28px !default; - -/// fontSize||Font|1 -$--radio-button-font-size: $--font-size-base !default; -/// color||Color|0 -$--radio-button-checked-background-color: $--color-primary !default; -/// color||Color|0 -$--radio-button-checked-font-color: $--color-white !default; -/// color||Color|0 -$--radio-button-checked-border-color: $--color-primary !default; -$--radio-button-disabled-checked-fill: $--border-color-extra-light !default; - -/* Select --------------------------- */ -$--select-border-color-hover: $--border-color-hover !default; -$--select-disabled-border: $--disabled-border-base !default; -/// fontSize||Font|1 -$--select-font-size: $--font-size-base !default; -$--select-close-hover-color: $--color-text-secondary !default; - -$--select-input-color: $--color-text-placeholder !default; -$--select-multiple-input-color: #666 !default; -/// color||Color|0 -$--select-input-focus-border-color: $--color-primary !default; -/// fontSize||Font|1 -$--select-input-font-size: 14px !default; - -$--select-option-color: $--color-text-regular !default; -$--select-option-disabled-color: $--color-text-placeholder !default; -$--select-option-disabled-background: $--color-white !default; -/// height||Other|4 -$--select-option-height: 34px !default; -$--select-option-hover-background: $--background-color-base !default; -/// color||Color|0 -$--select-option-selected-font-color: $--color-primary !default; -$--select-option-selected-hover: $--background-color-base !default; - -$--select-group-color: $--color-info !default; -$--select-group-height: 30px !default; -$--select-group-font-size: 12px !default; - -$--select-dropdown-background: $--color-white !default; -$--select-dropdown-shadow: $--box-shadow-light !default; -$--select-dropdown-empty-color: #999 !default; -/// height||Other|4 -$--select-dropdown-max-height: 274px !default; -$--select-dropdown-padding: 6px 0 !default; -$--select-dropdown-empty-padding: 10px 0 !default; -$--select-dropdown-border: solid 1px $--border-color-light !default; - -/* Alert --------------------------- */ -$--alert-padding: 8px 16px !default; -/// borderRadius||Border|2 -$--alert-border-radius: $--border-radius-base !default; -/// fontSize||Font|1 -$--alert-title-font-size: 13px !default; -/// fontSize||Font|1 -$--alert-description-font-size: 12px !default; -/// fontSize||Font|1 -$--alert-close-font-size: 12px !default; -/// fontSize||Font|1 -$--alert-close-customed-font-size: 13px !default; - -$--alert-success-color: $--color-success-lighter !default; -$--alert-info-color: $--color-info-lighter !default; -$--alert-warning-color: $--color-warning-lighter !default; -$--alert-danger-color: $--color-danger-lighter !default; - -/// height||Other|4 -$--alert-icon-size: 16px !default; -/// height||Other|4 -$--alert-icon-large-size: 28px !default; - -/* MessageBox --------------------------- */ -/// color||Color|0 -$--messagebox-title-color: $--color-text-primary !default; -$--msgbox-width: 420px !default; -$--msgbox-border-radius: 4px !default; -/// fontSize||Font|1 -$--messagebox-font-size: $--font-size-large !default; -/// fontSize||Font|1 -$--messagebox-content-font-size: $--font-size-base !default; -/// color||Color|0 -$--messagebox-content-color: $--color-text-regular !default; -/// fontSize||Font|1 -$--messagebox-error-font-size: 12px !default; -$--msgbox-padding-primary: 15px !default; -/// color||Color|0 -$--messagebox-success-color: $--color-success !default; -/// color||Color|0 -$--messagebox-info-color: $--color-info !default; -/// color||Color|0 -$--messagebox-warning-color: $--color-warning !default; -/// color||Color|0 -$--messagebox-danger-color: $--color-danger !default; - -/* Message --------------------------- */ -$--message-shadow: $--box-shadow-base !default; -$--message-min-width: 380px !default; -$--message-background-color: #edf2fc !default; -$--message-padding: 15px 15px 15px 20px !default; -/// color||Color|0 -$--message-close-icon-color: $--color-text-placeholder !default; -/// height||Other|4 -$--message-close-size: 16px !default; -/// color||Color|0 -$--message-close-hover-color: $--color-text-secondary !default; - -/// color||Color|0 -$--message-success-font-color: $--color-success !default; -/// color||Color|0 -$--message-info-font-color: $--color-info !default; -/// color||Color|0 -$--message-warning-font-color: $--color-warning !default; -/// color||Color|0 -$--message-danger-font-color: $--color-danger !default; - -/* Notification --------------------------- */ -$--notification-width: 330px !default; -/// padding||Spacing|3 -$--notification-padding: 14px 26px 14px 13px !default; -$--notification-radius: 8px !default; -$--notification-shadow: $--box-shadow-light !default; -/// color||Color|0 -$--notification-border-color: $--border-color-lighter !default; -$--notification-icon-size: 24px !default; -$--notification-close-font-size: $--message-close-size !default; -$--notification-group-margin-left: 13px !default; -$--notification-group-margin-right: 8px !default; -/// fontSize||Font|1 -$--notification-content-font-size: $--font-size-base !default; -/// color||Color|0 -$--notification-content-color: $--color-text-regular !default; -/// fontSize||Font|1 -$--notification-title-font-size: 16px !default; -/// color||Color|0 -$--notification-title-color: $--color-text-primary !default; - -/// color||Color|0 -$--notification-close-color: $--color-text-secondary !default; -/// color||Color|0 -$--notification-close-hover-color: $--color-text-regular !default; - -/// color||Color|0 -$--notification-success-icon-color: $--color-success !default; -/// color||Color|0 -$--notification-info-icon-color: $--color-info !default; -/// color||Color|0 -$--notification-warning-icon-color: $--color-warning !default; -/// color||Color|0 -$--notification-danger-icon-color: $--color-danger !default; - -/* Input --------------------------- */ -$--input-font-size: $--font-size-base !default; -/// color||Color|0 -$--input-font-color: $--color-text-regular !default; -/// height||Other|4 -$--input-width: 140px !default; -/// height||Other|4 -$--input-height: 40px !default; -$--input-border: $--border-base !default; -$--input-border-color: $--border-color-base !default; -/// borderRadius||Border|2 -$--input-border-radius: $--border-radius-base !default; -$--input-border-color-hover: $--border-color-hover !default; -/// color||Color|0 -$--input-background-color: $--color-white !default; -$--input-fill-disabled: $--disabled-fill-base !default; -$--input-color-disabled: $--font-color-disabled-base !default; -/// color||Color|0 -$--input-icon-color: $--color-text-placeholder !default; -/// color||Color|0 -$--input-placeholder-color: $--color-text-placeholder !default; -$--input-max-width: 314px !default; - -$--input-hover-border: $--border-color-hover !default; -$--input-clear-hover-color: $--color-text-secondary !default; - -$--input-focus-border: $--color-primary !default; -$--input-focus-fill: $--color-white !default; - -$--input-disabled-fill: $--disabled-fill-base !default; -$--input-disabled-border: $--disabled-border-base !default; -$--input-disabled-color: $--disabled-color-base !default; -$--input-disabled-placeholder-color: $--color-text-placeholder !default; - -/// fontSize||Font|1 -$--input-medium-font-size: 14px !default; -/// height||Other|4 -$--input-medium-height: 36px !default; -/// fontSize||Font|1 -$--input-small-font-size: 13px !default; -/// height||Other|4 -$--input-small-height: 32px !default; -/// fontSize||Font|1 -$--input-mini-font-size: 12px !default; -/// height||Other|4 -$--input-mini-height: 28px !default; - -/* Cascader --------------------------- */ -/// color||Color|0 -$--cascader-menu-font-color: $--color-text-regular !default; -/// color||Color|0 -$--cascader-menu-selected-font-color: $--color-primary !default; -$--cascader-menu-fill: $--fill-base !default; -$--cascader-menu-font-size: $--font-size-base !default; -$--cascader-menu-radius: $--border-radius-base !default; -$--cascader-menu-border: solid 1px $--border-color-light !default; -$--cascader-menu-shadow: $--box-shadow-light !default; -$--cascader-node-background-hover: $--background-color-base !default; -$--cascader-node-color-disabled:$--color-text-placeholder !default; -$--cascader-color-empty:$--color-text-placeholder !default; -$--cascader-tag-background: #f0f2f5; - -/* Group --------------------------- */ -$--group-option-flex: 0 0 (1/5) * 100% !default; -$--group-option-offset-bottom: 12px !default; -$--group-option-fill-hover: rgba($--color-black, 0.06) !default; -$--group-title-color: $--color-black !default; -$--group-title-font-size: $--font-size-base !default; -$--group-title-width: 66px !default; - -/* Tab --------------------------- */ -$--tab-font-size: $--font-size-base !default; -$--tab-border-line: 1px solid #e4e4e4 !default; -$--tab-header-color-active: $--color-text-secondary !default; -$--tab-header-color-hover: $--color-text-regular !default; -$--tab-header-color: $--color-text-regular !default; -$--tab-header-fill-active: rgba($--color-black, 0.06) !default; -$--tab-header-fill-hover: rgba($--color-black, 0.06) !default; -$--tab-vertical-header-width: 90px !default; -$--tab-vertical-header-count-color: $--color-white !default; -$--tab-vertical-header-count-fill: $--color-text-secondary !default; - -/* Button --------------------------- */ -/// fontSize||Font|1 -$--button-font-size: $--font-size-base !default; -/// fontWeight||Font|1 -$--button-font-weight: $--font-weight-primary !default; -/// borderRadius||Border|2 -$--button-border-radius: $--border-radius-base !default; -/// padding||Spacing|3 -$--button-padding-vertical: 12px !default; -/// padding||Spacing|3 -$--button-padding-horizontal: 20px !default; - -/// fontSize||Font|1 -$--button-medium-font-size: $--font-size-base !default; -/// borderRadius||Border|2 -$--button-medium-border-radius: $--border-radius-base !default; -/// padding||Spacing|3 -$--button-medium-padding-vertical: 10px !default; -/// padding||Spacing|3 -$--button-medium-padding-horizontal: 20px !default; - -/// fontSize||Font|1 -$--button-small-font-size: 12px !default; -$--button-small-border-radius: #{$--border-radius-base - 1} !default; -/// padding||Spacing|3 -$--button-small-padding-vertical: 9px !default; -/// padding||Spacing|3 -$--button-small-padding-horizontal: 15px !default; -/// fontSize||Font|1 -$--button-mini-font-size: 12px !default; -$--button-mini-border-radius: #{$--border-radius-base - 1} !default; -/// padding||Spacing|3 -$--button-mini-padding-vertical: 7px !default; -/// padding||Spacing|3 -$--button-mini-padding-horizontal: 15px !default; - -/// color||Color|0 -$--button-default-font-color: $--color-text-regular !default; -/// color||Color|0 -$--button-default-background-color: $--color-white !default; -/// color||Color|0 -$--button-default-border-color: $--border-color-base !default; - -/// color||Color|0 -$--button-disabled-font-color: $--color-text-placeholder !default; -/// color||Color|0 -$--button-disabled-background-color: $--color-white !default; -/// color||Color|0 -$--button-disabled-border-color: $--border-color-lighter !default; - -/// color||Color|0 -$--button-primary-border-color: $--color-primary !default; -/// color||Color|0 -$--button-primary-font-color: $--color-white !default; -/// color||Color|0 -$--button-primary-background-color: $--color-primary !default; -/// color||Color|0 -$--button-success-border-color: $--color-success !default; -/// color||Color|0 -$--button-success-font-color: $--color-white !default; -/// color||Color|0 -$--button-success-background-color: $--color-success !default; -/// color||Color|0 -$--button-warning-border-color: $--color-warning !default; -/// color||Color|0 -$--button-warning-font-color: $--color-white !default; -/// color||Color|0 -$--button-warning-background-color: $--color-warning !default; -/// color||Color|0 -$--button-danger-border-color: $--color-danger !default; -/// color||Color|0 -$--button-danger-font-color: $--color-white !default; -/// color||Color|0 -$--button-danger-background-color: $--color-danger !default; -/// color||Color|0 -$--button-info-border-color: $--color-info !default; -/// color||Color|0 -$--button-info-font-color: $--color-white !default; -/// color||Color|0 -$--button-info-background-color: $--color-info !default; - -$--button-hover-tint-percent: 20% !default; -$--button-active-shade-percent: 10% !default; - - -/* cascader --------------------------- */ -$--cascader-height: 200px !default; - -/* Switch --------------------------- */ -/// color||Color|0 -$--switch-on-color: $--color-primary !default; -/// color||Color|0 -$--switch-off-color: $--border-color-base !default; -/// fontSize||Font|1 -$--switch-font-size: $--font-size-base !default; -$--switch-core-border-radius: 10px !default; -// height||Other|4 TODO: width 代码写死的40px 所以下面这三个属性都没意义 -$--switch-width: 40px !default; -// height||Other|4 -$--switch-height: 20px !default; -// height||Other|4 -$--switch-button-size: 16px !default; - -/* Dialog --------------------------- */ -$--dialog-background-color: $--color-white !default; -$--dialog-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !default; -/// fontSize||Font|1 -$--dialog-title-font-size: $--font-size-large !default; -/// fontSize||Font|1 -$--dialog-content-font-size: 14px !default; -/// fontLineHeight||LineHeight|2 -$--dialog-font-line-height: $--font-line-height-primary !default; -/// padding||Spacing|3 -$--dialog-padding-primary: 20px !default; - -/* Table --------------------------- */ -/// color||Color|0 -$--table-border-color: $--border-color-lighter !default; -$--table-border: 1px solid $--table-border-color !default; -/// color||Color|0 -$--table-font-color: $--color-text-regular !default; -/// color||Color|0 -$--table-header-font-color: $--color-text-secondary !default; -/// color||Color|0 -$--table-row-hover-background-color: $--background-color-base !default; -$--table-current-row-background-color: $--color-primary-light-9 !default; -/// color||Color|0 -$--table-header-background-color: $--color-white !default; -$--table-fixed-box-shadow: 0 0 10px rgba(0, 0, 0, .12) !default; - -/* Pagination --------------------------- */ -/// fontSize||Font|1 -$--pagination-font-size: 13px !default; -/// color||Color|0 -$--pagination-background-color: $--color-white !default; -/// color||Color|0 -$--pagination-font-color: $--color-text-primary !default; -$--pagination-border-radius: 3px !default; -/// color||Color|0 -$--pagination-button-color: $--color-text-primary !default; -/// height||Other|4 -$--pagination-button-width: 35.5px !default; -/// height||Other|4 -$--pagination-button-height: 28px !default; -/// color||Color|0 -$--pagination-button-disabled-color: $--color-text-placeholder !default; -/// color||Color|0 -$--pagination-button-disabled-background-color: $--color-white !default; -/// color||Color|0 -$--pagination-hover-color: $--color-primary !default; - -/* Popup --------------------------- */ -/// color||Color|0 -$--popup-modal-background-color: $--color-black !default; -/// opacity||Other|1 -$--popup-modal-opacity: 0.5 !default; - -/* Popover --------------------------- */ -/// color||Color|0 -$--popover-background-color: $--color-white !default; -/// fontSize||Font|1 -$--popover-font-size: $--font-size-base !default; -/// color||Color|0 -$--popover-border-color: $--border-color-lighter !default; -$--popover-arrow-size: 6px !default; -/// padding||Spacing|3 -$--popover-padding: 12px !default; -$--popover-padding-large: 18px 20px !default; -/// fontSize||Font|1 -$--popover-title-font-size: 16px !default; -/// color||Color|0 -$--popover-title-font-color: $--color-text-primary !default; - -/* Tooltip --------------------------- */ -/// color|1|Color|0 -$--tooltip-fill: $--color-text-primary !default; -/// color|1|Color|0 -$--tooltip-color: $--color-white !default; -/// fontSize||Font|1 -$--tooltip-font-size: 12px !default; -/// color||Color|0 -$--tooltip-border-color: $--color-text-primary !default; -$--tooltip-arrow-size: 6px !default; -/// padding||Spacing|3 -$--tooltip-padding: 10px !default; - -/* Tag --------------------------- */ -/// color||Color|0 -$--tag-info-color: $--color-info !default; -/// color||Color|0 -$--tag-primary-color: $--color-primary !default; -/// color||Color|0 -$--tag-success-color: $--color-success !default; -/// color||Color|0 -$--tag-warning-color: $--color-warning !default; -/// color||Color|0 -$--tag-danger-color: $--color-danger !default; -/// fontSize||Font|1 -$--tag-font-size: 12px !default; -$--tag-border-radius: 4px !default; -$--tag-padding: 0 10px !default; - -/* Tree --------------------------- */ -/// color||Color|0 -$--tree-node-hover-background-color: $--background-color-base !default; -/// color||Color|0 -$--tree-font-color: $--color-text-regular !default; -/// color||Color|0 -$--tree-expand-icon-color: $--color-text-placeholder !default; - -/* Dropdown --------------------------- */ -$--dropdown-menu-box-shadow: $--box-shadow-light !default; -$--dropdown-menuItem-hover-fill: $--color-primary-light-9 !default; -$--dropdown-menuItem-hover-color: $--link-color !default; - -/* Badge --------------------------- */ -/// color||Color|0 -$--badge-background-color: $--color-danger !default; -$--badge-radius: 10px !default; -/// fontSize||Font|1 -$--badge-font-size: 12px !default; -/// padding||Spacing|3 -$--badge-padding: 6px !default; -/// height||Other|4 -$--badge-size: 18px !default; - -/* Card ---------------------------*/ -/// color||Color|0 -$--card-border-color: $--border-color-lighter !default; -$--card-border-radius: 4px !default; -/// padding||Spacing|3 -$--card-padding: 20px !default; - -/* Slider ---------------------------*/ -/// color||Color|0 -$--slider-main-background-color: $--color-primary !default; -/// color||Color|0 -$--slider-runway-background-color: $--border-color-light !default; -$--slider-button-hover-color: mix($--color-primary, black, 97%) !default; -$--slider-stop-background-color: $--color-white !default; -$--slider-disable-color: $--color-text-placeholder !default; -$--slider-margin: 16px 0 !default; -$--slider-border-radius: 3px !default; -/// height|1|Other|4 -$--slider-height: 6px !default; -/// height||Other|4 -$--slider-button-size: 16px !default; -$--slider-button-wrapper-size: 36px !default; -$--slider-button-wrapper-offset: -15px !default; - -/* Steps ---------------------------*/ -$--steps-border-color: $--disabled-border-base !default; -$--steps-border-radius: 4px !default; -$--steps-padding: 20px !default; - -/* Menu ---------------------------*/ -/// fontSize||Font|1 -$--menu-item-font-size: $--font-size-base !default; -/// color||Color|0 -$--menu-item-font-color: $--color-text-primary !default; -/// color||Color|0 -$--menu-background-color: $--color-menu-background !default; -$--menu-item-hover-fill: $--color-primary-light-9 !default; - -/* Rate ---------------------------*/ -$--rate-height: 20px !default; -/// fontSize||Font|1 -$--rate-font-size: $--font-size-base !default; -/// height||Other|3 -$--rate-icon-size: 18px !default; -/// margin||Spacing|2 -$--rate-icon-margin: 6px !default; -$--rate-icon-color: $--color-text-placeholder !default; - -/* DatePicker ---------------------------*/ -$--datepicker-font-color: $--color-text-regular !default; -/// color|1|Color|0 -$--datepicker-off-font-color: $--color-text-placeholder !default; -/// color||Color|0 -$--datepicker-header-font-color: $--color-text-regular !default; -$--datepicker-icon-color: $--color-text-primary !default; -$--datepicker-border-color: $--disabled-border-base !default; -$--datepicker-inner-border-color: #e4e4e4 !default; -/// color||Color|0 -$--datepicker-inrange-background-color: $--border-color-extra-light !default; -/// color||Color|0 -$--datepicker-inrange-hover-background-color: $--border-color-extra-light !default; -/// color||Color|0 -$--datepicker-active-color: $--color-primary !default; -/// color||Color|0 -$--datepicker-hover-font-color: $--color-primary !default; -$--datepicker-cell-hover-color: #fff !default; - -/* Loading ---------------------------*/ -/// height||Other|4 -$--loading-spinner-size: 42px !default; -/// height||Other|4 -$--loading-fullscreen-spinner-size: 50px !default; - -/* Scrollbar ---------------------------*/ -$--scrollbar-background-color: rgba($--color-text-secondary, .3) !default; -$--scrollbar-hover-background-color: rgba($--color-text-secondary, .5) !default; - -/* Carousel ---------------------------*/ -/// fontSize||Font|1 -$--carousel-arrow-font-size: 12px !default; -$--carousel-arrow-size: 36px !default; -$--carousel-arrow-background: rgba(31, 45, 61, 0.11) !default; -$--carousel-arrow-hover-background: rgba(31, 45, 61, 0.23) !default; -/// width||Other|4 -$--carousel-indicator-width: 30px !default; -/// height||Other|4 -$--carousel-indicator-height: 2px !default; -$--carousel-indicator-padding-horizontal: 4px !default; -$--carousel-indicator-padding-vertical: 12px !default; -$--carousel-indicator-out-color: $--border-color-hover !default; - -/* Collapse ---------------------------*/ -/// color||Color|0 -$--collapse-border-color: $--border-color-lighter !default; -/// height||Other|4 -$--collapse-header-height: 48px !default; -/// color||Color|0 -$--collapse-header-background-color: $--color-white !default; -/// color||Color|0 -$--collapse-header-font-color: $--color-text-primary !default; -/// fontSize||Font|1 -$--collapse-header-font-size: 13px !default; -/// color||Color|0 -$--collapse-content-background-color: $--color-white !default; -/// fontSize||Font|1 -$--collapse-content-font-size: 13px !default; -/// color||Color|0 -$--collapse-content-font-color: $--color-text-primary !default; - -/* Transfer ---------------------------*/ -$--transfer-border-color: $--border-color-lighter !default; -$--transfer-border-radius: $--border-radius-base !default; -/// height||Other|4 -$--transfer-panel-width: 200px !default; -/// height||Other|4 -$--transfer-panel-header-height: 40px !default; -/// color||Color|0 -$--transfer-panel-header-background-color: $--background-color-base !default; -/// height||Other|4 -$--transfer-panel-footer-height: 40px !default; -/// height||Other|4 -$--transfer-panel-body-height: 246px !default; -/// height||Other|4 -$--transfer-item-height: 30px !default; -/// height||Other|4 -$--transfer-filter-height: 32px !default; - -/* Header - --------------------------*/ -$--header-padding: 0 20px !default; - -/* Footer ---------------------------*/ -$--footer-padding: 0 20px !default; - -/* Main ---------------------------*/ -$--main-padding: 20px !default; - -/* Timeline ---------------------------*/ -$--timeline-node-size-normal: 12px !default; -$--timeline-node-size-large: 14px !default; -$--timeline-node-color: $--border-color-light !default; - -/* Backtop ---------------------------*/ -/// color||Color|0 -$--backtop-background-color: $--color-white !default; -/// color||Color|0 -$--backtop-font-color: $--color-primary !default; -/// color||Color|0 -$--backtop-hover-background-color: $--border-color-extra-light !default; - -/* Link ---------------------------*/ -/// fontSize||Font|1 -$--link-font-size: $--font-size-base !default; -/// fontWeight||Font|1 -$--link-font-weight: $--font-weight-primary !default; -/// color||Color|0 -$--link-default-font-color: $--color-text-regular !default; -/// color||Color|0 -$--link-default-active-color: $--color-primary !default; -/// color||Color|0 -$--link-disabled-font-color: $--color-text-placeholder !default; -/// color||Color|0 -$--link-primary-font-color: $--color-primary !default; -/// color||Color|0 -$--link-success-font-color: $--color-success !default; -/// color||Color|0 -$--link-warning-font-color: $--color-warning !default; -/// color||Color|0 -$--link-danger-font-color: $--color-danger !default; -/// color||Color|0 -$--link-info-font-color: $--color-info !default; -/* Calendar ---------------------------*/ -/// border||Other|4 -$--calendar-border: $--table-border !default; -/// color||Other|4 -$--calendar-selected-background-color: #F2F8FE !default; -$--calendar-cell-width: 85px !default; - -/* Form --------------------------- */ -/// fontSize||Font|1 -$--form-label-font-size: $--font-size-base !default; - -/* Avatar ---------------------------*/ -/// color||Color|0 -$--avatar-font-color: #fff !default; -/// color||Color|0 -$--avatar-background-color: #C0C4CC !default; -/// fontSize||Font Size|1 -$--avatar-text-font-size: 14px !default; -/// fontSize||Font Size|1 -$--avatar-icon-font-size: 18px !default; -/// borderRadius||Border|2 -$--avatar-border-radius: $--border-radius-base !default; -/// size|1|Avatar Size|3 -$--avatar-large-size: 40px !default; -/// size|1|Avatar Size|3 -$--avatar-medium-size: 36px !default; -/// size|1|Avatar Size|3 -$--avatar-small-size: 28px !default; - -/* Break-point ---------------------------*/ -$--sm: 768px !default; -$--md: 992px !default; -$--lg: 1200px !default; -$--xl: 1920px !default; - -$--breakpoints: ( - 'xs' : (max-width: $--sm - 1), - 'sm' : (min-width: $--sm), - 'md' : (min-width: $--md), - 'lg' : (min-width: $--lg), - 'xl' : (min-width: $--xl) -); - -$--breakpoints-spec: ( - 'xs-only' : (max-width: $--sm - 1), - 'sm-and-up' : (min-width: $--sm), - 'sm-only': "(min-width: #{$--sm}) and (max-width: #{$--md - 1})", - 'sm-and-down': (max-width: $--md - 1), - 'md-and-up' : (min-width: $--md), - 'md-only': "(min-width: #{$--md}) and (max-width: #{$--lg - 1})", - 'md-and-down': (max-width: $--lg - 1), - 'lg-and-up' : (min-width: $--lg), - 'lg-only': "(min-width: #{$--lg}) and (max-width: #{$--xl - 1})", - 'lg-and-down': (max-width: $--xl - 1), - 'xl-only' : (min-width: $--xl), -); diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/element-variables-orange.scss b/orange-demo-multi/orange-demo-multi-web/src/assets/element-variables-orange.scss deleted file mode 100644 index 26da27c0..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/element-variables-orange.scss +++ /dev/null @@ -1,1001 +0,0 @@ -/* Element Chalk Variables */ - -// Special comment for theme configurator -// type|skipAutoTranslation|Category|Order -// skipAutoTranslation 1 - -/* Transition --------------------------- */ -$--all-transition: all .3s cubic-bezier(.645,.045,.355,1) !default; -$--fade-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1) !default; -$--fade-linear-transition: opacity 200ms linear !default; -$--md-fade-transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1) !default; -$--border-transition-base: border-color .2s cubic-bezier(.645,.045,.355,1) !default; -$--color-transition-base: color .2s cubic-bezier(.645,.045,.355,1) !default; - -/* Color --------------------------- */ -/// color|1|Brand Color|0 -$--color-primary: #FCA834 !default; -/// color|1|Background Color|4 -$--color-white: #FFFFFF !default; -/// color|1|Background Color|4 -$--color-black: #000000 !default; -$--color-primary-light-1: mix($--color-white, $--color-primary, 10%) !default; /* 53a8ff */ -$--color-primary-light-2: mix($--color-white, $--color-primary, 20%) !default; /* 66b1ff */ -$--color-primary-light-3: mix($--color-white, $--color-primary, 30%) !default; /* 79bbff */ -$--color-primary-light-4: mix($--color-white, $--color-primary, 40%) !default; /* 8cc5ff */ -$--color-primary-light-5: mix($--color-white, $--color-primary, 50%) !default; /* a0cfff */ -$--color-primary-light-6: mix($--color-white, $--color-primary, 60%) !default; /* b3d8ff */ -$--color-primary-light-7: mix($--color-white, $--color-primary, 70%) !default; /* c6e2ff */ -$--color-primary-light-8: mix($--color-white, $--color-primary, 80%) !default; /* d9ecff */ -$--color-primary-light-9: mix($--color-white, $--color-primary, 90%) !default; /* ecf5ff */ -/// color|1|Functional Color|1 -$--color-success: #6DC741 !default; -/// color|1|Functional Color|1 -$--color-warning: #E6A23C !default; -/// color|1|Functional Color|1 -$--color-danger: #F56C6C !default; -/// color|1|Functional Color|1 -$--color-info: #909399 !default; - -$--color-success-light: mix($--color-white, $--color-success, 80%) !default; -$--color-warning-light: mix($--color-white, $--color-warning, 80%) !default; -$--color-danger-light: mix($--color-white, $--color-danger, 80%) !default; -$--color-info-light: mix($--color-white, $--color-info, 80%) !default; - -$--color-success-lighter: mix($--color-white, $--color-success, 90%) !default; -$--color-warning-lighter: mix($--color-white, $--color-warning, 90%) !default; -$--color-danger-lighter: mix($--color-white, $--color-danger, 90%) !default; -$--color-info-lighter: mix($--color-white, $--color-info, 90%) !default; -/// color|1|Font Color|2 -$--color-text-primary: #303133 !default; -/// color|1|Font Color|2 -$--color-text-regular: #606266 !default; -/// color|1|Font Color|2 -$--color-text-secondary: #909399 !default; -/// color|1|Font Color|2 -$--color-text-placeholder: #C0C4CC !default; -/// color|1|Border Color|3 -$--border-color-base: #DCDFE6 !default; -/// color|1|Border Color|3 -$--border-color-light: #E4E7ED !default; -/// color|1|Border Color|3 -$--border-color-lighter: #EBEEF5 !default; -/// color|1|Border Color|3 -$--border-color-extra-light: #F2F6FC !default; - -// Background -/// color|1|Background Color|4 -$--background-color-base: #F5F7FA !default; - -// color for left sidebar title -$--color-sidebar-title-text: #FFFFFF; -// color for left sidebar background -$--color-menu-background: #042345; -$--color-menu-item-active-text-color: #FFFFFF; -$--color-menu-item-active-background: $--color-primary; -$--color-submenu-background: #021F3B; -/* Link --------------------------- */ -$--link-color: $--color-primary-light-2 !default; -$--link-hover-color: $--color-primary !default; - -/* Border --------------------------- */ -$--border-width-base: 1px !default; -$--border-style-base: solid !default; -$--border-color-hover: $--color-text-placeholder !default; -$--border-base: $--border-width-base $--border-style-base $--border-color-base !default; -/// borderRadius|1|Radius|0 -$--border-radius-base: 4px !default; -/// borderRadius|1|Radius|0 -$--border-radius-small: 2px !default; -/// borderRadius|1|Radius|0 -$--border-radius-circle: 100% !default; -/// borderRadius|1|Radius|0 -$--border-radius-zero: 0 !default; - -// Box-shadow -/// boxShadow|1|Shadow|1 -$--box-shadow-base: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04) !default; -// boxShadow|1|Shadow|1 -$--box-shadow-dark: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .12) !default; -/// boxShadow|1|Shadow|1 -$--box-shadow-light: 0 2px 12px 0 rgba(0, 0, 0, 0.1) !default; - -/* Fill --------------------------- */ -$--fill-base: $--color-white !default; - -/* Typography --------------------------- */ -$--font-path: 'fonts' !default; -$--font-display: 'auto' !default; -/// fontSize|1|Font Size|0 -$--font-size-extra-large: 20px !default; -/// fontSize|1|Font Size|0 -$--font-size-large: 18px !default; -/// fontSize|1|Font Size|0 -$--font-size-medium: 16px !default; -/// fontSize|1|Font Size|0 -$--font-size-base: 14px !default; -/// fontSize|1|Font Size|0 -$--font-size-small: 13px !default; -/// fontSize|1|Font Size|0 -$--font-size-extra-small: 12px !default; -/// fontWeight|1|Font Weight|1 -$--font-weight-primary: 500 !default; -/// fontWeight|1|Font Weight|1 -$--font-weight-secondary: 100 !default; -/// fontLineHeight|1|Line Height|2 -$--font-line-height-primary: 24px !default; -/// fontLineHeight|1|Line Height|2 -$--font-line-height-secondary: 16px !default; -$--font-color-disabled-base: #bbb !default; -/* Size --------------------------- */ -$--size-base: 14px !default; - -/* z-index --------------------------- */ -$--index-normal: 1 !default; -$--index-top: 1000 !default; -$--index-popper: 2000 !default; - -/* Disable base --------------------------- */ -$--disabled-fill-base: $--background-color-base !default; -$--disabled-color-base: $--color-text-placeholder !default; -$--disabled-border-base: $--border-color-light !default; - -/* Icon --------------------------- */ -$--icon-color: #666 !default; -$--icon-color-base: $--color-info !default; - -/* Checkbox --------------------------- */ -/// fontSize||Font|1 -$--checkbox-font-size: 14px !default; -/// fontWeight||Font|1 -$--checkbox-font-weight: $--font-weight-primary !default; -/// color||Color|0 -$--checkbox-font-color: $--color-text-regular !default; -$--checkbox-input-height: 14px !default; -$--checkbox-input-width: 14px !default; -/// borderRadius||Border|2 -$--checkbox-border-radius: $--border-radius-small !default; -/// color||Color|0 -$--checkbox-background-color: $--color-white !default; -$--checkbox-input-border: $--border-base !default; - -/// color||Color|0 -$--checkbox-disabled-border-color: $--border-color-base !default; -$--checkbox-disabled-input-fill: #edf2fc !default; -$--checkbox-disabled-icon-color: $--color-text-placeholder !default; - -$--checkbox-disabled-checked-input-fill: $--border-color-extra-light !default; -$--checkbox-disabled-checked-input-border-color: $--border-color-base !default; -$--checkbox-disabled-checked-icon-color: $--color-text-placeholder !default; - -/// color||Color|0 -$--checkbox-checked-font-color: $--color-primary !default; -$--checkbox-checked-input-border-color: $--color-primary !default; -/// color||Color|0 -$--checkbox-checked-background-color: $--color-primary !default; -$--checkbox-checked-icon-color: $--fill-base !default; - -$--checkbox-input-border-color-hover: $--color-primary !default; -/// height||Other|4 -$--checkbox-bordered-height: 40px !default; -/// padding||Spacing|3 -$--checkbox-bordered-padding: 9px 20px 9px 10px !default; -/// padding||Spacing|3 -$--checkbox-bordered-medium-padding: 7px 20px 7px 10px !default; -/// padding||Spacing|3 -$--checkbox-bordered-small-padding: 5px 15px 5px 10px !default; -/// padding||Spacing|3 -$--checkbox-bordered-mini-padding: 3px 15px 3px 10px !default; -$--checkbox-bordered-medium-input-height: 14px !default; -$--checkbox-bordered-medium-input-width: 14px !default; -/// height||Other|4 -$--checkbox-bordered-medium-height: 36px !default; -$--checkbox-bordered-small-input-height: 12px !default; -$--checkbox-bordered-small-input-width: 12px !default; -/// height||Other|4 -$--checkbox-bordered-small-height: 32px !default; -$--checkbox-bordered-mini-input-height: 12px !default; -$--checkbox-bordered-mini-input-width: 12px !default; -/// height||Other|4 -$--checkbox-bordered-mini-height: 28px !default; - -/// color||Color|0 -$--checkbox-button-checked-background-color: $--color-primary !default; -/// color||Color|0 -$--checkbox-button-checked-font-color: $--color-white !default; -/// color||Color|0 -$--checkbox-button-checked-border-color: $--color-primary !default; - - - -/* Radio --------------------------- */ -/// fontSize||Font|1 -$--radio-font-size: $--font-size-base !default; -/// fontWeight||Font|1 -$--radio-font-weight: $--font-weight-primary !default; -/// color||Color|0 -$--radio-font-color: $--color-text-regular !default; -$--radio-input-height: 14px !default; -$--radio-input-width: 14px !default; -/// borderRadius||Border|2 -$--radio-input-border-radius: $--border-radius-circle !default; -/// color||Color|0 -$--radio-input-background-color: $--color-white !default; -$--radio-input-border: $--border-base !default; -/// color||Color|0 -$--radio-input-border-color: $--border-color-base !default; -/// color||Color|0 -$--radio-icon-color: $--color-white !default; - -$--radio-disabled-input-border-color: $--disabled-border-base !default; -$--radio-disabled-input-fill: $--disabled-fill-base !default; -$--radio-disabled-icon-color: $--disabled-fill-base !default; - -$--radio-disabled-checked-input-border-color: $--disabled-border-base !default; -$--radio-disabled-checked-input-fill: $--disabled-fill-base !default; -$--radio-disabled-checked-icon-color: $--color-text-placeholder !default; - -/// color||Color|0 -$--radio-checked-font-color: $--color-primary !default; -/// color||Color|0 -$--radio-checked-input-border-color: $--color-primary !default; -/// color||Color|0 -$--radio-checked-input-background-color: $--color-white !default; -/// color||Color|0 -$--radio-checked-icon-color: $--color-primary !default; - -$--radio-input-border-color-hover: $--color-primary !default; - -$--radio-bordered-height: 40px !default; -$--radio-bordered-padding: 12px 20px 0 10px !default; -$--radio-bordered-medium-padding: 10px 20px 0 10px !default; -$--radio-bordered-small-padding: 8px 15px 0 10px !default; -$--radio-bordered-mini-padding: 6px 15px 0 10px !default; -$--radio-bordered-medium-input-height: 14px !default; -$--radio-bordered-medium-input-width: 14px !default; -$--radio-bordered-medium-height: 36px !default; -$--radio-bordered-small-input-height: 12px !default; -$--radio-bordered-small-input-width: 12px !default; -$--radio-bordered-small-height: 32px !default; -$--radio-bordered-mini-input-height: 12px !default; -$--radio-bordered-mini-input-width: 12px !default; -$--radio-bordered-mini-height: 28px !default; - -/// fontSize||Font|1 -$--radio-button-font-size: $--font-size-base !default; -/// color||Color|0 -$--radio-button-checked-background-color: $--color-primary !default; -/// color||Color|0 -$--radio-button-checked-font-color: $--color-white !default; -/// color||Color|0 -$--radio-button-checked-border-color: $--color-primary !default; -$--radio-button-disabled-checked-fill: $--border-color-extra-light !default; - -/* Select --------------------------- */ -$--select-border-color-hover: $--border-color-hover !default; -$--select-disabled-border: $--disabled-border-base !default; -/// fontSize||Font|1 -$--select-font-size: $--font-size-base !default; -$--select-close-hover-color: $--color-text-secondary !default; - -$--select-input-color: $--color-text-placeholder !default; -$--select-multiple-input-color: #666 !default; -/// color||Color|0 -$--select-input-focus-border-color: $--color-primary !default; -/// fontSize||Font|1 -$--select-input-font-size: 14px !default; - -$--select-option-color: $--color-text-regular !default; -$--select-option-disabled-color: $--color-text-placeholder !default; -$--select-option-disabled-background: $--color-white !default; -/// height||Other|4 -$--select-option-height: 34px !default; -$--select-option-hover-background: $--background-color-base !default; -/// color||Color|0 -$--select-option-selected-font-color: $--color-primary !default; -$--select-option-selected-hover: $--background-color-base !default; - -$--select-group-color: $--color-info !default; -$--select-group-height: 30px !default; -$--select-group-font-size: 12px !default; - -$--select-dropdown-background: $--color-white !default; -$--select-dropdown-shadow: $--box-shadow-light !default; -$--select-dropdown-empty-color: #999 !default; -/// height||Other|4 -$--select-dropdown-max-height: 274px !default; -$--select-dropdown-padding: 6px 0 !default; -$--select-dropdown-empty-padding: 10px 0 !default; -$--select-dropdown-border: solid 1px $--border-color-light !default; - -/* Alert --------------------------- */ -$--alert-padding: 8px 16px !default; -/// borderRadius||Border|2 -$--alert-border-radius: $--border-radius-base !default; -/// fontSize||Font|1 -$--alert-title-font-size: 13px !default; -/// fontSize||Font|1 -$--alert-description-font-size: 12px !default; -/// fontSize||Font|1 -$--alert-close-font-size: 12px !default; -/// fontSize||Font|1 -$--alert-close-customed-font-size: 13px !default; - -$--alert-success-color: $--color-success-lighter !default; -$--alert-info-color: $--color-info-lighter !default; -$--alert-warning-color: $--color-warning-lighter !default; -$--alert-danger-color: $--color-danger-lighter !default; - -/// height||Other|4 -$--alert-icon-size: 16px !default; -/// height||Other|4 -$--alert-icon-large-size: 28px !default; - -/* MessageBox --------------------------- */ -/// color||Color|0 -$--messagebox-title-color: $--color-text-primary !default; -$--msgbox-width: 420px !default; -$--msgbox-border-radius: 4px !default; -/// fontSize||Font|1 -$--messagebox-font-size: $--font-size-large !default; -/// fontSize||Font|1 -$--messagebox-content-font-size: $--font-size-base !default; -/// color||Color|0 -$--messagebox-content-color: $--color-text-regular !default; -/// fontSize||Font|1 -$--messagebox-error-font-size: 12px !default; -$--msgbox-padding-primary: 15px !default; -/// color||Color|0 -$--messagebox-success-color: $--color-success !default; -/// color||Color|0 -$--messagebox-info-color: $--color-info !default; -/// color||Color|0 -$--messagebox-warning-color: $--color-warning !default; -/// color||Color|0 -$--messagebox-danger-color: $--color-danger !default; - -/* Message --------------------------- */ -$--message-shadow: $--box-shadow-base !default; -$--message-min-width: 380px !default; -$--message-background-color: #edf2fc !default; -$--message-padding: 15px 15px 15px 20px !default; -/// color||Color|0 -$--message-close-icon-color: $--color-text-placeholder !default; -/// height||Other|4 -$--message-close-size: 16px !default; -/// color||Color|0 -$--message-close-hover-color: $--color-text-secondary !default; - -/// color||Color|0 -$--message-success-font-color: $--color-success !default; -/// color||Color|0 -$--message-info-font-color: $--color-info !default; -/// color||Color|0 -$--message-warning-font-color: $--color-warning !default; -/// color||Color|0 -$--message-danger-font-color: $--color-danger !default; - -/* Notification --------------------------- */ -$--notification-width: 330px !default; -/// padding||Spacing|3 -$--notification-padding: 14px 26px 14px 13px !default; -$--notification-radius: 8px !default; -$--notification-shadow: $--box-shadow-light !default; -/// color||Color|0 -$--notification-border-color: $--border-color-lighter !default; -$--notification-icon-size: 24px !default; -$--notification-close-font-size: $--message-close-size !default; -$--notification-group-margin-left: 13px !default; -$--notification-group-margin-right: 8px !default; -/// fontSize||Font|1 -$--notification-content-font-size: $--font-size-base !default; -/// color||Color|0 -$--notification-content-color: $--color-text-regular !default; -/// fontSize||Font|1 -$--notification-title-font-size: 16px !default; -/// color||Color|0 -$--notification-title-color: $--color-text-primary !default; - -/// color||Color|0 -$--notification-close-color: $--color-text-secondary !default; -/// color||Color|0 -$--notification-close-hover-color: $--color-text-regular !default; - -/// color||Color|0 -$--notification-success-icon-color: $--color-success !default; -/// color||Color|0 -$--notification-info-icon-color: $--color-info !default; -/// color||Color|0 -$--notification-warning-icon-color: $--color-warning !default; -/// color||Color|0 -$--notification-danger-icon-color: $--color-danger !default; - -/* Input --------------------------- */ -$--input-font-size: $--font-size-base !default; -/// color||Color|0 -$--input-font-color: $--color-text-regular !default; -/// height||Other|4 -$--input-width: 140px !default; -/// height||Other|4 -$--input-height: 40px !default; -$--input-border: $--border-base !default; -$--input-border-color: $--border-color-base !default; -/// borderRadius||Border|2 -$--input-border-radius: $--border-radius-base !default; -$--input-border-color-hover: $--border-color-hover !default; -/// color||Color|0 -$--input-background-color: $--color-white !default; -$--input-fill-disabled: $--disabled-fill-base !default; -$--input-color-disabled: $--font-color-disabled-base !default; -/// color||Color|0 -$--input-icon-color: $--color-text-placeholder !default; -/// color||Color|0 -$--input-placeholder-color: $--color-text-placeholder !default; -$--input-max-width: 314px !default; - -$--input-hover-border: $--border-color-hover !default; -$--input-clear-hover-color: $--color-text-secondary !default; - -$--input-focus-border: $--color-primary !default; -$--input-focus-fill: $--color-white !default; - -$--input-disabled-fill: $--disabled-fill-base !default; -$--input-disabled-border: $--disabled-border-base !default; -$--input-disabled-color: $--disabled-color-base !default; -$--input-disabled-placeholder-color: $--color-text-placeholder !default; - -/// fontSize||Font|1 -$--input-medium-font-size: 14px !default; -/// height||Other|4 -$--input-medium-height: 36px !default; -/// fontSize||Font|1 -$--input-small-font-size: 13px !default; -/// height||Other|4 -$--input-small-height: 32px !default; -/// fontSize||Font|1 -$--input-mini-font-size: 12px !default; -/// height||Other|4 -$--input-mini-height: 28px !default; - -/* Cascader --------------------------- */ -/// color||Color|0 -$--cascader-menu-font-color: $--color-text-regular !default; -/// color||Color|0 -$--cascader-menu-selected-font-color: $--color-primary !default; -$--cascader-menu-fill: $--fill-base !default; -$--cascader-menu-font-size: $--font-size-base !default; -$--cascader-menu-radius: $--border-radius-base !default; -$--cascader-menu-border: solid 1px $--border-color-light !default; -$--cascader-menu-shadow: $--box-shadow-light !default; -$--cascader-node-background-hover: $--background-color-base !default; -$--cascader-node-color-disabled:$--color-text-placeholder !default; -$--cascader-color-empty:$--color-text-placeholder !default; -$--cascader-tag-background: #f0f2f5; - -/* Group --------------------------- */ -$--group-option-flex: 0 0 (1/5) * 100% !default; -$--group-option-offset-bottom: 12px !default; -$--group-option-fill-hover: rgba($--color-black, 0.06) !default; -$--group-title-color: $--color-black !default; -$--group-title-font-size: $--font-size-base !default; -$--group-title-width: 66px !default; - -/* Tab --------------------------- */ -$--tab-font-size: $--font-size-base !default; -$--tab-border-line: 1px solid #e4e4e4 !default; -$--tab-header-color-active: $--color-text-secondary !default; -$--tab-header-color-hover: $--color-text-regular !default; -$--tab-header-color: $--color-text-regular !default; -$--tab-header-fill-active: rgba($--color-black, 0.06) !default; -$--tab-header-fill-hover: rgba($--color-black, 0.06) !default; -$--tab-vertical-header-width: 90px !default; -$--tab-vertical-header-count-color: $--color-white !default; -$--tab-vertical-header-count-fill: $--color-text-secondary !default; - -/* Button --------------------------- */ -/// fontSize||Font|1 -$--button-font-size: $--font-size-base !default; -/// fontWeight||Font|1 -$--button-font-weight: $--font-weight-primary !default; -/// borderRadius||Border|2 -$--button-border-radius: $--border-radius-base !default; -/// padding||Spacing|3 -$--button-padding-vertical: 12px !default; -/// padding||Spacing|3 -$--button-padding-horizontal: 20px !default; - -/// fontSize||Font|1 -$--button-medium-font-size: $--font-size-base !default; -/// borderRadius||Border|2 -$--button-medium-border-radius: $--border-radius-base !default; -/// padding||Spacing|3 -$--button-medium-padding-vertical: 10px !default; -/// padding||Spacing|3 -$--button-medium-padding-horizontal: 20px !default; - -/// fontSize||Font|1 -$--button-small-font-size: 12px !default; -$--button-small-border-radius: #{$--border-radius-base - 1} !default; -/// padding||Spacing|3 -$--button-small-padding-vertical: 9px !default; -/// padding||Spacing|3 -$--button-small-padding-horizontal: 15px !default; -/// fontSize||Font|1 -$--button-mini-font-size: 12px !default; -$--button-mini-border-radius: #{$--border-radius-base - 1} !default; -/// padding||Spacing|3 -$--button-mini-padding-vertical: 7px !default; -/// padding||Spacing|3 -$--button-mini-padding-horizontal: 15px !default; - -/// color||Color|0 -$--button-default-font-color: $--color-text-regular !default; -/// color||Color|0 -$--button-default-background-color: $--color-white !default; -/// color||Color|0 -$--button-default-border-color: $--border-color-base !default; - -/// color||Color|0 -$--button-disabled-font-color: $--color-text-placeholder !default; -/// color||Color|0 -$--button-disabled-background-color: $--color-white !default; -/// color||Color|0 -$--button-disabled-border-color: $--border-color-lighter !default; - -/// color||Color|0 -$--button-primary-border-color: $--color-primary !default; -/// color||Color|0 -$--button-primary-font-color: $--color-white !default; -/// color||Color|0 -$--button-primary-background-color: $--color-primary !default; -/// color||Color|0 -$--button-success-border-color: $--color-success !default; -/// color||Color|0 -$--button-success-font-color: $--color-white !default; -/// color||Color|0 -$--button-success-background-color: $--color-success !default; -/// color||Color|0 -$--button-warning-border-color: $--color-warning !default; -/// color||Color|0 -$--button-warning-font-color: $--color-white !default; -/// color||Color|0 -$--button-warning-background-color: $--color-warning !default; -/// color||Color|0 -$--button-danger-border-color: $--color-danger !default; -/// color||Color|0 -$--button-danger-font-color: $--color-white !default; -/// color||Color|0 -$--button-danger-background-color: $--color-danger !default; -/// color||Color|0 -$--button-info-border-color: $--color-info !default; -/// color||Color|0 -$--button-info-font-color: $--color-white !default; -/// color||Color|0 -$--button-info-background-color: $--color-info !default; - -$--button-hover-tint-percent: 20% !default; -$--button-active-shade-percent: 10% !default; - - -/* cascader --------------------------- */ -$--cascader-height: 200px !default; - -/* Switch --------------------------- */ -/// color||Color|0 -$--switch-on-color: $--color-primary !default; -/// color||Color|0 -$--switch-off-color: $--border-color-base !default; -/// fontSize||Font|1 -$--switch-font-size: $--font-size-base !default; -$--switch-core-border-radius: 10px !default; -// height||Other|4 TODO: width 代码写死的40px 所以下面这三个属性都没意义 -$--switch-width: 40px !default; -// height||Other|4 -$--switch-height: 20px !default; -// height||Other|4 -$--switch-button-size: 16px !default; - -/* Dialog --------------------------- */ -$--dialog-background-color: $--color-white !default; -$--dialog-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !default; -/// fontSize||Font|1 -$--dialog-title-font-size: $--font-size-large !default; -/// fontSize||Font|1 -$--dialog-content-font-size: 14px !default; -/// fontLineHeight||LineHeight|2 -$--dialog-font-line-height: $--font-line-height-primary !default; -/// padding||Spacing|3 -$--dialog-padding-primary: 20px !default; - -/* Table --------------------------- */ -/// color||Color|0 -$--table-border-color: $--border-color-lighter !default; -$--table-border: 1px solid $--table-border-color !default; -/// color||Color|0 -$--table-font-color: $--color-text-regular !default; -/// color||Color|0 -$--table-header-font-color: $--color-text-secondary !default; -/// color||Color|0 -$--table-row-hover-background-color: $--background-color-base !default; -$--table-current-row-background-color: rgba(255, 255, 255, .12) !default; -/// color||Color|0 -$--table-header-background-color: $--color-white !default; -$--table-fixed-box-shadow: 0 0 10px rgba(0, 0, 0, .12) !default; - -/* Pagination --------------------------- */ -/// fontSize||Font|1 -$--pagination-font-size: 13px !default; -/// color||Color|0 -$--pagination-background-color: $--color-white !default; -/// color||Color|0 -$--pagination-font-color: $--color-text-primary !default; -$--pagination-border-radius: 3px !default; -/// color||Color|0 -$--pagination-button-color: $--color-text-primary !default; -/// height||Other|4 -$--pagination-button-width: 35.5px !default; -/// height||Other|4 -$--pagination-button-height: 28px !default; -/// color||Color|0 -$--pagination-button-disabled-color: $--color-text-placeholder !default; -/// color||Color|0 -$--pagination-button-disabled-background-color: $--color-white !default; -/// color||Color|0 -$--pagination-hover-color: $--color-primary !default; - -/* Popup --------------------------- */ -/// color||Color|0 -$--popup-modal-background-color: $--color-black !default; -/// opacity||Other|1 -$--popup-modal-opacity: 0.5 !default; - -/* Popover --------------------------- */ -/// color||Color|0 -$--popover-background-color: $--color-white !default; -/// fontSize||Font|1 -$--popover-font-size: $--font-size-base !default; -/// color||Color|0 -$--popover-border-color: $--border-color-lighter !default; -$--popover-arrow-size: 6px !default; -/// padding||Spacing|3 -$--popover-padding: 12px !default; -$--popover-padding-large: 18px 20px !default; -/// fontSize||Font|1 -$--popover-title-font-size: 16px !default; -/// color||Color|0 -$--popover-title-font-color: $--color-text-primary !default; - -/* Tooltip --------------------------- */ -/// color|1|Color|0 -$--tooltip-fill: $--color-text-primary !default; -/// color|1|Color|0 -$--tooltip-color: $--color-white !default; -/// fontSize||Font|1 -$--tooltip-font-size: 12px !default; -/// color||Color|0 -$--tooltip-border-color: $--color-text-primary !default; -$--tooltip-arrow-size: 6px !default; -/// padding||Spacing|3 -$--tooltip-padding: 10px !default; - -/* Tag --------------------------- */ -/// color||Color|0 -$--tag-info-color: $--color-info !default; -/// color||Color|0 -$--tag-primary-color: $--color-primary !default; -/// color||Color|0 -$--tag-success-color: $--color-success !default; -/// color||Color|0 -$--tag-warning-color: $--color-warning !default; -/// color||Color|0 -$--tag-danger-color: $--color-danger !default; -/// fontSize||Font|1 -$--tag-font-size: 12px !default; -$--tag-border-radius: 4px !default; -$--tag-padding: 0 10px !default; - -/* Tree --------------------------- */ -/// color||Color|0 -$--tree-node-hover-background-color: $--background-color-base !default; -/// color||Color|0 -$--tree-font-color: $--color-text-regular !default; -/// color||Color|0 -$--tree-expand-icon-color: $--color-text-placeholder !default; - -/* Dropdown --------------------------- */ -$--dropdown-menu-box-shadow: $--box-shadow-light !default; -$--dropdown-menuItem-hover-fill: $--color-primary !default; -$--dropdown-menuItem-hover-color: $--color-white !default; - -/* Badge --------------------------- */ -/// color||Color|0 -$--badge-background-color: $--color-danger !default; -$--badge-radius: 10px !default; -/// fontSize||Font|1 -$--badge-font-size: 12px !default; -/// padding||Spacing|3 -$--badge-padding: 6px !default; -/// height||Other|4 -$--badge-size: 18px !default; - -/* Card ---------------------------*/ -/// color||Color|0 -$--card-border-color: $--border-color-lighter !default; -$--card-border-radius: 4px !default; -/// padding||Spacing|3 -$--card-padding: 20px !default; - -/* Slider ---------------------------*/ -/// color||Color|0 -$--slider-main-background-color: $--color-primary !default; -/// color||Color|0 -$--slider-runway-background-color: $--border-color-light !default; -$--slider-button-hover-color: mix($--color-primary, black, 97%) !default; -$--slider-stop-background-color: $--color-white !default; -$--slider-disable-color: $--color-text-placeholder !default; -$--slider-margin: 16px 0 !default; -$--slider-border-radius: 3px !default; -/// height|1|Other|4 -$--slider-height: 6px !default; -/// height||Other|4 -$--slider-button-size: 16px !default; -$--slider-button-wrapper-size: 36px !default; -$--slider-button-wrapper-offset: -15px !default; - -/* Steps ---------------------------*/ -$--steps-border-color: $--disabled-border-base !default; -$--steps-border-radius: 4px !default; -$--steps-padding: 20px !default; - -/* Menu ---------------------------*/ -/// fontSize||Font|1 -$--menu-item-font-size: $--font-size-base !default; -/// color||Color|0 -$--menu-item-font-color: $--color-white !default; -/// color||Color|0 -$--menu-background-color: $--color-menu-background !default; -$--menu-item-hover-fill: $--color-menu-item-active-background !default; - -/* Rate ---------------------------*/ -$--rate-height: 20px !default; -/// fontSize||Font|1 -$--rate-font-size: $--font-size-base !default; -/// height||Other|3 -$--rate-icon-size: 18px !default; -/// margin||Spacing|2 -$--rate-icon-margin: 6px !default; -$--rate-icon-color: $--color-text-placeholder !default; - -/* DatePicker ---------------------------*/ -$--datepicker-font-color: $--color-text-regular !default; -/// color|1|Color|0 -$--datepicker-off-font-color: $--color-text-placeholder !default; -/// color||Color|0 -$--datepicker-header-font-color: $--color-text-regular !default; -$--datepicker-icon-color: $--color-text-primary !default; -$--datepicker-border-color: $--disabled-border-base !default; -$--datepicker-inner-border-color: #e4e4e4 !default; -/// color||Color|0 -$--datepicker-inrange-background-color: $--border-color-extra-light !default; -/// color||Color|0 -$--datepicker-inrange-hover-background-color: $--border-color-extra-light !default; -/// color||Color|0 -$--datepicker-active-color: $--color-primary !default; -/// color||Color|0 -$--datepicker-hover-font-color: $--color-primary !default; -$--datepicker-cell-hover-color: #fff !default; - -/* Loading ---------------------------*/ -/// height||Other|4 -$--loading-spinner-size: 42px !default; -/// height||Other|4 -$--loading-fullscreen-spinner-size: 50px !default; - -/* Scrollbar ---------------------------*/ -$--scrollbar-background-color: rgba($--color-text-secondary, .3) !default; -$--scrollbar-hover-background-color: rgba($--color-text-secondary, .5) !default; - -/* Carousel ---------------------------*/ -/// fontSize||Font|1 -$--carousel-arrow-font-size: 12px !default; -$--carousel-arrow-size: 36px !default; -$--carousel-arrow-background: rgba(31, 45, 61, 0.11) !default; -$--carousel-arrow-hover-background: rgba(31, 45, 61, 0.23) !default; -/// width||Other|4 -$--carousel-indicator-width: 30px !default; -/// height||Other|4 -$--carousel-indicator-height: 2px !default; -$--carousel-indicator-padding-horizontal: 4px !default; -$--carousel-indicator-padding-vertical: 12px !default; -$--carousel-indicator-out-color: $--border-color-hover !default; - -/* Collapse ---------------------------*/ -/// color||Color|0 -$--collapse-border-color: $--border-color-lighter !default; -/// height||Other|4 -$--collapse-header-height: 48px !default; -/// color||Color|0 -$--collapse-header-background-color: $--color-white !default; -/// color||Color|0 -$--collapse-header-font-color: $--color-text-primary !default; -/// fontSize||Font|1 -$--collapse-header-font-size: 13px !default; -/// color||Color|0 -$--collapse-content-background-color: $--color-white !default; -/// fontSize||Font|1 -$--collapse-content-font-size: 13px !default; -/// color||Color|0 -$--collapse-content-font-color: $--color-text-primary !default; - -/* Transfer ---------------------------*/ -$--transfer-border-color: $--border-color-lighter !default; -$--transfer-border-radius: $--border-radius-base !default; -/// height||Other|4 -$--transfer-panel-width: 200px !default; -/// height||Other|4 -$--transfer-panel-header-height: 40px !default; -/// color||Color|0 -$--transfer-panel-header-background-color: $--background-color-base !default; -/// height||Other|4 -$--transfer-panel-footer-height: 40px !default; -/// height||Other|4 -$--transfer-panel-body-height: 246px !default; -/// height||Other|4 -$--transfer-item-height: 30px !default; -/// height||Other|4 -$--transfer-filter-height: 32px !default; - -/* Header - --------------------------*/ -$--header-padding: 0 20px !default; - -/* Footer ---------------------------*/ -$--footer-padding: 0 20px !default; - -/* Main ---------------------------*/ -$--main-padding: 20px !default; - -/* Timeline ---------------------------*/ -$--timeline-node-size-normal: 12px !default; -$--timeline-node-size-large: 14px !default; -$--timeline-node-color: $--border-color-light !default; - -/* Backtop ---------------------------*/ -/// color||Color|0 -$--backtop-background-color: $--color-white !default; -/// color||Color|0 -$--backtop-font-color: $--color-primary !default; -/// color||Color|0 -$--backtop-hover-background-color: $--border-color-extra-light !default; - -/* Link ---------------------------*/ -/// fontSize||Font|1 -$--link-font-size: $--font-size-base !default; -/// fontWeight||Font|1 -$--link-font-weight: $--font-weight-primary !default; -/// color||Color|0 -$--link-default-font-color: $--color-text-regular !default; -/// color||Color|0 -$--link-default-active-color: $--color-primary !default; -/// color||Color|0 -$--link-disabled-font-color: $--color-text-placeholder !default; -/// color||Color|0 -$--link-primary-font-color: $--color-primary !default; -/// color||Color|0 -$--link-success-font-color: $--color-success !default; -/// color||Color|0 -$--link-warning-font-color: $--color-warning !default; -/// color||Color|0 -$--link-danger-font-color: $--color-danger !default; -/// color||Color|0 -$--link-info-font-color: $--color-info !default; -/* Calendar ---------------------------*/ -/// border||Other|4 -$--calendar-border: $--table-border !default; -/// color||Other|4 -$--calendar-selected-background-color: #F2F8FE !default; -$--calendar-cell-width: 85px !default; - -/* Form --------------------------- */ -/// fontSize||Font|1 -$--form-label-font-size: $--font-size-base !default; - -/* Avatar ---------------------------*/ -/// color||Color|0 -$--avatar-font-color: #fff !default; -/// color||Color|0 -$--avatar-background-color: #C0C4CC !default; -/// fontSize||Font Size|1 -$--avatar-text-font-size: 14px !default; -/// fontSize||Font Size|1 -$--avatar-icon-font-size: 18px !default; -/// borderRadius||Border|2 -$--avatar-border-radius: $--border-radius-base !default; -/// size|1|Avatar Size|3 -$--avatar-large-size: 40px !default; -/// size|1|Avatar Size|3 -$--avatar-medium-size: 36px !default; -/// size|1|Avatar Size|3 -$--avatar-small-size: 28px !default; - -/* Break-point ---------------------------*/ -$--sm: 768px !default; -$--md: 992px !default; -$--lg: 1200px !default; -$--xl: 1920px !default; - -$--breakpoints: ( - 'xs' : (max-width: $--sm - 1), - 'sm' : (min-width: $--sm), - 'md' : (min-width: $--md), - 'lg' : (min-width: $--lg), - 'xl' : (min-width: $--xl) -); - -$--breakpoints-spec: ( - 'xs-only' : (max-width: $--sm - 1), - 'sm-and-up' : (min-width: $--sm), - 'sm-only': "(min-width: #{$--sm}) and (max-width: #{$--md - 1})", - 'sm-and-down': (max-width: $--md - 1), - 'md-and-up' : (min-width: $--md), - 'md-only': "(min-width: #{$--md}) and (max-width: #{$--lg - 1})", - 'md-and-down': (max-width: $--lg - 1), - 'lg-and-up' : (min-width: $--lg), - 'lg-only': "(min-width: #{$--lg}) and (max-width: #{$--xl - 1})", - 'lg-and-down': (max-width: $--xl - 1), - 'xl-only' : (min-width: $--xl), -); diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/img/default-header.jpg b/orange-demo-multi/orange-demo-multi-web/src/assets/img/default-header.jpg deleted file mode 100644 index 222d18da..00000000 Binary files a/orange-demo-multi/orange-demo-multi-web/src/assets/img/default-header.jpg and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/img/default.jpg b/orange-demo-multi/orange-demo-multi-web/src/assets/img/default.jpg deleted file mode 100644 index aa0237bb..00000000 Binary files a/orange-demo-multi/orange-demo-multi-web/src/assets/img/default.jpg and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/img/login.png b/orange-demo-multi/orange-demo-multi-web/src/assets/img/login.png deleted file mode 100644 index 87130950..00000000 Binary files a/orange-demo-multi/orange-demo-multi-web/src/assets/img/login.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/img/login_bg.jpg b/orange-demo-multi/orange-demo-multi-web/src/assets/img/login_bg.jpg deleted file mode 100644 index efc558de..00000000 Binary files a/orange-demo-multi/orange-demo-multi-web/src/assets/img/login_bg.jpg and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/img/login_logo.png b/orange-demo-multi/orange-demo-multi-web/src/assets/img/login_logo.png deleted file mode 100644 index 03712478..00000000 Binary files a/orange-demo-multi/orange-demo-multi-web/src/assets/img/login_logo.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/img/logo.jpg b/orange-demo-multi/orange-demo-multi-web/src/assets/img/logo.jpg deleted file mode 100644 index a88fc0d0..00000000 Binary files a/orange-demo-multi/orange-demo-multi-web/src/assets/img/logo.jpg and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/img/logo.png b/orange-demo-multi/orange-demo-multi-web/src/assets/img/logo.png deleted file mode 100644 index f2df5bb8..00000000 Binary files a/orange-demo-multi/orange-demo-multi-web/src/assets/img/logo.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/img/orange-group1.png b/orange-demo-multi/orange-demo-multi-web/src/assets/img/orange-group1.png deleted file mode 100644 index efd59f26..00000000 Binary files a/orange-demo-multi/orange-demo-multi-web/src/assets/img/orange-group1.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/img/orange-group2.png b/orange-demo-multi/orange-demo-multi-web/src/assets/img/orange-group2.png deleted file mode 100644 index 218e76ec..00000000 Binary files a/orange-demo-multi/orange-demo-multi-web/src/assets/img/orange-group2.png and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/package.json b/orange-demo-multi/orange-demo-multi-web/src/assets/package.json deleted file mode 100644 index a0912945..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/package.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "scripts": { - "theme-light": "et -c element-variables-light.scss", - "theme-dark": "et -c element-variables-dark.scss", - "theme-green": "et -c element-variables-green.scss", - "theme-orange": "et -c element-variables-orange.scss", - "theme-blue": "et -c element-variables-blue.scss" - }, - "devDependencies": { - "element-theme": "2.0.1", - "element-theme-chalk": "2.14.1" - } -} diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/style/base.scss b/orange-demo-multi/orange-demo-multi-web/src/assets/style/base.scss deleted file mode 100644 index 8d939c44..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/style/base.scss +++ /dev/null @@ -1,677 +0,0 @@ -@import "element-variables.scss"; -@import "transition.scss"; - -html, body { - padding: 0; - margin: 0; - font-size: 14px; - font-family: "Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif; - background-color: rgb(228,240,255); -} - -*, -*:before, -*:after { - box-sizing: border-box; -} - -$header-height: 60px; - -// 过滤组件长度 -$filter-item-width: 250px; -// 范围选择过滤组件长度 -$filter-item-range-width: 400px; -// 左侧过滤树组件每一项高度 -$tree-node-height: 40px; -// 高级管理表单标题高度 -$advanced-title-height: 50px; -$border-color: rgb(216, 220, 229); -$menuHover: rgba(255,255,255,0.3); -$menu-background-color: transparent; -$tabs-header-margin-bottom: 25px; -$tab-header-background-color: #EBEEF5; -$image-item-width: 65px; -$box-padding-size: 25px; - -/** - * 弹窗样式,封装的layer的弹窗 - **/ -body .layer-dialog .layui-layer-title{ - border-radius: 4px 4px 0px 0px; - border:1px solid #01000000; -} - -body .layer-dialog .layui-layer-setwin {color: #ffffff} - -body .layer-dialog { - border-radius: 4px; - border:1px solid #01000000; -} - -body .layer-dialog .layui-layer-content { - padding: $box-padding-size; -} -/** - * 左树右表弹窗样式 - */ -body .layer-advance-dialog { - border-radius: 4px; - border:1px solid #01000000; - background-color: #F8F8F8; -} - -body .layer-advance-dialog .layui-layer-title{ - border-radius: 4px 4px 0px 0px; - border:1px solid #01000000; -} - -body .layer-advance-dialog .layui-layer-content { - padding: 5px 15px; -} - -.orange-project { - .el-main { - padding: 0px; - } - .flex-box { - flex-wrap: wrap; - } - .scrollbar_dropdown__wrap { - overflow-x: hidden; - } - - .icon-btn.el-button { - font-size: 18px; - padding: 5px 0px; - } - - .default-padding-box { - padding: $box-padding-size; - } - - .padding-no-top { - padding: 0px $box-padding-size $box-padding-size $box-padding-size; - } - - .default-border { - border: 1px solid $--border-color-base; - } - - .default-border-left { - border-left: 1px solid $--border-color-base; - } - - .default-border-right { - border-right: 1px solid $--border-color-base; - } - - .default-border-top { - border-top: 1px solid $--border-color-base; - } - - .default-border-bottom { - border-bottom: 1px solid $--border-color-base; - } - - .page-close-box { - position: absolute; - background: #0092FF; - transform: rotate(45deg); - height: 50px; - width: 50px; - right: -25px; - top:-25px; - text-align: center; - - .el-button { - transform: rotate(-45deg); - color: white; - margin-top: 20px; - } - } - - .el-button + .btn-import { - margin-left: 10px!important; - } - - /** - * 过滤组件样式 - **/ - .mask-box { - position: absolute; - width: 100%; - height: 100%; - background-color: rgba(0,0,0,0.5); - top: 0; - z-index: 10; - } - - .filter-box { - position: relative; - background-color: white; - padding: $box-padding-size $box-padding-size 0px $box-padding-size; - z-index: 20; - } - - .advance-filter-box { - padding-bottom: 25px; - } - - .filter-item { - width: $filter-item-width; - } - - .cascader-item { - width: 160px!important; - } - - .is-range, .is-search { - width: $filter-item-range-width; - } - - .table-operation-box { - align-self: flex-end; - margin-bottom: 10px; - overflow: hidden; - } - - .table-check-box { - margin-right: 7px; - } - - /** - * 左侧树状组件的样式,用户高级管理表单以及用户管理表单 - **/ - .advanced-left-box { - border-right: 1px solid $border-color; - .el-tree-node__content { - height: $tree-node-height; - } - - .tree-node-item { - height: $tree-node-height; - line-height: $tree-node-height; - width: 100%; - - .tree-node-menu { - display: none; - float: right; - padding-right: 10px; - color: red!important; - } - - &:hover .tree-node-menu { - display: block; - } - } - - .el-tree-node .el-button+.el-button { - margin-left: 5px; - } - } - /** - * form表单输入组件宽度 - **/ - .full-width-input { - .el-select { - width: 100%; - } - - .el-input { - width: 100%; - } - - .el-cascader { - width: 100%; - } - - .el-date-editor { - width: 100%; - } - - .el-input-number { - width: 100%; - } - } - - .el-form-item.el-form-item--mini { - min-height: 29px; - } - - .el-form-item.el-form-item--small { - min-height: 32px; - } - - .el-form-item.el-form-item--medium { - min-height: 36px; - } - - .el-form-item.el-form-item--default { - min-height: 40px; - } - - .el-aside { - overflow: visible; - } - - .el-menu { - border-right-width: 0px; - } - - .sidebar-bg { - box-shadow: 0 1px 4px rgba(0,21,41,.08)!important; - } - - .sidebar-title { - display: flex; - align-items: center; - height: 60px; - padding: 0px 20px; - } - - .sidebar-title-text { - font-size: 18px; - color: $--color-sidebar-title-text; - padding-left: 15px; - } - - @if global-variable-exists(--color-menu-item-active-text-color) { - .el-menu:not(.el-menu--horizontal) .el-menu-item.is-active { - color: $--color-menu-item-active-text-color!important; - } - - .el-menu:not(.el-menu--horizontal) .el-submenu__title i { - color: $--color-menu-item-active-text-color; - } - } - - @if global-variable-exists(--color-menu-item-active-background) { - .el-menu:not(.el-menu--horizontal) .el-menu-item.is-active { - @if global-variable-exists(--color-menu-item-active-background-to) { - background: linear-gradient(to left, $--color-menu-item-active-background, $--color-menu-item-active-background-to); - } @else { - background: $--color-menu-item-active-background; - } - } - .el-menu:not(.el-menu--horizontal) .el-menu-item:hover { - @if global-variable-exists(--color-menu-item-active-background-to) { - background: linear-gradient(to left, $--color-menu-item-active-background, $--color-menu-item-active-background-to); - } @else { - background: $--color-menu-item-active-background; - } - } - } - - @if global-variable-exists(--color-submenu-background) { - .left-menu .el-submenu .el-menu { - background-color: $--color-submenu-background; - } - } - - /** - * 多tab页表单,tab样式 - **/ - .el-tabs__header { - margin: 0 0 20px; - } - /** - * 表格表头背景色 - **/ - .table-header-gray, .has-gutter .gutter { - background-color: $tab-header-background-color; - } - - /** - * 操作按钮颜色 - **/ - .table-btn.delete { - color: #F56C6C; - } - - .table-btn.delete:hover { - color: #F78989; - } - - .table-btn.delete:disabled { - color: #DCDFE6; - } - - .table-btn.success { - color: #67C23A; - } - - .table-btn.success:hover { - color: #85CE61; - } - - .table-btn.success:disabled { - color: #DCDFE6; - } - - .table-btn.warning { - color: #E6A23C; - } - - .table-btn.warning:hover { - color: #EBB563; - } - - .table-btn.success:disabled { - color: #DCDFE6; - } - - /** - * 图片上传以及显示样式 - **/ - .upload-image-item { - font-size: 28px; - color: #8c939d; - width: $image-item-width; - height: $image-item-width; - text-align: center; - display: block; - - .el-upload i { - line-height: $image-item-width; - } - } - - .upload-image-multi { - display: inline; - } - - .upload-image-item .el-upload { - border: 1px dashed #d9d9d9; - border-radius: 6px; - cursor: pointer; - position: relative; - overflow: hidden; - } - .upload-image-item .el-upload:hover { - border-color: #409eff; - } - - .upload-image-show { - width: $image-item-width; - height: $image-item-width; - display: inline; - } - - .table-cell-image { - width: $image-item-width; - height: $image-item-width; - line-height: $image-item-width; - text-align: center; - font-size: $image-item-width; - color: #606266; - margin: 0px 5px; - } - - .upload-image-list .el-upload-list__item { - width: $image-item-width; - height: $image-item-width; - line-height: $image-item-width; - } - - .upload-image-item .el-upload-list--picture-card .el-upload-list__item { - width: $image-item-width; - height: $image-item-width; - } - - .upload-image-item .el-upload.el-upload--text { - width: $image-item-width; - height: $image-item-width; - } - - .upload-image-item .el-upload--picture-card { - width: $image-item-width; - height: $image-item-width; - line-height: $image-item-width; - } - /** - * - **/ - $header-menu-height: 32px; - - .sidebar { - height: 100%; - background-color: $--color-menu-background; - // overflow: hidden; - box-shadow: 0px 1px 4px rgba(0,21,41,.08); - } - - .header { - display: flex; - align-items: center; - height: $header-height; - background-color: white; - } - - .header .menu-column { - margin-right: 20px; - .el-menu-item.is-active { - border-left: 0px solid #47ba5a; - } - } - - .header-menu { - float: right; - height: $header-menu-height; - line-height: $header-menu-height; - display: flex; - justify-content: flex-end; - flex-grow: 1 - } - - .header-img { - width: $header-menu-height; - height: $header-menu-height; - border-radius: 50%; - margin-left: 10px; - float: right; - } - - .el-menu--horizontal.el-menu { - background-color: white; - } - - .el-menu--horizontal > .el-menu-item { - height: 40px; - line-height: 40px; - } - - .el-menu.el-menu--horizontal { - border-bottom: none; - } - - .user-dropdown { - color: $--color-text-secondary; - cursor: pointer; - font-size: 12px; - } - .user-dropdown-item { - font-size: 12px; - color: $--color-text-primary; - - .el-badge { - margin-top: -8px; - margin-left: 10px; - height: 20px; - } - } - - .hamburger-container { - line-height: 70px; - height: $header-height; - float: left; - padding: 0 10px; - } - - .el-submenu__title { - background: #00000000; - } - - .tree-select { - .el-tree-node__content { - height: 34px; - line-height: 34px; - padding-right: 10px; - } - } - - .tree-select.single-select-tree { - .el-tree-node.is-current > .el-tree-node__content > .el-tree-node__label { - color: $--color-primary; - font-weight: 700; - } - } - - .cell { - .operation-cell { - color: #006CDC; - cursor: pointer; - text-decoration: underline; - } - } - - .single-select-tree { - min-width: 200px!important; - } - - .base-card-header { - display: flex; - align-items: center; - height: 50px; - line-height: 50px; - } - - .base-card-operation { - flex-grow: 1; - display: flex; - justify-content: flex-end; - } - - .el-card__header { - padding: 0px 15px; - } - .el-card__body { - padding: 15px; - } - - .custom-cascader { - width: 200px!important; - } - - .no-scroll { - overflow: hidden; - } - - .custom-scroll .el-scrollbar__view { - overflow-x: hidden!important; - } - - .upload-img-del { - position: absolute; - height: 20px; - width: 20px; - line-height: 20px; - font-size: 16px; - top: 2px; - right: 2px; - color: #C0C4CC; - } - - .upload-img-del:hover { - color: #EF5E1C; - } - - .input-label { - display: inline-block; - height: 29px; - line-height: 28px; - } - - .input-progress { - height: 29px; - display: flex; - align-items: center; - } - - .input-item { - width: 100%!important; - } - - .table-header-gray { - background: rgba(237,237,237,1); - } - - .card-header { - display: flex; - justify-content: space-between; - padding: 10px 0px; - line-height: 28px; - } -} - -::-webkit-scrollbar { - width: 7px; - height: 7px; - background: none; -} - -::-webkit-scrollbar-thumb { - background: #DDDEE0; - border-radius: 7px; -} - -::-webkit-scrollbar-thumb:hover { - background: #A8A8A8; -} - -.ml20 { - margin-left: 20px; -} - -.mr20 { - margin-right: 20px; -} - -.mt20 { - margin-top: 20px; -} - -.mb20 { - margin-bottom: 20px; -} - -.pl20 { - padding-left: 20px; -} - -.pr20 { - padding-right: 20px; -} - -.pt20 { - padding-top: 20px; -} - -.pb20 { - padding-bottom: 20px; -} - -.gutter-left { - padding-left: 20px; -} - -.gutter-right { - padding-right: 20px; -} - -.gutter-top { - padding-top: 20px; -} - -.gutter-bottom { - padding-bottom: 20px; -} \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/style/element-variables.scss b/orange-demo-multi/orange-demo-multi-web/src/assets/style/element-variables.scss deleted file mode 100644 index f75588ca..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/style/element-variables.scss +++ /dev/null @@ -1,5 +0,0 @@ -// @import "../element-variables-light.scss"; -@import "../element-variables-dark.scss"; -// @import "../element-variables-green.scss"; -// @import "../element-variables-orange.scss"; -// @import "../element-variables-blue.scss"; \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/style/form-style.scss b/orange-demo-multi/orange-demo-multi-web/src/assets/style/form-style.scss deleted file mode 100644 index 027631f9..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/style/form-style.scss +++ /dev/null @@ -1,117 +0,0 @@ -.form-advanced-manager { - .advance-filter-box { - position: absolute; - top: 100%; - left: 0px; - background-color: white; - width: 100%; - padding: 10px $box-padding-size 15px $box-padding-size; - } - - .title-box { - border-bottom: 1px solid $border-color; - padding: 0px 20px; - z-index: 20; - background-color: white; - height: $advanced-title-height; - - .title { - line-height: $advanced-title-height; - color: #606266; - } - - .menu-box { - position: absolute; - top: 0px; - right: 10px; - height: $advanced-title-height; - - .el-row { - margin: 10px 0px; - height: $advanced-title-height - 20; - } - } - } - - .advanced-right-box { - padding: 0px; - .gutter-box { - margin: (($advanced-title-height - 16)/2) 0px; - height: 16px; - width: 3px; - background-color: $--color-primary; - float: left - } - } -} - -.form-dict-manager { - .dict-title { - height: 50px; - line-height: 50px; - color: $--color-text-primary; - border-bottom: 1px solid $--border-color-base; - font-size: 14px; - - span { - margin-left: 20px; - } - } - - .dict-item { - width: 100%; - height: 40px; - line-height: 40px; - color: #606266; - cursor: pointer; - padding-left: 20px; - - &:hover { - background-color: $--color-primary-light-9; - } - } - - .active-dict-item { - border-left: 3px solid $--color-primary; - color: $--color-primary; - background-color: $--color-primary-light-9 !important; - } - - .el-scrollbar__bar.is-horizontal { - display: none!important; - } -} - - -.form-table-manager { - .advance-filter-box { - position: absolute; - padding: 20px; - top: 100%; - left: 0px; - background-color: white; - width: 100%; - padding: 10px $box-padding-size 15px $box-padding-size; - } -} - -.form-table-multi-select { - // -} - -.form-config { - padding: $box-padding-size; -} - -.form-multi-fragment { - // -} - -.form-single-fragment { - // -} - -.advance-query-form { - padding: 0px!important; - background-color: transparent!important;; -} \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/style/index.scss b/orange-demo-multi/orange-demo-multi-web/src/assets/style/index.scss deleted file mode 100644 index a88aa046..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/style/index.scss +++ /dev/null @@ -1,3 +0,0 @@ -@import "../theme/index.css"; -@import "base.scss"; -@import "form-style.scss"; \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/style/transition.scss b/orange-demo-multi/orange-demo-multi-web/src/assets/style/transition.scss deleted file mode 100644 index 49d81925..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/style/transition.scss +++ /dev/null @@ -1,31 +0,0 @@ -/*fade*/ -.fade-enter-active, -.fade-leave-active { - transition: opacity 0.28s; -} - -.fade-enter, -.fade-leave-active { - opacity: 0; -} - -/*fade*/ -.breadcrumb-enter-active, -.breadcrumb-leave-active { - transition: all .5s; -} - -.breadcrumb-enter, -.breadcrumb-leave-active { - opacity: 0; - transform: translateX(20px); -} - -.breadcrumb-move { - transition: all .5s; -} - -.breadcrumb-leave-active { - position: absolute; -} - diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/alert.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/alert.css deleted file mode 100644 index 966d571c..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/alert.css +++ /dev/null @@ -1,343 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-alert { - width: 100%; - padding: 8px 16px; - margin: 0; - -webkit-box-sizing: border-box; - box-sizing: border-box; - border-radius: 4px; - position: relative; - background-color: #FFFFFF; - overflow: hidden; - opacity: 1; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-transition: opacity .2s; - transition: opacity .2s; } - .el-alert.is-light .el-alert__closebtn { - color: #C0C4CC; } - .el-alert.is-dark .el-alert__closebtn { - color: #FFFFFF; } - .el-alert.is-dark .el-alert__description { - color: #FFFFFF; } - .el-alert.is-center { - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; } - .el-alert--success.is-light { - background-color: #f0f9eb; - color: #67C23A; } - .el-alert--success.is-light .el-alert__description { - color: #67C23A; } - .el-alert--success.is-dark { - background-color: #67C23A; - color: #FFFFFF; } - .el-alert--info.is-light { - background-color: #f4f4f5; - color: #909399; } - .el-alert--info.is-dark { - background-color: #909399; - color: #FFFFFF; } - .el-alert--info .el-alert__description { - color: #909399; } - .el-alert--warning.is-light { - background-color: #fdf6ec; - color: #E6A23C; } - .el-alert--warning.is-light .el-alert__description { - color: #E6A23C; } - .el-alert--warning.is-dark { - background-color: #E6A23C; - color: #FFFFFF; } - .el-alert--error.is-light { - background-color: #fef0f0; - color: #F56C6C; } - .el-alert--error.is-light .el-alert__description { - color: #F56C6C; } - .el-alert--error.is-dark { - background-color: #F56C6C; - color: #FFFFFF; } - .el-alert__content { - display: table-cell; - padding: 0 8px; } - .el-alert__icon { - font-size: 16px; - width: 16px; } - .el-alert__icon.is-big { - font-size: 28px; - width: 28px; } - .el-alert__title { - font-size: 13px; - line-height: 18px; } - .el-alert__title.is-bold { - font-weight: bold; } - .el-alert .el-alert__description { - font-size: 12px; - margin: 5px 0 0 0; } - .el-alert__closebtn { - font-size: 12px; - opacity: 1; - position: absolute; - top: 12px; - right: 15px; - cursor: pointer; } - .el-alert__closebtn.is-customed { - font-style: normal; - font-size: 13px; - top: 9px; } - -.el-alert-fade-enter, -.el-alert-fade-leave-active { - opacity: 0; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/aside.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/aside.css deleted file mode 100644 index effb3502..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/aside.css +++ /dev/null @@ -1,136 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -.el-aside { - overflow: auto; - -webkit-box-sizing: border-box; - box-sizing: border-box; - -ms-flex-negative: 0; - flex-shrink: 0; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/autocomplete.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/autocomplete.css deleted file mode 100644 index de46b558..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/autocomplete.css +++ /dev/null @@ -1,1467 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-textarea { - position: relative; - display: inline-block; - width: 100%; - vertical-align: bottom; - font-size: 14px; } - .el-textarea__inner { - display: block; - resize: vertical; - padding: 5px 15px; - line-height: 1.5; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - font-size: inherit; - color: #606266; - background-color: #FFFFFF; - background-image: none; - border: 1px solid #DCDFE6; - border-radius: 4px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea__inner:hover { - border-color: #C0C4CC; } - .el-textarea__inner:focus { - outline: none; - border-color: #409EFF; } - .el-textarea .el-input__count { - color: #909399; - background: #FFFFFF; - position: absolute; - font-size: 12px; - bottom: 5px; - right: 10px; } - .el-textarea.is-disabled .el-textarea__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea.is-exceed .el-textarea__inner { - border-color: #F56C6C; } - .el-textarea.is-exceed .el-input__count { - color: #F56C6C; } - -.el-input { - position: relative; - font-size: 14px; - display: inline-block; - width: 100%; } - .el-input::-webkit-scrollbar { - z-index: 11; - width: 6px; } - .el-input::-webkit-scrollbar:horizontal { - height: 6px; } - .el-input::-webkit-scrollbar-thumb { - border-radius: 5px; - width: 6px; - background: #b4bccc; } - .el-input::-webkit-scrollbar-corner { - background: #fff; } - .el-input::-webkit-scrollbar-track { - background: #fff; } - .el-input::-webkit-scrollbar-track-piece { - background: #fff; - width: 6px; } - .el-input .el-input__clear { - color: #C0C4CC; - font-size: 14px; - cursor: pointer; - -webkit-transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-input .el-input__clear:hover { - color: #909399; } - .el-input .el-input__count { - height: 100%; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - color: #909399; - font-size: 12px; } - .el-input .el-input__count .el-input__count-inner { - background: #FFFFFF; - line-height: initial; - display: inline-block; - padding: 0 5px; } - .el-input__inner { - -webkit-appearance: none; - background-color: #FFFFFF; - background-image: none; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: #606266; - display: inline-block; - font-size: inherit; - height: 40px; - line-height: 40px; - outline: none; - padding: 0 15px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - width: 100%; } - .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input__inner:hover { - border-color: #C0C4CC; } - .el-input__inner:focus { - outline: none; - border-color: #409EFF; } - .el-input__suffix { - position: absolute; - height: 100%; - right: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; - pointer-events: none; } - .el-input__suffix-inner { - pointer-events: all; } - .el-input__prefix { - position: absolute; - height: 100%; - left: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; } - .el-input__icon { - height: 100%; - width: 25px; - text-align: center; - -webkit-transition: all .3s; - transition: all .3s; - line-height: 40px; } - .el-input__icon:after { - content: ''; - height: 100%; - width: 0; - display: inline-block; - vertical-align: middle; } - .el-input__validateIcon { - pointer-events: none; } - .el-input.is-active .el-input__inner { - outline: none; - border-color: #409EFF; } - .el-input.is-disabled .el-input__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-input.is-disabled .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__icon { - cursor: not-allowed; } - .el-input.is-exceed .el-input__inner { - border-color: #F56C6C; } - .el-input.is-exceed .el-input__suffix .el-input__count { - color: #F56C6C; } - .el-input--suffix .el-input__inner { - padding-right: 30px; } - .el-input--prefix .el-input__inner { - padding-left: 30px; } - .el-input--medium { - font-size: 14px; } - .el-input--medium .el-input__inner { - height: 36px; - line-height: 36px; } - .el-input--medium .el-input__icon { - line-height: 36px; } - .el-input--small { - font-size: 13px; } - .el-input--small .el-input__inner { - height: 32px; - line-height: 32px; } - .el-input--small .el-input__icon { - line-height: 32px; } - .el-input--mini { - font-size: 12px; } - .el-input--mini .el-input__inner { - height: 28px; - line-height: 28px; } - .el-input--mini .el-input__icon { - line-height: 28px; } - -.el-input-group { - line-height: normal; - display: inline-table; - width: 100%; - border-collapse: separate; - border-spacing: 0; } - .el-input-group > .el-input__inner { - vertical-align: middle; - display: table-cell; } - .el-input-group__append, .el-input-group__prepend { - background-color: #F5F7FA; - color: #909399; - vertical-align: middle; - display: table-cell; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 4px; - padding: 0 20px; - width: 1px; - white-space: nowrap; } - .el-input-group__append:focus, .el-input-group__prepend:focus { - outline: none; } - .el-input-group__append .el-select, - .el-input-group__append .el-button, .el-input-group__prepend .el-select, - .el-input-group__prepend .el-button { - display: inline-block; - margin: -10px -20px; } - .el-input-group__append button.el-button, - .el-input-group__append div.el-select .el-input__inner, - .el-input-group__append div.el-select:hover .el-input__inner, .el-input-group__prepend button.el-button, - .el-input-group__prepend div.el-select .el-input__inner, - .el-input-group__prepend div.el-select:hover .el-input__inner { - border-color: transparent; - background-color: transparent; - color: inherit; - border-top: 0; - border-bottom: 0; } - .el-input-group__append .el-button, - .el-input-group__append .el-input, .el-input-group__prepend .el-button, - .el-input-group__prepend .el-input { - font-size: inherit; } - .el-input-group__prepend { - border-right: 0; - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group__append { - border-left: 0; - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-input__inner { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - .el-input-group--append .el-input__inner { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group--append .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - -/** disalbe default clear on IE */ -.el-input__inner::-ms-clear { - display: none; - width: 0; - height: 0; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-scrollbar { - overflow: hidden; - position: relative; } - .el-scrollbar:hover > .el-scrollbar__bar, .el-scrollbar:active > .el-scrollbar__bar, .el-scrollbar:focus > .el-scrollbar__bar { - opacity: 1; - -webkit-transition: opacity 340ms ease-out; - transition: opacity 340ms ease-out; } - .el-scrollbar__wrap { - overflow: scroll; - height: 100%; } - .el-scrollbar__wrap--hidden-default { - scrollbar-width: none; } - .el-scrollbar__wrap--hidden-default::-webkit-scrollbar { - width: 0; - height: 0; } - .el-scrollbar__thumb { - position: relative; - display: block; - width: 0; - height: 0; - cursor: pointer; - border-radius: inherit; - background-color: rgba(144, 147, 153, 0.3); - -webkit-transition: .3s background-color; - transition: .3s background-color; } - .el-scrollbar__thumb:hover { - background-color: rgba(144, 147, 153, 0.5); } - .el-scrollbar__bar { - position: absolute; - right: 2px; - bottom: 2px; - z-index: 1; - border-radius: 4px; - opacity: 0; - -webkit-transition: opacity 120ms ease-out; - transition: opacity 120ms ease-out; } - .el-scrollbar__bar.is-vertical { - width: 6px; - top: 2px; } - .el-scrollbar__bar.is-vertical > div { - width: 100%; } - .el-scrollbar__bar.is-horizontal { - height: 6px; - left: 2px; } - .el-scrollbar__bar.is-horizontal > div { - height: 100%; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-popper .popper__arrow, -.el-popper .popper__arrow::after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; } - -.el-popper .popper__arrow { - border-width: 6px; - -webkit-filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); - filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); } - -.el-popper .popper__arrow::after { - content: " "; - border-width: 6px; } - -.el-popper[x-placement^="top"] { - margin-bottom: 12px; } - -.el-popper[x-placement^="top"] .popper__arrow { - bottom: -6px; - left: 50%; - margin-right: 3px; - border-top-color: #EBEEF5; - border-bottom-width: 0; } - .el-popper[x-placement^="top"] .popper__arrow::after { - bottom: 1px; - margin-left: -6px; - border-top-color: #FFFFFF; - border-bottom-width: 0; } - -.el-popper[x-placement^="bottom"] { - margin-top: 12px; } - -.el-popper[x-placement^="bottom"] .popper__arrow { - top: -6px; - left: 50%; - margin-right: 3px; - border-top-width: 0; - border-bottom-color: #EBEEF5; } - .el-popper[x-placement^="bottom"] .popper__arrow::after { - top: 1px; - margin-left: -6px; - border-top-width: 0; - border-bottom-color: #FFFFFF; } - -.el-popper[x-placement^="right"] { - margin-left: 12px; } - -.el-popper[x-placement^="right"] .popper__arrow { - top: 50%; - left: -6px; - margin-bottom: 3px; - border-right-color: #EBEEF5; - border-left-width: 0; } - .el-popper[x-placement^="right"] .popper__arrow::after { - bottom: -6px; - left: 1px; - border-right-color: #FFFFFF; - border-left-width: 0; } - -.el-popper[x-placement^="left"] { - margin-right: 12px; } - -.el-popper[x-placement^="left"] .popper__arrow { - top: 50%; - right: -6px; - margin-bottom: 3px; - border-right-width: 0; - border-left-color: #EBEEF5; } - .el-popper[x-placement^="left"] .popper__arrow::after { - right: 1px; - bottom: -6px; - margin-left: -6px; - border-right-width: 0; - border-left-color: #FFFFFF; } - -.el-autocomplete { - position: relative; - display: inline-block; } - -.el-autocomplete-suggestion { - margin: 5px 0; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - border-radius: 4px; - border: 1px solid #E4E7ED; - -webkit-box-sizing: border-box; - box-sizing: border-box; - background-color: #FFFFFF; } - .el-autocomplete-suggestion__wrap { - max-height: 280px; - padding: 10px 0; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-autocomplete-suggestion__list { - margin: 0; - padding: 0; } - .el-autocomplete-suggestion li { - padding: 0 20px; - margin: 0; - line-height: 34px; - cursor: pointer; - color: #606266; - font-size: 14px; - list-style: none; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; } - .el-autocomplete-suggestion li:hover { - background-color: #F5F7FA; } - .el-autocomplete-suggestion li.highlighted { - background-color: #F5F7FA; } - .el-autocomplete-suggestion li.divider { - margin-top: 6px; - border-top: 1px solid #000000; } - .el-autocomplete-suggestion li.divider:last-child { - margin-bottom: -6px; } - .el-autocomplete-suggestion.is-loading li { - text-align: center; - height: 100px; - line-height: 100px; - font-size: 20px; - color: #999; } - .el-autocomplete-suggestion.is-loading li::after { - display: inline-block; - content: ""; - height: 100%; - vertical-align: middle; } - .el-autocomplete-suggestion.is-loading li:hover { - background-color: #FFFFFF; } - .el-autocomplete-suggestion.is-loading .el-icon-loading { - vertical-align: middle; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/avatar.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/avatar.css deleted file mode 100644 index 02d35e49..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/avatar.css +++ /dev/null @@ -1,284 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-avatar { - display: inline-block; - -webkit-box-sizing: border-box; - box-sizing: border-box; - text-align: center; - overflow: hidden; - color: #fff; - background: #C0C4CC; - width: 40px; - height: 40px; - line-height: 40px; - font-size: 14px; } - .el-avatar > img { - display: block; - height: 100%; - vertical-align: middle; } - .el-avatar--circle { - border-radius: 50%; } - .el-avatar--square { - border-radius: 4px; } - .el-avatar--icon { - font-size: 18px; } - .el-avatar--large { - width: 40px; - height: 40px; - line-height: 40px; } - .el-avatar--medium { - width: 36px; - height: 36px; - line-height: 36px; } - .el-avatar--small { - width: 28px; - height: 28px; - line-height: 28px; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/backtop.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/backtop.css deleted file mode 100644 index 7c34d109..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/backtop.css +++ /dev/null @@ -1,273 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-backtop { - position: fixed; - background-color: #FFFFFF; - width: 40px; - height: 40px; - border-radius: 50%; - color: #409EFF; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - font-size: 20px; - -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.12); - box-shadow: 0 0 6px rgba(0, 0, 0, 0.12); - cursor: pointer; - z-index: 5; } - .el-backtop:hover { - background-color: #F2F6FC; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/badge.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/badge.css deleted file mode 100644 index eef98450..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/badge.css +++ /dev/null @@ -1,290 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-badge { - position: relative; - vertical-align: middle; - display: inline-block; } - .el-badge__content { - background-color: #F56C6C; - border-radius: 10px; - color: #FFFFFF; - display: inline-block; - font-size: 12px; - height: 18px; - line-height: 18px; - padding: 0 6px; - text-align: center; - white-space: nowrap; - border: 1px solid #FFFFFF; } - .el-badge__content.is-fixed { - position: absolute; - top: 0; - right: 10px; - -webkit-transform: translateY(-50%) translateX(100%); - transform: translateY(-50%) translateX(100%); } - .el-badge__content.is-fixed.is-dot { - right: 5px; } - .el-badge__content.is-dot { - height: 8px; - width: 8px; - padding: 0; - right: 0; - border-radius: 50%; } - .el-badge__content--primary { - background-color: #409EFF; } - .el-badge__content--success { - background-color: #67C23A; } - .el-badge__content--warning { - background-color: #E6A23C; } - .el-badge__content--info { - background-color: #909399; } - .el-badge__content--danger { - background-color: #F56C6C; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/base.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/base.css deleted file mode 100644 index 2cbc1274..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/base.css +++ /dev/null @@ -1,1244 +0,0 @@ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.fade-in-linear-enter-active, -.fade-in-linear-leave-active { - -webkit-transition: opacity 200ms linear; - transition: opacity 200ms linear; } - -.fade-in-linear-enter, -.fade-in-linear-leave, -.fade-in-linear-leave-active { - opacity: 0; } - -.el-fade-in-linear-enter-active, -.el-fade-in-linear-leave-active { - -webkit-transition: opacity 200ms linear; - transition: opacity 200ms linear; } - -.el-fade-in-linear-enter, -.el-fade-in-linear-leave, -.el-fade-in-linear-leave-active { - opacity: 0; } - -.el-fade-in-enter-active, -.el-fade-in-leave-active { - -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-fade-in-enter, -.el-fade-in-leave-active { - opacity: 0; } - -.el-zoom-in-center-enter-active, -.el-zoom-in-center-leave-active { - -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-zoom-in-center-enter, -.el-zoom-in-center-leave-active { - opacity: 0; - -webkit-transform: scaleX(0); - transform: scaleX(0); } - -.el-zoom-in-top-enter-active, -.el-zoom-in-top-leave-active { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: center top; - transform-origin: center top; } - -.el-zoom-in-top-enter, -.el-zoom-in-top-leave-active { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0); } - -.el-zoom-in-bottom-enter-active, -.el-zoom-in-bottom-leave-active { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; } - -.el-zoom-in-bottom-enter, -.el-zoom-in-bottom-leave-active { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0); } - -.el-zoom-in-left-enter-active, -.el-zoom-in-left-leave-active { - opacity: 1; - -webkit-transform: scale(1, 1); - transform: scale(1, 1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: top left; - transform-origin: top left; } - -.el-zoom-in-left-enter, -.el-zoom-in-left-leave-active { - opacity: 0; - -webkit-transform: scale(0.45, 0.45); - transform: scale(0.45, 0.45); } - -.collapse-transition { - -webkit-transition: 0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out; - transition: 0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out; } - -.horizontal-collapse-transition { - -webkit-transition: 0.3s width ease-in-out, 0.3s padding-left ease-in-out, 0.3s padding-right ease-in-out; - transition: 0.3s width ease-in-out, 0.3s padding-left ease-in-out, 0.3s padding-right ease-in-out; } - -.el-list-enter-active, -.el-list-leave-active { - -webkit-transition: all 1s; - transition: all 1s; } - -.el-list-enter, .el-list-leave-active { - opacity: 0; - -webkit-transform: translateY(-30px); - transform: translateY(-30px); } - -.el-opacity-transition { - -webkit-transition: opacity 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: opacity 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -@font-face { - font-family: 'element-icons'; - src: url("fonts/element-icons.woff") format("woff"), url("fonts/element-icons.ttf") format("truetype"); - /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/ - font-weight: normal; - font-display: "auto"; - font-style: normal; } - -[class^="el-icon-"], [class*=" el-icon-"] { - /* use !important to prevent issues with browser extensions that change fonts */ - font-family: 'element-icons' !important; - speak: none; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - vertical-align: baseline; - display: inline-block; - /* Better Font Rendering =========== */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; } - -.el-icon-ice-cream-round:before { - content: "\e6a0"; } - -.el-icon-ice-cream-square:before { - content: "\e6a3"; } - -.el-icon-lollipop:before { - content: "\e6a4"; } - -.el-icon-potato-strips:before { - content: "\e6a5"; } - -.el-icon-milk-tea:before { - content: "\e6a6"; } - -.el-icon-ice-drink:before { - content: "\e6a7"; } - -.el-icon-ice-tea:before { - content: "\e6a9"; } - -.el-icon-coffee:before { - content: "\e6aa"; } - -.el-icon-orange:before { - content: "\e6ab"; } - -.el-icon-pear:before { - content: "\e6ac"; } - -.el-icon-apple:before { - content: "\e6ad"; } - -.el-icon-cherry:before { - content: "\e6ae"; } - -.el-icon-watermelon:before { - content: "\e6af"; } - -.el-icon-grape:before { - content: "\e6b0"; } - -.el-icon-refrigerator:before { - content: "\e6b1"; } - -.el-icon-goblet-square-full:before { - content: "\e6b2"; } - -.el-icon-goblet-square:before { - content: "\e6b3"; } - -.el-icon-goblet-full:before { - content: "\e6b4"; } - -.el-icon-goblet:before { - content: "\e6b5"; } - -.el-icon-cold-drink:before { - content: "\e6b6"; } - -.el-icon-coffee-cup:before { - content: "\e6b8"; } - -.el-icon-water-cup:before { - content: "\e6b9"; } - -.el-icon-hot-water:before { - content: "\e6ba"; } - -.el-icon-ice-cream:before { - content: "\e6bb"; } - -.el-icon-dessert:before { - content: "\e6bc"; } - -.el-icon-sugar:before { - content: "\e6bd"; } - -.el-icon-tableware:before { - content: "\e6be"; } - -.el-icon-burger:before { - content: "\e6bf"; } - -.el-icon-knife-fork:before { - content: "\e6c1"; } - -.el-icon-fork-spoon:before { - content: "\e6c2"; } - -.el-icon-chicken:before { - content: "\e6c3"; } - -.el-icon-food:before { - content: "\e6c4"; } - -.el-icon-dish-1:before { - content: "\e6c5"; } - -.el-icon-dish:before { - content: "\e6c6"; } - -.el-icon-moon-night:before { - content: "\e6ee"; } - -.el-icon-moon:before { - content: "\e6f0"; } - -.el-icon-cloudy-and-sunny:before { - content: "\e6f1"; } - -.el-icon-partly-cloudy:before { - content: "\e6f2"; } - -.el-icon-cloudy:before { - content: "\e6f3"; } - -.el-icon-sunny:before { - content: "\e6f6"; } - -.el-icon-sunset:before { - content: "\e6f7"; } - -.el-icon-sunrise-1:before { - content: "\e6f8"; } - -.el-icon-sunrise:before { - content: "\e6f9"; } - -.el-icon-heavy-rain:before { - content: "\e6fa"; } - -.el-icon-lightning:before { - content: "\e6fb"; } - -.el-icon-light-rain:before { - content: "\e6fc"; } - -.el-icon-wind-power:before { - content: "\e6fd"; } - -.el-icon-baseball:before { - content: "\e712"; } - -.el-icon-soccer:before { - content: "\e713"; } - -.el-icon-football:before { - content: "\e715"; } - -.el-icon-basketball:before { - content: "\e716"; } - -.el-icon-ship:before { - content: "\e73f"; } - -.el-icon-truck:before { - content: "\e740"; } - -.el-icon-bicycle:before { - content: "\e741"; } - -.el-icon-mobile-phone:before { - content: "\e6d3"; } - -.el-icon-service:before { - content: "\e6d4"; } - -.el-icon-key:before { - content: "\e6e2"; } - -.el-icon-unlock:before { - content: "\e6e4"; } - -.el-icon-lock:before { - content: "\e6e5"; } - -.el-icon-watch:before { - content: "\e6fe"; } - -.el-icon-watch-1:before { - content: "\e6ff"; } - -.el-icon-timer:before { - content: "\e702"; } - -.el-icon-alarm-clock:before { - content: "\e703"; } - -.el-icon-map-location:before { - content: "\e704"; } - -.el-icon-delete-location:before { - content: "\e705"; } - -.el-icon-add-location:before { - content: "\e706"; } - -.el-icon-location-information:before { - content: "\e707"; } - -.el-icon-location-outline:before { - content: "\e708"; } - -.el-icon-location:before { - content: "\e79e"; } - -.el-icon-place:before { - content: "\e709"; } - -.el-icon-discover:before { - content: "\e70a"; } - -.el-icon-first-aid-kit:before { - content: "\e70b"; } - -.el-icon-trophy-1:before { - content: "\e70c"; } - -.el-icon-trophy:before { - content: "\e70d"; } - -.el-icon-medal:before { - content: "\e70e"; } - -.el-icon-medal-1:before { - content: "\e70f"; } - -.el-icon-stopwatch:before { - content: "\e710"; } - -.el-icon-mic:before { - content: "\e711"; } - -.el-icon-copy-document:before { - content: "\e718"; } - -.el-icon-full-screen:before { - content: "\e719"; } - -.el-icon-switch-button:before { - content: "\e71b"; } - -.el-icon-aim:before { - content: "\e71c"; } - -.el-icon-crop:before { - content: "\e71d"; } - -.el-icon-odometer:before { - content: "\e71e"; } - -.el-icon-time:before { - content: "\e71f"; } - -.el-icon-bangzhu:before { - content: "\e724"; } - -.el-icon-close-notification:before { - content: "\e726"; } - -.el-icon-microphone:before { - content: "\e727"; } - -.el-icon-turn-off-microphone:before { - content: "\e728"; } - -.el-icon-position:before { - content: "\e729"; } - -.el-icon-postcard:before { - content: "\e72a"; } - -.el-icon-message:before { - content: "\e72b"; } - -.el-icon-chat-line-square:before { - content: "\e72d"; } - -.el-icon-chat-dot-square:before { - content: "\e72e"; } - -.el-icon-chat-dot-round:before { - content: "\e72f"; } - -.el-icon-chat-square:before { - content: "\e730"; } - -.el-icon-chat-line-round:before { - content: "\e731"; } - -.el-icon-chat-round:before { - content: "\e732"; } - -.el-icon-set-up:before { - content: "\e733"; } - -.el-icon-turn-off:before { - content: "\e734"; } - -.el-icon-open:before { - content: "\e735"; } - -.el-icon-connection:before { - content: "\e736"; } - -.el-icon-link:before { - content: "\e737"; } - -.el-icon-cpu:before { - content: "\e738"; } - -.el-icon-thumb:before { - content: "\e739"; } - -.el-icon-female:before { - content: "\e73a"; } - -.el-icon-male:before { - content: "\e73b"; } - -.el-icon-guide:before { - content: "\e73c"; } - -.el-icon-news:before { - content: "\e73e"; } - -.el-icon-price-tag:before { - content: "\e744"; } - -.el-icon-discount:before { - content: "\e745"; } - -.el-icon-wallet:before { - content: "\e747"; } - -.el-icon-coin:before { - content: "\e748"; } - -.el-icon-money:before { - content: "\e749"; } - -.el-icon-bank-card:before { - content: "\e74a"; } - -.el-icon-box:before { - content: "\e74b"; } - -.el-icon-present:before { - content: "\e74c"; } - -.el-icon-sell:before { - content: "\e6d5"; } - -.el-icon-sold-out:before { - content: "\e6d6"; } - -.el-icon-shopping-bag-2:before { - content: "\e74d"; } - -.el-icon-shopping-bag-1:before { - content: "\e74e"; } - -.el-icon-shopping-cart-2:before { - content: "\e74f"; } - -.el-icon-shopping-cart-1:before { - content: "\e750"; } - -.el-icon-shopping-cart-full:before { - content: "\e751"; } - -.el-icon-smoking:before { - content: "\e752"; } - -.el-icon-no-smoking:before { - content: "\e753"; } - -.el-icon-house:before { - content: "\e754"; } - -.el-icon-table-lamp:before { - content: "\e755"; } - -.el-icon-school:before { - content: "\e756"; } - -.el-icon-office-building:before { - content: "\e757"; } - -.el-icon-toilet-paper:before { - content: "\e758"; } - -.el-icon-notebook-2:before { - content: "\e759"; } - -.el-icon-notebook-1:before { - content: "\e75a"; } - -.el-icon-files:before { - content: "\e75b"; } - -.el-icon-collection:before { - content: "\e75c"; } - -.el-icon-receiving:before { - content: "\e75d"; } - -.el-icon-suitcase-1:before { - content: "\e760"; } - -.el-icon-suitcase:before { - content: "\e761"; } - -.el-icon-film:before { - content: "\e763"; } - -.el-icon-collection-tag:before { - content: "\e765"; } - -.el-icon-data-analysis:before { - content: "\e766"; } - -.el-icon-pie-chart:before { - content: "\e767"; } - -.el-icon-data-board:before { - content: "\e768"; } - -.el-icon-data-line:before { - content: "\e76d"; } - -.el-icon-reading:before { - content: "\e769"; } - -.el-icon-magic-stick:before { - content: "\e76a"; } - -.el-icon-coordinate:before { - content: "\e76b"; } - -.el-icon-mouse:before { - content: "\e76c"; } - -.el-icon-brush:before { - content: "\e76e"; } - -.el-icon-headset:before { - content: "\e76f"; } - -.el-icon-umbrella:before { - content: "\e770"; } - -.el-icon-scissors:before { - content: "\e771"; } - -.el-icon-mobile:before { - content: "\e773"; } - -.el-icon-attract:before { - content: "\e774"; } - -.el-icon-monitor:before { - content: "\e775"; } - -.el-icon-search:before { - content: "\e778"; } - -.el-icon-takeaway-box:before { - content: "\e77a"; } - -.el-icon-paperclip:before { - content: "\e77d"; } - -.el-icon-printer:before { - content: "\e77e"; } - -.el-icon-document-add:before { - content: "\e782"; } - -.el-icon-document:before { - content: "\e785"; } - -.el-icon-document-checked:before { - content: "\e786"; } - -.el-icon-document-copy:before { - content: "\e787"; } - -.el-icon-document-delete:before { - content: "\e788"; } - -.el-icon-document-remove:before { - content: "\e789"; } - -.el-icon-tickets:before { - content: "\e78b"; } - -.el-icon-folder-checked:before { - content: "\e77f"; } - -.el-icon-folder-delete:before { - content: "\e780"; } - -.el-icon-folder-remove:before { - content: "\e781"; } - -.el-icon-folder-add:before { - content: "\e783"; } - -.el-icon-folder-opened:before { - content: "\e784"; } - -.el-icon-folder:before { - content: "\e78a"; } - -.el-icon-edit-outline:before { - content: "\e764"; } - -.el-icon-edit:before { - content: "\e78c"; } - -.el-icon-date:before { - content: "\e78e"; } - -.el-icon-c-scale-to-original:before { - content: "\e7c6"; } - -.el-icon-view:before { - content: "\e6ce"; } - -.el-icon-loading:before { - content: "\e6cf"; } - -.el-icon-rank:before { - content: "\e6d1"; } - -.el-icon-sort-down:before { - content: "\e7c4"; } - -.el-icon-sort-up:before { - content: "\e7c5"; } - -.el-icon-sort:before { - content: "\e6d2"; } - -.el-icon-finished:before { - content: "\e6cd"; } - -.el-icon-refresh-left:before { - content: "\e6c7"; } - -.el-icon-refresh-right:before { - content: "\e6c8"; } - -.el-icon-refresh:before { - content: "\e6d0"; } - -.el-icon-video-play:before { - content: "\e7c0"; } - -.el-icon-video-pause:before { - content: "\e7c1"; } - -.el-icon-d-arrow-right:before { - content: "\e6dc"; } - -.el-icon-d-arrow-left:before { - content: "\e6dd"; } - -.el-icon-arrow-up:before { - content: "\e6e1"; } - -.el-icon-arrow-down:before { - content: "\e6df"; } - -.el-icon-arrow-right:before { - content: "\e6e0"; } - -.el-icon-arrow-left:before { - content: "\e6de"; } - -.el-icon-top-right:before { - content: "\e6e7"; } - -.el-icon-top-left:before { - content: "\e6e8"; } - -.el-icon-top:before { - content: "\e6e6"; } - -.el-icon-bottom:before { - content: "\e6eb"; } - -.el-icon-right:before { - content: "\e6e9"; } - -.el-icon-back:before { - content: "\e6ea"; } - -.el-icon-bottom-right:before { - content: "\e6ec"; } - -.el-icon-bottom-left:before { - content: "\e6ed"; } - -.el-icon-caret-top:before { - content: "\e78f"; } - -.el-icon-caret-bottom:before { - content: "\e790"; } - -.el-icon-caret-right:before { - content: "\e791"; } - -.el-icon-caret-left:before { - content: "\e792"; } - -.el-icon-d-caret:before { - content: "\e79a"; } - -.el-icon-share:before { - content: "\e793"; } - -.el-icon-menu:before { - content: "\e798"; } - -.el-icon-s-grid:before { - content: "\e7a6"; } - -.el-icon-s-check:before { - content: "\e7a7"; } - -.el-icon-s-data:before { - content: "\e7a8"; } - -.el-icon-s-opportunity:before { - content: "\e7aa"; } - -.el-icon-s-custom:before { - content: "\e7ab"; } - -.el-icon-s-claim:before { - content: "\e7ad"; } - -.el-icon-s-finance:before { - content: "\e7ae"; } - -.el-icon-s-comment:before { - content: "\e7af"; } - -.el-icon-s-flag:before { - content: "\e7b0"; } - -.el-icon-s-marketing:before { - content: "\e7b1"; } - -.el-icon-s-shop:before { - content: "\e7b4"; } - -.el-icon-s-open:before { - content: "\e7b5"; } - -.el-icon-s-management:before { - content: "\e7b6"; } - -.el-icon-s-ticket:before { - content: "\e7b7"; } - -.el-icon-s-release:before { - content: "\e7b8"; } - -.el-icon-s-home:before { - content: "\e7b9"; } - -.el-icon-s-promotion:before { - content: "\e7ba"; } - -.el-icon-s-operation:before { - content: "\e7bb"; } - -.el-icon-s-unfold:before { - content: "\e7bc"; } - -.el-icon-s-fold:before { - content: "\e7a9"; } - -.el-icon-s-platform:before { - content: "\e7bd"; } - -.el-icon-s-order:before { - content: "\e7be"; } - -.el-icon-s-cooperation:before { - content: "\e7bf"; } - -.el-icon-bell:before { - content: "\e725"; } - -.el-icon-message-solid:before { - content: "\e799"; } - -.el-icon-video-camera:before { - content: "\e772"; } - -.el-icon-video-camera-solid:before { - content: "\e796"; } - -.el-icon-camera:before { - content: "\e779"; } - -.el-icon-camera-solid:before { - content: "\e79b"; } - -.el-icon-download:before { - content: "\e77c"; } - -.el-icon-upload2:before { - content: "\e77b"; } - -.el-icon-upload:before { - content: "\e7c3"; } - -.el-icon-picture-outline-round:before { - content: "\e75f"; } - -.el-icon-picture-outline:before { - content: "\e75e"; } - -.el-icon-picture:before { - content: "\e79f"; } - -.el-icon-close:before { - content: "\e6db"; } - -.el-icon-check:before { - content: "\e6da"; } - -.el-icon-plus:before { - content: "\e6d9"; } - -.el-icon-minus:before { - content: "\e6d8"; } - -.el-icon-help:before { - content: "\e73d"; } - -.el-icon-s-help:before { - content: "\e7b3"; } - -.el-icon-circle-close:before { - content: "\e78d"; } - -.el-icon-circle-check:before { - content: "\e720"; } - -.el-icon-circle-plus-outline:before { - content: "\e723"; } - -.el-icon-remove-outline:before { - content: "\e722"; } - -.el-icon-zoom-out:before { - content: "\e776"; } - -.el-icon-zoom-in:before { - content: "\e777"; } - -.el-icon-error:before { - content: "\e79d"; } - -.el-icon-success:before { - content: "\e79c"; } - -.el-icon-circle-plus:before { - content: "\e7a0"; } - -.el-icon-remove:before { - content: "\e7a2"; } - -.el-icon-info:before { - content: "\e7a1"; } - -.el-icon-question:before { - content: "\e7a4"; } - -.el-icon-warning-outline:before { - content: "\e6c9"; } - -.el-icon-warning:before { - content: "\e7a3"; } - -.el-icon-goods:before { - content: "\e7c2"; } - -.el-icon-s-goods:before { - content: "\e7b2"; } - -.el-icon-star-off:before { - content: "\e717"; } - -.el-icon-star-on:before { - content: "\e797"; } - -.el-icon-more-outline:before { - content: "\e6cc"; } - -.el-icon-more:before { - content: "\e794"; } - -.el-icon-phone-outline:before { - content: "\e6cb"; } - -.el-icon-phone:before { - content: "\e795"; } - -.el-icon-user:before { - content: "\e6e3"; } - -.el-icon-user-solid:before { - content: "\e7a5"; } - -.el-icon-setting:before { - content: "\e6ca"; } - -.el-icon-s-tools:before { - content: "\e7ac"; } - -.el-icon-delete:before { - content: "\e6d7"; } - -.el-icon-delete-solid:before { - content: "\e7c9"; } - -.el-icon-eleme:before { - content: "\e7c7"; } - -.el-icon-platform-eleme:before { - content: "\e7ca"; } - -.el-icon-loading { - -webkit-animation: rotating 2s linear infinite; - animation: rotating 2s linear infinite; } - -.el-icon--right { - margin-left: 5px; } - -.el-icon--left { - margin-right: 5px; } - -@-webkit-keyframes rotating { - 0% { - -webkit-transform: rotateZ(0deg); - transform: rotateZ(0deg); } - 100% { - -webkit-transform: rotateZ(360deg); - transform: rotateZ(360deg); } } - -@keyframes rotating { - 0% { - -webkit-transform: rotateZ(0deg); - transform: rotateZ(0deg); } - 100% { - -webkit-transform: rotateZ(360deg); - transform: rotateZ(360deg); } } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/breadcrumb-item.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/breadcrumb-item.css deleted file mode 100644 index e69de29b..00000000 diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/breadcrumb.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/breadcrumb.css deleted file mode 100644 index 80884ebf..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/breadcrumb.css +++ /dev/null @@ -1,287 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-breadcrumb { - font-size: 14px; - line-height: 1; } - .el-breadcrumb::before, - .el-breadcrumb::after { - display: table; - content: ""; } - .el-breadcrumb::after { - clear: both; } - .el-breadcrumb__separator { - margin: 0 9px; - font-weight: bold; - color: #C0C4CC; } - .el-breadcrumb__separator[class*=icon] { - margin: 0 6px; - font-weight: normal; } - .el-breadcrumb__item { - float: left; } - .el-breadcrumb__inner { - color: #606266; } - .el-breadcrumb__inner.is-link, .el-breadcrumb__inner a { - font-weight: bold; - text-decoration: none; - -webkit-transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - color: #303133; } - .el-breadcrumb__inner.is-link:hover, .el-breadcrumb__inner a:hover { - color: #409EFF; - cursor: pointer; } - .el-breadcrumb__item:last-child .el-breadcrumb__inner, .el-breadcrumb__item:last-child .el-breadcrumb__inner:hover, - .el-breadcrumb__item:last-child .el-breadcrumb__inner a, - .el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover { - font-weight: normal; - color: #606266; - cursor: text; } - .el-breadcrumb__item:last-child .el-breadcrumb__separator { - display: none; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/button-group.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/button-group.css deleted file mode 100644 index e69de29b..00000000 diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/button.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/button.css deleted file mode 100644 index fd339ab4..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/button.css +++ /dev/null @@ -1,762 +0,0 @@ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -.el-button { - display: inline-block; - line-height: 1; - white-space: nowrap; - cursor: pointer; - background: #FFFFFF; - border: 1px solid #DCDFE6; - border-color: #DCDFE6; - color: #606266; - -webkit-appearance: none; - text-align: center; - -webkit-box-sizing: border-box; - box-sizing: border-box; - outline: none; - margin: 0; - -webkit-transition: .1s; - transition: .1s; - font-weight: 500; - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - padding: 12px 20px; - font-size: 14px; - border-radius: 4px; } - .el-button + .el-button { - margin-left: 10px; } - .el-button.is-round { - padding: 12px 20px; } - .el-button:hover, .el-button:focus { - color: #409EFF; - border-color: #c6e2ff; - background-color: #ecf5ff; } - .el-button:active { - color: #3a8ee6; - border-color: #3a8ee6; - outline: none; } - .el-button::-moz-focus-inner { - border: 0; } - .el-button [class*="el-icon-"] + span { - margin-left: 5px; } - .el-button.is-plain:hover, .el-button.is-plain:focus { - background: #FFFFFF; - border-color: #409EFF; - color: #409EFF; } - .el-button.is-plain:active { - background: #FFFFFF; - border-color: #3a8ee6; - color: #3a8ee6; - outline: none; } - .el-button.is-active { - color: #3a8ee6; - border-color: #3a8ee6; } - .el-button.is-disabled, .el-button.is-disabled:hover, .el-button.is-disabled:focus { - color: #C0C4CC; - cursor: not-allowed; - background-image: none; - background-color: #FFFFFF; - border-color: #EBEEF5; } - .el-button.is-disabled.el-button--text { - background-color: transparent; } - .el-button.is-disabled.is-plain, .el-button.is-disabled.is-plain:hover, .el-button.is-disabled.is-plain:focus { - background-color: #FFFFFF; - border-color: #EBEEF5; - color: #C0C4CC; } - .el-button.is-loading { - position: relative; - pointer-events: none; } - .el-button.is-loading:before { - pointer-events: none; - content: ''; - position: absolute; - left: -1px; - top: -1px; - right: -1px; - bottom: -1px; - border-radius: inherit; - background-color: rgba(255, 255, 255, 0.35); } - .el-button.is-round { - border-radius: 20px; - padding: 12px 23px; } - .el-button.is-circle { - border-radius: 50%; - padding: 12px; } - .el-button--primary { - color: #FFFFFF; - background-color: #409EFF; - border-color: #409EFF; } - .el-button--primary:hover, .el-button--primary:focus { - background: #66b1ff; - border-color: #66b1ff; - color: #FFFFFF; } - .el-button--primary:active { - background: #3a8ee6; - border-color: #3a8ee6; - color: #FFFFFF; - outline: none; } - .el-button--primary.is-active { - background: #3a8ee6; - border-color: #3a8ee6; - color: #FFFFFF; } - .el-button--primary.is-disabled, .el-button--primary.is-disabled:hover, .el-button--primary.is-disabled:focus, .el-button--primary.is-disabled:active { - color: #FFFFFF; - background-color: #a0cfff; - border-color: #a0cfff; } - .el-button--primary.is-plain { - color: #409EFF; - background: #ecf5ff; - border-color: #b3d8ff; } - .el-button--primary.is-plain:hover, .el-button--primary.is-plain:focus { - background: #409EFF; - border-color: #409EFF; - color: #FFFFFF; } - .el-button--primary.is-plain:active { - background: #3a8ee6; - border-color: #3a8ee6; - color: #FFFFFF; - outline: none; } - .el-button--primary.is-plain.is-disabled, .el-button--primary.is-plain.is-disabled:hover, .el-button--primary.is-plain.is-disabled:focus, .el-button--primary.is-plain.is-disabled:active { - color: #8cc5ff; - background-color: #ecf5ff; - border-color: #d9ecff; } - .el-button--success { - color: #FFFFFF; - background-color: #67C23A; - border-color: #67C23A; } - .el-button--success:hover, .el-button--success:focus { - background: #85ce61; - border-color: #85ce61; - color: #FFFFFF; } - .el-button--success:active { - background: #5daf34; - border-color: #5daf34; - color: #FFFFFF; - outline: none; } - .el-button--success.is-active { - background: #5daf34; - border-color: #5daf34; - color: #FFFFFF; } - .el-button--success.is-disabled, .el-button--success.is-disabled:hover, .el-button--success.is-disabled:focus, .el-button--success.is-disabled:active { - color: #FFFFFF; - background-color: #b3e19d; - border-color: #b3e19d; } - .el-button--success.is-plain { - color: #67C23A; - background: #f0f9eb; - border-color: #c2e7b0; } - .el-button--success.is-plain:hover, .el-button--success.is-plain:focus { - background: #67C23A; - border-color: #67C23A; - color: #FFFFFF; } - .el-button--success.is-plain:active { - background: #5daf34; - border-color: #5daf34; - color: #FFFFFF; - outline: none; } - .el-button--success.is-plain.is-disabled, .el-button--success.is-plain.is-disabled:hover, .el-button--success.is-plain.is-disabled:focus, .el-button--success.is-plain.is-disabled:active { - color: #a4da89; - background-color: #f0f9eb; - border-color: #e1f3d8; } - .el-button--warning { - color: #FFFFFF; - background-color: #E6A23C; - border-color: #E6A23C; } - .el-button--warning:hover, .el-button--warning:focus { - background: #ebb563; - border-color: #ebb563; - color: #FFFFFF; } - .el-button--warning:active { - background: #cf9236; - border-color: #cf9236; - color: #FFFFFF; - outline: none; } - .el-button--warning.is-active { - background: #cf9236; - border-color: #cf9236; - color: #FFFFFF; } - .el-button--warning.is-disabled, .el-button--warning.is-disabled:hover, .el-button--warning.is-disabled:focus, .el-button--warning.is-disabled:active { - color: #FFFFFF; - background-color: #f3d19e; - border-color: #f3d19e; } - .el-button--warning.is-plain { - color: #E6A23C; - background: #fdf6ec; - border-color: #f5dab1; } - .el-button--warning.is-plain:hover, .el-button--warning.is-plain:focus { - background: #E6A23C; - border-color: #E6A23C; - color: #FFFFFF; } - .el-button--warning.is-plain:active { - background: #cf9236; - border-color: #cf9236; - color: #FFFFFF; - outline: none; } - .el-button--warning.is-plain.is-disabled, .el-button--warning.is-plain.is-disabled:hover, .el-button--warning.is-plain.is-disabled:focus, .el-button--warning.is-plain.is-disabled:active { - color: #f0c78a; - background-color: #fdf6ec; - border-color: #faecd8; } - .el-button--danger { - color: #FFFFFF; - background-color: #F56C6C; - border-color: #F56C6C; } - .el-button--danger:hover, .el-button--danger:focus { - background: #f78989; - border-color: #f78989; - color: #FFFFFF; } - .el-button--danger:active { - background: #dd6161; - border-color: #dd6161; - color: #FFFFFF; - outline: none; } - .el-button--danger.is-active { - background: #dd6161; - border-color: #dd6161; - color: #FFFFFF; } - .el-button--danger.is-disabled, .el-button--danger.is-disabled:hover, .el-button--danger.is-disabled:focus, .el-button--danger.is-disabled:active { - color: #FFFFFF; - background-color: #fab6b6; - border-color: #fab6b6; } - .el-button--danger.is-plain { - color: #F56C6C; - background: #fef0f0; - border-color: #fbc4c4; } - .el-button--danger.is-plain:hover, .el-button--danger.is-plain:focus { - background: #F56C6C; - border-color: #F56C6C; - color: #FFFFFF; } - .el-button--danger.is-plain:active { - background: #dd6161; - border-color: #dd6161; - color: #FFFFFF; - outline: none; } - .el-button--danger.is-plain.is-disabled, .el-button--danger.is-plain.is-disabled:hover, .el-button--danger.is-plain.is-disabled:focus, .el-button--danger.is-plain.is-disabled:active { - color: #f9a7a7; - background-color: #fef0f0; - border-color: #fde2e2; } - .el-button--info { - color: #FFFFFF; - background-color: #909399; - border-color: #909399; } - .el-button--info:hover, .el-button--info:focus { - background: #a6a9ad; - border-color: #a6a9ad; - color: #FFFFFF; } - .el-button--info:active { - background: #82848a; - border-color: #82848a; - color: #FFFFFF; - outline: none; } - .el-button--info.is-active { - background: #82848a; - border-color: #82848a; - color: #FFFFFF; } - .el-button--info.is-disabled, .el-button--info.is-disabled:hover, .el-button--info.is-disabled:focus, .el-button--info.is-disabled:active { - color: #FFFFFF; - background-color: #c8c9cc; - border-color: #c8c9cc; } - .el-button--info.is-plain { - color: #909399; - background: #f4f4f5; - border-color: #d3d4d6; } - .el-button--info.is-plain:hover, .el-button--info.is-plain:focus { - background: #909399; - border-color: #909399; - color: #FFFFFF; } - .el-button--info.is-plain:active { - background: #82848a; - border-color: #82848a; - color: #FFFFFF; - outline: none; } - .el-button--info.is-plain.is-disabled, .el-button--info.is-plain.is-disabled:hover, .el-button--info.is-plain.is-disabled:focus, .el-button--info.is-plain.is-disabled:active { - color: #bcbec2; - background-color: #f4f4f5; - border-color: #e9e9eb; } - .el-button--medium { - padding: 10px 20px; - font-size: 14px; - border-radius: 4px; } - .el-button--medium.is-round { - padding: 10px 20px; } - .el-button--medium.is-circle { - padding: 10px; } - .el-button--small { - padding: 9px 15px; - font-size: 12px; - border-radius: 3px; } - .el-button--small.is-round { - padding: 9px 15px; } - .el-button--small.is-circle { - padding: 9px; } - .el-button--mini { - padding: 7px 15px; - font-size: 12px; - border-radius: 3px; } - .el-button--mini.is-round { - padding: 7px 15px; } - .el-button--mini.is-circle { - padding: 7px; } - .el-button--text { - border-color: transparent; - color: #409EFF; - background: transparent; - padding-left: 0; - padding-right: 0; } - .el-button--text:hover, .el-button--text:focus { - color: #66b1ff; - border-color: transparent; - background-color: transparent; } - .el-button--text:active { - color: #3a8ee6; - border-color: transparent; - background-color: transparent; } - .el-button--text.is-disabled, .el-button--text.is-disabled:hover, .el-button--text.is-disabled:focus { - border-color: transparent; } - -.el-button-group { - display: inline-block; - vertical-align: middle; } - .el-button-group::before, - .el-button-group::after { - display: table; - content: ""; } - .el-button-group::after { - clear: both; } - .el-button-group > .el-button { - float: left; - position: relative; } - .el-button-group > .el-button + .el-button { - margin-left: 0; } - .el-button-group > .el-button.is-disabled { - z-index: 1; } - .el-button-group > .el-button:first-child { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-button-group > .el-button:last-child { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-button-group > .el-button:first-child:last-child { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; } - .el-button-group > .el-button:first-child:last-child.is-round { - border-radius: 20px; } - .el-button-group > .el-button:first-child:last-child.is-circle { - border-radius: 50%; } - .el-button-group > .el-button:not(:first-child):not(:last-child) { - border-radius: 0; } - .el-button-group > .el-button:not(:last-child) { - margin-right: -1px; } - .el-button-group > .el-button:hover, .el-button-group > .el-button:focus, .el-button-group > .el-button:active { - z-index: 1; } - .el-button-group > .el-button.is-active { - z-index: 1; } - .el-button-group > .el-dropdown > .el-button { - border-top-left-radius: 0; - border-bottom-left-radius: 0; - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--primary:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--primary:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--primary:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--success:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--success:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--success:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--warning:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--warning:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--warning:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--danger:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--danger:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--danger:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--info:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--info:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--info:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/calendar.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/calendar.css deleted file mode 100644 index 78ef6366..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/calendar.css +++ /dev/null @@ -1,1065 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -.el-button { - display: inline-block; - line-height: 1; - white-space: nowrap; - cursor: pointer; - background: #FFFFFF; - border: 1px solid #DCDFE6; - border-color: #DCDFE6; - color: #606266; - -webkit-appearance: none; - text-align: center; - -webkit-box-sizing: border-box; - box-sizing: border-box; - outline: none; - margin: 0; - -webkit-transition: .1s; - transition: .1s; - font-weight: 500; - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - padding: 12px 20px; - font-size: 14px; - border-radius: 4px; } - .el-button + .el-button { - margin-left: 10px; } - .el-button.is-round { - padding: 12px 20px; } - .el-button:hover, .el-button:focus { - color: #409EFF; - border-color: #c6e2ff; - background-color: #ecf5ff; } - .el-button:active { - color: #3a8ee6; - border-color: #3a8ee6; - outline: none; } - .el-button::-moz-focus-inner { - border: 0; } - .el-button [class*="el-icon-"] + span { - margin-left: 5px; } - .el-button.is-plain:hover, .el-button.is-plain:focus { - background: #FFFFFF; - border-color: #409EFF; - color: #409EFF; } - .el-button.is-plain:active { - background: #FFFFFF; - border-color: #3a8ee6; - color: #3a8ee6; - outline: none; } - .el-button.is-active { - color: #3a8ee6; - border-color: #3a8ee6; } - .el-button.is-disabled, .el-button.is-disabled:hover, .el-button.is-disabled:focus { - color: #C0C4CC; - cursor: not-allowed; - background-image: none; - background-color: #FFFFFF; - border-color: #EBEEF5; } - .el-button.is-disabled.el-button--text { - background-color: transparent; } - .el-button.is-disabled.is-plain, .el-button.is-disabled.is-plain:hover, .el-button.is-disabled.is-plain:focus { - background-color: #FFFFFF; - border-color: #EBEEF5; - color: #C0C4CC; } - .el-button.is-loading { - position: relative; - pointer-events: none; } - .el-button.is-loading:before { - pointer-events: none; - content: ''; - position: absolute; - left: -1px; - top: -1px; - right: -1px; - bottom: -1px; - border-radius: inherit; - background-color: rgba(255, 255, 255, 0.35); } - .el-button.is-round { - border-radius: 20px; - padding: 12px 23px; } - .el-button.is-circle { - border-radius: 50%; - padding: 12px; } - .el-button--primary { - color: #FFFFFF; - background-color: #409EFF; - border-color: #409EFF; } - .el-button--primary:hover, .el-button--primary:focus { - background: #66b1ff; - border-color: #66b1ff; - color: #FFFFFF; } - .el-button--primary:active { - background: #3a8ee6; - border-color: #3a8ee6; - color: #FFFFFF; - outline: none; } - .el-button--primary.is-active { - background: #3a8ee6; - border-color: #3a8ee6; - color: #FFFFFF; } - .el-button--primary.is-disabled, .el-button--primary.is-disabled:hover, .el-button--primary.is-disabled:focus, .el-button--primary.is-disabled:active { - color: #FFFFFF; - background-color: #a0cfff; - border-color: #a0cfff; } - .el-button--primary.is-plain { - color: #409EFF; - background: #ecf5ff; - border-color: #b3d8ff; } - .el-button--primary.is-plain:hover, .el-button--primary.is-plain:focus { - background: #409EFF; - border-color: #409EFF; - color: #FFFFFF; } - .el-button--primary.is-plain:active { - background: #3a8ee6; - border-color: #3a8ee6; - color: #FFFFFF; - outline: none; } - .el-button--primary.is-plain.is-disabled, .el-button--primary.is-plain.is-disabled:hover, .el-button--primary.is-plain.is-disabled:focus, .el-button--primary.is-plain.is-disabled:active { - color: #8cc5ff; - background-color: #ecf5ff; - border-color: #d9ecff; } - .el-button--success { - color: #FFFFFF; - background-color: #67C23A; - border-color: #67C23A; } - .el-button--success:hover, .el-button--success:focus { - background: #85ce61; - border-color: #85ce61; - color: #FFFFFF; } - .el-button--success:active { - background: #5daf34; - border-color: #5daf34; - color: #FFFFFF; - outline: none; } - .el-button--success.is-active { - background: #5daf34; - border-color: #5daf34; - color: #FFFFFF; } - .el-button--success.is-disabled, .el-button--success.is-disabled:hover, .el-button--success.is-disabled:focus, .el-button--success.is-disabled:active { - color: #FFFFFF; - background-color: #b3e19d; - border-color: #b3e19d; } - .el-button--success.is-plain { - color: #67C23A; - background: #f0f9eb; - border-color: #c2e7b0; } - .el-button--success.is-plain:hover, .el-button--success.is-plain:focus { - background: #67C23A; - border-color: #67C23A; - color: #FFFFFF; } - .el-button--success.is-plain:active { - background: #5daf34; - border-color: #5daf34; - color: #FFFFFF; - outline: none; } - .el-button--success.is-plain.is-disabled, .el-button--success.is-plain.is-disabled:hover, .el-button--success.is-plain.is-disabled:focus, .el-button--success.is-plain.is-disabled:active { - color: #a4da89; - background-color: #f0f9eb; - border-color: #e1f3d8; } - .el-button--warning { - color: #FFFFFF; - background-color: #E6A23C; - border-color: #E6A23C; } - .el-button--warning:hover, .el-button--warning:focus { - background: #ebb563; - border-color: #ebb563; - color: #FFFFFF; } - .el-button--warning:active { - background: #cf9236; - border-color: #cf9236; - color: #FFFFFF; - outline: none; } - .el-button--warning.is-active { - background: #cf9236; - border-color: #cf9236; - color: #FFFFFF; } - .el-button--warning.is-disabled, .el-button--warning.is-disabled:hover, .el-button--warning.is-disabled:focus, .el-button--warning.is-disabled:active { - color: #FFFFFF; - background-color: #f3d19e; - border-color: #f3d19e; } - .el-button--warning.is-plain { - color: #E6A23C; - background: #fdf6ec; - border-color: #f5dab1; } - .el-button--warning.is-plain:hover, .el-button--warning.is-plain:focus { - background: #E6A23C; - border-color: #E6A23C; - color: #FFFFFF; } - .el-button--warning.is-plain:active { - background: #cf9236; - border-color: #cf9236; - color: #FFFFFF; - outline: none; } - .el-button--warning.is-plain.is-disabled, .el-button--warning.is-plain.is-disabled:hover, .el-button--warning.is-plain.is-disabled:focus, .el-button--warning.is-plain.is-disabled:active { - color: #f0c78a; - background-color: #fdf6ec; - border-color: #faecd8; } - .el-button--danger { - color: #FFFFFF; - background-color: #F56C6C; - border-color: #F56C6C; } - .el-button--danger:hover, .el-button--danger:focus { - background: #f78989; - border-color: #f78989; - color: #FFFFFF; } - .el-button--danger:active { - background: #dd6161; - border-color: #dd6161; - color: #FFFFFF; - outline: none; } - .el-button--danger.is-active { - background: #dd6161; - border-color: #dd6161; - color: #FFFFFF; } - .el-button--danger.is-disabled, .el-button--danger.is-disabled:hover, .el-button--danger.is-disabled:focus, .el-button--danger.is-disabled:active { - color: #FFFFFF; - background-color: #fab6b6; - border-color: #fab6b6; } - .el-button--danger.is-plain { - color: #F56C6C; - background: #fef0f0; - border-color: #fbc4c4; } - .el-button--danger.is-plain:hover, .el-button--danger.is-plain:focus { - background: #F56C6C; - border-color: #F56C6C; - color: #FFFFFF; } - .el-button--danger.is-plain:active { - background: #dd6161; - border-color: #dd6161; - color: #FFFFFF; - outline: none; } - .el-button--danger.is-plain.is-disabled, .el-button--danger.is-plain.is-disabled:hover, .el-button--danger.is-plain.is-disabled:focus, .el-button--danger.is-plain.is-disabled:active { - color: #f9a7a7; - background-color: #fef0f0; - border-color: #fde2e2; } - .el-button--info { - color: #FFFFFF; - background-color: #909399; - border-color: #909399; } - .el-button--info:hover, .el-button--info:focus { - background: #a6a9ad; - border-color: #a6a9ad; - color: #FFFFFF; } - .el-button--info:active { - background: #82848a; - border-color: #82848a; - color: #FFFFFF; - outline: none; } - .el-button--info.is-active { - background: #82848a; - border-color: #82848a; - color: #FFFFFF; } - .el-button--info.is-disabled, .el-button--info.is-disabled:hover, .el-button--info.is-disabled:focus, .el-button--info.is-disabled:active { - color: #FFFFFF; - background-color: #c8c9cc; - border-color: #c8c9cc; } - .el-button--info.is-plain { - color: #909399; - background: #f4f4f5; - border-color: #d3d4d6; } - .el-button--info.is-plain:hover, .el-button--info.is-plain:focus { - background: #909399; - border-color: #909399; - color: #FFFFFF; } - .el-button--info.is-plain:active { - background: #82848a; - border-color: #82848a; - color: #FFFFFF; - outline: none; } - .el-button--info.is-plain.is-disabled, .el-button--info.is-plain.is-disabled:hover, .el-button--info.is-plain.is-disabled:focus, .el-button--info.is-plain.is-disabled:active { - color: #bcbec2; - background-color: #f4f4f5; - border-color: #e9e9eb; } - .el-button--medium { - padding: 10px 20px; - font-size: 14px; - border-radius: 4px; } - .el-button--medium.is-round { - padding: 10px 20px; } - .el-button--medium.is-circle { - padding: 10px; } - .el-button--small { - padding: 9px 15px; - font-size: 12px; - border-radius: 3px; } - .el-button--small.is-round { - padding: 9px 15px; } - .el-button--small.is-circle { - padding: 9px; } - .el-button--mini { - padding: 7px 15px; - font-size: 12px; - border-radius: 3px; } - .el-button--mini.is-round { - padding: 7px 15px; } - .el-button--mini.is-circle { - padding: 7px; } - .el-button--text { - border-color: transparent; - color: #409EFF; - background: transparent; - padding-left: 0; - padding-right: 0; } - .el-button--text:hover, .el-button--text:focus { - color: #66b1ff; - border-color: transparent; - background-color: transparent; } - .el-button--text:active { - color: #3a8ee6; - border-color: transparent; - background-color: transparent; } - .el-button--text.is-disabled, .el-button--text.is-disabled:hover, .el-button--text.is-disabled:focus { - border-color: transparent; } - -.el-button-group { - display: inline-block; - vertical-align: middle; } - .el-button-group::before, - .el-button-group::after { - display: table; - content: ""; } - .el-button-group::after { - clear: both; } - .el-button-group > .el-button { - float: left; - position: relative; } - .el-button-group > .el-button + .el-button { - margin-left: 0; } - .el-button-group > .el-button.is-disabled { - z-index: 1; } - .el-button-group > .el-button:first-child { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-button-group > .el-button:last-child { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-button-group > .el-button:first-child:last-child { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; } - .el-button-group > .el-button:first-child:last-child.is-round { - border-radius: 20px; } - .el-button-group > .el-button:first-child:last-child.is-circle { - border-radius: 50%; } - .el-button-group > .el-button:not(:first-child):not(:last-child) { - border-radius: 0; } - .el-button-group > .el-button:not(:last-child) { - margin-right: -1px; } - .el-button-group > .el-button:hover, .el-button-group > .el-button:focus, .el-button-group > .el-button:active { - z-index: 1; } - .el-button-group > .el-button.is-active { - z-index: 1; } - .el-button-group > .el-dropdown > .el-button { - border-top-left-radius: 0; - border-bottom-left-radius: 0; - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--primary:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--primary:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--primary:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--success:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--success:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--success:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--warning:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--warning:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--warning:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--danger:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--danger:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--danger:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--info:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--info:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--info:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - -.el-calendar { - background-color: #fff; } - .el-calendar__header { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - padding: 12px 20px; - border-bottom: 1px solid #EBEEF5; } - .el-calendar__title { - color: #000000; - -ms-flex-item-align: center; - align-self: center; } - .el-calendar__body { - padding: 12px 20px 35px; } - -.el-calendar-table { - table-layout: fixed; - width: 100%; } - .el-calendar-table thead th { - padding: 12px 0; - color: #606266; - font-weight: normal; } - .el-calendar-table:not(.is-range) td.prev, - .el-calendar-table:not(.is-range) td.next { - color: #C0C4CC; } - .el-calendar-table td { - border-bottom: 1px solid #EBEEF5; - border-right: 1px solid #EBEEF5; - vertical-align: top; - -webkit-transition: background-color 0.2s ease; - transition: background-color 0.2s ease; } - .el-calendar-table td.is-selected { - background-color: #F2F8FE; } - .el-calendar-table td.is-today { - color: #409EFF; } - .el-calendar-table tr:first-child td { - border-top: 1px solid #EBEEF5; } - .el-calendar-table tr td:first-child { - border-left: 1px solid #EBEEF5; } - .el-calendar-table tr.el-calendar-table__row--hide-border td { - border-top: none; } - .el-calendar-table .el-calendar-day { - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding: 8px; - height: 85px; } - .el-calendar-table .el-calendar-day:hover { - cursor: pointer; - background-color: #F2F8FE; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/card.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/card.css deleted file mode 100644 index 66139320..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/card.css +++ /dev/null @@ -1,271 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-card { - border-radius: 4px; - border: 1px solid #EBEEF5; - background-color: #FFFFFF; - overflow: hidden; - color: #303133; - -webkit-transition: 0.3s; - transition: 0.3s; } - .el-card.is-always-shadow { - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); } - .el-card.is-hover-shadow:hover, .el-card.is-hover-shadow:focus { - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); } - .el-card__header { - padding: 18px 20px; - border-bottom: 1px solid #EBEEF5; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-card__body { - padding: 20px; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/carousel-item.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/carousel-item.css deleted file mode 100644 index ad06193d..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/carousel-item.css +++ /dev/null @@ -1,291 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-carousel__item { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - display: inline-block; - overflow: hidden; - z-index: 0; } - .el-carousel__item.is-active { - z-index: 2; } - .el-carousel__item.is-animating { - -webkit-transition: -webkit-transform .4s ease-in-out; - transition: -webkit-transform .4s ease-in-out; - transition: transform .4s ease-in-out; - transition: transform .4s ease-in-out, -webkit-transform .4s ease-in-out; } - .el-carousel__item--card { - width: 50%; - -webkit-transition: -webkit-transform .4s ease-in-out; - transition: -webkit-transform .4s ease-in-out; - transition: transform .4s ease-in-out; - transition: transform .4s ease-in-out, -webkit-transform .4s ease-in-out; } - .el-carousel__item--card.is-in-stage { - cursor: pointer; - z-index: 1; } - .el-carousel__item--card.is-in-stage:hover .el-carousel__mask, - .el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask { - opacity: 0.12; } - .el-carousel__item--card.is-active { - z-index: 2; } - -.el-carousel__mask { - position: absolute; - width: 100%; - height: 100%; - top: 0; - left: 0; - background-color: #FFFFFF; - opacity: 0.24; - -webkit-transition: .2s; - transition: .2s; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/carousel.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/carousel.css deleted file mode 100644 index a22c8c86..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/carousel.css +++ /dev/null @@ -1,367 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-carousel { - position: relative; } - .el-carousel--horizontal { - overflow-x: hidden; } - .el-carousel--vertical { - overflow-y: hidden; } - .el-carousel__container { - position: relative; - height: 300px; } - .el-carousel__arrow { - border: none; - outline: none; - padding: 0; - margin: 0; - height: 36px; - width: 36px; - cursor: pointer; - -webkit-transition: .3s; - transition: .3s; - border-radius: 50%; - background-color: rgba(31, 45, 61, 0.11); - color: #FFFFFF; - position: absolute; - top: 50%; - z-index: 10; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); - text-align: center; - font-size: 12px; } - .el-carousel__arrow--left { - left: 16px; } - .el-carousel__arrow--right { - right: 16px; } - .el-carousel__arrow:hover { - background-color: rgba(31, 45, 61, 0.23); } - .el-carousel__arrow i { - cursor: pointer; } - .el-carousel__indicators { - position: absolute; - list-style: none; - margin: 0; - padding: 0; - z-index: 2; } - .el-carousel__indicators--horizontal { - bottom: 0; - left: 50%; - -webkit-transform: translateX(-50%); - transform: translateX(-50%); } - .el-carousel__indicators--vertical { - right: 0; - top: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); } - .el-carousel__indicators--outside { - bottom: 26px; - text-align: center; - position: static; - -webkit-transform: none; - transform: none; } - .el-carousel__indicators--outside .el-carousel__indicator:hover button { - opacity: 0.64; } - .el-carousel__indicators--outside button { - background-color: #C0C4CC; - opacity: 0.24; } - .el-carousel__indicators--labels { - left: 0; - right: 0; - -webkit-transform: none; - transform: none; - text-align: center; } - .el-carousel__indicators--labels .el-carousel__button { - height: auto; - width: auto; - padding: 2px 18px; - font-size: 12px; } - .el-carousel__indicators--labels .el-carousel__indicator { - padding: 6px 4px; } - .el-carousel__indicator { - background-color: transparent; - cursor: pointer; } - .el-carousel__indicator:hover button { - opacity: 0.72; } - .el-carousel__indicator--horizontal { - display: inline-block; - padding: 12px 4px; } - .el-carousel__indicator--vertical { - padding: 4px 12px; } - .el-carousel__indicator--vertical .el-carousel__button { - width: 2px; - height: 15px; } - .el-carousel__indicator.is-active button { - opacity: 1; } - .el-carousel__button { - display: block; - opacity: 0.48; - width: 30px; - height: 2px; - background-color: #FFFFFF; - border: none; - outline: none; - padding: 0; - margin: 0; - cursor: pointer; - -webkit-transition: .3s; - transition: .3s; } - -.carousel-arrow-left-enter, -.carousel-arrow-left-leave-active { - -webkit-transform: translateY(-50%) translateX(-10px); - transform: translateY(-50%) translateX(-10px); - opacity: 0; } - -.carousel-arrow-right-enter, -.carousel-arrow-right-leave-active { - -webkit-transform: translateY(-50%) translateX(10px); - transform: translateY(-50%) translateX(10px); - opacity: 0; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/cascader-panel.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/cascader-panel.css deleted file mode 100644 index ac054909..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/cascader-panel.css +++ /dev/null @@ -1,1781 +0,0 @@ -@charset "UTF-8"; -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-checkbox { - color: #606266; - font-weight: 500; - font-size: 14px; - position: relative; - cursor: pointer; - display: inline-block; - white-space: nowrap; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - margin-right: 30px; } - .el-checkbox.is-bordered { - padding: 9px 20px 9px 10px; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - line-height: normal; - height: 40px; } - .el-checkbox.is-bordered.is-checked { - border-color: #409EFF; } - .el-checkbox.is-bordered.is-disabled { - border-color: #EBEEF5; - cursor: not-allowed; } - .el-checkbox.is-bordered + .el-checkbox.is-bordered { - margin-left: 10px; } - .el-checkbox.is-bordered.el-checkbox--medium { - padding: 7px 20px 7px 10px; - border-radius: 4px; - height: 36px; } - .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label { - line-height: 17px; - font-size: 14px; } - .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner { - height: 14px; - width: 14px; } - .el-checkbox.is-bordered.el-checkbox--small { - padding: 5px 15px 5px 10px; - border-radius: 3px; - height: 32px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label { - line-height: 15px; - font-size: 12px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner { - height: 12px; - width: 12px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after { - height: 6px; - width: 2px; } - .el-checkbox.is-bordered.el-checkbox--mini { - padding: 3px 15px 3px 10px; - border-radius: 3px; - height: 28px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label { - line-height: 12px; - font-size: 12px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner { - height: 12px; - width: 12px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after { - height: 6px; - width: 2px; } - .el-checkbox__input { - white-space: nowrap; - cursor: pointer; - outline: none; - display: inline-block; - line-height: 1; - position: relative; - vertical-align: middle; } - .el-checkbox__input.is-disabled .el-checkbox__inner { - background-color: #edf2fc; - border-color: #DCDFE6; - cursor: not-allowed; } - .el-checkbox__input.is-disabled .el-checkbox__inner::after { - cursor: not-allowed; - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled .el-checkbox__inner + .el-checkbox__label { - cursor: not-allowed; } - .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { - background-color: #F2F6FC; - border-color: #DCDFE6; } - .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after { - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner { - background-color: #F2F6FC; - border-color: #DCDFE6; } - .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before { - background-color: #C0C4CC; - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled + span.el-checkbox__label { - color: #C0C4CC; - cursor: not-allowed; } - .el-checkbox__input.is-checked .el-checkbox__inner { - background-color: #409EFF; - border-color: #409EFF; } - .el-checkbox__input.is-checked .el-checkbox__inner::after { - -webkit-transform: rotate(45deg) scaleY(1); - transform: rotate(45deg) scaleY(1); } - .el-checkbox__input.is-checked + .el-checkbox__label { - color: #409EFF; } - .el-checkbox__input.is-focus { - /*focus时 视觉上区分*/ } - .el-checkbox__input.is-focus .el-checkbox__inner { - border-color: #409EFF; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner { - background-color: #409EFF; - border-color: #409EFF; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner::before { - content: ''; - position: absolute; - display: block; - background-color: #FFFFFF; - height: 2px; - -webkit-transform: scale(0.5); - transform: scale(0.5); - left: 0; - right: 0; - top: 5px; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner::after { - display: none; } - .el-checkbox__inner { - display: inline-block; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 2px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 14px; - height: 14px; - background-color: #FFFFFF; - z-index: 1; - -webkit-transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46), background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46); - transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46), background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46); } - .el-checkbox__inner:hover { - border-color: #409EFF; } - .el-checkbox__inner::after { - -webkit-box-sizing: content-box; - box-sizing: content-box; - content: ""; - border: 1px solid #FFFFFF; - border-left: 0; - border-top: 0; - height: 7px; - left: 4px; - position: absolute; - top: 1px; - -webkit-transform: rotate(45deg) scaleY(0); - transform: rotate(45deg) scaleY(0); - width: 3px; - -webkit-transition: -webkit-transform .15s ease-in .05s; - transition: -webkit-transform .15s ease-in .05s; - transition: transform .15s ease-in .05s; - transition: transform .15s ease-in .05s, -webkit-transform .15s ease-in .05s; - -webkit-transform-origin: center; - transform-origin: center; } - .el-checkbox__original { - opacity: 0; - outline: none; - position: absolute; - margin: 0; - width: 0; - height: 0; - z-index: -1; } - .el-checkbox__label { - display: inline-block; - padding-left: 10px; - line-height: 19px; - font-size: 14px; } - .el-checkbox:last-of-type { - margin-right: 0; } - -.el-checkbox-button { - position: relative; - display: inline-block; } - .el-checkbox-button__inner { - display: inline-block; - line-height: 1; - font-weight: 500; - white-space: nowrap; - vertical-align: middle; - cursor: pointer; - background: #FFFFFF; - border: 1px solid #DCDFE6; - border-left: 0; - color: #606266; - -webkit-appearance: none; - text-align: center; - -webkit-box-sizing: border-box; - box-sizing: border-box; - outline: none; - margin: 0; - position: relative; - -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - padding: 12px 20px; - font-size: 14px; - border-radius: 0; } - .el-checkbox-button__inner.is-round { - padding: 12px 20px; } - .el-checkbox-button__inner:hover { - color: #409EFF; } - .el-checkbox-button__inner [class*="el-icon-"] { - line-height: 0.9; } - .el-checkbox-button__inner [class*="el-icon-"] + span { - margin-left: 5px; } - .el-checkbox-button__original { - opacity: 0; - outline: none; - position: absolute; - margin: 0; - z-index: -1; } - .el-checkbox-button.is-checked .el-checkbox-button__inner { - color: #FFFFFF; - background-color: #409EFF; - border-color: #409EFF; - -webkit-box-shadow: -1px 0 0 0 #8cc5ff; - box-shadow: -1px 0 0 0 #8cc5ff; } - .el-checkbox-button.is-checked:first-child .el-checkbox-button__inner { - border-left-color: #409EFF; } - .el-checkbox-button.is-disabled .el-checkbox-button__inner { - color: #C0C4CC; - cursor: not-allowed; - background-image: none; - background-color: #FFFFFF; - border-color: #EBEEF5; - -webkit-box-shadow: none; - box-shadow: none; } - .el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner { - border-left-color: #EBEEF5; } - .el-checkbox-button:first-child .el-checkbox-button__inner { - border-left: 1px solid #DCDFE6; - border-radius: 4px 0 0 4px; - -webkit-box-shadow: none !important; - box-shadow: none !important; } - .el-checkbox-button.is-focus .el-checkbox-button__inner { - border-color: #409EFF; } - .el-checkbox-button:last-child .el-checkbox-button__inner { - border-radius: 0 4px 4px 0; } - .el-checkbox-button--medium .el-checkbox-button__inner { - padding: 10px 20px; - font-size: 14px; - border-radius: 0; } - .el-checkbox-button--medium .el-checkbox-button__inner.is-round { - padding: 10px 20px; } - .el-checkbox-button--small .el-checkbox-button__inner { - padding: 9px 15px; - font-size: 12px; - border-radius: 0; } - .el-checkbox-button--small .el-checkbox-button__inner.is-round { - padding: 9px 15px; } - .el-checkbox-button--mini .el-checkbox-button__inner { - padding: 7px 15px; - font-size: 12px; - border-radius: 0; } - .el-checkbox-button--mini .el-checkbox-button__inner.is-round { - padding: 7px 15px; } - -.el-checkbox-group { - font-size: 0; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-radio { - color: #606266; - font-weight: 500; - line-height: 1; - position: relative; - cursor: pointer; - display: inline-block; - white-space: nowrap; - outline: none; - font-size: 14px; - margin-right: 30px; - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; } - .el-radio.is-bordered { - padding: 12px 20px 0 10px; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - height: 40px; } - .el-radio.is-bordered.is-checked { - border-color: #409EFF; } - .el-radio.is-bordered.is-disabled { - cursor: not-allowed; - border-color: #EBEEF5; } - .el-radio.is-bordered + .el-radio.is-bordered { - margin-left: 10px; } - .el-radio--medium.is-bordered { - padding: 10px 20px 0 10px; - border-radius: 4px; - height: 36px; } - .el-radio--medium.is-bordered .el-radio__label { - font-size: 14px; } - .el-radio--medium.is-bordered .el-radio__inner { - height: 14px; - width: 14px; } - .el-radio--small.is-bordered { - padding: 8px 15px 0 10px; - border-radius: 3px; - height: 32px; } - .el-radio--small.is-bordered .el-radio__label { - font-size: 12px; } - .el-radio--small.is-bordered .el-radio__inner { - height: 12px; - width: 12px; } - .el-radio--mini.is-bordered { - padding: 6px 15px 0 10px; - border-radius: 3px; - height: 28px; } - .el-radio--mini.is-bordered .el-radio__label { - font-size: 12px; } - .el-radio--mini.is-bordered .el-radio__inner { - height: 12px; - width: 12px; } - .el-radio:last-child { - margin-right: 0; } - .el-radio__input { - white-space: nowrap; - cursor: pointer; - outline: none; - display: inline-block; - line-height: 1; - position: relative; - vertical-align: middle; } - .el-radio__input.is-disabled .el-radio__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - cursor: not-allowed; } - .el-radio__input.is-disabled .el-radio__inner::after { - cursor: not-allowed; - background-color: #F5F7FA; } - .el-radio__input.is-disabled .el-radio__inner + .el-radio__label { - cursor: not-allowed; } - .el-radio__input.is-disabled.is-checked .el-radio__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; } - .el-radio__input.is-disabled.is-checked .el-radio__inner::after { - background-color: #C0C4CC; } - .el-radio__input.is-disabled + span.el-radio__label { - color: #C0C4CC; - cursor: not-allowed; } - .el-radio__input.is-checked .el-radio__inner { - border-color: #409EFF; - background: #409EFF; } - .el-radio__input.is-checked .el-radio__inner::after { - -webkit-transform: translate(-50%, -50%) scale(1); - transform: translate(-50%, -50%) scale(1); } - .el-radio__input.is-checked + .el-radio__label { - color: #409EFF; } - .el-radio__input.is-focus .el-radio__inner { - border-color: #409EFF; } - .el-radio__inner { - border: 1px solid #DCDFE6; - border-radius: 100%; - width: 14px; - height: 14px; - background-color: #FFFFFF; - position: relative; - cursor: pointer; - display: inline-block; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-radio__inner:hover { - border-color: #409EFF; } - .el-radio__inner::after { - width: 4px; - height: 4px; - border-radius: 100%; - background-color: #FFFFFF; - content: ""; - position: absolute; - left: 50%; - top: 50%; - -webkit-transform: translate(-50%, -50%) scale(0); - transform: translate(-50%, -50%) scale(0); - -webkit-transition: -webkit-transform .15s ease-in; - transition: -webkit-transform .15s ease-in; - transition: transform .15s ease-in; - transition: transform .15s ease-in, -webkit-transform .15s ease-in; } - .el-radio__original { - opacity: 0; - outline: none; - position: absolute; - z-index: -1; - top: 0; - left: 0; - right: 0; - bottom: 0; - margin: 0; } - .el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) { - /*获得焦点时 样式提醒*/ } - .el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner { - -webkit-box-shadow: 0 0 2px 2px #409EFF; - box-shadow: 0 0 2px 2px #409EFF; } - .el-radio__label { - font-size: 14px; - padding-left: 10px; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-scrollbar { - overflow: hidden; - position: relative; } - .el-scrollbar:hover > .el-scrollbar__bar, .el-scrollbar:active > .el-scrollbar__bar, .el-scrollbar:focus > .el-scrollbar__bar { - opacity: 1; - -webkit-transition: opacity 340ms ease-out; - transition: opacity 340ms ease-out; } - .el-scrollbar__wrap { - overflow: scroll; - height: 100%; } - .el-scrollbar__wrap--hidden-default { - scrollbar-width: none; } - .el-scrollbar__wrap--hidden-default::-webkit-scrollbar { - width: 0; - height: 0; } - .el-scrollbar__thumb { - position: relative; - display: block; - width: 0; - height: 0; - cursor: pointer; - border-radius: inherit; - background-color: rgba(144, 147, 153, 0.3); - -webkit-transition: .3s background-color; - transition: .3s background-color; } - .el-scrollbar__thumb:hover { - background-color: rgba(144, 147, 153, 0.5); } - .el-scrollbar__bar { - position: absolute; - right: 2px; - bottom: 2px; - z-index: 1; - border-radius: 4px; - opacity: 0; - -webkit-transition: opacity 120ms ease-out; - transition: opacity 120ms ease-out; } - .el-scrollbar__bar.is-vertical { - width: 6px; - top: 2px; } - .el-scrollbar__bar.is-vertical > div { - width: 100%; } - .el-scrollbar__bar.is-horizontal { - height: 6px; - left: 2px; } - .el-scrollbar__bar.is-horizontal > div { - height: 100%; } - -.el-cascader-panel { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - border-radius: 4px; - font-size: 14px; } - .el-cascader-panel.is-bordered { - border: solid 1px #E4E7ED; - border-radius: 4px; } - -.el-cascader-menu { - min-width: 180px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: #606266; - border-right: solid 1px #E4E7ED; } - .el-cascader-menu:last-child { - border-right: none; } - .el-cascader-menu:last-child .el-cascader-node { - padding-right: 20px; } - .el-cascader-menu__wrap { - height: 204px; } - .el-cascader-menu__list { - position: relative; - min-height: 100%; - margin: 0; - padding: 6px 0; - list-style: none; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-cascader-menu__hover-zone { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - pointer-events: none; } - .el-cascader-menu__empty-text { - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); - text-align: center; - color: #C0C4CC; } - -.el-cascader-node { - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - padding: 0 30px 0 20px; - height: 34px; - line-height: 34px; - outline: none; } - .el-cascader-node.is-selectable.in-active-path { - color: #606266; } - .el-cascader-node.in-active-path, .el-cascader-node.is-selectable.in-checked-path, .el-cascader-node.is-active { - color: #409EFF; - font-weight: bold; } - .el-cascader-node:not(.is-disabled) { - cursor: pointer; } - .el-cascader-node:not(.is-disabled):hover, .el-cascader-node:not(.is-disabled):focus { - background: #F5F7FA; } - .el-cascader-node.is-disabled { - color: #C0C4CC; - cursor: not-allowed; } - .el-cascader-node__prefix { - position: absolute; - left: 10px; } - .el-cascader-node__postfix { - position: absolute; - right: 10px; } - .el-cascader-node__label { - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - padding: 0 10px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; } - .el-cascader-node > .el-radio { - margin-right: 0; } - .el-cascader-node > .el-radio .el-radio__label { - padding-left: 0; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/cascader.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/cascader.css deleted file mode 100644 index 64058d7d..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/cascader.css +++ /dev/null @@ -1,3504 +0,0 @@ -@charset "UTF-8"; -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-textarea { - position: relative; - display: inline-block; - width: 100%; - vertical-align: bottom; - font-size: 14px; } - .el-textarea__inner { - display: block; - resize: vertical; - padding: 5px 15px; - line-height: 1.5; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - font-size: inherit; - color: #606266; - background-color: #FFFFFF; - background-image: none; - border: 1px solid #DCDFE6; - border-radius: 4px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea__inner:hover { - border-color: #C0C4CC; } - .el-textarea__inner:focus { - outline: none; - border-color: #409EFF; } - .el-textarea .el-input__count { - color: #909399; - background: #FFFFFF; - position: absolute; - font-size: 12px; - bottom: 5px; - right: 10px; } - .el-textarea.is-disabled .el-textarea__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea.is-exceed .el-textarea__inner { - border-color: #F56C6C; } - .el-textarea.is-exceed .el-input__count { - color: #F56C6C; } - -.el-input { - position: relative; - font-size: 14px; - display: inline-block; - width: 100%; } - .el-input::-webkit-scrollbar { - z-index: 11; - width: 6px; } - .el-input::-webkit-scrollbar:horizontal { - height: 6px; } - .el-input::-webkit-scrollbar-thumb { - border-radius: 5px; - width: 6px; - background: #b4bccc; } - .el-input::-webkit-scrollbar-corner { - background: #fff; } - .el-input::-webkit-scrollbar-track { - background: #fff; } - .el-input::-webkit-scrollbar-track-piece { - background: #fff; - width: 6px; } - .el-input .el-input__clear { - color: #C0C4CC; - font-size: 14px; - cursor: pointer; - -webkit-transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-input .el-input__clear:hover { - color: #909399; } - .el-input .el-input__count { - height: 100%; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - color: #909399; - font-size: 12px; } - .el-input .el-input__count .el-input__count-inner { - background: #FFFFFF; - line-height: initial; - display: inline-block; - padding: 0 5px; } - .el-input__inner { - -webkit-appearance: none; - background-color: #FFFFFF; - background-image: none; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: #606266; - display: inline-block; - font-size: inherit; - height: 40px; - line-height: 40px; - outline: none; - padding: 0 15px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - width: 100%; } - .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input__inner:hover { - border-color: #C0C4CC; } - .el-input__inner:focus { - outline: none; - border-color: #409EFF; } - .el-input__suffix { - position: absolute; - height: 100%; - right: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; - pointer-events: none; } - .el-input__suffix-inner { - pointer-events: all; } - .el-input__prefix { - position: absolute; - height: 100%; - left: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; } - .el-input__icon { - height: 100%; - width: 25px; - text-align: center; - -webkit-transition: all .3s; - transition: all .3s; - line-height: 40px; } - .el-input__icon:after { - content: ''; - height: 100%; - width: 0; - display: inline-block; - vertical-align: middle; } - .el-input__validateIcon { - pointer-events: none; } - .el-input.is-active .el-input__inner { - outline: none; - border-color: #409EFF; } - .el-input.is-disabled .el-input__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-input.is-disabled .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__icon { - cursor: not-allowed; } - .el-input.is-exceed .el-input__inner { - border-color: #F56C6C; } - .el-input.is-exceed .el-input__suffix .el-input__count { - color: #F56C6C; } - .el-input--suffix .el-input__inner { - padding-right: 30px; } - .el-input--prefix .el-input__inner { - padding-left: 30px; } - .el-input--medium { - font-size: 14px; } - .el-input--medium .el-input__inner { - height: 36px; - line-height: 36px; } - .el-input--medium .el-input__icon { - line-height: 36px; } - .el-input--small { - font-size: 13px; } - .el-input--small .el-input__inner { - height: 32px; - line-height: 32px; } - .el-input--small .el-input__icon { - line-height: 32px; } - .el-input--mini { - font-size: 12px; } - .el-input--mini .el-input__inner { - height: 28px; - line-height: 28px; } - .el-input--mini .el-input__icon { - line-height: 28px; } - -.el-input-group { - line-height: normal; - display: inline-table; - width: 100%; - border-collapse: separate; - border-spacing: 0; } - .el-input-group > .el-input__inner { - vertical-align: middle; - display: table-cell; } - .el-input-group__append, .el-input-group__prepend { - background-color: #F5F7FA; - color: #909399; - vertical-align: middle; - display: table-cell; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 4px; - padding: 0 20px; - width: 1px; - white-space: nowrap; } - .el-input-group__append:focus, .el-input-group__prepend:focus { - outline: none; } - .el-input-group__append .el-select, - .el-input-group__append .el-button, .el-input-group__prepend .el-select, - .el-input-group__prepend .el-button { - display: inline-block; - margin: -10px -20px; } - .el-input-group__append button.el-button, - .el-input-group__append div.el-select .el-input__inner, - .el-input-group__append div.el-select:hover .el-input__inner, .el-input-group__prepend button.el-button, - .el-input-group__prepend div.el-select .el-input__inner, - .el-input-group__prepend div.el-select:hover .el-input__inner { - border-color: transparent; - background-color: transparent; - color: inherit; - border-top: 0; - border-bottom: 0; } - .el-input-group__append .el-button, - .el-input-group__append .el-input, .el-input-group__prepend .el-button, - .el-input-group__prepend .el-input { - font-size: inherit; } - .el-input-group__prepend { - border-right: 0; - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group__append { - border-left: 0; - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-input__inner { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - .el-input-group--append .el-input__inner { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group--append .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - -/** disalbe default clear on IE */ -.el-input__inner::-ms-clear { - display: none; - width: 0; - height: 0; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-popper .popper__arrow, -.el-popper .popper__arrow::after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; } - -.el-popper .popper__arrow { - border-width: 6px; - -webkit-filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); - filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); } - -.el-popper .popper__arrow::after { - content: " "; - border-width: 6px; } - -.el-popper[x-placement^="top"] { - margin-bottom: 12px; } - -.el-popper[x-placement^="top"] .popper__arrow { - bottom: -6px; - left: 50%; - margin-right: 3px; - border-top-color: #EBEEF5; - border-bottom-width: 0; } - .el-popper[x-placement^="top"] .popper__arrow::after { - bottom: 1px; - margin-left: -6px; - border-top-color: #FFFFFF; - border-bottom-width: 0; } - -.el-popper[x-placement^="bottom"] { - margin-top: 12px; } - -.el-popper[x-placement^="bottom"] .popper__arrow { - top: -6px; - left: 50%; - margin-right: 3px; - border-top-width: 0; - border-bottom-color: #EBEEF5; } - .el-popper[x-placement^="bottom"] .popper__arrow::after { - top: 1px; - margin-left: -6px; - border-top-width: 0; - border-bottom-color: #FFFFFF; } - -.el-popper[x-placement^="right"] { - margin-left: 12px; } - -.el-popper[x-placement^="right"] .popper__arrow { - top: 50%; - left: -6px; - margin-bottom: 3px; - border-right-color: #EBEEF5; - border-left-width: 0; } - .el-popper[x-placement^="right"] .popper__arrow::after { - bottom: -6px; - left: 1px; - border-right-color: #FFFFFF; - border-left-width: 0; } - -.el-popper[x-placement^="left"] { - margin-right: 12px; } - -.el-popper[x-placement^="left"] .popper__arrow { - top: 50%; - right: -6px; - margin-bottom: 3px; - border-right-width: 0; - border-left-color: #EBEEF5; } - .el-popper[x-placement^="left"] .popper__arrow::after { - right: 1px; - bottom: -6px; - margin-left: -6px; - border-right-width: 0; - border-left-color: #FFFFFF; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-tag { - background-color: #ecf5ff; - border-color: #d9ecff; - color: #409eff; - display: inline-block; - height: 32px; - padding: 0 10px; - line-height: 30px; - font-size: 12px; - color: #409EFF; - border-width: 1px; - border-style: solid; - border-radius: 4px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - white-space: nowrap; } - .el-tag.is-hit { - border-color: #409EFF; } - .el-tag .el-tag__close { - color: #409eff; } - .el-tag .el-tag__close:hover { - color: #FFFFFF; - background-color: #409eff; } - .el-tag.el-tag--info { - background-color: #f4f4f5; - border-color: #e9e9eb; - color: #909399; } - .el-tag.el-tag--info.is-hit { - border-color: #909399; } - .el-tag.el-tag--info .el-tag__close { - color: #909399; } - .el-tag.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #909399; } - .el-tag.el-tag--success { - background-color: #f0f9eb; - border-color: #e1f3d8; - color: #67c23a; } - .el-tag.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag.el-tag--success .el-tag__close { - color: #67c23a; } - .el-tag.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #67c23a; } - .el-tag.el-tag--warning { - background-color: #fdf6ec; - border-color: #faecd8; - color: #e6a23c; } - .el-tag.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag.el-tag--warning .el-tag__close { - color: #e6a23c; } - .el-tag.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #e6a23c; } - .el-tag.el-tag--danger { - background-color: #fef0f0; - border-color: #fde2e2; - color: #f56c6c; } - .el-tag.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag.el-tag--danger .el-tag__close { - color: #f56c6c; } - .el-tag.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f56c6c; } - .el-tag .el-icon-close { - border-radius: 50%; - text-align: center; - position: relative; - cursor: pointer; - font-size: 12px; - height: 16px; - width: 16px; - line-height: 16px; - vertical-align: middle; - top: -1px; - right: -5px; } - .el-tag .el-icon-close::before { - display: block; } - .el-tag--dark { - background-color: #409eff; - border-color: #409eff; - color: white; } - .el-tag--dark.is-hit { - border-color: #409EFF; } - .el-tag--dark .el-tag__close { - color: white; } - .el-tag--dark .el-tag__close:hover { - color: #FFFFFF; - background-color: #66b1ff; } - .el-tag--dark.el-tag--info { - background-color: #909399; - border-color: #909399; - color: white; } - .el-tag--dark.el-tag--info.is-hit { - border-color: #909399; } - .el-tag--dark.el-tag--info .el-tag__close { - color: white; } - .el-tag--dark.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #a6a9ad; } - .el-tag--dark.el-tag--success { - background-color: #67c23a; - border-color: #67c23a; - color: white; } - .el-tag--dark.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag--dark.el-tag--success .el-tag__close { - color: white; } - .el-tag--dark.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #85ce61; } - .el-tag--dark.el-tag--warning { - background-color: #e6a23c; - border-color: #e6a23c; - color: white; } - .el-tag--dark.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag--dark.el-tag--warning .el-tag__close { - color: white; } - .el-tag--dark.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #ebb563; } - .el-tag--dark.el-tag--danger { - background-color: #f56c6c; - border-color: #f56c6c; - color: white; } - .el-tag--dark.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag--dark.el-tag--danger .el-tag__close { - color: white; } - .el-tag--dark.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f78989; } - .el-tag--plain { - background-color: white; - border-color: #b3d8ff; - color: #409eff; } - .el-tag--plain.is-hit { - border-color: #409EFF; } - .el-tag--plain .el-tag__close { - color: #409eff; } - .el-tag--plain .el-tag__close:hover { - color: #FFFFFF; - background-color: #409eff; } - .el-tag--plain.el-tag--info { - background-color: white; - border-color: #d3d4d6; - color: #909399; } - .el-tag--plain.el-tag--info.is-hit { - border-color: #909399; } - .el-tag--plain.el-tag--info .el-tag__close { - color: #909399; } - .el-tag--plain.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #909399; } - .el-tag--plain.el-tag--success { - background-color: white; - border-color: #c2e7b0; - color: #67c23a; } - .el-tag--plain.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag--plain.el-tag--success .el-tag__close { - color: #67c23a; } - .el-tag--plain.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #67c23a; } - .el-tag--plain.el-tag--warning { - background-color: white; - border-color: #f5dab1; - color: #e6a23c; } - .el-tag--plain.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag--plain.el-tag--warning .el-tag__close { - color: #e6a23c; } - .el-tag--plain.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #e6a23c; } - .el-tag--plain.el-tag--danger { - background-color: white; - border-color: #fbc4c4; - color: #f56c6c; } - .el-tag--plain.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag--plain.el-tag--danger .el-tag__close { - color: #f56c6c; } - .el-tag--plain.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f56c6c; } - .el-tag--medium { - height: 28px; - line-height: 26px; } - .el-tag--medium .el-icon-close { - -webkit-transform: scale(0.8); - transform: scale(0.8); } - .el-tag--small { - height: 24px; - padding: 0 8px; - line-height: 22px; } - .el-tag--small .el-icon-close { - -webkit-transform: scale(0.8); - transform: scale(0.8); } - .el-tag--mini { - height: 20px; - padding: 0 5px; - line-height: 19px; } - .el-tag--mini .el-icon-close { - margin-left: -3px; - -webkit-transform: scale(0.7); - transform: scale(0.7); } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-checkbox { - color: #606266; - font-weight: 500; - font-size: 14px; - position: relative; - cursor: pointer; - display: inline-block; - white-space: nowrap; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - margin-right: 30px; } - .el-checkbox.is-bordered { - padding: 9px 20px 9px 10px; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - line-height: normal; - height: 40px; } - .el-checkbox.is-bordered.is-checked { - border-color: #409EFF; } - .el-checkbox.is-bordered.is-disabled { - border-color: #EBEEF5; - cursor: not-allowed; } - .el-checkbox.is-bordered + .el-checkbox.is-bordered { - margin-left: 10px; } - .el-checkbox.is-bordered.el-checkbox--medium { - padding: 7px 20px 7px 10px; - border-radius: 4px; - height: 36px; } - .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label { - line-height: 17px; - font-size: 14px; } - .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner { - height: 14px; - width: 14px; } - .el-checkbox.is-bordered.el-checkbox--small { - padding: 5px 15px 5px 10px; - border-radius: 3px; - height: 32px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label { - line-height: 15px; - font-size: 12px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner { - height: 12px; - width: 12px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after { - height: 6px; - width: 2px; } - .el-checkbox.is-bordered.el-checkbox--mini { - padding: 3px 15px 3px 10px; - border-radius: 3px; - height: 28px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label { - line-height: 12px; - font-size: 12px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner { - height: 12px; - width: 12px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after { - height: 6px; - width: 2px; } - .el-checkbox__input { - white-space: nowrap; - cursor: pointer; - outline: none; - display: inline-block; - line-height: 1; - position: relative; - vertical-align: middle; } - .el-checkbox__input.is-disabled .el-checkbox__inner { - background-color: #edf2fc; - border-color: #DCDFE6; - cursor: not-allowed; } - .el-checkbox__input.is-disabled .el-checkbox__inner::after { - cursor: not-allowed; - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled .el-checkbox__inner + .el-checkbox__label { - cursor: not-allowed; } - .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { - background-color: #F2F6FC; - border-color: #DCDFE6; } - .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after { - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner { - background-color: #F2F6FC; - border-color: #DCDFE6; } - .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before { - background-color: #C0C4CC; - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled + span.el-checkbox__label { - color: #C0C4CC; - cursor: not-allowed; } - .el-checkbox__input.is-checked .el-checkbox__inner { - background-color: #409EFF; - border-color: #409EFF; } - .el-checkbox__input.is-checked .el-checkbox__inner::after { - -webkit-transform: rotate(45deg) scaleY(1); - transform: rotate(45deg) scaleY(1); } - .el-checkbox__input.is-checked + .el-checkbox__label { - color: #409EFF; } - .el-checkbox__input.is-focus { - /*focus时 视觉上区分*/ } - .el-checkbox__input.is-focus .el-checkbox__inner { - border-color: #409EFF; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner { - background-color: #409EFF; - border-color: #409EFF; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner::before { - content: ''; - position: absolute; - display: block; - background-color: #FFFFFF; - height: 2px; - -webkit-transform: scale(0.5); - transform: scale(0.5); - left: 0; - right: 0; - top: 5px; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner::after { - display: none; } - .el-checkbox__inner { - display: inline-block; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 2px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 14px; - height: 14px; - background-color: #FFFFFF; - z-index: 1; - -webkit-transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46), background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46); - transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46), background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46); } - .el-checkbox__inner:hover { - border-color: #409EFF; } - .el-checkbox__inner::after { - -webkit-box-sizing: content-box; - box-sizing: content-box; - content: ""; - border: 1px solid #FFFFFF; - border-left: 0; - border-top: 0; - height: 7px; - left: 4px; - position: absolute; - top: 1px; - -webkit-transform: rotate(45deg) scaleY(0); - transform: rotate(45deg) scaleY(0); - width: 3px; - -webkit-transition: -webkit-transform .15s ease-in .05s; - transition: -webkit-transform .15s ease-in .05s; - transition: transform .15s ease-in .05s; - transition: transform .15s ease-in .05s, -webkit-transform .15s ease-in .05s; - -webkit-transform-origin: center; - transform-origin: center; } - .el-checkbox__original { - opacity: 0; - outline: none; - position: absolute; - margin: 0; - width: 0; - height: 0; - z-index: -1; } - .el-checkbox__label { - display: inline-block; - padding-left: 10px; - line-height: 19px; - font-size: 14px; } - .el-checkbox:last-of-type { - margin-right: 0; } - -.el-checkbox-button { - position: relative; - display: inline-block; } - .el-checkbox-button__inner { - display: inline-block; - line-height: 1; - font-weight: 500; - white-space: nowrap; - vertical-align: middle; - cursor: pointer; - background: #FFFFFF; - border: 1px solid #DCDFE6; - border-left: 0; - color: #606266; - -webkit-appearance: none; - text-align: center; - -webkit-box-sizing: border-box; - box-sizing: border-box; - outline: none; - margin: 0; - position: relative; - -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - padding: 12px 20px; - font-size: 14px; - border-radius: 0; } - .el-checkbox-button__inner.is-round { - padding: 12px 20px; } - .el-checkbox-button__inner:hover { - color: #409EFF; } - .el-checkbox-button__inner [class*="el-icon-"] { - line-height: 0.9; } - .el-checkbox-button__inner [class*="el-icon-"] + span { - margin-left: 5px; } - .el-checkbox-button__original { - opacity: 0; - outline: none; - position: absolute; - margin: 0; - z-index: -1; } - .el-checkbox-button.is-checked .el-checkbox-button__inner { - color: #FFFFFF; - background-color: #409EFF; - border-color: #409EFF; - -webkit-box-shadow: -1px 0 0 0 #8cc5ff; - box-shadow: -1px 0 0 0 #8cc5ff; } - .el-checkbox-button.is-checked:first-child .el-checkbox-button__inner { - border-left-color: #409EFF; } - .el-checkbox-button.is-disabled .el-checkbox-button__inner { - color: #C0C4CC; - cursor: not-allowed; - background-image: none; - background-color: #FFFFFF; - border-color: #EBEEF5; - -webkit-box-shadow: none; - box-shadow: none; } - .el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner { - border-left-color: #EBEEF5; } - .el-checkbox-button:first-child .el-checkbox-button__inner { - border-left: 1px solid #DCDFE6; - border-radius: 4px 0 0 4px; - -webkit-box-shadow: none !important; - box-shadow: none !important; } - .el-checkbox-button.is-focus .el-checkbox-button__inner { - border-color: #409EFF; } - .el-checkbox-button:last-child .el-checkbox-button__inner { - border-radius: 0 4px 4px 0; } - .el-checkbox-button--medium .el-checkbox-button__inner { - padding: 10px 20px; - font-size: 14px; - border-radius: 0; } - .el-checkbox-button--medium .el-checkbox-button__inner.is-round { - padding: 10px 20px; } - .el-checkbox-button--small .el-checkbox-button__inner { - padding: 9px 15px; - font-size: 12px; - border-radius: 0; } - .el-checkbox-button--small .el-checkbox-button__inner.is-round { - padding: 9px 15px; } - .el-checkbox-button--mini .el-checkbox-button__inner { - padding: 7px 15px; - font-size: 12px; - border-radius: 0; } - .el-checkbox-button--mini .el-checkbox-button__inner.is-round { - padding: 7px 15px; } - -.el-checkbox-group { - font-size: 0; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-radio { - color: #606266; - font-weight: 500; - line-height: 1; - position: relative; - cursor: pointer; - display: inline-block; - white-space: nowrap; - outline: none; - font-size: 14px; - margin-right: 30px; - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; } - .el-radio.is-bordered { - padding: 12px 20px 0 10px; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - height: 40px; } - .el-radio.is-bordered.is-checked { - border-color: #409EFF; } - .el-radio.is-bordered.is-disabled { - cursor: not-allowed; - border-color: #EBEEF5; } - .el-radio.is-bordered + .el-radio.is-bordered { - margin-left: 10px; } - .el-radio--medium.is-bordered { - padding: 10px 20px 0 10px; - border-radius: 4px; - height: 36px; } - .el-radio--medium.is-bordered .el-radio__label { - font-size: 14px; } - .el-radio--medium.is-bordered .el-radio__inner { - height: 14px; - width: 14px; } - .el-radio--small.is-bordered { - padding: 8px 15px 0 10px; - border-radius: 3px; - height: 32px; } - .el-radio--small.is-bordered .el-radio__label { - font-size: 12px; } - .el-radio--small.is-bordered .el-radio__inner { - height: 12px; - width: 12px; } - .el-radio--mini.is-bordered { - padding: 6px 15px 0 10px; - border-radius: 3px; - height: 28px; } - .el-radio--mini.is-bordered .el-radio__label { - font-size: 12px; } - .el-radio--mini.is-bordered .el-radio__inner { - height: 12px; - width: 12px; } - .el-radio:last-child { - margin-right: 0; } - .el-radio__input { - white-space: nowrap; - cursor: pointer; - outline: none; - display: inline-block; - line-height: 1; - position: relative; - vertical-align: middle; } - .el-radio__input.is-disabled .el-radio__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - cursor: not-allowed; } - .el-radio__input.is-disabled .el-radio__inner::after { - cursor: not-allowed; - background-color: #F5F7FA; } - .el-radio__input.is-disabled .el-radio__inner + .el-radio__label { - cursor: not-allowed; } - .el-radio__input.is-disabled.is-checked .el-radio__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; } - .el-radio__input.is-disabled.is-checked .el-radio__inner::after { - background-color: #C0C4CC; } - .el-radio__input.is-disabled + span.el-radio__label { - color: #C0C4CC; - cursor: not-allowed; } - .el-radio__input.is-checked .el-radio__inner { - border-color: #409EFF; - background: #409EFF; } - .el-radio__input.is-checked .el-radio__inner::after { - -webkit-transform: translate(-50%, -50%) scale(1); - transform: translate(-50%, -50%) scale(1); } - .el-radio__input.is-checked + .el-radio__label { - color: #409EFF; } - .el-radio__input.is-focus .el-radio__inner { - border-color: #409EFF; } - .el-radio__inner { - border: 1px solid #DCDFE6; - border-radius: 100%; - width: 14px; - height: 14px; - background-color: #FFFFFF; - position: relative; - cursor: pointer; - display: inline-block; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-radio__inner:hover { - border-color: #409EFF; } - .el-radio__inner::after { - width: 4px; - height: 4px; - border-radius: 100%; - background-color: #FFFFFF; - content: ""; - position: absolute; - left: 50%; - top: 50%; - -webkit-transform: translate(-50%, -50%) scale(0); - transform: translate(-50%, -50%) scale(0); - -webkit-transition: -webkit-transform .15s ease-in; - transition: -webkit-transform .15s ease-in; - transition: transform .15s ease-in; - transition: transform .15s ease-in, -webkit-transform .15s ease-in; } - .el-radio__original { - opacity: 0; - outline: none; - position: absolute; - z-index: -1; - top: 0; - left: 0; - right: 0; - bottom: 0; - margin: 0; } - .el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) { - /*获得焦点时 样式提醒*/ } - .el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner { - -webkit-box-shadow: 0 0 2px 2px #409EFF; - box-shadow: 0 0 2px 2px #409EFF; } - .el-radio__label { - font-size: 14px; - padding-left: 10px; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-scrollbar { - overflow: hidden; - position: relative; } - .el-scrollbar:hover > .el-scrollbar__bar, .el-scrollbar:active > .el-scrollbar__bar, .el-scrollbar:focus > .el-scrollbar__bar { - opacity: 1; - -webkit-transition: opacity 340ms ease-out; - transition: opacity 340ms ease-out; } - .el-scrollbar__wrap { - overflow: scroll; - height: 100%; } - .el-scrollbar__wrap--hidden-default { - scrollbar-width: none; } - .el-scrollbar__wrap--hidden-default::-webkit-scrollbar { - width: 0; - height: 0; } - .el-scrollbar__thumb { - position: relative; - display: block; - width: 0; - height: 0; - cursor: pointer; - border-radius: inherit; - background-color: rgba(144, 147, 153, 0.3); - -webkit-transition: .3s background-color; - transition: .3s background-color; } - .el-scrollbar__thumb:hover { - background-color: rgba(144, 147, 153, 0.5); } - .el-scrollbar__bar { - position: absolute; - right: 2px; - bottom: 2px; - z-index: 1; - border-radius: 4px; - opacity: 0; - -webkit-transition: opacity 120ms ease-out; - transition: opacity 120ms ease-out; } - .el-scrollbar__bar.is-vertical { - width: 6px; - top: 2px; } - .el-scrollbar__bar.is-vertical > div { - width: 100%; } - .el-scrollbar__bar.is-horizontal { - height: 6px; - left: 2px; } - .el-scrollbar__bar.is-horizontal > div { - height: 100%; } - -.el-cascader-panel { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - border-radius: 4px; - font-size: 14px; } - .el-cascader-panel.is-bordered { - border: solid 1px #E4E7ED; - border-radius: 4px; } - -.el-cascader-menu { - min-width: 180px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: #606266; - border-right: solid 1px #E4E7ED; } - .el-cascader-menu:last-child { - border-right: none; } - .el-cascader-menu:last-child .el-cascader-node { - padding-right: 20px; } - .el-cascader-menu__wrap { - height: 204px; } - .el-cascader-menu__list { - position: relative; - min-height: 100%; - margin: 0; - padding: 6px 0; - list-style: none; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-cascader-menu__hover-zone { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - pointer-events: none; } - .el-cascader-menu__empty-text { - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); - text-align: center; - color: #C0C4CC; } - -.el-cascader-node { - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - padding: 0 30px 0 20px; - height: 34px; - line-height: 34px; - outline: none; } - .el-cascader-node.is-selectable.in-active-path { - color: #606266; } - .el-cascader-node.in-active-path, .el-cascader-node.is-selectable.in-checked-path, .el-cascader-node.is-active { - color: #409EFF; - font-weight: bold; } - .el-cascader-node:not(.is-disabled) { - cursor: pointer; } - .el-cascader-node:not(.is-disabled):hover, .el-cascader-node:not(.is-disabled):focus { - background: #F5F7FA; } - .el-cascader-node.is-disabled { - color: #C0C4CC; - cursor: not-allowed; } - .el-cascader-node__prefix { - position: absolute; - left: 10px; } - .el-cascader-node__postfix { - position: absolute; - right: 10px; } - .el-cascader-node__label { - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - padding: 0 10px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; } - .el-cascader-node > .el-radio { - margin-right: 0; } - .el-cascader-node > .el-radio .el-radio__label { - padding-left: 0; } - -.el-cascader { - display: inline-block; - position: relative; - font-size: 14px; - line-height: 40px; } - .el-cascader:not(.is-disabled):hover .el-input__inner { - cursor: pointer; - border-color: #C0C4CC; } - .el-cascader .el-input { - cursor: pointer; } - .el-cascader .el-input .el-input__inner { - text-overflow: ellipsis; } - .el-cascader .el-input .el-input__inner:focus { - border-color: #409EFF; } - .el-cascader .el-input .el-icon-arrow-down { - -webkit-transition: -webkit-transform .3s; - transition: -webkit-transform .3s; - transition: transform .3s; - transition: transform .3s, -webkit-transform .3s; - font-size: 14px; } - .el-cascader .el-input .el-icon-arrow-down.is-reverse { - -webkit-transform: rotateZ(180deg); - transform: rotateZ(180deg); } - .el-cascader .el-input .el-icon-circle-close:hover { - color: #909399; } - .el-cascader .el-input.is-focus .el-input__inner { - border-color: #409EFF; } - .el-cascader--medium { - font-size: 14px; - line-height: 36px; } - .el-cascader--small { - font-size: 13px; - line-height: 32px; } - .el-cascader--mini { - font-size: 12px; - line-height: 28px; } - .el-cascader.is-disabled .el-cascader__label { - z-index: 2; - color: #C0C4CC; } - .el-cascader__dropdown { - margin: 5px 0; - font-size: 14px; - background: #FFFFFF; - border: solid 1px #E4E7ED; - border-radius: 4px; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); } - .el-cascader__tags { - position: absolute; - left: 0; - right: 30px; - top: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - line-height: normal; - text-align: left; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-cascader__tags .el-tag { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - max-width: 100%; - margin: 2px 0 2px 6px; - text-overflow: ellipsis; - background: #f0f2f5; } - .el-cascader__tags .el-tag:not(.is-hit) { - border-color: transparent; } - .el-cascader__tags .el-tag > span { - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - overflow: hidden; - text-overflow: ellipsis; } - .el-cascader__tags .el-tag .el-icon-close { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - background-color: #C0C4CC; - color: #FFFFFF; } - .el-cascader__tags .el-tag .el-icon-close:hover { - background-color: #909399; } - .el-cascader__suggestion-panel { - border-radius: 4px; } - .el-cascader__suggestion-list { - max-height: 204px; - margin: 0; - padding: 6px 0; - font-size: 14px; - color: #606266; - text-align: center; } - .el-cascader__suggestion-item { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - height: 34px; - padding: 0 15px; - text-align: left; - outline: none; - cursor: pointer; } - .el-cascader__suggestion-item:hover, .el-cascader__suggestion-item:focus { - background: #F5F7FA; } - .el-cascader__suggestion-item.is-checked { - color: #409EFF; - font-weight: bold; } - .el-cascader__suggestion-item > span { - margin-right: 10px; } - .el-cascader__empty-text { - margin: 10px 0; - color: #C0C4CC; } - .el-cascader__search-input { - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - height: 24px; - min-width: 60px; - margin: 2px 0 2px 15px; - padding: 0; - color: #606266; - border: none; - outline: none; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-cascader__search-input::-webkit-input-placeholder { - color: #C0C4CC; } - .el-cascader__search-input::-moz-placeholder { - color: #C0C4CC; } - .el-cascader__search-input::-ms-input-placeholder { - color: #C0C4CC; } - .el-cascader__search-input::placeholder { - color: #C0C4CC; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/checkbox-button.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/checkbox-button.css deleted file mode 100644 index e69de29b..00000000 diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/checkbox-group.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/checkbox-group.css deleted file mode 100644 index e69de29b..00000000 diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/checkbox.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/checkbox.css deleted file mode 100644 index 056492bf..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/checkbox.css +++ /dev/null @@ -1,636 +0,0 @@ -@charset "UTF-8"; -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-checkbox { - color: #606266; - font-weight: 500; - font-size: 14px; - position: relative; - cursor: pointer; - display: inline-block; - white-space: nowrap; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - margin-right: 30px; } - .el-checkbox.is-bordered { - padding: 9px 20px 9px 10px; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - line-height: normal; - height: 40px; } - .el-checkbox.is-bordered.is-checked { - border-color: #409EFF; } - .el-checkbox.is-bordered.is-disabled { - border-color: #EBEEF5; - cursor: not-allowed; } - .el-checkbox.is-bordered + .el-checkbox.is-bordered { - margin-left: 10px; } - .el-checkbox.is-bordered.el-checkbox--medium { - padding: 7px 20px 7px 10px; - border-radius: 4px; - height: 36px; } - .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label { - line-height: 17px; - font-size: 14px; } - .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner { - height: 14px; - width: 14px; } - .el-checkbox.is-bordered.el-checkbox--small { - padding: 5px 15px 5px 10px; - border-radius: 3px; - height: 32px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label { - line-height: 15px; - font-size: 12px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner { - height: 12px; - width: 12px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after { - height: 6px; - width: 2px; } - .el-checkbox.is-bordered.el-checkbox--mini { - padding: 3px 15px 3px 10px; - border-radius: 3px; - height: 28px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label { - line-height: 12px; - font-size: 12px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner { - height: 12px; - width: 12px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after { - height: 6px; - width: 2px; } - .el-checkbox__input { - white-space: nowrap; - cursor: pointer; - outline: none; - display: inline-block; - line-height: 1; - position: relative; - vertical-align: middle; } - .el-checkbox__input.is-disabled .el-checkbox__inner { - background-color: #edf2fc; - border-color: #DCDFE6; - cursor: not-allowed; } - .el-checkbox__input.is-disabled .el-checkbox__inner::after { - cursor: not-allowed; - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled .el-checkbox__inner + .el-checkbox__label { - cursor: not-allowed; } - .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { - background-color: #F2F6FC; - border-color: #DCDFE6; } - .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after { - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner { - background-color: #F2F6FC; - border-color: #DCDFE6; } - .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before { - background-color: #C0C4CC; - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled + span.el-checkbox__label { - color: #C0C4CC; - cursor: not-allowed; } - .el-checkbox__input.is-checked .el-checkbox__inner { - background-color: #409EFF; - border-color: #409EFF; } - .el-checkbox__input.is-checked .el-checkbox__inner::after { - -webkit-transform: rotate(45deg) scaleY(1); - transform: rotate(45deg) scaleY(1); } - .el-checkbox__input.is-checked + .el-checkbox__label { - color: #409EFF; } - .el-checkbox__input.is-focus { - /*focus时 视觉上区分*/ } - .el-checkbox__input.is-focus .el-checkbox__inner { - border-color: #409EFF; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner { - background-color: #409EFF; - border-color: #409EFF; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner::before { - content: ''; - position: absolute; - display: block; - background-color: #FFFFFF; - height: 2px; - -webkit-transform: scale(0.5); - transform: scale(0.5); - left: 0; - right: 0; - top: 5px; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner::after { - display: none; } - .el-checkbox__inner { - display: inline-block; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 2px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 14px; - height: 14px; - background-color: #FFFFFF; - z-index: 1; - -webkit-transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46), background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46); - transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46), background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46); } - .el-checkbox__inner:hover { - border-color: #409EFF; } - .el-checkbox__inner::after { - -webkit-box-sizing: content-box; - box-sizing: content-box; - content: ""; - border: 1px solid #FFFFFF; - border-left: 0; - border-top: 0; - height: 7px; - left: 4px; - position: absolute; - top: 1px; - -webkit-transform: rotate(45deg) scaleY(0); - transform: rotate(45deg) scaleY(0); - width: 3px; - -webkit-transition: -webkit-transform .15s ease-in .05s; - transition: -webkit-transform .15s ease-in .05s; - transition: transform .15s ease-in .05s; - transition: transform .15s ease-in .05s, -webkit-transform .15s ease-in .05s; - -webkit-transform-origin: center; - transform-origin: center; } - .el-checkbox__original { - opacity: 0; - outline: none; - position: absolute; - margin: 0; - width: 0; - height: 0; - z-index: -1; } - .el-checkbox__label { - display: inline-block; - padding-left: 10px; - line-height: 19px; - font-size: 14px; } - .el-checkbox:last-of-type { - margin-right: 0; } - -.el-checkbox-button { - position: relative; - display: inline-block; } - .el-checkbox-button__inner { - display: inline-block; - line-height: 1; - font-weight: 500; - white-space: nowrap; - vertical-align: middle; - cursor: pointer; - background: #FFFFFF; - border: 1px solid #DCDFE6; - border-left: 0; - color: #606266; - -webkit-appearance: none; - text-align: center; - -webkit-box-sizing: border-box; - box-sizing: border-box; - outline: none; - margin: 0; - position: relative; - -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - padding: 12px 20px; - font-size: 14px; - border-radius: 0; } - .el-checkbox-button__inner.is-round { - padding: 12px 20px; } - .el-checkbox-button__inner:hover { - color: #409EFF; } - .el-checkbox-button__inner [class*="el-icon-"] { - line-height: 0.9; } - .el-checkbox-button__inner [class*="el-icon-"] + span { - margin-left: 5px; } - .el-checkbox-button__original { - opacity: 0; - outline: none; - position: absolute; - margin: 0; - z-index: -1; } - .el-checkbox-button.is-checked .el-checkbox-button__inner { - color: #FFFFFF; - background-color: #409EFF; - border-color: #409EFF; - -webkit-box-shadow: -1px 0 0 0 #8cc5ff; - box-shadow: -1px 0 0 0 #8cc5ff; } - .el-checkbox-button.is-checked:first-child .el-checkbox-button__inner { - border-left-color: #409EFF; } - .el-checkbox-button.is-disabled .el-checkbox-button__inner { - color: #C0C4CC; - cursor: not-allowed; - background-image: none; - background-color: #FFFFFF; - border-color: #EBEEF5; - -webkit-box-shadow: none; - box-shadow: none; } - .el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner { - border-left-color: #EBEEF5; } - .el-checkbox-button:first-child .el-checkbox-button__inner { - border-left: 1px solid #DCDFE6; - border-radius: 4px 0 0 4px; - -webkit-box-shadow: none !important; - box-shadow: none !important; } - .el-checkbox-button.is-focus .el-checkbox-button__inner { - border-color: #409EFF; } - .el-checkbox-button:last-child .el-checkbox-button__inner { - border-radius: 0 4px 4px 0; } - .el-checkbox-button--medium .el-checkbox-button__inner { - padding: 10px 20px; - font-size: 14px; - border-radius: 0; } - .el-checkbox-button--medium .el-checkbox-button__inner.is-round { - padding: 10px 20px; } - .el-checkbox-button--small .el-checkbox-button__inner { - padding: 9px 15px; - font-size: 12px; - border-radius: 0; } - .el-checkbox-button--small .el-checkbox-button__inner.is-round { - padding: 9px 15px; } - .el-checkbox-button--mini .el-checkbox-button__inner { - padding: 7px 15px; - font-size: 12px; - border-radius: 0; } - .el-checkbox-button--mini .el-checkbox-button__inner.is-round { - padding: 7px 15px; } - -.el-checkbox-group { - font-size: 0; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/col.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/col.css deleted file mode 100644 index d14ed5ab..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/col.css +++ /dev/null @@ -1,1877 +0,0 @@ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -[class*="el-col-"] { - float: left; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - -.el-col-0 { - display: none; } - -.el-col-0 { - width: 0%; } - -.el-col-offset-0 { - margin-left: 0%; } - -.el-col-pull-0 { - position: relative; - right: 0%; } - -.el-col-push-0 { - position: relative; - left: 0%; } - -.el-col-1 { - width: 4.16667%; } - -.el-col-offset-1 { - margin-left: 4.16667%; } - -.el-col-pull-1 { - position: relative; - right: 4.16667%; } - -.el-col-push-1 { - position: relative; - left: 4.16667%; } - -.el-col-2 { - width: 8.33333%; } - -.el-col-offset-2 { - margin-left: 8.33333%; } - -.el-col-pull-2 { - position: relative; - right: 8.33333%; } - -.el-col-push-2 { - position: relative; - left: 8.33333%; } - -.el-col-3 { - width: 12.5%; } - -.el-col-offset-3 { - margin-left: 12.5%; } - -.el-col-pull-3 { - position: relative; - right: 12.5%; } - -.el-col-push-3 { - position: relative; - left: 12.5%; } - -.el-col-4 { - width: 16.66667%; } - -.el-col-offset-4 { - margin-left: 16.66667%; } - -.el-col-pull-4 { - position: relative; - right: 16.66667%; } - -.el-col-push-4 { - position: relative; - left: 16.66667%; } - -.el-col-5 { - width: 20.83333%; } - -.el-col-offset-5 { - margin-left: 20.83333%; } - -.el-col-pull-5 { - position: relative; - right: 20.83333%; } - -.el-col-push-5 { - position: relative; - left: 20.83333%; } - -.el-col-6 { - width: 25%; } - -.el-col-offset-6 { - margin-left: 25%; } - -.el-col-pull-6 { - position: relative; - right: 25%; } - -.el-col-push-6 { - position: relative; - left: 25%; } - -.el-col-7 { - width: 29.16667%; } - -.el-col-offset-7 { - margin-left: 29.16667%; } - -.el-col-pull-7 { - position: relative; - right: 29.16667%; } - -.el-col-push-7 { - position: relative; - left: 29.16667%; } - -.el-col-8 { - width: 33.33333%; } - -.el-col-offset-8 { - margin-left: 33.33333%; } - -.el-col-pull-8 { - position: relative; - right: 33.33333%; } - -.el-col-push-8 { - position: relative; - left: 33.33333%; } - -.el-col-9 { - width: 37.5%; } - -.el-col-offset-9 { - margin-left: 37.5%; } - -.el-col-pull-9 { - position: relative; - right: 37.5%; } - -.el-col-push-9 { - position: relative; - left: 37.5%; } - -.el-col-10 { - width: 41.66667%; } - -.el-col-offset-10 { - margin-left: 41.66667%; } - -.el-col-pull-10 { - position: relative; - right: 41.66667%; } - -.el-col-push-10 { - position: relative; - left: 41.66667%; } - -.el-col-11 { - width: 45.83333%; } - -.el-col-offset-11 { - margin-left: 45.83333%; } - -.el-col-pull-11 { - position: relative; - right: 45.83333%; } - -.el-col-push-11 { - position: relative; - left: 45.83333%; } - -.el-col-12 { - width: 50%; } - -.el-col-offset-12 { - margin-left: 50%; } - -.el-col-pull-12 { - position: relative; - right: 50%; } - -.el-col-push-12 { - position: relative; - left: 50%; } - -.el-col-13 { - width: 54.16667%; } - -.el-col-offset-13 { - margin-left: 54.16667%; } - -.el-col-pull-13 { - position: relative; - right: 54.16667%; } - -.el-col-push-13 { - position: relative; - left: 54.16667%; } - -.el-col-14 { - width: 58.33333%; } - -.el-col-offset-14 { - margin-left: 58.33333%; } - -.el-col-pull-14 { - position: relative; - right: 58.33333%; } - -.el-col-push-14 { - position: relative; - left: 58.33333%; } - -.el-col-15 { - width: 62.5%; } - -.el-col-offset-15 { - margin-left: 62.5%; } - -.el-col-pull-15 { - position: relative; - right: 62.5%; } - -.el-col-push-15 { - position: relative; - left: 62.5%; } - -.el-col-16 { - width: 66.66667%; } - -.el-col-offset-16 { - margin-left: 66.66667%; } - -.el-col-pull-16 { - position: relative; - right: 66.66667%; } - -.el-col-push-16 { - position: relative; - left: 66.66667%; } - -.el-col-17 { - width: 70.83333%; } - -.el-col-offset-17 { - margin-left: 70.83333%; } - -.el-col-pull-17 { - position: relative; - right: 70.83333%; } - -.el-col-push-17 { - position: relative; - left: 70.83333%; } - -.el-col-18 { - width: 75%; } - -.el-col-offset-18 { - margin-left: 75%; } - -.el-col-pull-18 { - position: relative; - right: 75%; } - -.el-col-push-18 { - position: relative; - left: 75%; } - -.el-col-19 { - width: 79.16667%; } - -.el-col-offset-19 { - margin-left: 79.16667%; } - -.el-col-pull-19 { - position: relative; - right: 79.16667%; } - -.el-col-push-19 { - position: relative; - left: 79.16667%; } - -.el-col-20 { - width: 83.33333%; } - -.el-col-offset-20 { - margin-left: 83.33333%; } - -.el-col-pull-20 { - position: relative; - right: 83.33333%; } - -.el-col-push-20 { - position: relative; - left: 83.33333%; } - -.el-col-21 { - width: 87.5%; } - -.el-col-offset-21 { - margin-left: 87.5%; } - -.el-col-pull-21 { - position: relative; - right: 87.5%; } - -.el-col-push-21 { - position: relative; - left: 87.5%; } - -.el-col-22 { - width: 91.66667%; } - -.el-col-offset-22 { - margin-left: 91.66667%; } - -.el-col-pull-22 { - position: relative; - right: 91.66667%; } - -.el-col-push-22 { - position: relative; - left: 91.66667%; } - -.el-col-23 { - width: 95.83333%; } - -.el-col-offset-23 { - margin-left: 95.83333%; } - -.el-col-pull-23 { - position: relative; - right: 95.83333%; } - -.el-col-push-23 { - position: relative; - left: 95.83333%; } - -.el-col-24 { - width: 100%; } - -.el-col-offset-24 { - margin-left: 100%; } - -.el-col-pull-24 { - position: relative; - right: 100%; } - -.el-col-push-24 { - position: relative; - left: 100%; } - -@media only screen and (max-width: 767px) { - .el-col-xs-0 { - display: none; } - .el-col-xs-0 { - width: 0%; } - .el-col-xs-offset-0 { - margin-left: 0%; } - .el-col-xs-pull-0 { - position: relative; - right: 0%; } - .el-col-xs-push-0 { - position: relative; - left: 0%; } - .el-col-xs-1 { - width: 4.16667%; } - .el-col-xs-offset-1 { - margin-left: 4.16667%; } - .el-col-xs-pull-1 { - position: relative; - right: 4.16667%; } - .el-col-xs-push-1 { - position: relative; - left: 4.16667%; } - .el-col-xs-2 { - width: 8.33333%; } - .el-col-xs-offset-2 { - margin-left: 8.33333%; } - .el-col-xs-pull-2 { - position: relative; - right: 8.33333%; } - .el-col-xs-push-2 { - position: relative; - left: 8.33333%; } - .el-col-xs-3 { - width: 12.5%; } - .el-col-xs-offset-3 { - margin-left: 12.5%; } - .el-col-xs-pull-3 { - position: relative; - right: 12.5%; } - .el-col-xs-push-3 { - position: relative; - left: 12.5%; } - .el-col-xs-4 { - width: 16.66667%; } - .el-col-xs-offset-4 { - margin-left: 16.66667%; } - .el-col-xs-pull-4 { - position: relative; - right: 16.66667%; } - .el-col-xs-push-4 { - position: relative; - left: 16.66667%; } - .el-col-xs-5 { - width: 20.83333%; } - .el-col-xs-offset-5 { - margin-left: 20.83333%; } - .el-col-xs-pull-5 { - position: relative; - right: 20.83333%; } - .el-col-xs-push-5 { - position: relative; - left: 20.83333%; } - .el-col-xs-6 { - width: 25%; } - .el-col-xs-offset-6 { - margin-left: 25%; } - .el-col-xs-pull-6 { - position: relative; - right: 25%; } - .el-col-xs-push-6 { - position: relative; - left: 25%; } - .el-col-xs-7 { - width: 29.16667%; } - .el-col-xs-offset-7 { - margin-left: 29.16667%; } - .el-col-xs-pull-7 { - position: relative; - right: 29.16667%; } - .el-col-xs-push-7 { - position: relative; - left: 29.16667%; } - .el-col-xs-8 { - width: 33.33333%; } - .el-col-xs-offset-8 { - margin-left: 33.33333%; } - .el-col-xs-pull-8 { - position: relative; - right: 33.33333%; } - .el-col-xs-push-8 { - position: relative; - left: 33.33333%; } - .el-col-xs-9 { - width: 37.5%; } - .el-col-xs-offset-9 { - margin-left: 37.5%; } - .el-col-xs-pull-9 { - position: relative; - right: 37.5%; } - .el-col-xs-push-9 { - position: relative; - left: 37.5%; } - .el-col-xs-10 { - width: 41.66667%; } - .el-col-xs-offset-10 { - margin-left: 41.66667%; } - .el-col-xs-pull-10 { - position: relative; - right: 41.66667%; } - .el-col-xs-push-10 { - position: relative; - left: 41.66667%; } - .el-col-xs-11 { - width: 45.83333%; } - .el-col-xs-offset-11 { - margin-left: 45.83333%; } - .el-col-xs-pull-11 { - position: relative; - right: 45.83333%; } - .el-col-xs-push-11 { - position: relative; - left: 45.83333%; } - .el-col-xs-12 { - width: 50%; } - .el-col-xs-offset-12 { - margin-left: 50%; } - .el-col-xs-pull-12 { - position: relative; - right: 50%; } - .el-col-xs-push-12 { - position: relative; - left: 50%; } - .el-col-xs-13 { - width: 54.16667%; } - .el-col-xs-offset-13 { - margin-left: 54.16667%; } - .el-col-xs-pull-13 { - position: relative; - right: 54.16667%; } - .el-col-xs-push-13 { - position: relative; - left: 54.16667%; } - .el-col-xs-14 { - width: 58.33333%; } - .el-col-xs-offset-14 { - margin-left: 58.33333%; } - .el-col-xs-pull-14 { - position: relative; - right: 58.33333%; } - .el-col-xs-push-14 { - position: relative; - left: 58.33333%; } - .el-col-xs-15 { - width: 62.5%; } - .el-col-xs-offset-15 { - margin-left: 62.5%; } - .el-col-xs-pull-15 { - position: relative; - right: 62.5%; } - .el-col-xs-push-15 { - position: relative; - left: 62.5%; } - .el-col-xs-16 { - width: 66.66667%; } - .el-col-xs-offset-16 { - margin-left: 66.66667%; } - .el-col-xs-pull-16 { - position: relative; - right: 66.66667%; } - .el-col-xs-push-16 { - position: relative; - left: 66.66667%; } - .el-col-xs-17 { - width: 70.83333%; } - .el-col-xs-offset-17 { - margin-left: 70.83333%; } - .el-col-xs-pull-17 { - position: relative; - right: 70.83333%; } - .el-col-xs-push-17 { - position: relative; - left: 70.83333%; } - .el-col-xs-18 { - width: 75%; } - .el-col-xs-offset-18 { - margin-left: 75%; } - .el-col-xs-pull-18 { - position: relative; - right: 75%; } - .el-col-xs-push-18 { - position: relative; - left: 75%; } - .el-col-xs-19 { - width: 79.16667%; } - .el-col-xs-offset-19 { - margin-left: 79.16667%; } - .el-col-xs-pull-19 { - position: relative; - right: 79.16667%; } - .el-col-xs-push-19 { - position: relative; - left: 79.16667%; } - .el-col-xs-20 { - width: 83.33333%; } - .el-col-xs-offset-20 { - margin-left: 83.33333%; } - .el-col-xs-pull-20 { - position: relative; - right: 83.33333%; } - .el-col-xs-push-20 { - position: relative; - left: 83.33333%; } - .el-col-xs-21 { - width: 87.5%; } - .el-col-xs-offset-21 { - margin-left: 87.5%; } - .el-col-xs-pull-21 { - position: relative; - right: 87.5%; } - .el-col-xs-push-21 { - position: relative; - left: 87.5%; } - .el-col-xs-22 { - width: 91.66667%; } - .el-col-xs-offset-22 { - margin-left: 91.66667%; } - .el-col-xs-pull-22 { - position: relative; - right: 91.66667%; } - .el-col-xs-push-22 { - position: relative; - left: 91.66667%; } - .el-col-xs-23 { - width: 95.83333%; } - .el-col-xs-offset-23 { - margin-left: 95.83333%; } - .el-col-xs-pull-23 { - position: relative; - right: 95.83333%; } - .el-col-xs-push-23 { - position: relative; - left: 95.83333%; } - .el-col-xs-24 { - width: 100%; } - .el-col-xs-offset-24 { - margin-left: 100%; } - .el-col-xs-pull-24 { - position: relative; - right: 100%; } - .el-col-xs-push-24 { - position: relative; - left: 100%; } } - -@media only screen and (min-width: 768px) { - .el-col-sm-0 { - display: none; } - .el-col-sm-0 { - width: 0%; } - .el-col-sm-offset-0 { - margin-left: 0%; } - .el-col-sm-pull-0 { - position: relative; - right: 0%; } - .el-col-sm-push-0 { - position: relative; - left: 0%; } - .el-col-sm-1 { - width: 4.16667%; } - .el-col-sm-offset-1 { - margin-left: 4.16667%; } - .el-col-sm-pull-1 { - position: relative; - right: 4.16667%; } - .el-col-sm-push-1 { - position: relative; - left: 4.16667%; } - .el-col-sm-2 { - width: 8.33333%; } - .el-col-sm-offset-2 { - margin-left: 8.33333%; } - .el-col-sm-pull-2 { - position: relative; - right: 8.33333%; } - .el-col-sm-push-2 { - position: relative; - left: 8.33333%; } - .el-col-sm-3 { - width: 12.5%; } - .el-col-sm-offset-3 { - margin-left: 12.5%; } - .el-col-sm-pull-3 { - position: relative; - right: 12.5%; } - .el-col-sm-push-3 { - position: relative; - left: 12.5%; } - .el-col-sm-4 { - width: 16.66667%; } - .el-col-sm-offset-4 { - margin-left: 16.66667%; } - .el-col-sm-pull-4 { - position: relative; - right: 16.66667%; } - .el-col-sm-push-4 { - position: relative; - left: 16.66667%; } - .el-col-sm-5 { - width: 20.83333%; } - .el-col-sm-offset-5 { - margin-left: 20.83333%; } - .el-col-sm-pull-5 { - position: relative; - right: 20.83333%; } - .el-col-sm-push-5 { - position: relative; - left: 20.83333%; } - .el-col-sm-6 { - width: 25%; } - .el-col-sm-offset-6 { - margin-left: 25%; } - .el-col-sm-pull-6 { - position: relative; - right: 25%; } - .el-col-sm-push-6 { - position: relative; - left: 25%; } - .el-col-sm-7 { - width: 29.16667%; } - .el-col-sm-offset-7 { - margin-left: 29.16667%; } - .el-col-sm-pull-7 { - position: relative; - right: 29.16667%; } - .el-col-sm-push-7 { - position: relative; - left: 29.16667%; } - .el-col-sm-8 { - width: 33.33333%; } - .el-col-sm-offset-8 { - margin-left: 33.33333%; } - .el-col-sm-pull-8 { - position: relative; - right: 33.33333%; } - .el-col-sm-push-8 { - position: relative; - left: 33.33333%; } - .el-col-sm-9 { - width: 37.5%; } - .el-col-sm-offset-9 { - margin-left: 37.5%; } - .el-col-sm-pull-9 { - position: relative; - right: 37.5%; } - .el-col-sm-push-9 { - position: relative; - left: 37.5%; } - .el-col-sm-10 { - width: 41.66667%; } - .el-col-sm-offset-10 { - margin-left: 41.66667%; } - .el-col-sm-pull-10 { - position: relative; - right: 41.66667%; } - .el-col-sm-push-10 { - position: relative; - left: 41.66667%; } - .el-col-sm-11 { - width: 45.83333%; } - .el-col-sm-offset-11 { - margin-left: 45.83333%; } - .el-col-sm-pull-11 { - position: relative; - right: 45.83333%; } - .el-col-sm-push-11 { - position: relative; - left: 45.83333%; } - .el-col-sm-12 { - width: 50%; } - .el-col-sm-offset-12 { - margin-left: 50%; } - .el-col-sm-pull-12 { - position: relative; - right: 50%; } - .el-col-sm-push-12 { - position: relative; - left: 50%; } - .el-col-sm-13 { - width: 54.16667%; } - .el-col-sm-offset-13 { - margin-left: 54.16667%; } - .el-col-sm-pull-13 { - position: relative; - right: 54.16667%; } - .el-col-sm-push-13 { - position: relative; - left: 54.16667%; } - .el-col-sm-14 { - width: 58.33333%; } - .el-col-sm-offset-14 { - margin-left: 58.33333%; } - .el-col-sm-pull-14 { - position: relative; - right: 58.33333%; } - .el-col-sm-push-14 { - position: relative; - left: 58.33333%; } - .el-col-sm-15 { - width: 62.5%; } - .el-col-sm-offset-15 { - margin-left: 62.5%; } - .el-col-sm-pull-15 { - position: relative; - right: 62.5%; } - .el-col-sm-push-15 { - position: relative; - left: 62.5%; } - .el-col-sm-16 { - width: 66.66667%; } - .el-col-sm-offset-16 { - margin-left: 66.66667%; } - .el-col-sm-pull-16 { - position: relative; - right: 66.66667%; } - .el-col-sm-push-16 { - position: relative; - left: 66.66667%; } - .el-col-sm-17 { - width: 70.83333%; } - .el-col-sm-offset-17 { - margin-left: 70.83333%; } - .el-col-sm-pull-17 { - position: relative; - right: 70.83333%; } - .el-col-sm-push-17 { - position: relative; - left: 70.83333%; } - .el-col-sm-18 { - width: 75%; } - .el-col-sm-offset-18 { - margin-left: 75%; } - .el-col-sm-pull-18 { - position: relative; - right: 75%; } - .el-col-sm-push-18 { - position: relative; - left: 75%; } - .el-col-sm-19 { - width: 79.16667%; } - .el-col-sm-offset-19 { - margin-left: 79.16667%; } - .el-col-sm-pull-19 { - position: relative; - right: 79.16667%; } - .el-col-sm-push-19 { - position: relative; - left: 79.16667%; } - .el-col-sm-20 { - width: 83.33333%; } - .el-col-sm-offset-20 { - margin-left: 83.33333%; } - .el-col-sm-pull-20 { - position: relative; - right: 83.33333%; } - .el-col-sm-push-20 { - position: relative; - left: 83.33333%; } - .el-col-sm-21 { - width: 87.5%; } - .el-col-sm-offset-21 { - margin-left: 87.5%; } - .el-col-sm-pull-21 { - position: relative; - right: 87.5%; } - .el-col-sm-push-21 { - position: relative; - left: 87.5%; } - .el-col-sm-22 { - width: 91.66667%; } - .el-col-sm-offset-22 { - margin-left: 91.66667%; } - .el-col-sm-pull-22 { - position: relative; - right: 91.66667%; } - .el-col-sm-push-22 { - position: relative; - left: 91.66667%; } - .el-col-sm-23 { - width: 95.83333%; } - .el-col-sm-offset-23 { - margin-left: 95.83333%; } - .el-col-sm-pull-23 { - position: relative; - right: 95.83333%; } - .el-col-sm-push-23 { - position: relative; - left: 95.83333%; } - .el-col-sm-24 { - width: 100%; } - .el-col-sm-offset-24 { - margin-left: 100%; } - .el-col-sm-pull-24 { - position: relative; - right: 100%; } - .el-col-sm-push-24 { - position: relative; - left: 100%; } } - -@media only screen and (min-width: 992px) { - .el-col-md-0 { - display: none; } - .el-col-md-0 { - width: 0%; } - .el-col-md-offset-0 { - margin-left: 0%; } - .el-col-md-pull-0 { - position: relative; - right: 0%; } - .el-col-md-push-0 { - position: relative; - left: 0%; } - .el-col-md-1 { - width: 4.16667%; } - .el-col-md-offset-1 { - margin-left: 4.16667%; } - .el-col-md-pull-1 { - position: relative; - right: 4.16667%; } - .el-col-md-push-1 { - position: relative; - left: 4.16667%; } - .el-col-md-2 { - width: 8.33333%; } - .el-col-md-offset-2 { - margin-left: 8.33333%; } - .el-col-md-pull-2 { - position: relative; - right: 8.33333%; } - .el-col-md-push-2 { - position: relative; - left: 8.33333%; } - .el-col-md-3 { - width: 12.5%; } - .el-col-md-offset-3 { - margin-left: 12.5%; } - .el-col-md-pull-3 { - position: relative; - right: 12.5%; } - .el-col-md-push-3 { - position: relative; - left: 12.5%; } - .el-col-md-4 { - width: 16.66667%; } - .el-col-md-offset-4 { - margin-left: 16.66667%; } - .el-col-md-pull-4 { - position: relative; - right: 16.66667%; } - .el-col-md-push-4 { - position: relative; - left: 16.66667%; } - .el-col-md-5 { - width: 20.83333%; } - .el-col-md-offset-5 { - margin-left: 20.83333%; } - .el-col-md-pull-5 { - position: relative; - right: 20.83333%; } - .el-col-md-push-5 { - position: relative; - left: 20.83333%; } - .el-col-md-6 { - width: 25%; } - .el-col-md-offset-6 { - margin-left: 25%; } - .el-col-md-pull-6 { - position: relative; - right: 25%; } - .el-col-md-push-6 { - position: relative; - left: 25%; } - .el-col-md-7 { - width: 29.16667%; } - .el-col-md-offset-7 { - margin-left: 29.16667%; } - .el-col-md-pull-7 { - position: relative; - right: 29.16667%; } - .el-col-md-push-7 { - position: relative; - left: 29.16667%; } - .el-col-md-8 { - width: 33.33333%; } - .el-col-md-offset-8 { - margin-left: 33.33333%; } - .el-col-md-pull-8 { - position: relative; - right: 33.33333%; } - .el-col-md-push-8 { - position: relative; - left: 33.33333%; } - .el-col-md-9 { - width: 37.5%; } - .el-col-md-offset-9 { - margin-left: 37.5%; } - .el-col-md-pull-9 { - position: relative; - right: 37.5%; } - .el-col-md-push-9 { - position: relative; - left: 37.5%; } - .el-col-md-10 { - width: 41.66667%; } - .el-col-md-offset-10 { - margin-left: 41.66667%; } - .el-col-md-pull-10 { - position: relative; - right: 41.66667%; } - .el-col-md-push-10 { - position: relative; - left: 41.66667%; } - .el-col-md-11 { - width: 45.83333%; } - .el-col-md-offset-11 { - margin-left: 45.83333%; } - .el-col-md-pull-11 { - position: relative; - right: 45.83333%; } - .el-col-md-push-11 { - position: relative; - left: 45.83333%; } - .el-col-md-12 { - width: 50%; } - .el-col-md-offset-12 { - margin-left: 50%; } - .el-col-md-pull-12 { - position: relative; - right: 50%; } - .el-col-md-push-12 { - position: relative; - left: 50%; } - .el-col-md-13 { - width: 54.16667%; } - .el-col-md-offset-13 { - margin-left: 54.16667%; } - .el-col-md-pull-13 { - position: relative; - right: 54.16667%; } - .el-col-md-push-13 { - position: relative; - left: 54.16667%; } - .el-col-md-14 { - width: 58.33333%; } - .el-col-md-offset-14 { - margin-left: 58.33333%; } - .el-col-md-pull-14 { - position: relative; - right: 58.33333%; } - .el-col-md-push-14 { - position: relative; - left: 58.33333%; } - .el-col-md-15 { - width: 62.5%; } - .el-col-md-offset-15 { - margin-left: 62.5%; } - .el-col-md-pull-15 { - position: relative; - right: 62.5%; } - .el-col-md-push-15 { - position: relative; - left: 62.5%; } - .el-col-md-16 { - width: 66.66667%; } - .el-col-md-offset-16 { - margin-left: 66.66667%; } - .el-col-md-pull-16 { - position: relative; - right: 66.66667%; } - .el-col-md-push-16 { - position: relative; - left: 66.66667%; } - .el-col-md-17 { - width: 70.83333%; } - .el-col-md-offset-17 { - margin-left: 70.83333%; } - .el-col-md-pull-17 { - position: relative; - right: 70.83333%; } - .el-col-md-push-17 { - position: relative; - left: 70.83333%; } - .el-col-md-18 { - width: 75%; } - .el-col-md-offset-18 { - margin-left: 75%; } - .el-col-md-pull-18 { - position: relative; - right: 75%; } - .el-col-md-push-18 { - position: relative; - left: 75%; } - .el-col-md-19 { - width: 79.16667%; } - .el-col-md-offset-19 { - margin-left: 79.16667%; } - .el-col-md-pull-19 { - position: relative; - right: 79.16667%; } - .el-col-md-push-19 { - position: relative; - left: 79.16667%; } - .el-col-md-20 { - width: 83.33333%; } - .el-col-md-offset-20 { - margin-left: 83.33333%; } - .el-col-md-pull-20 { - position: relative; - right: 83.33333%; } - .el-col-md-push-20 { - position: relative; - left: 83.33333%; } - .el-col-md-21 { - width: 87.5%; } - .el-col-md-offset-21 { - margin-left: 87.5%; } - .el-col-md-pull-21 { - position: relative; - right: 87.5%; } - .el-col-md-push-21 { - position: relative; - left: 87.5%; } - .el-col-md-22 { - width: 91.66667%; } - .el-col-md-offset-22 { - margin-left: 91.66667%; } - .el-col-md-pull-22 { - position: relative; - right: 91.66667%; } - .el-col-md-push-22 { - position: relative; - left: 91.66667%; } - .el-col-md-23 { - width: 95.83333%; } - .el-col-md-offset-23 { - margin-left: 95.83333%; } - .el-col-md-pull-23 { - position: relative; - right: 95.83333%; } - .el-col-md-push-23 { - position: relative; - left: 95.83333%; } - .el-col-md-24 { - width: 100%; } - .el-col-md-offset-24 { - margin-left: 100%; } - .el-col-md-pull-24 { - position: relative; - right: 100%; } - .el-col-md-push-24 { - position: relative; - left: 100%; } } - -@media only screen and (min-width: 1200px) { - .el-col-lg-0 { - display: none; } - .el-col-lg-0 { - width: 0%; } - .el-col-lg-offset-0 { - margin-left: 0%; } - .el-col-lg-pull-0 { - position: relative; - right: 0%; } - .el-col-lg-push-0 { - position: relative; - left: 0%; } - .el-col-lg-1 { - width: 4.16667%; } - .el-col-lg-offset-1 { - margin-left: 4.16667%; } - .el-col-lg-pull-1 { - position: relative; - right: 4.16667%; } - .el-col-lg-push-1 { - position: relative; - left: 4.16667%; } - .el-col-lg-2 { - width: 8.33333%; } - .el-col-lg-offset-2 { - margin-left: 8.33333%; } - .el-col-lg-pull-2 { - position: relative; - right: 8.33333%; } - .el-col-lg-push-2 { - position: relative; - left: 8.33333%; } - .el-col-lg-3 { - width: 12.5%; } - .el-col-lg-offset-3 { - margin-left: 12.5%; } - .el-col-lg-pull-3 { - position: relative; - right: 12.5%; } - .el-col-lg-push-3 { - position: relative; - left: 12.5%; } - .el-col-lg-4 { - width: 16.66667%; } - .el-col-lg-offset-4 { - margin-left: 16.66667%; } - .el-col-lg-pull-4 { - position: relative; - right: 16.66667%; } - .el-col-lg-push-4 { - position: relative; - left: 16.66667%; } - .el-col-lg-5 { - width: 20.83333%; } - .el-col-lg-offset-5 { - margin-left: 20.83333%; } - .el-col-lg-pull-5 { - position: relative; - right: 20.83333%; } - .el-col-lg-push-5 { - position: relative; - left: 20.83333%; } - .el-col-lg-6 { - width: 25%; } - .el-col-lg-offset-6 { - margin-left: 25%; } - .el-col-lg-pull-6 { - position: relative; - right: 25%; } - .el-col-lg-push-6 { - position: relative; - left: 25%; } - .el-col-lg-7 { - width: 29.16667%; } - .el-col-lg-offset-7 { - margin-left: 29.16667%; } - .el-col-lg-pull-7 { - position: relative; - right: 29.16667%; } - .el-col-lg-push-7 { - position: relative; - left: 29.16667%; } - .el-col-lg-8 { - width: 33.33333%; } - .el-col-lg-offset-8 { - margin-left: 33.33333%; } - .el-col-lg-pull-8 { - position: relative; - right: 33.33333%; } - .el-col-lg-push-8 { - position: relative; - left: 33.33333%; } - .el-col-lg-9 { - width: 37.5%; } - .el-col-lg-offset-9 { - margin-left: 37.5%; } - .el-col-lg-pull-9 { - position: relative; - right: 37.5%; } - .el-col-lg-push-9 { - position: relative; - left: 37.5%; } - .el-col-lg-10 { - width: 41.66667%; } - .el-col-lg-offset-10 { - margin-left: 41.66667%; } - .el-col-lg-pull-10 { - position: relative; - right: 41.66667%; } - .el-col-lg-push-10 { - position: relative; - left: 41.66667%; } - .el-col-lg-11 { - width: 45.83333%; } - .el-col-lg-offset-11 { - margin-left: 45.83333%; } - .el-col-lg-pull-11 { - position: relative; - right: 45.83333%; } - .el-col-lg-push-11 { - position: relative; - left: 45.83333%; } - .el-col-lg-12 { - width: 50%; } - .el-col-lg-offset-12 { - margin-left: 50%; } - .el-col-lg-pull-12 { - position: relative; - right: 50%; } - .el-col-lg-push-12 { - position: relative; - left: 50%; } - .el-col-lg-13 { - width: 54.16667%; } - .el-col-lg-offset-13 { - margin-left: 54.16667%; } - .el-col-lg-pull-13 { - position: relative; - right: 54.16667%; } - .el-col-lg-push-13 { - position: relative; - left: 54.16667%; } - .el-col-lg-14 { - width: 58.33333%; } - .el-col-lg-offset-14 { - margin-left: 58.33333%; } - .el-col-lg-pull-14 { - position: relative; - right: 58.33333%; } - .el-col-lg-push-14 { - position: relative; - left: 58.33333%; } - .el-col-lg-15 { - width: 62.5%; } - .el-col-lg-offset-15 { - margin-left: 62.5%; } - .el-col-lg-pull-15 { - position: relative; - right: 62.5%; } - .el-col-lg-push-15 { - position: relative; - left: 62.5%; } - .el-col-lg-16 { - width: 66.66667%; } - .el-col-lg-offset-16 { - margin-left: 66.66667%; } - .el-col-lg-pull-16 { - position: relative; - right: 66.66667%; } - .el-col-lg-push-16 { - position: relative; - left: 66.66667%; } - .el-col-lg-17 { - width: 70.83333%; } - .el-col-lg-offset-17 { - margin-left: 70.83333%; } - .el-col-lg-pull-17 { - position: relative; - right: 70.83333%; } - .el-col-lg-push-17 { - position: relative; - left: 70.83333%; } - .el-col-lg-18 { - width: 75%; } - .el-col-lg-offset-18 { - margin-left: 75%; } - .el-col-lg-pull-18 { - position: relative; - right: 75%; } - .el-col-lg-push-18 { - position: relative; - left: 75%; } - .el-col-lg-19 { - width: 79.16667%; } - .el-col-lg-offset-19 { - margin-left: 79.16667%; } - .el-col-lg-pull-19 { - position: relative; - right: 79.16667%; } - .el-col-lg-push-19 { - position: relative; - left: 79.16667%; } - .el-col-lg-20 { - width: 83.33333%; } - .el-col-lg-offset-20 { - margin-left: 83.33333%; } - .el-col-lg-pull-20 { - position: relative; - right: 83.33333%; } - .el-col-lg-push-20 { - position: relative; - left: 83.33333%; } - .el-col-lg-21 { - width: 87.5%; } - .el-col-lg-offset-21 { - margin-left: 87.5%; } - .el-col-lg-pull-21 { - position: relative; - right: 87.5%; } - .el-col-lg-push-21 { - position: relative; - left: 87.5%; } - .el-col-lg-22 { - width: 91.66667%; } - .el-col-lg-offset-22 { - margin-left: 91.66667%; } - .el-col-lg-pull-22 { - position: relative; - right: 91.66667%; } - .el-col-lg-push-22 { - position: relative; - left: 91.66667%; } - .el-col-lg-23 { - width: 95.83333%; } - .el-col-lg-offset-23 { - margin-left: 95.83333%; } - .el-col-lg-pull-23 { - position: relative; - right: 95.83333%; } - .el-col-lg-push-23 { - position: relative; - left: 95.83333%; } - .el-col-lg-24 { - width: 100%; } - .el-col-lg-offset-24 { - margin-left: 100%; } - .el-col-lg-pull-24 { - position: relative; - right: 100%; } - .el-col-lg-push-24 { - position: relative; - left: 100%; } } - -@media only screen and (min-width: 1920px) { - .el-col-xl-0 { - display: none; } - .el-col-xl-0 { - width: 0%; } - .el-col-xl-offset-0 { - margin-left: 0%; } - .el-col-xl-pull-0 { - position: relative; - right: 0%; } - .el-col-xl-push-0 { - position: relative; - left: 0%; } - .el-col-xl-1 { - width: 4.16667%; } - .el-col-xl-offset-1 { - margin-left: 4.16667%; } - .el-col-xl-pull-1 { - position: relative; - right: 4.16667%; } - .el-col-xl-push-1 { - position: relative; - left: 4.16667%; } - .el-col-xl-2 { - width: 8.33333%; } - .el-col-xl-offset-2 { - margin-left: 8.33333%; } - .el-col-xl-pull-2 { - position: relative; - right: 8.33333%; } - .el-col-xl-push-2 { - position: relative; - left: 8.33333%; } - .el-col-xl-3 { - width: 12.5%; } - .el-col-xl-offset-3 { - margin-left: 12.5%; } - .el-col-xl-pull-3 { - position: relative; - right: 12.5%; } - .el-col-xl-push-3 { - position: relative; - left: 12.5%; } - .el-col-xl-4 { - width: 16.66667%; } - .el-col-xl-offset-4 { - margin-left: 16.66667%; } - .el-col-xl-pull-4 { - position: relative; - right: 16.66667%; } - .el-col-xl-push-4 { - position: relative; - left: 16.66667%; } - .el-col-xl-5 { - width: 20.83333%; } - .el-col-xl-offset-5 { - margin-left: 20.83333%; } - .el-col-xl-pull-5 { - position: relative; - right: 20.83333%; } - .el-col-xl-push-5 { - position: relative; - left: 20.83333%; } - .el-col-xl-6 { - width: 25%; } - .el-col-xl-offset-6 { - margin-left: 25%; } - .el-col-xl-pull-6 { - position: relative; - right: 25%; } - .el-col-xl-push-6 { - position: relative; - left: 25%; } - .el-col-xl-7 { - width: 29.16667%; } - .el-col-xl-offset-7 { - margin-left: 29.16667%; } - .el-col-xl-pull-7 { - position: relative; - right: 29.16667%; } - .el-col-xl-push-7 { - position: relative; - left: 29.16667%; } - .el-col-xl-8 { - width: 33.33333%; } - .el-col-xl-offset-8 { - margin-left: 33.33333%; } - .el-col-xl-pull-8 { - position: relative; - right: 33.33333%; } - .el-col-xl-push-8 { - position: relative; - left: 33.33333%; } - .el-col-xl-9 { - width: 37.5%; } - .el-col-xl-offset-9 { - margin-left: 37.5%; } - .el-col-xl-pull-9 { - position: relative; - right: 37.5%; } - .el-col-xl-push-9 { - position: relative; - left: 37.5%; } - .el-col-xl-10 { - width: 41.66667%; } - .el-col-xl-offset-10 { - margin-left: 41.66667%; } - .el-col-xl-pull-10 { - position: relative; - right: 41.66667%; } - .el-col-xl-push-10 { - position: relative; - left: 41.66667%; } - .el-col-xl-11 { - width: 45.83333%; } - .el-col-xl-offset-11 { - margin-left: 45.83333%; } - .el-col-xl-pull-11 { - position: relative; - right: 45.83333%; } - .el-col-xl-push-11 { - position: relative; - left: 45.83333%; } - .el-col-xl-12 { - width: 50%; } - .el-col-xl-offset-12 { - margin-left: 50%; } - .el-col-xl-pull-12 { - position: relative; - right: 50%; } - .el-col-xl-push-12 { - position: relative; - left: 50%; } - .el-col-xl-13 { - width: 54.16667%; } - .el-col-xl-offset-13 { - margin-left: 54.16667%; } - .el-col-xl-pull-13 { - position: relative; - right: 54.16667%; } - .el-col-xl-push-13 { - position: relative; - left: 54.16667%; } - .el-col-xl-14 { - width: 58.33333%; } - .el-col-xl-offset-14 { - margin-left: 58.33333%; } - .el-col-xl-pull-14 { - position: relative; - right: 58.33333%; } - .el-col-xl-push-14 { - position: relative; - left: 58.33333%; } - .el-col-xl-15 { - width: 62.5%; } - .el-col-xl-offset-15 { - margin-left: 62.5%; } - .el-col-xl-pull-15 { - position: relative; - right: 62.5%; } - .el-col-xl-push-15 { - position: relative; - left: 62.5%; } - .el-col-xl-16 { - width: 66.66667%; } - .el-col-xl-offset-16 { - margin-left: 66.66667%; } - .el-col-xl-pull-16 { - position: relative; - right: 66.66667%; } - .el-col-xl-push-16 { - position: relative; - left: 66.66667%; } - .el-col-xl-17 { - width: 70.83333%; } - .el-col-xl-offset-17 { - margin-left: 70.83333%; } - .el-col-xl-pull-17 { - position: relative; - right: 70.83333%; } - .el-col-xl-push-17 { - position: relative; - left: 70.83333%; } - .el-col-xl-18 { - width: 75%; } - .el-col-xl-offset-18 { - margin-left: 75%; } - .el-col-xl-pull-18 { - position: relative; - right: 75%; } - .el-col-xl-push-18 { - position: relative; - left: 75%; } - .el-col-xl-19 { - width: 79.16667%; } - .el-col-xl-offset-19 { - margin-left: 79.16667%; } - .el-col-xl-pull-19 { - position: relative; - right: 79.16667%; } - .el-col-xl-push-19 { - position: relative; - left: 79.16667%; } - .el-col-xl-20 { - width: 83.33333%; } - .el-col-xl-offset-20 { - margin-left: 83.33333%; } - .el-col-xl-pull-20 { - position: relative; - right: 83.33333%; } - .el-col-xl-push-20 { - position: relative; - left: 83.33333%; } - .el-col-xl-21 { - width: 87.5%; } - .el-col-xl-offset-21 { - margin-left: 87.5%; } - .el-col-xl-pull-21 { - position: relative; - right: 87.5%; } - .el-col-xl-push-21 { - position: relative; - left: 87.5%; } - .el-col-xl-22 { - width: 91.66667%; } - .el-col-xl-offset-22 { - margin-left: 91.66667%; } - .el-col-xl-pull-22 { - position: relative; - right: 91.66667%; } - .el-col-xl-push-22 { - position: relative; - left: 91.66667%; } - .el-col-xl-23 { - width: 95.83333%; } - .el-col-xl-offset-23 { - margin-left: 95.83333%; } - .el-col-xl-pull-23 { - position: relative; - right: 95.83333%; } - .el-col-xl-push-23 { - position: relative; - left: 95.83333%; } - .el-col-xl-24 { - width: 100%; } - .el-col-xl-offset-24 { - margin-left: 100%; } - .el-col-xl-pull-24 { - position: relative; - right: 100%; } - .el-col-xl-push-24 { - position: relative; - left: 100%; } } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/collapse-item.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/collapse-item.css deleted file mode 100644 index e69de29b..00000000 diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/collapse.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/collapse.css deleted file mode 100644 index 2a9cd5eb..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/collapse.css +++ /dev/null @@ -1,543 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.fade-in-linear-enter-active, -.fade-in-linear-leave-active { - -webkit-transition: opacity 200ms linear; - transition: opacity 200ms linear; } - -.fade-in-linear-enter, -.fade-in-linear-leave, -.fade-in-linear-leave-active { - opacity: 0; } - -.el-fade-in-linear-enter-active, -.el-fade-in-linear-leave-active { - -webkit-transition: opacity 200ms linear; - transition: opacity 200ms linear; } - -.el-fade-in-linear-enter, -.el-fade-in-linear-leave, -.el-fade-in-linear-leave-active { - opacity: 0; } - -.el-fade-in-enter-active, -.el-fade-in-leave-active { - -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-fade-in-enter, -.el-fade-in-leave-active { - opacity: 0; } - -.el-zoom-in-center-enter-active, -.el-zoom-in-center-leave-active { - -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-zoom-in-center-enter, -.el-zoom-in-center-leave-active { - opacity: 0; - -webkit-transform: scaleX(0); - transform: scaleX(0); } - -.el-zoom-in-top-enter-active, -.el-zoom-in-top-leave-active { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: center top; - transform-origin: center top; } - -.el-zoom-in-top-enter, -.el-zoom-in-top-leave-active { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0); } - -.el-zoom-in-bottom-enter-active, -.el-zoom-in-bottom-leave-active { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; } - -.el-zoom-in-bottom-enter, -.el-zoom-in-bottom-leave-active { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0); } - -.el-zoom-in-left-enter-active, -.el-zoom-in-left-leave-active { - opacity: 1; - -webkit-transform: scale(1, 1); - transform: scale(1, 1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: top left; - transform-origin: top left; } - -.el-zoom-in-left-enter, -.el-zoom-in-left-leave-active { - opacity: 0; - -webkit-transform: scale(0.45, 0.45); - transform: scale(0.45, 0.45); } - -.collapse-transition { - -webkit-transition: 0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out; - transition: 0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out; } - -.horizontal-collapse-transition { - -webkit-transition: 0.3s width ease-in-out, 0.3s padding-left ease-in-out, 0.3s padding-right ease-in-out; - transition: 0.3s width ease-in-out, 0.3s padding-left ease-in-out, 0.3s padding-right ease-in-out; } - -.el-list-enter-active, -.el-list-leave-active { - -webkit-transition: all 1s; - transition: all 1s; } - -.el-list-enter, .el-list-leave-active { - opacity: 0; - -webkit-transform: translateY(-30px); - transform: translateY(-30px); } - -.el-opacity-transition { - -webkit-transition: opacity 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: opacity 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-collapse { - border-top: 1px solid #EBEEF5; - border-bottom: 1px solid #EBEEF5; } - -.el-collapse-item.is-disabled .el-collapse-item__header { - color: #bbb; - cursor: not-allowed; } - -.el-collapse-item__header { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - height: 48px; - line-height: 48px; - background-color: #FFFFFF; - color: #303133; - cursor: pointer; - border-bottom: 1px solid #EBEEF5; - font-size: 13px; - font-weight: 500; - -webkit-transition: border-bottom-color .3s; - transition: border-bottom-color .3s; - outline: none; } - .el-collapse-item__arrow { - margin: 0 8px 0 auto; - -webkit-transition: -webkit-transform .3s; - transition: -webkit-transform .3s; - transition: transform .3s; - transition: transform .3s, -webkit-transform .3s; - font-weight: 300; } - .el-collapse-item__arrow.is-active { - -webkit-transform: rotate(90deg); - transform: rotate(90deg); } - .el-collapse-item__header.focusing:focus:not(:hover) { - color: #409EFF; } - .el-collapse-item__header.is-active { - border-bottom-color: transparent; } - -.el-collapse-item__wrap { - will-change: height; - background-color: #FFFFFF; - overflow: hidden; - -webkit-box-sizing: border-box; - box-sizing: border-box; - border-bottom: 1px solid #EBEEF5; } - -.el-collapse-item__content { - padding-bottom: 25px; - font-size: 13px; - color: #303133; - line-height: 1.769230769230769; } - -.el-collapse-item:last-child { - margin-bottom: -1px; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/color-picker.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/color-picker.css deleted file mode 100644 index f7490856..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/color-picker.css +++ /dev/null @@ -1,545 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-color-predefine { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - font-size: 12px; - margin-top: 8px; - width: 280px; } - .el-color-predefine__colors { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - -ms-flex-wrap: wrap; - flex-wrap: wrap; } - .el-color-predefine__color-selector { - margin: 0 0 8px 8px; - width: 20px; - height: 20px; - border-radius: 4px; - cursor: pointer; } - .el-color-predefine__color-selector:nth-child(10n + 1) { - margin-left: 0; } - .el-color-predefine__color-selector.selected { - -webkit-box-shadow: 0 0 3px 2px #409EFF; - box-shadow: 0 0 3px 2px #409EFF; } - .el-color-predefine__color-selector > div { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - height: 100%; - border-radius: 3px; } - .el-color-predefine__color-selector.is-alpha { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==); } - -.el-color-hue-slider { - position: relative; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 280px; - height: 12px; - background-color: #f00; - padding: 0 2px; } - .el-color-hue-slider__bar { - position: relative; - background: -webkit-gradient(linear, left top, right top, from(#f00), color-stop(17%, #ff0), color-stop(33%, #0f0), color-stop(50%, #0ff), color-stop(67%, #00f), color-stop(83%, #f0f), to(#f00)); - background: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%); - height: 100%; } - .el-color-hue-slider__thumb { - position: absolute; - cursor: pointer; - -webkit-box-sizing: border-box; - box-sizing: border-box; - left: 0; - top: 0; - width: 4px; - height: 100%; - border-radius: 1px; - background: #fff; - border: 1px solid #f0f0f0; - -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.6); - box-shadow: 0 0 2px rgba(0, 0, 0, 0.6); - z-index: 1; } - .el-color-hue-slider.is-vertical { - width: 12px; - height: 180px; - padding: 2px 0; } - .el-color-hue-slider.is-vertical .el-color-hue-slider__bar { - background: -webkit-gradient(linear, left top, left bottom, from(#f00), color-stop(17%, #ff0), color-stop(33%, #0f0), color-stop(50%, #0ff), color-stop(67%, #00f), color-stop(83%, #f0f), to(#f00)); - background: linear-gradient(to bottom, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%); } - .el-color-hue-slider.is-vertical .el-color-hue-slider__thumb { - left: 0; - top: 0; - width: 100%; - height: 4px; } - -.el-color-svpanel { - position: relative; - width: 280px; - height: 180px; } - .el-color-svpanel__white, .el-color-svpanel__black { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; } - .el-color-svpanel__white { - background: -webkit-gradient(linear, left top, right top, from(#fff), to(rgba(255, 255, 255, 0))); - background: linear-gradient(to right, #fff, rgba(255, 255, 255, 0)); } - .el-color-svpanel__black { - background: -webkit-gradient(linear, left bottom, left top, from(#000), to(rgba(0, 0, 0, 0))); - background: linear-gradient(to top, #000, rgba(0, 0, 0, 0)); } - .el-color-svpanel__cursor { - position: absolute; } - .el-color-svpanel__cursor > div { - cursor: head; - width: 4px; - height: 4px; - -webkit-box-shadow: 0 0 0 1.5px #fff, inset 0 0 1px 1px rgba(0, 0, 0, 0.3), 0 0 1px 2px rgba(0, 0, 0, 0.4); - box-shadow: 0 0 0 1.5px #fff, inset 0 0 1px 1px rgba(0, 0, 0, 0.3), 0 0 1px 2px rgba(0, 0, 0, 0.4); - border-radius: 50%; - -webkit-transform: translate(-2px, -2px); - transform: translate(-2px, -2px); } - -.el-color-alpha-slider { - position: relative; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 280px; - height: 12px; - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==); } - .el-color-alpha-slider__bar { - position: relative; - background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), to(white)); - background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, white 100%); - height: 100%; } - .el-color-alpha-slider__thumb { - position: absolute; - cursor: pointer; - -webkit-box-sizing: border-box; - box-sizing: border-box; - left: 0; - top: 0; - width: 4px; - height: 100%; - border-radius: 1px; - background: #fff; - border: 1px solid #f0f0f0; - -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.6); - box-shadow: 0 0 2px rgba(0, 0, 0, 0.6); - z-index: 1; } - .el-color-alpha-slider.is-vertical { - width: 20px; - height: 180px; } - .el-color-alpha-slider.is-vertical .el-color-alpha-slider__bar { - background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(white)); - background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, white 100%); } - .el-color-alpha-slider.is-vertical .el-color-alpha-slider__thumb { - left: 0; - top: 0; - width: 100%; - height: 4px; } - -.el-color-dropdown { - width: 300px; } - .el-color-dropdown__main-wrapper { - margin-bottom: 6px; } - .el-color-dropdown__main-wrapper::after { - content: ""; - display: table; - clear: both; } - .el-color-dropdown__btns { - margin-top: 6px; - text-align: right; } - .el-color-dropdown__value { - float: left; - line-height: 26px; - font-size: 12px; - color: #000000; - width: 160px; } - .el-color-dropdown__btn { - border: 1px solid #dcdcdc; - color: #333; - line-height: 24px; - border-radius: 2px; - padding: 0 20px; - cursor: pointer; - background-color: transparent; - outline: none; - font-size: 12px; } - .el-color-dropdown__btn[disabled] { - color: #cccccc; - cursor: not-allowed; } - .el-color-dropdown__btn:hover { - color: #409EFF; - border-color: #409EFF; } - .el-color-dropdown__link-btn { - cursor: pointer; - color: #409EFF; - text-decoration: none; - padding: 15px; - font-size: 12px; } - .el-color-dropdown__link-btn:hover { - color: tint(#409EFF, 20%); } - -.el-color-picker { - display: inline-block; - position: relative; - line-height: normal; - height: 40px; } - .el-color-picker.is-disabled .el-color-picker__trigger { - cursor: not-allowed; } - .el-color-picker--medium { - height: 36px; } - .el-color-picker--medium .el-color-picker__trigger { - height: 36px; - width: 36px; } - .el-color-picker--medium .el-color-picker__mask { - height: 34px; - width: 34px; } - .el-color-picker--small { - height: 32px; } - .el-color-picker--small .el-color-picker__trigger { - height: 32px; - width: 32px; } - .el-color-picker--small .el-color-picker__mask { - height: 30px; - width: 30px; } - .el-color-picker--small .el-color-picker__icon, - .el-color-picker--small .el-color-picker__empty { - -webkit-transform: translate3d(-50%, -50%, 0) scale(0.8); - transform: translate3d(-50%, -50%, 0) scale(0.8); } - .el-color-picker--mini { - height: 28px; } - .el-color-picker--mini .el-color-picker__trigger { - height: 28px; - width: 28px; } - .el-color-picker--mini .el-color-picker__mask { - height: 26px; - width: 26px; } - .el-color-picker--mini .el-color-picker__icon, - .el-color-picker--mini .el-color-picker__empty { - -webkit-transform: translate3d(-50%, -50%, 0) scale(0.8); - transform: translate3d(-50%, -50%, 0) scale(0.8); } - .el-color-picker__mask { - height: 38px; - width: 38px; - border-radius: 4px; - position: absolute; - top: 1px; - left: 1px; - z-index: 1; - cursor: not-allowed; - background-color: rgba(255, 255, 255, 0.7); } - .el-color-picker__trigger { - display: inline-block; - -webkit-box-sizing: border-box; - box-sizing: border-box; - height: 40px; - width: 40px; - padding: 4px; - border: 1px solid #e6e6e6; - border-radius: 4px; - font-size: 0; - position: relative; - cursor: pointer; } - .el-color-picker__color { - position: relative; - display: block; - -webkit-box-sizing: border-box; - box-sizing: border-box; - border: 1px solid #999; - border-radius: 2px; - width: 100%; - height: 100%; - text-align: center; } - .el-color-picker__color.is-alpha { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==); } - .el-color-picker__color-inner { - position: absolute; - left: 0; - top: 0; - right: 0; - bottom: 0; } - .el-color-picker__empty { - font-size: 12px; - color: #999; - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate3d(-50%, -50%, 0); - transform: translate3d(-50%, -50%, 0); } - .el-color-picker__icon { - display: inline-block; - position: absolute; - width: 100%; - top: 50%; - left: 50%; - -webkit-transform: translate3d(-50%, -50%, 0); - transform: translate3d(-50%, -50%, 0); - color: #FFFFFF; - text-align: center; - font-size: 12px; } - .el-color-picker__panel { - position: absolute; - z-index: 10; - padding: 6px; - -webkit-box-sizing: content-box; - box-sizing: content-box; - background-color: #FFFFFF; - border: 1px solid #EBEEF5; - border-radius: 4px; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/container.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/container.css deleted file mode 100644 index d6418086..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/container.css +++ /dev/null @@ -1,151 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -.el-container { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - -ms-flex-preferred-size: auto; - flex-basis: auto; - -webkit-box-sizing: border-box; - box-sizing: border-box; - min-width: 0; } - .el-container.is-vertical { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/date-picker.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/date-picker.css deleted file mode 100644 index e9c086c1..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/date-picker.css +++ /dev/null @@ -1,3698 +0,0 @@ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -.el-date-table { - font-size: 12px; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; } - .el-date-table.is-week-mode .el-date-table__row:hover div { - background-color: #F2F6FC; } - .el-date-table.is-week-mode .el-date-table__row:hover td.available:hover { - color: #606266; } - .el-date-table.is-week-mode .el-date-table__row:hover td:first-child div { - margin-left: 5px; - border-top-left-radius: 15px; - border-bottom-left-radius: 15px; } - .el-date-table.is-week-mode .el-date-table__row:hover td:last-child div { - margin-right: 5px; - border-top-right-radius: 15px; - border-bottom-right-radius: 15px; } - .el-date-table.is-week-mode .el-date-table__row.current div { - background-color: #F2F6FC; } - .el-date-table td { - width: 32px; - height: 30px; - padding: 4px 0; - -webkit-box-sizing: border-box; - box-sizing: border-box; - text-align: center; - cursor: pointer; - position: relative; } - .el-date-table td div { - height: 30px; - padding: 3px 0; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-date-table td span { - width: 24px; - height: 24px; - display: block; - margin: 0 auto; - line-height: 24px; - position: absolute; - left: 50%; - -webkit-transform: translateX(-50%); - transform: translateX(-50%); - border-radius: 50%; } - .el-date-table td.next-month, .el-date-table td.prev-month { - color: #C0C4CC; } - .el-date-table td.today { - position: relative; } - .el-date-table td.today span { - color: #409EFF; - font-weight: bold; } - .el-date-table td.today.start-date span, - .el-date-table td.today.end-date span { - color: #FFFFFF; } - .el-date-table td.available:hover { - color: #409EFF; } - .el-date-table td.in-range div { - background-color: #F2F6FC; } - .el-date-table td.in-range div:hover { - background-color: #F2F6FC; } - .el-date-table td.current:not(.disabled) span { - color: #FFFFFF; - background-color: #409EFF; } - .el-date-table td.start-date div, - .el-date-table td.end-date div { - color: #FFFFFF; } - .el-date-table td.start-date span, - .el-date-table td.end-date span { - background-color: #409EFF; } - .el-date-table td.start-date div { - margin-left: 5px; - border-top-left-radius: 15px; - border-bottom-left-radius: 15px; } - .el-date-table td.end-date div { - margin-right: 5px; - border-top-right-radius: 15px; - border-bottom-right-radius: 15px; } - .el-date-table td.disabled div { - background-color: #F5F7FA; - opacity: 1; - cursor: not-allowed; - color: #C0C4CC; } - .el-date-table td.selected div { - margin-left: 5px; - margin-right: 5px; - background-color: #F2F6FC; - border-radius: 15px; } - .el-date-table td.selected div:hover { - background-color: #F2F6FC; } - .el-date-table td.selected span { - background-color: #409EFF; - color: #FFFFFF; - border-radius: 15px; } - .el-date-table td.week { - font-size: 80%; - color: #606266; } - .el-date-table th { - padding: 5px; - color: #606266; - font-weight: 400; - border-bottom: solid 1px #EBEEF5; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-month-table { - font-size: 12px; - margin: -1px; - border-collapse: collapse; } - .el-month-table td { - text-align: center; - padding: 8px 0px; - cursor: pointer; } - .el-month-table td div { - height: 48px; - padding: 6px 0; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-month-table td.today .cell { - color: #409EFF; - font-weight: bold; } - .el-month-table td.today.start-date .cell, - .el-month-table td.today.end-date .cell { - color: #FFFFFF; } - .el-month-table td.disabled .cell { - background-color: #F5F7FA; - cursor: not-allowed; - color: #C0C4CC; } - .el-month-table td.disabled .cell:hover { - color: #C0C4CC; } - .el-month-table td .cell { - width: 60px; - height: 36px; - display: block; - line-height: 36px; - color: #606266; - margin: 0 auto; - border-radius: 18px; } - .el-month-table td .cell:hover { - color: #409EFF; } - .el-month-table td.in-range div { - background-color: #F2F6FC; } - .el-month-table td.in-range div:hover { - background-color: #F2F6FC; } - .el-month-table td.start-date div, - .el-month-table td.end-date div { - color: #FFFFFF; } - .el-month-table td.start-date .cell, - .el-month-table td.end-date .cell { - color: #FFFFFF; - background-color: #409EFF; } - .el-month-table td.start-date div { - border-top-left-radius: 24px; - border-bottom-left-radius: 24px; } - .el-month-table td.end-date div { - border-top-right-radius: 24px; - border-bottom-right-radius: 24px; } - .el-month-table td.current:not(.disabled) .cell { - color: #409EFF; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-year-table { - font-size: 12px; - margin: -1px; - border-collapse: collapse; } - .el-year-table .el-icon { - color: #303133; } - .el-year-table td { - text-align: center; - padding: 20px 3px; - cursor: pointer; } - .el-year-table td.today .cell { - color: #409EFF; - font-weight: bold; } - .el-year-table td.disabled .cell { - background-color: #F5F7FA; - cursor: not-allowed; - color: #C0C4CC; } - .el-year-table td.disabled .cell:hover { - color: #C0C4CC; } - .el-year-table td .cell { - width: 48px; - height: 32px; - display: block; - line-height: 32px; - color: #606266; - margin: 0 auto; } - .el-year-table td .cell:hover { - color: #409EFF; } - .el-year-table td.current:not(.disabled) .cell { - color: #409EFF; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-time-spinner.has-seconds .el-time-spinner__wrapper { - width: 33.3%; } - -.el-time-spinner__wrapper { - max-height: 190px; - overflow: auto; - display: inline-block; - width: 50%; - vertical-align: top; - position: relative; } - .el-time-spinner__wrapper .el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default) { - padding-bottom: 15px; } - .el-time-spinner__wrapper.is-arrow { - -webkit-box-sizing: border-box; - box-sizing: border-box; - text-align: center; - overflow: hidden; } - .el-time-spinner__wrapper.is-arrow .el-time-spinner__list { - -webkit-transform: translateY(-32px); - transform: translateY(-32px); } - .el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.disabled):not(.active) { - background: #FFFFFF; - cursor: default; } - -.el-time-spinner__arrow { - font-size: 12px; - color: #909399; - position: absolute; - left: 0; - width: 100%; - z-index: 1; - text-align: center; - height: 30px; - line-height: 30px; - cursor: pointer; } - .el-time-spinner__arrow:hover { - color: #409EFF; } - .el-time-spinner__arrow.el-icon-arrow-up { - top: 10px; } - .el-time-spinner__arrow.el-icon-arrow-down { - bottom: 10px; } - -.el-time-spinner__input.el-input { - width: 70%; } - .el-time-spinner__input.el-input .el-input__inner { - padding: 0; - text-align: center; } - -.el-time-spinner__list { - padding: 0; - margin: 0; - list-style: none; - text-align: center; } - .el-time-spinner__list::after, .el-time-spinner__list::before { - content: ''; - display: block; - width: 100%; - height: 80px; } - -.el-time-spinner__item { - height: 32px; - line-height: 32px; - font-size: 12px; - color: #606266; } - .el-time-spinner__item:hover:not(.disabled):not(.active) { - background: #F5F7FA; - cursor: pointer; } - .el-time-spinner__item.active:not(.disabled) { - color: #303133; - font-weight: bold; } - .el-time-spinner__item.disabled { - color: #C0C4CC; - cursor: not-allowed; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.fade-in-linear-enter-active, -.fade-in-linear-leave-active { - -webkit-transition: opacity 200ms linear; - transition: opacity 200ms linear; } - -.fade-in-linear-enter, -.fade-in-linear-leave, -.fade-in-linear-leave-active { - opacity: 0; } - -.el-fade-in-linear-enter-active, -.el-fade-in-linear-leave-active { - -webkit-transition: opacity 200ms linear; - transition: opacity 200ms linear; } - -.el-fade-in-linear-enter, -.el-fade-in-linear-leave, -.el-fade-in-linear-leave-active { - opacity: 0; } - -.el-fade-in-enter-active, -.el-fade-in-leave-active { - -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-fade-in-enter, -.el-fade-in-leave-active { - opacity: 0; } - -.el-zoom-in-center-enter-active, -.el-zoom-in-center-leave-active { - -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-zoom-in-center-enter, -.el-zoom-in-center-leave-active { - opacity: 0; - -webkit-transform: scaleX(0); - transform: scaleX(0); } - -.el-zoom-in-top-enter-active, -.el-zoom-in-top-leave-active { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: center top; - transform-origin: center top; } - -.el-zoom-in-top-enter, -.el-zoom-in-top-leave-active { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0); } - -.el-zoom-in-bottom-enter-active, -.el-zoom-in-bottom-leave-active { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; } - -.el-zoom-in-bottom-enter, -.el-zoom-in-bottom-leave-active { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0); } - -.el-zoom-in-left-enter-active, -.el-zoom-in-left-leave-active { - opacity: 1; - -webkit-transform: scale(1, 1); - transform: scale(1, 1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: top left; - transform-origin: top left; } - -.el-zoom-in-left-enter, -.el-zoom-in-left-leave-active { - opacity: 0; - -webkit-transform: scale(0.45, 0.45); - transform: scale(0.45, 0.45); } - -.collapse-transition { - -webkit-transition: 0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out; - transition: 0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out; } - -.horizontal-collapse-transition { - -webkit-transition: 0.3s width ease-in-out, 0.3s padding-left ease-in-out, 0.3s padding-right ease-in-out; - transition: 0.3s width ease-in-out, 0.3s padding-left ease-in-out, 0.3s padding-right ease-in-out; } - -.el-list-enter-active, -.el-list-leave-active { - -webkit-transition: all 1s; - transition: all 1s; } - -.el-list-enter, .el-list-leave-active { - opacity: 0; - -webkit-transform: translateY(-30px); - transform: translateY(-30px); } - -.el-opacity-transition { - -webkit-transition: opacity 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: opacity 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-date-editor { - position: relative; - display: inline-block; - text-align: left; } - .el-date-editor.el-input, .el-date-editor.el-input__inner { - width: 220px; } - .el-date-editor--monthrange.el-input, .el-date-editor--monthrange.el-input__inner { - width: 300px; } - .el-date-editor--daterange.el-input, .el-date-editor--daterange.el-input__inner, .el-date-editor--timerange.el-input, .el-date-editor--timerange.el-input__inner { - width: 350px; } - .el-date-editor--datetimerange.el-input, .el-date-editor--datetimerange.el-input__inner { - width: 400px; } - .el-date-editor--dates .el-input__inner { - text-overflow: ellipsis; - white-space: nowrap; } - .el-date-editor .el-icon-circle-close { - cursor: pointer; } - .el-date-editor .el-range__icon { - font-size: 14px; - margin-left: -5px; - color: #C0C4CC; - float: left; - line-height: 32px; } - .el-date-editor .el-range-input { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - border: none; - outline: none; - display: inline-block; - height: 100%; - margin: 0; - padding: 0; - width: 39%; - text-align: center; - font-size: 14px; - color: #606266; } - .el-date-editor .el-range-input::-webkit-input-placeholder { - color: #C0C4CC; } - .el-date-editor .el-range-input::-moz-placeholder { - color: #C0C4CC; } - .el-date-editor .el-range-input::-ms-input-placeholder { - color: #C0C4CC; } - .el-date-editor .el-range-input::placeholder { - color: #C0C4CC; } - .el-date-editor .el-range-separator { - display: inline-block; - height: 100%; - padding: 0 5px; - margin: 0; - text-align: center; - line-height: 32px; - font-size: 14px; - width: 5%; - color: #303133; } - .el-date-editor .el-range__close-icon { - font-size: 14px; - color: #C0C4CC; - width: 25px; - display: inline-block; - float: right; - line-height: 32px; } - -.el-range-editor.el-input__inner { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - padding: 3px 10px; } - -.el-range-editor .el-range-input { - line-height: 1; } - -.el-range-editor.is-active { - border-color: #409EFF; } - .el-range-editor.is-active:hover { - border-color: #409EFF; } - -.el-range-editor--medium.el-input__inner { - height: 36px; } - -.el-range-editor--medium .el-range-separator { - line-height: 28px; - font-size: 14px; } - -.el-range-editor--medium .el-range-input { - font-size: 14px; } - -.el-range-editor--medium .el-range__icon, -.el-range-editor--medium .el-range__close-icon { - line-height: 28px; } - -.el-range-editor--small.el-input__inner { - height: 32px; } - -.el-range-editor--small .el-range-separator { - line-height: 24px; - font-size: 13px; } - -.el-range-editor--small .el-range-input { - font-size: 13px; } - -.el-range-editor--small .el-range__icon, -.el-range-editor--small .el-range__close-icon { - line-height: 24px; } - -.el-range-editor--mini.el-input__inner { - height: 28px; } - -.el-range-editor--mini .el-range-separator { - line-height: 20px; - font-size: 12px; } - -.el-range-editor--mini .el-range-input { - font-size: 12px; } - -.el-range-editor--mini .el-range__icon, -.el-range-editor--mini .el-range__close-icon { - line-height: 20px; } - -.el-range-editor.is-disabled { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-range-editor.is-disabled:hover, .el-range-editor.is-disabled:focus { - border-color: #E4E7ED; } - .el-range-editor.is-disabled input { - background-color: #F5F7FA; - color: #C0C4CC; - cursor: not-allowed; } - .el-range-editor.is-disabled input::-webkit-input-placeholder { - color: #C0C4CC; } - .el-range-editor.is-disabled input::-moz-placeholder { - color: #C0C4CC; } - .el-range-editor.is-disabled input::-ms-input-placeholder { - color: #C0C4CC; } - .el-range-editor.is-disabled input::placeholder { - color: #C0C4CC; } - .el-range-editor.is-disabled .el-range-separator { - color: #C0C4CC; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-picker-panel { - color: #606266; - border: 1px solid #E4E7ED; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - background: #FFFFFF; - border-radius: 4px; - line-height: 30px; - margin: 5px 0; } - .el-picker-panel__body::after, .el-picker-panel__body-wrapper::after { - content: ""; - display: table; - clear: both; } - .el-picker-panel__content { - position: relative; - margin: 15px; } - .el-picker-panel__footer { - border-top: 1px solid #e4e4e4; - padding: 4px; - text-align: right; - background-color: #FFFFFF; - position: relative; - font-size: 0; } - .el-picker-panel__shortcut { - display: block; - width: 100%; - border: 0; - background-color: transparent; - line-height: 28px; - font-size: 14px; - color: #606266; - padding-left: 12px; - text-align: left; - outline: none; - cursor: pointer; } - .el-picker-panel__shortcut:hover { - color: #409EFF; } - .el-picker-panel__shortcut.active { - background-color: #e6f1fe; - color: #409EFF; } - .el-picker-panel__btn { - border: 1px solid #dcdcdc; - color: #333; - line-height: 24px; - border-radius: 2px; - padding: 0 20px; - cursor: pointer; - background-color: transparent; - outline: none; - font-size: 12px; } - .el-picker-panel__btn[disabled] { - color: #cccccc; - cursor: not-allowed; } - .el-picker-panel__icon-btn { - font-size: 12px; - color: #303133; - border: 0; - background: transparent; - cursor: pointer; - outline: none; - margin-top: 8px; } - .el-picker-panel__icon-btn:hover { - color: #409EFF; } - .el-picker-panel__icon-btn.is-disabled { - color: #bbb; } - .el-picker-panel__icon-btn.is-disabled:hover { - cursor: not-allowed; } - .el-picker-panel__link-btn { - vertical-align: middle; } - -.el-picker-panel *[slot=sidebar], -.el-picker-panel__sidebar { - position: absolute; - top: 0; - bottom: 0; - width: 110px; - border-right: 1px solid #e4e4e4; - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding-top: 6px; - background-color: #FFFFFF; - overflow: auto; } - -.el-picker-panel *[slot=sidebar] + .el-picker-panel__body, -.el-picker-panel__sidebar + .el-picker-panel__body { - margin-left: 110px; } - -.el-date-picker { - width: 322px; } - .el-date-picker.has-sidebar.has-time { - width: 434px; } - .el-date-picker.has-sidebar { - width: 438px; } - .el-date-picker.has-time .el-picker-panel__body-wrapper { - position: relative; } - .el-date-picker .el-picker-panel__content { - width: 292px; } - .el-date-picker table { - table-layout: fixed; - width: 100%; } - .el-date-picker__editor-wrap { - position: relative; - display: table-cell; - padding: 0 5px; } - .el-date-picker__time-header { - position: relative; - border-bottom: 1px solid #e4e4e4; - font-size: 12px; - padding: 8px 5px 5px 5px; - display: table; - width: 100%; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-date-picker__header { - margin: 12px; - text-align: center; } - .el-date-picker__header--bordered { - margin-bottom: 0; - padding-bottom: 12px; - border-bottom: solid 1px #EBEEF5; } - .el-date-picker__header--bordered + .el-picker-panel__content { - margin-top: 0; } - .el-date-picker__header-label { - font-size: 16px; - font-weight: 500; - padding: 0 5px; - line-height: 22px; - text-align: center; - cursor: pointer; - color: #606266; } - .el-date-picker__header-label:hover { - color: #409EFF; } - .el-date-picker__header-label.active { - color: #409EFF; } - .el-date-picker__prev-btn { - float: left; } - .el-date-picker__next-btn { - float: right; } - .el-date-picker__time-wrap { - padding: 10px; - text-align: center; } - .el-date-picker__time-label { - float: left; - cursor: pointer; - line-height: 30px; - margin-left: 10px; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-date-range-picker { - width: 646px; } - .el-date-range-picker.has-sidebar { - width: 756px; } - .el-date-range-picker table { - table-layout: fixed; - width: 100%; } - .el-date-range-picker .el-picker-panel__body { - min-width: 513px; } - .el-date-range-picker .el-picker-panel__content { - margin: 0; } - .el-date-range-picker__header { - position: relative; - text-align: center; - height: 28px; } - .el-date-range-picker__header [class*=arrow-left] { - float: left; } - .el-date-range-picker__header [class*=arrow-right] { - float: right; } - .el-date-range-picker__header div { - font-size: 16px; - font-weight: 500; - margin-right: 50px; } - .el-date-range-picker__content { - float: left; - width: 50%; - -webkit-box-sizing: border-box; - box-sizing: border-box; - margin: 0; - padding: 16px; } - .el-date-range-picker__content.is-left { - border-right: 1px solid #e4e4e4; } - .el-date-range-picker__content .el-date-range-picker__header div { - margin-left: 50px; - margin-right: 50px; } - .el-date-range-picker__editors-wrap { - -webkit-box-sizing: border-box; - box-sizing: border-box; - display: table-cell; } - .el-date-range-picker__editors-wrap.is-right { - text-align: right; } - .el-date-range-picker__time-header { - position: relative; - border-bottom: 1px solid #e4e4e4; - font-size: 12px; - padding: 8px 5px 5px 5px; - display: table; - width: 100%; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-date-range-picker__time-header > .el-icon-arrow-right { - font-size: 20px; - vertical-align: middle; - display: table-cell; - color: #303133; } - .el-date-range-picker__time-picker-wrap { - position: relative; - display: table-cell; - padding: 0 5px; } - .el-date-range-picker__time-picker-wrap .el-picker-panel { - position: absolute; - top: 13px; - right: 0; - z-index: 1; - background: #FFFFFF; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-time-range-picker { - width: 354px; - overflow: visible; } - .el-time-range-picker__content { - position: relative; - text-align: center; - padding: 10px; } - .el-time-range-picker__cell { - -webkit-box-sizing: border-box; - box-sizing: border-box; - margin: 0; - padding: 4px 7px 7px; - width: 50%; - display: inline-block; } - .el-time-range-picker__header { - margin-bottom: 5px; - text-align: center; - font-size: 14px; } - .el-time-range-picker__body { - border-radius: 2px; - border: 1px solid #E4E7ED; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-time-panel { - margin: 5px 0; - border: solid 1px #E4E7ED; - background-color: #FFFFFF; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - border-radius: 2px; - position: absolute; - width: 180px; - left: 0; - z-index: 1000; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - -webkit-box-sizing: content-box; - box-sizing: content-box; } - .el-time-panel__content { - font-size: 0; - position: relative; - overflow: hidden; } - .el-time-panel__content::after, .el-time-panel__content::before { - content: ""; - top: 50%; - position: absolute; - margin-top: -15px; - height: 32px; - z-index: -1; - left: 0; - right: 0; - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding-top: 6px; - text-align: left; - border-top: 1px solid #E4E7ED; - border-bottom: 1px solid #E4E7ED; } - .el-time-panel__content::after { - left: 50%; - margin-left: 12%; - margin-right: 12%; } - .el-time-panel__content::before { - padding-left: 50%; - margin-right: 12%; - margin-left: 12%; } - .el-time-panel__content.has-seconds::after { - left: calc(100% / 3 * 2); } - .el-time-panel__content.has-seconds::before { - padding-left: calc(100% / 3); } - .el-time-panel__footer { - border-top: 1px solid #e4e4e4; - padding: 4px; - height: 36px; - line-height: 25px; - text-align: right; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-time-panel__btn { - border: none; - line-height: 28px; - padding: 0 5px; - margin: 0 5px; - cursor: pointer; - background-color: transparent; - outline: none; - font-size: 12px; - color: #303133; } - .el-time-panel__btn.confirm { - font-weight: 800; - color: #409EFF; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-textarea { - position: relative; - display: inline-block; - width: 100%; - vertical-align: bottom; - font-size: 14px; } - .el-textarea__inner { - display: block; - resize: vertical; - padding: 5px 15px; - line-height: 1.5; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - font-size: inherit; - color: #606266; - background-color: #FFFFFF; - background-image: none; - border: 1px solid #DCDFE6; - border-radius: 4px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea__inner:hover { - border-color: #C0C4CC; } - .el-textarea__inner:focus { - outline: none; - border-color: #409EFF; } - .el-textarea .el-input__count { - color: #909399; - background: #FFFFFF; - position: absolute; - font-size: 12px; - bottom: 5px; - right: 10px; } - .el-textarea.is-disabled .el-textarea__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea.is-exceed .el-textarea__inner { - border-color: #F56C6C; } - .el-textarea.is-exceed .el-input__count { - color: #F56C6C; } - -.el-input { - position: relative; - font-size: 14px; - display: inline-block; - width: 100%; } - .el-input::-webkit-scrollbar { - z-index: 11; - width: 6px; } - .el-input::-webkit-scrollbar:horizontal { - height: 6px; } - .el-input::-webkit-scrollbar-thumb { - border-radius: 5px; - width: 6px; - background: #b4bccc; } - .el-input::-webkit-scrollbar-corner { - background: #fff; } - .el-input::-webkit-scrollbar-track { - background: #fff; } - .el-input::-webkit-scrollbar-track-piece { - background: #fff; - width: 6px; } - .el-input .el-input__clear { - color: #C0C4CC; - font-size: 14px; - cursor: pointer; - -webkit-transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-input .el-input__clear:hover { - color: #909399; } - .el-input .el-input__count { - height: 100%; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - color: #909399; - font-size: 12px; } - .el-input .el-input__count .el-input__count-inner { - background: #FFFFFF; - line-height: initial; - display: inline-block; - padding: 0 5px; } - .el-input__inner { - -webkit-appearance: none; - background-color: #FFFFFF; - background-image: none; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: #606266; - display: inline-block; - font-size: inherit; - height: 40px; - line-height: 40px; - outline: none; - padding: 0 15px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - width: 100%; } - .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input__inner:hover { - border-color: #C0C4CC; } - .el-input__inner:focus { - outline: none; - border-color: #409EFF; } - .el-input__suffix { - position: absolute; - height: 100%; - right: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; - pointer-events: none; } - .el-input__suffix-inner { - pointer-events: all; } - .el-input__prefix { - position: absolute; - height: 100%; - left: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; } - .el-input__icon { - height: 100%; - width: 25px; - text-align: center; - -webkit-transition: all .3s; - transition: all .3s; - line-height: 40px; } - .el-input__icon:after { - content: ''; - height: 100%; - width: 0; - display: inline-block; - vertical-align: middle; } - .el-input__validateIcon { - pointer-events: none; } - .el-input.is-active .el-input__inner { - outline: none; - border-color: #409EFF; } - .el-input.is-disabled .el-input__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-input.is-disabled .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__icon { - cursor: not-allowed; } - .el-input.is-exceed .el-input__inner { - border-color: #F56C6C; } - .el-input.is-exceed .el-input__suffix .el-input__count { - color: #F56C6C; } - .el-input--suffix .el-input__inner { - padding-right: 30px; } - .el-input--prefix .el-input__inner { - padding-left: 30px; } - .el-input--medium { - font-size: 14px; } - .el-input--medium .el-input__inner { - height: 36px; - line-height: 36px; } - .el-input--medium .el-input__icon { - line-height: 36px; } - .el-input--small { - font-size: 13px; } - .el-input--small .el-input__inner { - height: 32px; - line-height: 32px; } - .el-input--small .el-input__icon { - line-height: 32px; } - .el-input--mini { - font-size: 12px; } - .el-input--mini .el-input__inner { - height: 28px; - line-height: 28px; } - .el-input--mini .el-input__icon { - line-height: 28px; } - -.el-input-group { - line-height: normal; - display: inline-table; - width: 100%; - border-collapse: separate; - border-spacing: 0; } - .el-input-group > .el-input__inner { - vertical-align: middle; - display: table-cell; } - .el-input-group__append, .el-input-group__prepend { - background-color: #F5F7FA; - color: #909399; - vertical-align: middle; - display: table-cell; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 4px; - padding: 0 20px; - width: 1px; - white-space: nowrap; } - .el-input-group__append:focus, .el-input-group__prepend:focus { - outline: none; } - .el-input-group__append .el-select, - .el-input-group__append .el-button, .el-input-group__prepend .el-select, - .el-input-group__prepend .el-button { - display: inline-block; - margin: -10px -20px; } - .el-input-group__append button.el-button, - .el-input-group__append div.el-select .el-input__inner, - .el-input-group__append div.el-select:hover .el-input__inner, .el-input-group__prepend button.el-button, - .el-input-group__prepend div.el-select .el-input__inner, - .el-input-group__prepend div.el-select:hover .el-input__inner { - border-color: transparent; - background-color: transparent; - color: inherit; - border-top: 0; - border-bottom: 0; } - .el-input-group__append .el-button, - .el-input-group__append .el-input, .el-input-group__prepend .el-button, - .el-input-group__prepend .el-input { - font-size: inherit; } - .el-input-group__prepend { - border-right: 0; - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group__append { - border-left: 0; - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-input__inner { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - .el-input-group--append .el-input__inner { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group--append .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - -/** disalbe default clear on IE */ -.el-input__inner::-ms-clear { - display: none; - width: 0; - height: 0; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-scrollbar { - overflow: hidden; - position: relative; } - .el-scrollbar:hover > .el-scrollbar__bar, .el-scrollbar:active > .el-scrollbar__bar, .el-scrollbar:focus > .el-scrollbar__bar { - opacity: 1; - -webkit-transition: opacity 340ms ease-out; - transition: opacity 340ms ease-out; } - .el-scrollbar__wrap { - overflow: scroll; - height: 100%; } - .el-scrollbar__wrap--hidden-default { - scrollbar-width: none; } - .el-scrollbar__wrap--hidden-default::-webkit-scrollbar { - width: 0; - height: 0; } - .el-scrollbar__thumb { - position: relative; - display: block; - width: 0; - height: 0; - cursor: pointer; - border-radius: inherit; - background-color: rgba(144, 147, 153, 0.3); - -webkit-transition: .3s background-color; - transition: .3s background-color; } - .el-scrollbar__thumb:hover { - background-color: rgba(144, 147, 153, 0.5); } - .el-scrollbar__bar { - position: absolute; - right: 2px; - bottom: 2px; - z-index: 1; - border-radius: 4px; - opacity: 0; - -webkit-transition: opacity 120ms ease-out; - transition: opacity 120ms ease-out; } - .el-scrollbar__bar.is-vertical { - width: 6px; - top: 2px; } - .el-scrollbar__bar.is-vertical > div { - width: 100%; } - .el-scrollbar__bar.is-horizontal { - height: 6px; - left: 2px; } - .el-scrollbar__bar.is-horizontal > div { - height: 100%; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-popper .popper__arrow, -.el-popper .popper__arrow::after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; } - -.el-popper .popper__arrow { - border-width: 6px; - -webkit-filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); - filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); } - -.el-popper .popper__arrow::after { - content: " "; - border-width: 6px; } - -.el-popper[x-placement^="top"] { - margin-bottom: 12px; } - -.el-popper[x-placement^="top"] .popper__arrow { - bottom: -6px; - left: 50%; - margin-right: 3px; - border-top-color: #EBEEF5; - border-bottom-width: 0; } - .el-popper[x-placement^="top"] .popper__arrow::after { - bottom: 1px; - margin-left: -6px; - border-top-color: #FFFFFF; - border-bottom-width: 0; } - -.el-popper[x-placement^="bottom"] { - margin-top: 12px; } - -.el-popper[x-placement^="bottom"] .popper__arrow { - top: -6px; - left: 50%; - margin-right: 3px; - border-top-width: 0; - border-bottom-color: #EBEEF5; } - .el-popper[x-placement^="bottom"] .popper__arrow::after { - top: 1px; - margin-left: -6px; - border-top-width: 0; - border-bottom-color: #FFFFFF; } - -.el-popper[x-placement^="right"] { - margin-left: 12px; } - -.el-popper[x-placement^="right"] .popper__arrow { - top: 50%; - left: -6px; - margin-bottom: 3px; - border-right-color: #EBEEF5; - border-left-width: 0; } - .el-popper[x-placement^="right"] .popper__arrow::after { - bottom: -6px; - left: 1px; - border-right-color: #FFFFFF; - border-left-width: 0; } - -.el-popper[x-placement^="left"] { - margin-right: 12px; } - -.el-popper[x-placement^="left"] .popper__arrow { - top: 50%; - right: -6px; - margin-bottom: 3px; - border-right-width: 0; - border-left-color: #EBEEF5; } - .el-popper[x-placement^="left"] .popper__arrow::after { - right: 1px; - bottom: -6px; - margin-left: -6px; - border-right-width: 0; - border-left-color: #FFFFFF; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/dialog.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/dialog.css deleted file mode 100644 index 56697226..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/dialog.css +++ /dev/null @@ -1,651 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -.v-modal-enter { - -webkit-animation: v-modal-in .2s ease; - animation: v-modal-in .2s ease; } - -.v-modal-leave { - -webkit-animation: v-modal-out .2s ease forwards; - animation: v-modal-out .2s ease forwards; } - -@-webkit-keyframes v-modal-in { - 0% { - opacity: 0; } - 100% { } } - -@keyframes v-modal-in { - 0% { - opacity: 0; } - 100% { } } - -@-webkit-keyframes v-modal-out { - 0% { } - 100% { - opacity: 0; } } - -@keyframes v-modal-out { - 0% { } - 100% { - opacity: 0; } } - -.v-modal { - position: fixed; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0.5; - background: #000000; } - -.el-popup-parent--hidden { - overflow: hidden; } - -.el-dialog { - position: relative; - margin: 0 auto 50px; - background: #FFFFFF; - border-radius: 2px; - -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 50%; } - .el-dialog.is-fullscreen { - width: 100%; - margin-top: 0; - margin-bottom: 0; - height: 100%; - overflow: auto; } - .el-dialog__wrapper { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - overflow: auto; - margin: 0; } - .el-dialog__header { - padding: 20px; - padding-bottom: 10px; } - .el-dialog__headerbtn { - position: absolute; - top: 20px; - right: 20px; - padding: 0; - background: transparent; - border: none; - outline: none; - cursor: pointer; - font-size: 16px; } - .el-dialog__headerbtn .el-dialog__close { - color: #909399; } - .el-dialog__headerbtn:focus .el-dialog__close, .el-dialog__headerbtn:hover .el-dialog__close { - color: #409EFF; } - .el-dialog__title { - line-height: 24px; - font-size: 18px; - color: #303133; } - .el-dialog__body { - padding: 30px 20px; - color: #606266; - font-size: 14px; - word-break: break-all; } - .el-dialog__footer { - padding: 20px; - padding-top: 10px; - text-align: right; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-dialog--center { - text-align: center; } - .el-dialog--center .el-dialog__body { - text-align: initial; - padding: 25px 25px 30px; } - .el-dialog--center .el-dialog__footer { - text-align: inherit; } - -.dialog-fade-enter-active { - -webkit-animation: dialog-fade-in .3s; - animation: dialog-fade-in .3s; } - -.dialog-fade-leave-active { - -webkit-animation: dialog-fade-out .3s; - animation: dialog-fade-out .3s; } - -@-webkit-keyframes dialog-fade-in { - 0% { - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - opacity: 0; } - 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; } } - -@keyframes dialog-fade-in { - 0% { - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - opacity: 0; } - 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; } } - -@-webkit-keyframes dialog-fade-out { - 0% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; } - 100% { - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - opacity: 0; } } - -@keyframes dialog-fade-out { - 0% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; } - 100% { - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - opacity: 0; } } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/display.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/display.css deleted file mode 100644 index fdd5fa97..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/display.css +++ /dev/null @@ -1,293 +0,0 @@ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -@media only screen and (max-width: 767px) { - .hidden-xs-only { - display: none !important; } } - -@media only screen and (min-width: 768px) { - .hidden-sm-and-up { - display: none !important; } } - -@media only screen and (min-width: 768px) and (max-width: 991px) { - .hidden-sm-only { - display: none !important; } } - -@media only screen and (max-width: 991px) { - .hidden-sm-and-down { - display: none !important; } } - -@media only screen and (min-width: 992px) { - .hidden-md-and-up { - display: none !important; } } - -@media only screen and (min-width: 992px) and (max-width: 1199px) { - .hidden-md-only { - display: none !important; } } - -@media only screen and (max-width: 1199px) { - .hidden-md-and-down { - display: none !important; } } - -@media only screen and (min-width: 1200px) { - .hidden-lg-and-up { - display: none !important; } } - -@media only screen and (min-width: 1200px) and (max-width: 1919px) { - .hidden-lg-only { - display: none !important; } } - -@media only screen and (max-width: 1919px) { - .hidden-lg-and-down { - display: none !important; } } - -@media only screen and (min-width: 1920px) { - .hidden-xl-only { - display: none !important; } } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/divider.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/divider.css deleted file mode 100644 index 1896251b..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/divider.css +++ /dev/null @@ -1,284 +0,0 @@ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -.el-divider { - background-color: #DCDFE6; - position: relative; } - .el-divider--horizontal { - display: block; - height: 1px; - width: 100%; - margin: 24px 0; } - .el-divider--vertical { - display: inline-block; - width: 1px; - height: 1em; - margin: 0 8px; - vertical-align: middle; - position: relative; } - .el-divider__text { - position: absolute; - background-color: #FFFFFF; - padding: 0 20px; - font-weight: 500; - color: #303133; - font-size: 14px; } - .el-divider__text.is-left { - left: 20px; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); } - .el-divider__text.is-center { - left: 50%; - -webkit-transform: translateX(-50%) translateY(-50%); - transform: translateX(-50%) translateY(-50%); } - .el-divider__text.is-right { - right: 20px; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/drawer.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/drawer.css deleted file mode 100644 index da742d4c..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/drawer.css +++ /dev/null @@ -1,503 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -@-webkit-keyframes el-drawer-fade-in { - 0% { - opacity: 0; } - 100% { - opacity: 1; } } -@keyframes el-drawer-fade-in { - 0% { - opacity: 0; } - 100% { - opacity: 1; } } - -@-webkit-keyframes rtl-drawer-in { - 0% { - -webkit-transform: translate(100%, 0px); - transform: translate(100%, 0px); } - 100% { - -webkit-transform: translate(0px, 0px); - transform: translate(0px, 0px); } } - -@keyframes rtl-drawer-in { - 0% { - -webkit-transform: translate(100%, 0px); - transform: translate(100%, 0px); } - 100% { - -webkit-transform: translate(0px, 0px); - transform: translate(0px, 0px); } } - -@-webkit-keyframes rtl-drawer-out { - 0% { - -webkit-transform: translate(0px, 0px); - transform: translate(0px, 0px); } - 100% { - -webkit-transform: translate(100%, 0px); - transform: translate(100%, 0px); } } - -@keyframes rtl-drawer-out { - 0% { - -webkit-transform: translate(0px, 0px); - transform: translate(0px, 0px); } - 100% { - -webkit-transform: translate(100%, 0px); - transform: translate(100%, 0px); } } - -@-webkit-keyframes ltr-drawer-in { - 0% { - -webkit-transform: translate(-100%, 0px); - transform: translate(-100%, 0px); } - 100% { - -webkit-transform: translate(0px, 0px); - transform: translate(0px, 0px); } } - -@keyframes ltr-drawer-in { - 0% { - -webkit-transform: translate(-100%, 0px); - transform: translate(-100%, 0px); } - 100% { - -webkit-transform: translate(0px, 0px); - transform: translate(0px, 0px); } } - -@-webkit-keyframes ltr-drawer-out { - 0% { - -webkit-transform: translate(0px, 0px); - transform: translate(0px, 0px); } - 100% { - -webkit-transform: translate(-100%, 0px); - transform: translate(-100%, 0px); } } - -@keyframes ltr-drawer-out { - 0% { - -webkit-transform: translate(0px, 0px); - transform: translate(0px, 0px); } - 100% { - -webkit-transform: translate(-100%, 0px); - transform: translate(-100%, 0px); } } - -@-webkit-keyframes ttb-drawer-in { - 0% { - -webkit-transform: translate(0px, -100%); - transform: translate(0px, -100%); } - 100% { - -webkit-transform: translate(0px, 0px); - transform: translate(0px, 0px); } } - -@keyframes ttb-drawer-in { - 0% { - -webkit-transform: translate(0px, -100%); - transform: translate(0px, -100%); } - 100% { - -webkit-transform: translate(0px, 0px); - transform: translate(0px, 0px); } } - -@-webkit-keyframes ttb-drawer-out { - 0% { - -webkit-transform: translate(0px, 0px); - transform: translate(0px, 0px); } - 100% { - -webkit-transform: translate(0px, -100%); - transform: translate(0px, -100%); } } - -@keyframes ttb-drawer-out { - 0% { - -webkit-transform: translate(0px, 0px); - transform: translate(0px, 0px); } - 100% { - -webkit-transform: translate(0px, -100%); - transform: translate(0px, -100%); } } - -@-webkit-keyframes btt-drawer-in { - 0% { - -webkit-transform: translate(0px, 100%); - transform: translate(0px, 100%); } - 100% { - -webkit-transform: translate(0px, 0px); - transform: translate(0px, 0px); } } - -@keyframes btt-drawer-in { - 0% { - -webkit-transform: translate(0px, 100%); - transform: translate(0px, 100%); } - 100% { - -webkit-transform: translate(0px, 0px); - transform: translate(0px, 0px); } } - -@-webkit-keyframes btt-drawer-out { - 0% { - -webkit-transform: translate(0px, 0); - transform: translate(0px, 0); } - 100% { - -webkit-transform: translate(0px, 100%); - transform: translate(0px, 100%); } } - -@keyframes btt-drawer-out { - 0% { - -webkit-transform: translate(0px, 0); - transform: translate(0px, 0); } - 100% { - -webkit-transform: translate(0px, 100%); - transform: translate(0px, 100%); } } - -.el-drawer { - position: absolute; - -webkit-box-sizing: border-box; - box-sizing: border-box; - background-color: #FFFFFF; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.2), 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12); - box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.2), 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12); - overflow: hidden; } - .el-drawer.rtl { - -webkit-animation: rtl-drawer-out 0.3s; - animation: rtl-drawer-out 0.3s; } - .el-drawer__open .el-drawer.rtl { - -webkit-animation: rtl-drawer-in 0.3s 1ms; - animation: rtl-drawer-in 0.3s 1ms; } - .el-drawer.ltr { - -webkit-animation: ltr-drawer-out 0.3s; - animation: ltr-drawer-out 0.3s; } - .el-drawer__open .el-drawer.ltr { - -webkit-animation: ltr-drawer-in 0.3s 1ms; - animation: ltr-drawer-in 0.3s 1ms; } - .el-drawer.ttb { - -webkit-animation: ttb-drawer-out 0.3s; - animation: ttb-drawer-out 0.3s; } - .el-drawer__open .el-drawer.ttb { - -webkit-animation: ttb-drawer-in 0.3s 1ms; - animation: ttb-drawer-in 0.3s 1ms; } - .el-drawer.btt { - -webkit-animation: btt-drawer-out 0.3s; - animation: btt-drawer-out 0.3s; } - .el-drawer__open .el-drawer.btt { - -webkit-animation: btt-drawer-in 0.3s 1ms; - animation: btt-drawer-in 0.3s 1ms; } - .el-drawer__wrapper { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - overflow: hidden; - margin: 0; } - .el-drawer__header { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - color: #72767b; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - margin-bottom: 32px; - padding: 20px; - padding-bottom: 0; } - .el-drawer__header > :first-child { - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; } - .el-drawer__title { - margin: 0; - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - line-height: inherit; - font-size: 1rem; } - .el-drawer__close-btn { - border: none; - cursor: pointer; - font-size: 20px; - color: inherit; - background-color: transparent; } - .el-drawer__body { - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; } - .el-drawer__body > * { - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-drawer.ltr, .el-drawer.rtl { - height: 100%; - top: 0; - bottom: 0; } - .el-drawer.ttb, .el-drawer.btt { - width: 100%; - left: 0; - right: 0; } - .el-drawer.ltr { - left: 0; } - .el-drawer.rtl { - right: 0; } - .el-drawer.ttb { - top: 0; } - .el-drawer.btt { - bottom: 0; } - -.el-drawer__container { - position: relative; - left: 0; - right: 0; - top: 0; - bottom: 0; - height: 100%; - width: 100%; } - -.el-drawer-fade-enter-active { - -webkit-animation: el-drawer-fade-in .3s; - animation: el-drawer-fade-in .3s; } - -.el-drawer-fade-leave-active { - animation: el-drawer-fade-in .3s reverse; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/dropdown-item.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/dropdown-item.css deleted file mode 100644 index e69de29b..00000000 diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/dropdown-menu.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/dropdown-menu.css deleted file mode 100644 index e69de29b..00000000 diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/dropdown.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/dropdown.css deleted file mode 100644 index efe9d7ab..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/dropdown.css +++ /dev/null @@ -1,1451 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -.el-button { - display: inline-block; - line-height: 1; - white-space: nowrap; - cursor: pointer; - background: #FFFFFF; - border: 1px solid #DCDFE6; - border-color: #DCDFE6; - color: #606266; - -webkit-appearance: none; - text-align: center; - -webkit-box-sizing: border-box; - box-sizing: border-box; - outline: none; - margin: 0; - -webkit-transition: .1s; - transition: .1s; - font-weight: 500; - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - padding: 12px 20px; - font-size: 14px; - border-radius: 4px; } - .el-button + .el-button { - margin-left: 10px; } - .el-button.is-round { - padding: 12px 20px; } - .el-button:hover, .el-button:focus { - color: #409EFF; - border-color: #c6e2ff; - background-color: #ecf5ff; } - .el-button:active { - color: #3a8ee6; - border-color: #3a8ee6; - outline: none; } - .el-button::-moz-focus-inner { - border: 0; } - .el-button [class*="el-icon-"] + span { - margin-left: 5px; } - .el-button.is-plain:hover, .el-button.is-plain:focus { - background: #FFFFFF; - border-color: #409EFF; - color: #409EFF; } - .el-button.is-plain:active { - background: #FFFFFF; - border-color: #3a8ee6; - color: #3a8ee6; - outline: none; } - .el-button.is-active { - color: #3a8ee6; - border-color: #3a8ee6; } - .el-button.is-disabled, .el-button.is-disabled:hover, .el-button.is-disabled:focus { - color: #C0C4CC; - cursor: not-allowed; - background-image: none; - background-color: #FFFFFF; - border-color: #EBEEF5; } - .el-button.is-disabled.el-button--text { - background-color: transparent; } - .el-button.is-disabled.is-plain, .el-button.is-disabled.is-plain:hover, .el-button.is-disabled.is-plain:focus { - background-color: #FFFFFF; - border-color: #EBEEF5; - color: #C0C4CC; } - .el-button.is-loading { - position: relative; - pointer-events: none; } - .el-button.is-loading:before { - pointer-events: none; - content: ''; - position: absolute; - left: -1px; - top: -1px; - right: -1px; - bottom: -1px; - border-radius: inherit; - background-color: rgba(255, 255, 255, 0.35); } - .el-button.is-round { - border-radius: 20px; - padding: 12px 23px; } - .el-button.is-circle { - border-radius: 50%; - padding: 12px; } - .el-button--primary { - color: #FFFFFF; - background-color: #409EFF; - border-color: #409EFF; } - .el-button--primary:hover, .el-button--primary:focus { - background: #66b1ff; - border-color: #66b1ff; - color: #FFFFFF; } - .el-button--primary:active { - background: #3a8ee6; - border-color: #3a8ee6; - color: #FFFFFF; - outline: none; } - .el-button--primary.is-active { - background: #3a8ee6; - border-color: #3a8ee6; - color: #FFFFFF; } - .el-button--primary.is-disabled, .el-button--primary.is-disabled:hover, .el-button--primary.is-disabled:focus, .el-button--primary.is-disabled:active { - color: #FFFFFF; - background-color: #a0cfff; - border-color: #a0cfff; } - .el-button--primary.is-plain { - color: #409EFF; - background: #ecf5ff; - border-color: #b3d8ff; } - .el-button--primary.is-plain:hover, .el-button--primary.is-plain:focus { - background: #409EFF; - border-color: #409EFF; - color: #FFFFFF; } - .el-button--primary.is-plain:active { - background: #3a8ee6; - border-color: #3a8ee6; - color: #FFFFFF; - outline: none; } - .el-button--primary.is-plain.is-disabled, .el-button--primary.is-plain.is-disabled:hover, .el-button--primary.is-plain.is-disabled:focus, .el-button--primary.is-plain.is-disabled:active { - color: #8cc5ff; - background-color: #ecf5ff; - border-color: #d9ecff; } - .el-button--success { - color: #FFFFFF; - background-color: #67C23A; - border-color: #67C23A; } - .el-button--success:hover, .el-button--success:focus { - background: #85ce61; - border-color: #85ce61; - color: #FFFFFF; } - .el-button--success:active { - background: #5daf34; - border-color: #5daf34; - color: #FFFFFF; - outline: none; } - .el-button--success.is-active { - background: #5daf34; - border-color: #5daf34; - color: #FFFFFF; } - .el-button--success.is-disabled, .el-button--success.is-disabled:hover, .el-button--success.is-disabled:focus, .el-button--success.is-disabled:active { - color: #FFFFFF; - background-color: #b3e19d; - border-color: #b3e19d; } - .el-button--success.is-plain { - color: #67C23A; - background: #f0f9eb; - border-color: #c2e7b0; } - .el-button--success.is-plain:hover, .el-button--success.is-plain:focus { - background: #67C23A; - border-color: #67C23A; - color: #FFFFFF; } - .el-button--success.is-plain:active { - background: #5daf34; - border-color: #5daf34; - color: #FFFFFF; - outline: none; } - .el-button--success.is-plain.is-disabled, .el-button--success.is-plain.is-disabled:hover, .el-button--success.is-plain.is-disabled:focus, .el-button--success.is-plain.is-disabled:active { - color: #a4da89; - background-color: #f0f9eb; - border-color: #e1f3d8; } - .el-button--warning { - color: #FFFFFF; - background-color: #E6A23C; - border-color: #E6A23C; } - .el-button--warning:hover, .el-button--warning:focus { - background: #ebb563; - border-color: #ebb563; - color: #FFFFFF; } - .el-button--warning:active { - background: #cf9236; - border-color: #cf9236; - color: #FFFFFF; - outline: none; } - .el-button--warning.is-active { - background: #cf9236; - border-color: #cf9236; - color: #FFFFFF; } - .el-button--warning.is-disabled, .el-button--warning.is-disabled:hover, .el-button--warning.is-disabled:focus, .el-button--warning.is-disabled:active { - color: #FFFFFF; - background-color: #f3d19e; - border-color: #f3d19e; } - .el-button--warning.is-plain { - color: #E6A23C; - background: #fdf6ec; - border-color: #f5dab1; } - .el-button--warning.is-plain:hover, .el-button--warning.is-plain:focus { - background: #E6A23C; - border-color: #E6A23C; - color: #FFFFFF; } - .el-button--warning.is-plain:active { - background: #cf9236; - border-color: #cf9236; - color: #FFFFFF; - outline: none; } - .el-button--warning.is-plain.is-disabled, .el-button--warning.is-plain.is-disabled:hover, .el-button--warning.is-plain.is-disabled:focus, .el-button--warning.is-plain.is-disabled:active { - color: #f0c78a; - background-color: #fdf6ec; - border-color: #faecd8; } - .el-button--danger { - color: #FFFFFF; - background-color: #F56C6C; - border-color: #F56C6C; } - .el-button--danger:hover, .el-button--danger:focus { - background: #f78989; - border-color: #f78989; - color: #FFFFFF; } - .el-button--danger:active { - background: #dd6161; - border-color: #dd6161; - color: #FFFFFF; - outline: none; } - .el-button--danger.is-active { - background: #dd6161; - border-color: #dd6161; - color: #FFFFFF; } - .el-button--danger.is-disabled, .el-button--danger.is-disabled:hover, .el-button--danger.is-disabled:focus, .el-button--danger.is-disabled:active { - color: #FFFFFF; - background-color: #fab6b6; - border-color: #fab6b6; } - .el-button--danger.is-plain { - color: #F56C6C; - background: #fef0f0; - border-color: #fbc4c4; } - .el-button--danger.is-plain:hover, .el-button--danger.is-plain:focus { - background: #F56C6C; - border-color: #F56C6C; - color: #FFFFFF; } - .el-button--danger.is-plain:active { - background: #dd6161; - border-color: #dd6161; - color: #FFFFFF; - outline: none; } - .el-button--danger.is-plain.is-disabled, .el-button--danger.is-plain.is-disabled:hover, .el-button--danger.is-plain.is-disabled:focus, .el-button--danger.is-plain.is-disabled:active { - color: #f9a7a7; - background-color: #fef0f0; - border-color: #fde2e2; } - .el-button--info { - color: #FFFFFF; - background-color: #909399; - border-color: #909399; } - .el-button--info:hover, .el-button--info:focus { - background: #a6a9ad; - border-color: #a6a9ad; - color: #FFFFFF; } - .el-button--info:active { - background: #82848a; - border-color: #82848a; - color: #FFFFFF; - outline: none; } - .el-button--info.is-active { - background: #82848a; - border-color: #82848a; - color: #FFFFFF; } - .el-button--info.is-disabled, .el-button--info.is-disabled:hover, .el-button--info.is-disabled:focus, .el-button--info.is-disabled:active { - color: #FFFFFF; - background-color: #c8c9cc; - border-color: #c8c9cc; } - .el-button--info.is-plain { - color: #909399; - background: #f4f4f5; - border-color: #d3d4d6; } - .el-button--info.is-plain:hover, .el-button--info.is-plain:focus { - background: #909399; - border-color: #909399; - color: #FFFFFF; } - .el-button--info.is-plain:active { - background: #82848a; - border-color: #82848a; - color: #FFFFFF; - outline: none; } - .el-button--info.is-plain.is-disabled, .el-button--info.is-plain.is-disabled:hover, .el-button--info.is-plain.is-disabled:focus, .el-button--info.is-plain.is-disabled:active { - color: #bcbec2; - background-color: #f4f4f5; - border-color: #e9e9eb; } - .el-button--medium { - padding: 10px 20px; - font-size: 14px; - border-radius: 4px; } - .el-button--medium.is-round { - padding: 10px 20px; } - .el-button--medium.is-circle { - padding: 10px; } - .el-button--small { - padding: 9px 15px; - font-size: 12px; - border-radius: 3px; } - .el-button--small.is-round { - padding: 9px 15px; } - .el-button--small.is-circle { - padding: 9px; } - .el-button--mini { - padding: 7px 15px; - font-size: 12px; - border-radius: 3px; } - .el-button--mini.is-round { - padding: 7px 15px; } - .el-button--mini.is-circle { - padding: 7px; } - .el-button--text { - border-color: transparent; - color: #409EFF; - background: transparent; - padding-left: 0; - padding-right: 0; } - .el-button--text:hover, .el-button--text:focus { - color: #66b1ff; - border-color: transparent; - background-color: transparent; } - .el-button--text:active { - color: #3a8ee6; - border-color: transparent; - background-color: transparent; } - .el-button--text.is-disabled, .el-button--text.is-disabled:hover, .el-button--text.is-disabled:focus { - border-color: transparent; } - -.el-button-group { - display: inline-block; - vertical-align: middle; } - .el-button-group::before, - .el-button-group::after { - display: table; - content: ""; } - .el-button-group::after { - clear: both; } - .el-button-group > .el-button { - float: left; - position: relative; } - .el-button-group > .el-button + .el-button { - margin-left: 0; } - .el-button-group > .el-button.is-disabled { - z-index: 1; } - .el-button-group > .el-button:first-child { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-button-group > .el-button:last-child { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-button-group > .el-button:first-child:last-child { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; } - .el-button-group > .el-button:first-child:last-child.is-round { - border-radius: 20px; } - .el-button-group > .el-button:first-child:last-child.is-circle { - border-radius: 50%; } - .el-button-group > .el-button:not(:first-child):not(:last-child) { - border-radius: 0; } - .el-button-group > .el-button:not(:last-child) { - margin-right: -1px; } - .el-button-group > .el-button:hover, .el-button-group > .el-button:focus, .el-button-group > .el-button:active { - z-index: 1; } - .el-button-group > .el-button.is-active { - z-index: 1; } - .el-button-group > .el-dropdown > .el-button { - border-top-left-radius: 0; - border-bottom-left-radius: 0; - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--primary:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--primary:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--primary:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--success:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--success:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--success:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--warning:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--warning:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--warning:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--danger:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--danger:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--danger:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--info:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--info:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--info:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-popper .popper__arrow, -.el-popper .popper__arrow::after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; } - -.el-popper .popper__arrow { - border-width: 6px; - -webkit-filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); - filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); } - -.el-popper .popper__arrow::after { - content: " "; - border-width: 6px; } - -.el-popper[x-placement^="top"] { - margin-bottom: 12px; } - -.el-popper[x-placement^="top"] .popper__arrow { - bottom: -6px; - left: 50%; - margin-right: 3px; - border-top-color: #EBEEF5; - border-bottom-width: 0; } - .el-popper[x-placement^="top"] .popper__arrow::after { - bottom: 1px; - margin-left: -6px; - border-top-color: #FFFFFF; - border-bottom-width: 0; } - -.el-popper[x-placement^="bottom"] { - margin-top: 12px; } - -.el-popper[x-placement^="bottom"] .popper__arrow { - top: -6px; - left: 50%; - margin-right: 3px; - border-top-width: 0; - border-bottom-color: #EBEEF5; } - .el-popper[x-placement^="bottom"] .popper__arrow::after { - top: 1px; - margin-left: -6px; - border-top-width: 0; - border-bottom-color: #FFFFFF; } - -.el-popper[x-placement^="right"] { - margin-left: 12px; } - -.el-popper[x-placement^="right"] .popper__arrow { - top: 50%; - left: -6px; - margin-bottom: 3px; - border-right-color: #EBEEF5; - border-left-width: 0; } - .el-popper[x-placement^="right"] .popper__arrow::after { - bottom: -6px; - left: 1px; - border-right-color: #FFFFFF; - border-left-width: 0; } - -.el-popper[x-placement^="left"] { - margin-right: 12px; } - -.el-popper[x-placement^="left"] .popper__arrow { - top: 50%; - right: -6px; - margin-bottom: 3px; - border-right-width: 0; - border-left-color: #EBEEF5; } - .el-popper[x-placement^="left"] .popper__arrow::after { - right: 1px; - bottom: -6px; - margin-left: -6px; - border-right-width: 0; - border-left-color: #FFFFFF; } - -.el-dropdown { - display: inline-block; - position: relative; - color: #606266; - font-size: 14px; } - .el-dropdown .el-button-group { - display: block; } - .el-dropdown .el-button-group .el-button { - float: none; } - .el-dropdown .el-dropdown__caret-button { - padding-left: 5px; - padding-right: 5px; - position: relative; - border-left: none; } - .el-dropdown .el-dropdown__caret-button::before { - content: ''; - position: absolute; - display: block; - width: 1px; - top: 5px; - bottom: 5px; - left: 0; - background: rgba(255, 255, 255, 0.5); } - .el-dropdown .el-dropdown__caret-button.el-button--default::before { - background: rgba(220, 223, 230, 0.5); } - .el-dropdown .el-dropdown__caret-button:hover::before { - top: 0; - bottom: 0; } - .el-dropdown .el-dropdown__caret-button .el-dropdown__icon { - padding-left: 0; } - .el-dropdown__icon { - font-size: 12px; - margin: 0 3px; } - .el-dropdown .el-dropdown-selfdefine:focus:active, .el-dropdown .el-dropdown-selfdefine:focus:not(.focusing) { - outline-width: 0; } - -.el-dropdown-menu { - position: absolute; - top: 0; - left: 0; - z-index: 10; - padding: 10px 0; - margin: 5px 0; - background-color: #FFFFFF; - border: 1px solid #EBEEF5; - border-radius: 4px; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); } - .el-dropdown-menu__item { - list-style: none; - line-height: 36px; - padding: 0 20px; - margin: 0; - font-size: 14px; - color: #606266; - cursor: pointer; - outline: none; } - .el-dropdown-menu__item:not(.is-disabled):hover, .el-dropdown-menu__item:focus { - background-color: #409EFF; - color: #FFFFFF; } - .el-dropdown-menu__item i { - margin-right: 5px; } - .el-dropdown-menu__item--divided { - position: relative; - margin-top: 6px; - border-top: 1px solid #EBEEF5; } - .el-dropdown-menu__item--divided:before { - content: ''; - height: 6px; - display: block; - margin: 0 -20px; - background-color: #FFFFFF; } - .el-dropdown-menu__item.is-disabled { - cursor: default; - color: #bbb; - pointer-events: none; } - .el-dropdown-menu--medium { - padding: 6px 0; } - .el-dropdown-menu--medium .el-dropdown-menu__item { - line-height: 30px; - padding: 0 17px; - font-size: 14px; } - .el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided { - margin-top: 6px; } - .el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided:before { - height: 6px; - margin: 0 -17px; } - .el-dropdown-menu--small { - padding: 6px 0; } - .el-dropdown-menu--small .el-dropdown-menu__item { - line-height: 27px; - padding: 0 15px; - font-size: 13px; } - .el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided { - margin-top: 4px; } - .el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided:before { - height: 4px; - margin: 0 -15px; } - .el-dropdown-menu--mini { - padding: 3px 0; } - .el-dropdown-menu--mini .el-dropdown-menu__item { - line-height: 24px; - padding: 0 10px; - font-size: 12px; } - .el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided { - margin-top: 3px; } - .el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided:before { - height: 3px; - margin: 0 -10px; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/element-variables-blue.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/element-variables-blue.css deleted file mode 100644 index c38c578c..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/element-variables-blue.css +++ /dev/null @@ -1,120 +0,0 @@ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/element-variables-dark.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/element-variables-dark.css deleted file mode 100644 index c38c578c..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/element-variables-dark.css +++ /dev/null @@ -1,120 +0,0 @@ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/element-variables-green.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/element-variables-green.css deleted file mode 100644 index c38c578c..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/element-variables-green.css +++ /dev/null @@ -1,120 +0,0 @@ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/element-variables-light.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/element-variables-light.css deleted file mode 100644 index c38c578c..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/element-variables-light.css +++ /dev/null @@ -1,120 +0,0 @@ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/element-variables-orange.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/element-variables-orange.css deleted file mode 100644 index c38c578c..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/element-variables-orange.css +++ /dev/null @@ -1,120 +0,0 @@ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/element-variables.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/element-variables.css deleted file mode 100644 index c38c578c..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/element-variables.css +++ /dev/null @@ -1,120 +0,0 @@ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/fonts/element-icons.ttf b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/fonts/element-icons.ttf deleted file mode 100644 index 91b74de3..00000000 Binary files a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/fonts/element-icons.ttf and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/fonts/element-icons.woff b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/fonts/element-icons.woff deleted file mode 100644 index 02b9a253..00000000 Binary files a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/fonts/element-icons.woff and /dev/null differ diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/footer.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/footer.css deleted file mode 100644 index 36cf5cf8..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/footer.css +++ /dev/null @@ -1,256 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-footer { - padding: 0 20px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - -ms-flex-negative: 0; - flex-shrink: 0; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/form-item.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/form-item.css deleted file mode 100644 index e69de29b..00000000 diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/form.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/form.css deleted file mode 100644 index 8644193c..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/form.css +++ /dev/null @@ -1,364 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-form--label-left .el-form-item__label { - text-align: left; } - -.el-form--label-top .el-form-item__label { - float: none; - display: inline-block; - text-align: left; - padding: 0 0 10px 0; } - -.el-form--inline .el-form-item { - display: inline-block; - margin-right: 10px; - vertical-align: top; } - -.el-form--inline .el-form-item__label { - float: none; - display: inline-block; } - -.el-form--inline .el-form-item__content { - display: inline-block; - vertical-align: top; } - -.el-form--inline.el-form--label-top .el-form-item__content { - display: block; } - -.el-form-item { - margin-bottom: 22px; } - .el-form-item::before, - .el-form-item::after { - display: table; - content: ""; } - .el-form-item::after { - clear: both; } - .el-form-item .el-form-item { - margin-bottom: 0; } - .el-form-item .el-input__validateIcon { - display: none; } - .el-form-item--medium .el-form-item__label { - line-height: 36px; } - .el-form-item--medium .el-form-item__content { - line-height: 36px; } - .el-form-item--small .el-form-item__label { - line-height: 32px; } - .el-form-item--small .el-form-item__content { - line-height: 32px; } - .el-form-item--small.el-form-item { - margin-bottom: 18px; } - .el-form-item--small .el-form-item__error { - padding-top: 2px; } - .el-form-item--mini .el-form-item__label { - line-height: 28px; } - .el-form-item--mini .el-form-item__content { - line-height: 28px; } - .el-form-item--mini.el-form-item { - margin-bottom: 18px; } - .el-form-item--mini .el-form-item__error { - padding-top: 1px; } - .el-form-item__label-wrap { - float: left; } - .el-form-item__label-wrap .el-form-item__label { - display: inline-block; - float: none; } - .el-form-item__label { - text-align: right; - vertical-align: middle; - float: left; - font-size: 14px; - color: #606266; - line-height: 40px; - padding: 0 12px 0 0; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-form-item__content { - line-height: 40px; - position: relative; - font-size: 14px; } - .el-form-item__content::before, - .el-form-item__content::after { - display: table; - content: ""; } - .el-form-item__content::after { - clear: both; } - .el-form-item__content .el-input-group { - vertical-align: top; } - .el-form-item__error { - color: #F56C6C; - font-size: 12px; - line-height: 1; - padding-top: 4px; - position: absolute; - top: 100%; - left: 0; } - .el-form-item__error--inline { - position: relative; - top: auto; - left: auto; - display: inline-block; - margin-left: 10px; } - .el-form-item.is-required:not(.is-no-asterisk) > .el-form-item__label:before, - .el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap > .el-form-item__label:before { - content: '*'; - color: #F56C6C; - margin-right: 4px; } - .el-form-item.is-error .el-input__inner, .el-form-item.is-error .el-input__inner:focus, - .el-form-item.is-error .el-textarea__inner, - .el-form-item.is-error .el-textarea__inner:focus { - border-color: #F56C6C; } - .el-form-item.is-error .el-input-group__append .el-input__inner, - .el-form-item.is-error .el-input-group__prepend .el-input__inner { - border-color: transparent; } - .el-form-item.is-error .el-input__validateIcon { - color: #F56C6C; } - .el-form-item--feedback .el-input__validateIcon { - display: inline-block; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/header.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/header.css deleted file mode 100644 index ec740ca6..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/header.css +++ /dev/null @@ -1,256 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-header { - padding: 0 20px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - -ms-flex-negative: 0; - flex-shrink: 0; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/icon.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/icon.css deleted file mode 100644 index 8bc8c6b5..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/icon.css +++ /dev/null @@ -1,1008 +0,0 @@ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -@font-face { - font-family: 'element-icons'; - src: url("fonts/element-icons.woff") format("woff"), url("fonts/element-icons.ttf") format("truetype"); - /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/ - font-weight: normal; - font-display: "auto"; - font-style: normal; } - -[class^="el-icon-"], [class*=" el-icon-"] { - /* use !important to prevent issues with browser extensions that change fonts */ - font-family: 'element-icons' !important; - speak: none; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - vertical-align: baseline; - display: inline-block; - /* Better Font Rendering =========== */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; } - -.el-icon-ice-cream-round:before { - content: "\e6a0"; } - -.el-icon-ice-cream-square:before { - content: "\e6a3"; } - -.el-icon-lollipop:before { - content: "\e6a4"; } - -.el-icon-potato-strips:before { - content: "\e6a5"; } - -.el-icon-milk-tea:before { - content: "\e6a6"; } - -.el-icon-ice-drink:before { - content: "\e6a7"; } - -.el-icon-ice-tea:before { - content: "\e6a9"; } - -.el-icon-coffee:before { - content: "\e6aa"; } - -.el-icon-orange:before { - content: "\e6ab"; } - -.el-icon-pear:before { - content: "\e6ac"; } - -.el-icon-apple:before { - content: "\e6ad"; } - -.el-icon-cherry:before { - content: "\e6ae"; } - -.el-icon-watermelon:before { - content: "\e6af"; } - -.el-icon-grape:before { - content: "\e6b0"; } - -.el-icon-refrigerator:before { - content: "\e6b1"; } - -.el-icon-goblet-square-full:before { - content: "\e6b2"; } - -.el-icon-goblet-square:before { - content: "\e6b3"; } - -.el-icon-goblet-full:before { - content: "\e6b4"; } - -.el-icon-goblet:before { - content: "\e6b5"; } - -.el-icon-cold-drink:before { - content: "\e6b6"; } - -.el-icon-coffee-cup:before { - content: "\e6b8"; } - -.el-icon-water-cup:before { - content: "\e6b9"; } - -.el-icon-hot-water:before { - content: "\e6ba"; } - -.el-icon-ice-cream:before { - content: "\e6bb"; } - -.el-icon-dessert:before { - content: "\e6bc"; } - -.el-icon-sugar:before { - content: "\e6bd"; } - -.el-icon-tableware:before { - content: "\e6be"; } - -.el-icon-burger:before { - content: "\e6bf"; } - -.el-icon-knife-fork:before { - content: "\e6c1"; } - -.el-icon-fork-spoon:before { - content: "\e6c2"; } - -.el-icon-chicken:before { - content: "\e6c3"; } - -.el-icon-food:before { - content: "\e6c4"; } - -.el-icon-dish-1:before { - content: "\e6c5"; } - -.el-icon-dish:before { - content: "\e6c6"; } - -.el-icon-moon-night:before { - content: "\e6ee"; } - -.el-icon-moon:before { - content: "\e6f0"; } - -.el-icon-cloudy-and-sunny:before { - content: "\e6f1"; } - -.el-icon-partly-cloudy:before { - content: "\e6f2"; } - -.el-icon-cloudy:before { - content: "\e6f3"; } - -.el-icon-sunny:before { - content: "\e6f6"; } - -.el-icon-sunset:before { - content: "\e6f7"; } - -.el-icon-sunrise-1:before { - content: "\e6f8"; } - -.el-icon-sunrise:before { - content: "\e6f9"; } - -.el-icon-heavy-rain:before { - content: "\e6fa"; } - -.el-icon-lightning:before { - content: "\e6fb"; } - -.el-icon-light-rain:before { - content: "\e6fc"; } - -.el-icon-wind-power:before { - content: "\e6fd"; } - -.el-icon-baseball:before { - content: "\e712"; } - -.el-icon-soccer:before { - content: "\e713"; } - -.el-icon-football:before { - content: "\e715"; } - -.el-icon-basketball:before { - content: "\e716"; } - -.el-icon-ship:before { - content: "\e73f"; } - -.el-icon-truck:before { - content: "\e740"; } - -.el-icon-bicycle:before { - content: "\e741"; } - -.el-icon-mobile-phone:before { - content: "\e6d3"; } - -.el-icon-service:before { - content: "\e6d4"; } - -.el-icon-key:before { - content: "\e6e2"; } - -.el-icon-unlock:before { - content: "\e6e4"; } - -.el-icon-lock:before { - content: "\e6e5"; } - -.el-icon-watch:before { - content: "\e6fe"; } - -.el-icon-watch-1:before { - content: "\e6ff"; } - -.el-icon-timer:before { - content: "\e702"; } - -.el-icon-alarm-clock:before { - content: "\e703"; } - -.el-icon-map-location:before { - content: "\e704"; } - -.el-icon-delete-location:before { - content: "\e705"; } - -.el-icon-add-location:before { - content: "\e706"; } - -.el-icon-location-information:before { - content: "\e707"; } - -.el-icon-location-outline:before { - content: "\e708"; } - -.el-icon-location:before { - content: "\e79e"; } - -.el-icon-place:before { - content: "\e709"; } - -.el-icon-discover:before { - content: "\e70a"; } - -.el-icon-first-aid-kit:before { - content: "\e70b"; } - -.el-icon-trophy-1:before { - content: "\e70c"; } - -.el-icon-trophy:before { - content: "\e70d"; } - -.el-icon-medal:before { - content: "\e70e"; } - -.el-icon-medal-1:before { - content: "\e70f"; } - -.el-icon-stopwatch:before { - content: "\e710"; } - -.el-icon-mic:before { - content: "\e711"; } - -.el-icon-copy-document:before { - content: "\e718"; } - -.el-icon-full-screen:before { - content: "\e719"; } - -.el-icon-switch-button:before { - content: "\e71b"; } - -.el-icon-aim:before { - content: "\e71c"; } - -.el-icon-crop:before { - content: "\e71d"; } - -.el-icon-odometer:before { - content: "\e71e"; } - -.el-icon-time:before { - content: "\e71f"; } - -.el-icon-bangzhu:before { - content: "\e724"; } - -.el-icon-close-notification:before { - content: "\e726"; } - -.el-icon-microphone:before { - content: "\e727"; } - -.el-icon-turn-off-microphone:before { - content: "\e728"; } - -.el-icon-position:before { - content: "\e729"; } - -.el-icon-postcard:before { - content: "\e72a"; } - -.el-icon-message:before { - content: "\e72b"; } - -.el-icon-chat-line-square:before { - content: "\e72d"; } - -.el-icon-chat-dot-square:before { - content: "\e72e"; } - -.el-icon-chat-dot-round:before { - content: "\e72f"; } - -.el-icon-chat-square:before { - content: "\e730"; } - -.el-icon-chat-line-round:before { - content: "\e731"; } - -.el-icon-chat-round:before { - content: "\e732"; } - -.el-icon-set-up:before { - content: "\e733"; } - -.el-icon-turn-off:before { - content: "\e734"; } - -.el-icon-open:before { - content: "\e735"; } - -.el-icon-connection:before { - content: "\e736"; } - -.el-icon-link:before { - content: "\e737"; } - -.el-icon-cpu:before { - content: "\e738"; } - -.el-icon-thumb:before { - content: "\e739"; } - -.el-icon-female:before { - content: "\e73a"; } - -.el-icon-male:before { - content: "\e73b"; } - -.el-icon-guide:before { - content: "\e73c"; } - -.el-icon-news:before { - content: "\e73e"; } - -.el-icon-price-tag:before { - content: "\e744"; } - -.el-icon-discount:before { - content: "\e745"; } - -.el-icon-wallet:before { - content: "\e747"; } - -.el-icon-coin:before { - content: "\e748"; } - -.el-icon-money:before { - content: "\e749"; } - -.el-icon-bank-card:before { - content: "\e74a"; } - -.el-icon-box:before { - content: "\e74b"; } - -.el-icon-present:before { - content: "\e74c"; } - -.el-icon-sell:before { - content: "\e6d5"; } - -.el-icon-sold-out:before { - content: "\e6d6"; } - -.el-icon-shopping-bag-2:before { - content: "\e74d"; } - -.el-icon-shopping-bag-1:before { - content: "\e74e"; } - -.el-icon-shopping-cart-2:before { - content: "\e74f"; } - -.el-icon-shopping-cart-1:before { - content: "\e750"; } - -.el-icon-shopping-cart-full:before { - content: "\e751"; } - -.el-icon-smoking:before { - content: "\e752"; } - -.el-icon-no-smoking:before { - content: "\e753"; } - -.el-icon-house:before { - content: "\e754"; } - -.el-icon-table-lamp:before { - content: "\e755"; } - -.el-icon-school:before { - content: "\e756"; } - -.el-icon-office-building:before { - content: "\e757"; } - -.el-icon-toilet-paper:before { - content: "\e758"; } - -.el-icon-notebook-2:before { - content: "\e759"; } - -.el-icon-notebook-1:before { - content: "\e75a"; } - -.el-icon-files:before { - content: "\e75b"; } - -.el-icon-collection:before { - content: "\e75c"; } - -.el-icon-receiving:before { - content: "\e75d"; } - -.el-icon-suitcase-1:before { - content: "\e760"; } - -.el-icon-suitcase:before { - content: "\e761"; } - -.el-icon-film:before { - content: "\e763"; } - -.el-icon-collection-tag:before { - content: "\e765"; } - -.el-icon-data-analysis:before { - content: "\e766"; } - -.el-icon-pie-chart:before { - content: "\e767"; } - -.el-icon-data-board:before { - content: "\e768"; } - -.el-icon-data-line:before { - content: "\e76d"; } - -.el-icon-reading:before { - content: "\e769"; } - -.el-icon-magic-stick:before { - content: "\e76a"; } - -.el-icon-coordinate:before { - content: "\e76b"; } - -.el-icon-mouse:before { - content: "\e76c"; } - -.el-icon-brush:before { - content: "\e76e"; } - -.el-icon-headset:before { - content: "\e76f"; } - -.el-icon-umbrella:before { - content: "\e770"; } - -.el-icon-scissors:before { - content: "\e771"; } - -.el-icon-mobile:before { - content: "\e773"; } - -.el-icon-attract:before { - content: "\e774"; } - -.el-icon-monitor:before { - content: "\e775"; } - -.el-icon-search:before { - content: "\e778"; } - -.el-icon-takeaway-box:before { - content: "\e77a"; } - -.el-icon-paperclip:before { - content: "\e77d"; } - -.el-icon-printer:before { - content: "\e77e"; } - -.el-icon-document-add:before { - content: "\e782"; } - -.el-icon-document:before { - content: "\e785"; } - -.el-icon-document-checked:before { - content: "\e786"; } - -.el-icon-document-copy:before { - content: "\e787"; } - -.el-icon-document-delete:before { - content: "\e788"; } - -.el-icon-document-remove:before { - content: "\e789"; } - -.el-icon-tickets:before { - content: "\e78b"; } - -.el-icon-folder-checked:before { - content: "\e77f"; } - -.el-icon-folder-delete:before { - content: "\e780"; } - -.el-icon-folder-remove:before { - content: "\e781"; } - -.el-icon-folder-add:before { - content: "\e783"; } - -.el-icon-folder-opened:before { - content: "\e784"; } - -.el-icon-folder:before { - content: "\e78a"; } - -.el-icon-edit-outline:before { - content: "\e764"; } - -.el-icon-edit:before { - content: "\e78c"; } - -.el-icon-date:before { - content: "\e78e"; } - -.el-icon-c-scale-to-original:before { - content: "\e7c6"; } - -.el-icon-view:before { - content: "\e6ce"; } - -.el-icon-loading:before { - content: "\e6cf"; } - -.el-icon-rank:before { - content: "\e6d1"; } - -.el-icon-sort-down:before { - content: "\e7c4"; } - -.el-icon-sort-up:before { - content: "\e7c5"; } - -.el-icon-sort:before { - content: "\e6d2"; } - -.el-icon-finished:before { - content: "\e6cd"; } - -.el-icon-refresh-left:before { - content: "\e6c7"; } - -.el-icon-refresh-right:before { - content: "\e6c8"; } - -.el-icon-refresh:before { - content: "\e6d0"; } - -.el-icon-video-play:before { - content: "\e7c0"; } - -.el-icon-video-pause:before { - content: "\e7c1"; } - -.el-icon-d-arrow-right:before { - content: "\e6dc"; } - -.el-icon-d-arrow-left:before { - content: "\e6dd"; } - -.el-icon-arrow-up:before { - content: "\e6e1"; } - -.el-icon-arrow-down:before { - content: "\e6df"; } - -.el-icon-arrow-right:before { - content: "\e6e0"; } - -.el-icon-arrow-left:before { - content: "\e6de"; } - -.el-icon-top-right:before { - content: "\e6e7"; } - -.el-icon-top-left:before { - content: "\e6e8"; } - -.el-icon-top:before { - content: "\e6e6"; } - -.el-icon-bottom:before { - content: "\e6eb"; } - -.el-icon-right:before { - content: "\e6e9"; } - -.el-icon-back:before { - content: "\e6ea"; } - -.el-icon-bottom-right:before { - content: "\e6ec"; } - -.el-icon-bottom-left:before { - content: "\e6ed"; } - -.el-icon-caret-top:before { - content: "\e78f"; } - -.el-icon-caret-bottom:before { - content: "\e790"; } - -.el-icon-caret-right:before { - content: "\e791"; } - -.el-icon-caret-left:before { - content: "\e792"; } - -.el-icon-d-caret:before { - content: "\e79a"; } - -.el-icon-share:before { - content: "\e793"; } - -.el-icon-menu:before { - content: "\e798"; } - -.el-icon-s-grid:before { - content: "\e7a6"; } - -.el-icon-s-check:before { - content: "\e7a7"; } - -.el-icon-s-data:before { - content: "\e7a8"; } - -.el-icon-s-opportunity:before { - content: "\e7aa"; } - -.el-icon-s-custom:before { - content: "\e7ab"; } - -.el-icon-s-claim:before { - content: "\e7ad"; } - -.el-icon-s-finance:before { - content: "\e7ae"; } - -.el-icon-s-comment:before { - content: "\e7af"; } - -.el-icon-s-flag:before { - content: "\e7b0"; } - -.el-icon-s-marketing:before { - content: "\e7b1"; } - -.el-icon-s-shop:before { - content: "\e7b4"; } - -.el-icon-s-open:before { - content: "\e7b5"; } - -.el-icon-s-management:before { - content: "\e7b6"; } - -.el-icon-s-ticket:before { - content: "\e7b7"; } - -.el-icon-s-release:before { - content: "\e7b8"; } - -.el-icon-s-home:before { - content: "\e7b9"; } - -.el-icon-s-promotion:before { - content: "\e7ba"; } - -.el-icon-s-operation:before { - content: "\e7bb"; } - -.el-icon-s-unfold:before { - content: "\e7bc"; } - -.el-icon-s-fold:before { - content: "\e7a9"; } - -.el-icon-s-platform:before { - content: "\e7bd"; } - -.el-icon-s-order:before { - content: "\e7be"; } - -.el-icon-s-cooperation:before { - content: "\e7bf"; } - -.el-icon-bell:before { - content: "\e725"; } - -.el-icon-message-solid:before { - content: "\e799"; } - -.el-icon-video-camera:before { - content: "\e772"; } - -.el-icon-video-camera-solid:before { - content: "\e796"; } - -.el-icon-camera:before { - content: "\e779"; } - -.el-icon-camera-solid:before { - content: "\e79b"; } - -.el-icon-download:before { - content: "\e77c"; } - -.el-icon-upload2:before { - content: "\e77b"; } - -.el-icon-upload:before { - content: "\e7c3"; } - -.el-icon-picture-outline-round:before { - content: "\e75f"; } - -.el-icon-picture-outline:before { - content: "\e75e"; } - -.el-icon-picture:before { - content: "\e79f"; } - -.el-icon-close:before { - content: "\e6db"; } - -.el-icon-check:before { - content: "\e6da"; } - -.el-icon-plus:before { - content: "\e6d9"; } - -.el-icon-minus:before { - content: "\e6d8"; } - -.el-icon-help:before { - content: "\e73d"; } - -.el-icon-s-help:before { - content: "\e7b3"; } - -.el-icon-circle-close:before { - content: "\e78d"; } - -.el-icon-circle-check:before { - content: "\e720"; } - -.el-icon-circle-plus-outline:before { - content: "\e723"; } - -.el-icon-remove-outline:before { - content: "\e722"; } - -.el-icon-zoom-out:before { - content: "\e776"; } - -.el-icon-zoom-in:before { - content: "\e777"; } - -.el-icon-error:before { - content: "\e79d"; } - -.el-icon-success:before { - content: "\e79c"; } - -.el-icon-circle-plus:before { - content: "\e7a0"; } - -.el-icon-remove:before { - content: "\e7a2"; } - -.el-icon-info:before { - content: "\e7a1"; } - -.el-icon-question:before { - content: "\e7a4"; } - -.el-icon-warning-outline:before { - content: "\e6c9"; } - -.el-icon-warning:before { - content: "\e7a3"; } - -.el-icon-goods:before { - content: "\e7c2"; } - -.el-icon-s-goods:before { - content: "\e7b2"; } - -.el-icon-star-off:before { - content: "\e717"; } - -.el-icon-star-on:before { - content: "\e797"; } - -.el-icon-more-outline:before { - content: "\e6cc"; } - -.el-icon-more:before { - content: "\e794"; } - -.el-icon-phone-outline:before { - content: "\e6cb"; } - -.el-icon-phone:before { - content: "\e795"; } - -.el-icon-user:before { - content: "\e6e3"; } - -.el-icon-user-solid:before { - content: "\e7a5"; } - -.el-icon-setting:before { - content: "\e6ca"; } - -.el-icon-s-tools:before { - content: "\e7ac"; } - -.el-icon-delete:before { - content: "\e6d7"; } - -.el-icon-delete-solid:before { - content: "\e7c9"; } - -.el-icon-eleme:before { - content: "\e7c7"; } - -.el-icon-platform-eleme:before { - content: "\e7ca"; } - -.el-icon-loading { - -webkit-animation: rotating 2s linear infinite; - animation: rotating 2s linear infinite; } - -.el-icon--right { - margin-left: 5px; } - -.el-icon--left { - margin-right: 5px; } - -@-webkit-keyframes rotating { - 0% { - -webkit-transform: rotateZ(0deg); - transform: rotateZ(0deg); } - 100% { - -webkit-transform: rotateZ(360deg); - transform: rotateZ(360deg); } } - -@keyframes rotating { - 0% { - -webkit-transform: rotateZ(0deg); - transform: rotateZ(0deg); } - 100% { - -webkit-transform: rotateZ(360deg); - transform: rotateZ(360deg); } } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/image.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/image.css deleted file mode 100644 index 80973022..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/image.css +++ /dev/null @@ -1,443 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-image__inner, .el-image__placeholder, .el-image__error { - width: 100%; - height: 100%; } - -.el-image { - position: relative; - display: inline-block; - overflow: hidden; } - .el-image__inner { - vertical-align: top; } - .el-image__inner--center { - position: relative; - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); - display: block; } - .el-image__placeholder { - background: #F5F7FA; } - .el-image__error { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - font-size: 14px; - background: #F5F7FA; - color: #C0C4CC; - vertical-align: middle; } - .el-image__preview { - cursor: pointer; } - -.el-image-viewer__wrapper { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; } - -.el-image-viewer__btn { - position: absolute; - z-index: 1; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - border-radius: 50%; - opacity: .8; - cursor: pointer; - -webkit-box-sizing: border-box; - box-sizing: border-box; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; } - -.el-image-viewer__close { - top: 40px; - right: 40px; - width: 40px; - height: 40px; - font-size: 40px; } - -.el-image-viewer__canvas { - width: 100%; - height: 100%; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - -.el-image-viewer__actions { - left: 50%; - bottom: 30px; - -webkit-transform: translateX(-50%); - transform: translateX(-50%); - width: 282px; - height: 44px; - padding: 0 23px; - background-color: #606266; - border-color: #fff; - border-radius: 22px; } - .el-image-viewer__actions__inner { - width: 100%; - height: 100%; - text-align: justify; - cursor: default; - font-size: 23px; - color: #fff; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -ms-flex-pack: distribute; - justify-content: space-around; } - -.el-image-viewer__prev { - top: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); - width: 44px; - height: 44px; - font-size: 24px; - color: #fff; - background-color: #606266; - border-color: #fff; - left: 40px; } - -.el-image-viewer__next { - top: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); - width: 44px; - height: 44px; - font-size: 24px; - color: #fff; - background-color: #606266; - border-color: #fff; - right: 40px; - text-indent: 2px; } - -.el-image-viewer__mask { - position: absolute; - width: 100%; - height: 100%; - top: 0; - left: 0; - opacity: .5; - background: #000; } - -.viewer-fade-enter-active { - -webkit-animation: viewer-fade-in .3s; - animation: viewer-fade-in .3s; } - -.viewer-fade-leave-active { - -webkit-animation: viewer-fade-out .3s; - animation: viewer-fade-out .3s; } - -@-webkit-keyframes viewer-fade-in { - 0% { - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - opacity: 0; } - 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; } } - -@keyframes viewer-fade-in { - 0% { - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - opacity: 0; } - 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; } } - -@-webkit-keyframes viewer-fade-out { - 0% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; } - 100% { - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - opacity: 0; } } - -@keyframes viewer-fade-out { - 0% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; } - 100% { - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - opacity: 0; } } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/index.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/index.css deleted file mode 100644 index b34f94c4..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/index.css +++ /dev/null @@ -1,57046 +0,0 @@ -@charset "UTF-8"; -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.fade-in-linear-enter-active, -.fade-in-linear-leave-active { - -webkit-transition: opacity 200ms linear; - transition: opacity 200ms linear; } - -.fade-in-linear-enter, -.fade-in-linear-leave, -.fade-in-linear-leave-active { - opacity: 0; } - -.el-fade-in-linear-enter-active, -.el-fade-in-linear-leave-active { - -webkit-transition: opacity 200ms linear; - transition: opacity 200ms linear; } - -.el-fade-in-linear-enter, -.el-fade-in-linear-leave, -.el-fade-in-linear-leave-active { - opacity: 0; } - -.el-fade-in-enter-active, -.el-fade-in-leave-active { - -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-fade-in-enter, -.el-fade-in-leave-active { - opacity: 0; } - -.el-zoom-in-center-enter-active, -.el-zoom-in-center-leave-active { - -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-zoom-in-center-enter, -.el-zoom-in-center-leave-active { - opacity: 0; - -webkit-transform: scaleX(0); - transform: scaleX(0); } - -.el-zoom-in-top-enter-active, -.el-zoom-in-top-leave-active { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: center top; - transform-origin: center top; } - -.el-zoom-in-top-enter, -.el-zoom-in-top-leave-active { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0); } - -.el-zoom-in-bottom-enter-active, -.el-zoom-in-bottom-leave-active { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; } - -.el-zoom-in-bottom-enter, -.el-zoom-in-bottom-leave-active { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0); } - -.el-zoom-in-left-enter-active, -.el-zoom-in-left-leave-active { - opacity: 1; - -webkit-transform: scale(1, 1); - transform: scale(1, 1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: top left; - transform-origin: top left; } - -.el-zoom-in-left-enter, -.el-zoom-in-left-leave-active { - opacity: 0; - -webkit-transform: scale(0.45, 0.45); - transform: scale(0.45, 0.45); } - -.collapse-transition { - -webkit-transition: 0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out; - transition: 0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out; } - -.horizontal-collapse-transition { - -webkit-transition: 0.3s width ease-in-out, 0.3s padding-left ease-in-out, 0.3s padding-right ease-in-out; - transition: 0.3s width ease-in-out, 0.3s padding-left ease-in-out, 0.3s padding-right ease-in-out; } - -.el-list-enter-active, -.el-list-leave-active { - -webkit-transition: all 1s; - transition: all 1s; } - -.el-list-enter, .el-list-leave-active { - opacity: 0; - -webkit-transform: translateY(-30px); - transform: translateY(-30px); } - -.el-opacity-transition { - -webkit-transition: opacity 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: opacity 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -@font-face { - font-family: 'element-icons'; - src: url("fonts/element-icons.woff") format("woff"), url("fonts/element-icons.ttf") format("truetype"); - /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/ - font-weight: normal; - font-display: "auto"; - font-style: normal; } - -[class^="el-icon-"], [class*=" el-icon-"] { - /* use !important to prevent issues with browser extensions that change fonts */ - font-family: 'element-icons' !important; - speak: none; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - vertical-align: baseline; - display: inline-block; - /* Better Font Rendering =========== */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; } - -.el-icon-ice-cream-round:before { - content: "\e6a0"; } - -.el-icon-ice-cream-square:before { - content: "\e6a3"; } - -.el-icon-lollipop:before { - content: "\e6a4"; } - -.el-icon-potato-strips:before { - content: "\e6a5"; } - -.el-icon-milk-tea:before { - content: "\e6a6"; } - -.el-icon-ice-drink:before { - content: "\e6a7"; } - -.el-icon-ice-tea:before { - content: "\e6a9"; } - -.el-icon-coffee:before { - content: "\e6aa"; } - -.el-icon-orange:before { - content: "\e6ab"; } - -.el-icon-pear:before { - content: "\e6ac"; } - -.el-icon-apple:before { - content: "\e6ad"; } - -.el-icon-cherry:before { - content: "\e6ae"; } - -.el-icon-watermelon:before { - content: "\e6af"; } - -.el-icon-grape:before { - content: "\e6b0"; } - -.el-icon-refrigerator:before { - content: "\e6b1"; } - -.el-icon-goblet-square-full:before { - content: "\e6b2"; } - -.el-icon-goblet-square:before { - content: "\e6b3"; } - -.el-icon-goblet-full:before { - content: "\e6b4"; } - -.el-icon-goblet:before { - content: "\e6b5"; } - -.el-icon-cold-drink:before { - content: "\e6b6"; } - -.el-icon-coffee-cup:before { - content: "\e6b8"; } - -.el-icon-water-cup:before { - content: "\e6b9"; } - -.el-icon-hot-water:before { - content: "\e6ba"; } - -.el-icon-ice-cream:before { - content: "\e6bb"; } - -.el-icon-dessert:before { - content: "\e6bc"; } - -.el-icon-sugar:before { - content: "\e6bd"; } - -.el-icon-tableware:before { - content: "\e6be"; } - -.el-icon-burger:before { - content: "\e6bf"; } - -.el-icon-knife-fork:before { - content: "\e6c1"; } - -.el-icon-fork-spoon:before { - content: "\e6c2"; } - -.el-icon-chicken:before { - content: "\e6c3"; } - -.el-icon-food:before { - content: "\e6c4"; } - -.el-icon-dish-1:before { - content: "\e6c5"; } - -.el-icon-dish:before { - content: "\e6c6"; } - -.el-icon-moon-night:before { - content: "\e6ee"; } - -.el-icon-moon:before { - content: "\e6f0"; } - -.el-icon-cloudy-and-sunny:before { - content: "\e6f1"; } - -.el-icon-partly-cloudy:before { - content: "\e6f2"; } - -.el-icon-cloudy:before { - content: "\e6f3"; } - -.el-icon-sunny:before { - content: "\e6f6"; } - -.el-icon-sunset:before { - content: "\e6f7"; } - -.el-icon-sunrise-1:before { - content: "\e6f8"; } - -.el-icon-sunrise:before { - content: "\e6f9"; } - -.el-icon-heavy-rain:before { - content: "\e6fa"; } - -.el-icon-lightning:before { - content: "\e6fb"; } - -.el-icon-light-rain:before { - content: "\e6fc"; } - -.el-icon-wind-power:before { - content: "\e6fd"; } - -.el-icon-baseball:before { - content: "\e712"; } - -.el-icon-soccer:before { - content: "\e713"; } - -.el-icon-football:before { - content: "\e715"; } - -.el-icon-basketball:before { - content: "\e716"; } - -.el-icon-ship:before { - content: "\e73f"; } - -.el-icon-truck:before { - content: "\e740"; } - -.el-icon-bicycle:before { - content: "\e741"; } - -.el-icon-mobile-phone:before { - content: "\e6d3"; } - -.el-icon-service:before { - content: "\e6d4"; } - -.el-icon-key:before { - content: "\e6e2"; } - -.el-icon-unlock:before { - content: "\e6e4"; } - -.el-icon-lock:before { - content: "\e6e5"; } - -.el-icon-watch:before { - content: "\e6fe"; } - -.el-icon-watch-1:before { - content: "\e6ff"; } - -.el-icon-timer:before { - content: "\e702"; } - -.el-icon-alarm-clock:before { - content: "\e703"; } - -.el-icon-map-location:before { - content: "\e704"; } - -.el-icon-delete-location:before { - content: "\e705"; } - -.el-icon-add-location:before { - content: "\e706"; } - -.el-icon-location-information:before { - content: "\e707"; } - -.el-icon-location-outline:before { - content: "\e708"; } - -.el-icon-location:before { - content: "\e79e"; } - -.el-icon-place:before { - content: "\e709"; } - -.el-icon-discover:before { - content: "\e70a"; } - -.el-icon-first-aid-kit:before { - content: "\e70b"; } - -.el-icon-trophy-1:before { - content: "\e70c"; } - -.el-icon-trophy:before { - content: "\e70d"; } - -.el-icon-medal:before { - content: "\e70e"; } - -.el-icon-medal-1:before { - content: "\e70f"; } - -.el-icon-stopwatch:before { - content: "\e710"; } - -.el-icon-mic:before { - content: "\e711"; } - -.el-icon-copy-document:before { - content: "\e718"; } - -.el-icon-full-screen:before { - content: "\e719"; } - -.el-icon-switch-button:before { - content: "\e71b"; } - -.el-icon-aim:before { - content: "\e71c"; } - -.el-icon-crop:before { - content: "\e71d"; } - -.el-icon-odometer:before { - content: "\e71e"; } - -.el-icon-time:before { - content: "\e71f"; } - -.el-icon-bangzhu:before { - content: "\e724"; } - -.el-icon-close-notification:before { - content: "\e726"; } - -.el-icon-microphone:before { - content: "\e727"; } - -.el-icon-turn-off-microphone:before { - content: "\e728"; } - -.el-icon-position:before { - content: "\e729"; } - -.el-icon-postcard:before { - content: "\e72a"; } - -.el-icon-message:before { - content: "\e72b"; } - -.el-icon-chat-line-square:before { - content: "\e72d"; } - -.el-icon-chat-dot-square:before { - content: "\e72e"; } - -.el-icon-chat-dot-round:before { - content: "\e72f"; } - -.el-icon-chat-square:before { - content: "\e730"; } - -.el-icon-chat-line-round:before { - content: "\e731"; } - -.el-icon-chat-round:before { - content: "\e732"; } - -.el-icon-set-up:before { - content: "\e733"; } - -.el-icon-turn-off:before { - content: "\e734"; } - -.el-icon-open:before { - content: "\e735"; } - -.el-icon-connection:before { - content: "\e736"; } - -.el-icon-link:before { - content: "\e737"; } - -.el-icon-cpu:before { - content: "\e738"; } - -.el-icon-thumb:before { - content: "\e739"; } - -.el-icon-female:before { - content: "\e73a"; } - -.el-icon-male:before { - content: "\e73b"; } - -.el-icon-guide:before { - content: "\e73c"; } - -.el-icon-news:before { - content: "\e73e"; } - -.el-icon-price-tag:before { - content: "\e744"; } - -.el-icon-discount:before { - content: "\e745"; } - -.el-icon-wallet:before { - content: "\e747"; } - -.el-icon-coin:before { - content: "\e748"; } - -.el-icon-money:before { - content: "\e749"; } - -.el-icon-bank-card:before { - content: "\e74a"; } - -.el-icon-box:before { - content: "\e74b"; } - -.el-icon-present:before { - content: "\e74c"; } - -.el-icon-sell:before { - content: "\e6d5"; } - -.el-icon-sold-out:before { - content: "\e6d6"; } - -.el-icon-shopping-bag-2:before { - content: "\e74d"; } - -.el-icon-shopping-bag-1:before { - content: "\e74e"; } - -.el-icon-shopping-cart-2:before { - content: "\e74f"; } - -.el-icon-shopping-cart-1:before { - content: "\e750"; } - -.el-icon-shopping-cart-full:before { - content: "\e751"; } - -.el-icon-smoking:before { - content: "\e752"; } - -.el-icon-no-smoking:before { - content: "\e753"; } - -.el-icon-house:before { - content: "\e754"; } - -.el-icon-table-lamp:before { - content: "\e755"; } - -.el-icon-school:before { - content: "\e756"; } - -.el-icon-office-building:before { - content: "\e757"; } - -.el-icon-toilet-paper:before { - content: "\e758"; } - -.el-icon-notebook-2:before { - content: "\e759"; } - -.el-icon-notebook-1:before { - content: "\e75a"; } - -.el-icon-files:before { - content: "\e75b"; } - -.el-icon-collection:before { - content: "\e75c"; } - -.el-icon-receiving:before { - content: "\e75d"; } - -.el-icon-suitcase-1:before { - content: "\e760"; } - -.el-icon-suitcase:before { - content: "\e761"; } - -.el-icon-film:before { - content: "\e763"; } - -.el-icon-collection-tag:before { - content: "\e765"; } - -.el-icon-data-analysis:before { - content: "\e766"; } - -.el-icon-pie-chart:before { - content: "\e767"; } - -.el-icon-data-board:before { - content: "\e768"; } - -.el-icon-data-line:before { - content: "\e76d"; } - -.el-icon-reading:before { - content: "\e769"; } - -.el-icon-magic-stick:before { - content: "\e76a"; } - -.el-icon-coordinate:before { - content: "\e76b"; } - -.el-icon-mouse:before { - content: "\e76c"; } - -.el-icon-brush:before { - content: "\e76e"; } - -.el-icon-headset:before { - content: "\e76f"; } - -.el-icon-umbrella:before { - content: "\e770"; } - -.el-icon-scissors:before { - content: "\e771"; } - -.el-icon-mobile:before { - content: "\e773"; } - -.el-icon-attract:before { - content: "\e774"; } - -.el-icon-monitor:before { - content: "\e775"; } - -.el-icon-search:before { - content: "\e778"; } - -.el-icon-takeaway-box:before { - content: "\e77a"; } - -.el-icon-paperclip:before { - content: "\e77d"; } - -.el-icon-printer:before { - content: "\e77e"; } - -.el-icon-document-add:before { - content: "\e782"; } - -.el-icon-document:before { - content: "\e785"; } - -.el-icon-document-checked:before { - content: "\e786"; } - -.el-icon-document-copy:before { - content: "\e787"; } - -.el-icon-document-delete:before { - content: "\e788"; } - -.el-icon-document-remove:before { - content: "\e789"; } - -.el-icon-tickets:before { - content: "\e78b"; } - -.el-icon-folder-checked:before { - content: "\e77f"; } - -.el-icon-folder-delete:before { - content: "\e780"; } - -.el-icon-folder-remove:before { - content: "\e781"; } - -.el-icon-folder-add:before { - content: "\e783"; } - -.el-icon-folder-opened:before { - content: "\e784"; } - -.el-icon-folder:before { - content: "\e78a"; } - -.el-icon-edit-outline:before { - content: "\e764"; } - -.el-icon-edit:before { - content: "\e78c"; } - -.el-icon-date:before { - content: "\e78e"; } - -.el-icon-c-scale-to-original:before { - content: "\e7c6"; } - -.el-icon-view:before { - content: "\e6ce"; } - -.el-icon-loading:before { - content: "\e6cf"; } - -.el-icon-rank:before { - content: "\e6d1"; } - -.el-icon-sort-down:before { - content: "\e7c4"; } - -.el-icon-sort-up:before { - content: "\e7c5"; } - -.el-icon-sort:before { - content: "\e6d2"; } - -.el-icon-finished:before { - content: "\e6cd"; } - -.el-icon-refresh-left:before { - content: "\e6c7"; } - -.el-icon-refresh-right:before { - content: "\e6c8"; } - -.el-icon-refresh:before { - content: "\e6d0"; } - -.el-icon-video-play:before { - content: "\e7c0"; } - -.el-icon-video-pause:before { - content: "\e7c1"; } - -.el-icon-d-arrow-right:before { - content: "\e6dc"; } - -.el-icon-d-arrow-left:before { - content: "\e6dd"; } - -.el-icon-arrow-up:before { - content: "\e6e1"; } - -.el-icon-arrow-down:before { - content: "\e6df"; } - -.el-icon-arrow-right:before { - content: "\e6e0"; } - -.el-icon-arrow-left:before { - content: "\e6de"; } - -.el-icon-top-right:before { - content: "\e6e7"; } - -.el-icon-top-left:before { - content: "\e6e8"; } - -.el-icon-top:before { - content: "\e6e6"; } - -.el-icon-bottom:before { - content: "\e6eb"; } - -.el-icon-right:before { - content: "\e6e9"; } - -.el-icon-back:before { - content: "\e6ea"; } - -.el-icon-bottom-right:before { - content: "\e6ec"; } - -.el-icon-bottom-left:before { - content: "\e6ed"; } - -.el-icon-caret-top:before { - content: "\e78f"; } - -.el-icon-caret-bottom:before { - content: "\e790"; } - -.el-icon-caret-right:before { - content: "\e791"; } - -.el-icon-caret-left:before { - content: "\e792"; } - -.el-icon-d-caret:before { - content: "\e79a"; } - -.el-icon-share:before { - content: "\e793"; } - -.el-icon-menu:before { - content: "\e798"; } - -.el-icon-s-grid:before { - content: "\e7a6"; } - -.el-icon-s-check:before { - content: "\e7a7"; } - -.el-icon-s-data:before { - content: "\e7a8"; } - -.el-icon-s-opportunity:before { - content: "\e7aa"; } - -.el-icon-s-custom:before { - content: "\e7ab"; } - -.el-icon-s-claim:before { - content: "\e7ad"; } - -.el-icon-s-finance:before { - content: "\e7ae"; } - -.el-icon-s-comment:before { - content: "\e7af"; } - -.el-icon-s-flag:before { - content: "\e7b0"; } - -.el-icon-s-marketing:before { - content: "\e7b1"; } - -.el-icon-s-shop:before { - content: "\e7b4"; } - -.el-icon-s-open:before { - content: "\e7b5"; } - -.el-icon-s-management:before { - content: "\e7b6"; } - -.el-icon-s-ticket:before { - content: "\e7b7"; } - -.el-icon-s-release:before { - content: "\e7b8"; } - -.el-icon-s-home:before { - content: "\e7b9"; } - -.el-icon-s-promotion:before { - content: "\e7ba"; } - -.el-icon-s-operation:before { - content: "\e7bb"; } - -.el-icon-s-unfold:before { - content: "\e7bc"; } - -.el-icon-s-fold:before { - content: "\e7a9"; } - -.el-icon-s-platform:before { - content: "\e7bd"; } - -.el-icon-s-order:before { - content: "\e7be"; } - -.el-icon-s-cooperation:before { - content: "\e7bf"; } - -.el-icon-bell:before { - content: "\e725"; } - -.el-icon-message-solid:before { - content: "\e799"; } - -.el-icon-video-camera:before { - content: "\e772"; } - -.el-icon-video-camera-solid:before { - content: "\e796"; } - -.el-icon-camera:before { - content: "\e779"; } - -.el-icon-camera-solid:before { - content: "\e79b"; } - -.el-icon-download:before { - content: "\e77c"; } - -.el-icon-upload2:before { - content: "\e77b"; } - -.el-icon-upload:before { - content: "\e7c3"; } - -.el-icon-picture-outline-round:before { - content: "\e75f"; } - -.el-icon-picture-outline:before { - content: "\e75e"; } - -.el-icon-picture:before { - content: "\e79f"; } - -.el-icon-close:before { - content: "\e6db"; } - -.el-icon-check:before { - content: "\e6da"; } - -.el-icon-plus:before { - content: "\e6d9"; } - -.el-icon-minus:before { - content: "\e6d8"; } - -.el-icon-help:before { - content: "\e73d"; } - -.el-icon-s-help:before { - content: "\e7b3"; } - -.el-icon-circle-close:before { - content: "\e78d"; } - -.el-icon-circle-check:before { - content: "\e720"; } - -.el-icon-circle-plus-outline:before { - content: "\e723"; } - -.el-icon-remove-outline:before { - content: "\e722"; } - -.el-icon-zoom-out:before { - content: "\e776"; } - -.el-icon-zoom-in:before { - content: "\e777"; } - -.el-icon-error:before { - content: "\e79d"; } - -.el-icon-success:before { - content: "\e79c"; } - -.el-icon-circle-plus:before { - content: "\e7a0"; } - -.el-icon-remove:before { - content: "\e7a2"; } - -.el-icon-info:before { - content: "\e7a1"; } - -.el-icon-question:before { - content: "\e7a4"; } - -.el-icon-warning-outline:before { - content: "\e6c9"; } - -.el-icon-warning:before { - content: "\e7a3"; } - -.el-icon-goods:before { - content: "\e7c2"; } - -.el-icon-s-goods:before { - content: "\e7b2"; } - -.el-icon-star-off:before { - content: "\e717"; } - -.el-icon-star-on:before { - content: "\e797"; } - -.el-icon-more-outline:before { - content: "\e6cc"; } - -.el-icon-more:before { - content: "\e794"; } - -.el-icon-phone-outline:before { - content: "\e6cb"; } - -.el-icon-phone:before { - content: "\e795"; } - -.el-icon-user:before { - content: "\e6e3"; } - -.el-icon-user-solid:before { - content: "\e7a5"; } - -.el-icon-setting:before { - content: "\e6ca"; } - -.el-icon-s-tools:before { - content: "\e7ac"; } - -.el-icon-delete:before { - content: "\e6d7"; } - -.el-icon-delete-solid:before { - content: "\e7c9"; } - -.el-icon-eleme:before { - content: "\e7c7"; } - -.el-icon-platform-eleme:before { - content: "\e7ca"; } - -.el-icon-loading { - -webkit-animation: rotating 2s linear infinite; - animation: rotating 2s linear infinite; } - -.el-icon--right { - margin-left: 5px; } - -.el-icon--left { - margin-right: 5px; } - -@-webkit-keyframes rotating { - 0% { - -webkit-transform: rotateZ(0deg); - transform: rotateZ(0deg); } - 100% { - -webkit-transform: rotateZ(360deg); - transform: rotateZ(360deg); } } - -@keyframes rotating { - 0% { - -webkit-transform: rotateZ(0deg); - transform: rotateZ(0deg); } - 100% { - -webkit-transform: rotateZ(360deg); - transform: rotateZ(360deg); } } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-popper .popper__arrow, -.el-popper .popper__arrow::after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; } - -.el-popper .popper__arrow { - border-width: 6px; - -webkit-filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); - filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); } - -.el-popper .popper__arrow::after { - content: " "; - border-width: 6px; } - -.el-popper[x-placement^="top"] { - margin-bottom: 12px; } - -.el-popper[x-placement^="top"] .popper__arrow { - bottom: -6px; - left: 50%; - margin-right: 3px; - border-top-color: #EBEEF5; - border-bottom-width: 0; } - .el-popper[x-placement^="top"] .popper__arrow::after { - bottom: 1px; - margin-left: -6px; - border-top-color: #FFFFFF; - border-bottom-width: 0; } - -.el-popper[x-placement^="bottom"] { - margin-top: 12px; } - -.el-popper[x-placement^="bottom"] .popper__arrow { - top: -6px; - left: 50%; - margin-right: 3px; - border-top-width: 0; - border-bottom-color: #EBEEF5; } - .el-popper[x-placement^="bottom"] .popper__arrow::after { - top: 1px; - margin-left: -6px; - border-top-width: 0; - border-bottom-color: #FFFFFF; } - -.el-popper[x-placement^="right"] { - margin-left: 12px; } - -.el-popper[x-placement^="right"] .popper__arrow { - top: 50%; - left: -6px; - margin-bottom: 3px; - border-right-color: #EBEEF5; - border-left-width: 0; } - .el-popper[x-placement^="right"] .popper__arrow::after { - bottom: -6px; - left: 1px; - border-right-color: #FFFFFF; - border-left-width: 0; } - -.el-popper[x-placement^="left"] { - margin-right: 12px; } - -.el-popper[x-placement^="left"] .popper__arrow { - top: 50%; - right: -6px; - margin-bottom: 3px; - border-right-width: 0; - border-left-color: #EBEEF5; } - .el-popper[x-placement^="left"] .popper__arrow::after { - right: 1px; - bottom: -6px; - margin-left: -6px; - border-right-width: 0; - border-left-color: #FFFFFF; } - -.el-select-dropdown { - position: absolute; - z-index: 1001; - border: solid 1px #E4E7ED; - border-radius: 4px; - background-color: #FFFFFF; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - -webkit-box-sizing: border-box; - box-sizing: border-box; - margin: 5px 0; } - .el-select-dropdown.is-multiple .el-select-dropdown__item.selected { - color: #409EFF; - background-color: #FFFFFF; } - .el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover { - background-color: #F5F7FA; } - .el-select-dropdown.is-multiple .el-select-dropdown__item.selected::after { - position: absolute; - right: 20px; - font-family: 'element-icons'; - content: "\e6da"; - font-size: 12px; - font-weight: bold; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; } - .el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list { - padding: 0; } - -.el-select-dropdown__empty { - padding: 10px 0; - margin: 0; - text-align: center; - color: #999; - font-size: 14px; } - -.el-select-dropdown__wrap { - max-height: 274px; } - -.el-select-dropdown__list { - list-style: none; - padding: 6px 0; - margin: 0; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-textarea { - position: relative; - display: inline-block; - width: 100%; - vertical-align: bottom; - font-size: 14px; } - .el-textarea__inner { - display: block; - resize: vertical; - padding: 5px 15px; - line-height: 1.5; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - font-size: inherit; - color: #606266; - background-color: #FFFFFF; - background-image: none; - border: 1px solid #DCDFE6; - border-radius: 4px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea__inner:hover { - border-color: #C0C4CC; } - .el-textarea__inner:focus { - outline: none; - border-color: #409EFF; } - .el-textarea .el-input__count { - color: #909399; - background: #FFFFFF; - position: absolute; - font-size: 12px; - bottom: 5px; - right: 10px; } - .el-textarea.is-disabled .el-textarea__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea.is-exceed .el-textarea__inner { - border-color: #F56C6C; } - .el-textarea.is-exceed .el-input__count { - color: #F56C6C; } - -.el-input { - position: relative; - font-size: 14px; - display: inline-block; - width: 100%; } - .el-input::-webkit-scrollbar { - z-index: 11; - width: 6px; } - .el-input::-webkit-scrollbar:horizontal { - height: 6px; } - .el-input::-webkit-scrollbar-thumb { - border-radius: 5px; - width: 6px; - background: #b4bccc; } - .el-input::-webkit-scrollbar-corner { - background: #fff; } - .el-input::-webkit-scrollbar-track { - background: #fff; } - .el-input::-webkit-scrollbar-track-piece { - background: #fff; - width: 6px; } - .el-input .el-input__clear { - color: #C0C4CC; - font-size: 14px; - cursor: pointer; - -webkit-transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-input .el-input__clear:hover { - color: #909399; } - .el-input .el-input__count { - height: 100%; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - color: #909399; - font-size: 12px; } - .el-input .el-input__count .el-input__count-inner { - background: #FFFFFF; - line-height: initial; - display: inline-block; - padding: 0 5px; } - .el-input__inner { - -webkit-appearance: none; - background-color: #FFFFFF; - background-image: none; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: #606266; - display: inline-block; - font-size: inherit; - height: 40px; - line-height: 40px; - outline: none; - padding: 0 15px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - width: 100%; } - .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input__inner:hover { - border-color: #C0C4CC; } - .el-input__inner:focus { - outline: none; - border-color: #409EFF; } - .el-input__suffix { - position: absolute; - height: 100%; - right: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; - pointer-events: none; } - .el-input__suffix-inner { - pointer-events: all; } - .el-input__prefix { - position: absolute; - height: 100%; - left: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; } - .el-input__icon { - height: 100%; - width: 25px; - text-align: center; - -webkit-transition: all .3s; - transition: all .3s; - line-height: 40px; } - .el-input__icon:after { - content: ''; - height: 100%; - width: 0; - display: inline-block; - vertical-align: middle; } - .el-input__validateIcon { - pointer-events: none; } - .el-input.is-active .el-input__inner { - outline: none; - border-color: #409EFF; } - .el-input.is-disabled .el-input__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-input.is-disabled .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__icon { - cursor: not-allowed; } - .el-input.is-exceed .el-input__inner { - border-color: #F56C6C; } - .el-input.is-exceed .el-input__suffix .el-input__count { - color: #F56C6C; } - .el-input--suffix .el-input__inner { - padding-right: 30px; } - .el-input--prefix .el-input__inner { - padding-left: 30px; } - .el-input--medium { - font-size: 14px; } - .el-input--medium .el-input__inner { - height: 36px; - line-height: 36px; } - .el-input--medium .el-input__icon { - line-height: 36px; } - .el-input--small { - font-size: 13px; } - .el-input--small .el-input__inner { - height: 32px; - line-height: 32px; } - .el-input--small .el-input__icon { - line-height: 32px; } - .el-input--mini { - font-size: 12px; } - .el-input--mini .el-input__inner { - height: 28px; - line-height: 28px; } - .el-input--mini .el-input__icon { - line-height: 28px; } - -.el-input-group { - line-height: normal; - display: inline-table; - width: 100%; - border-collapse: separate; - border-spacing: 0; } - .el-input-group > .el-input__inner { - vertical-align: middle; - display: table-cell; } - .el-input-group__append, .el-input-group__prepend { - background-color: #F5F7FA; - color: #909399; - vertical-align: middle; - display: table-cell; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 4px; - padding: 0 20px; - width: 1px; - white-space: nowrap; } - .el-input-group__append:focus, .el-input-group__prepend:focus { - outline: none; } - .el-input-group__append .el-select, - .el-input-group__append .el-button, .el-input-group__prepend .el-select, - .el-input-group__prepend .el-button { - display: inline-block; - margin: -10px -20px; } - .el-input-group__append button.el-button, - .el-input-group__append div.el-select .el-input__inner, - .el-input-group__append div.el-select:hover .el-input__inner, .el-input-group__prepend button.el-button, - .el-input-group__prepend div.el-select .el-input__inner, - .el-input-group__prepend div.el-select:hover .el-input__inner { - border-color: transparent; - background-color: transparent; - color: inherit; - border-top: 0; - border-bottom: 0; } - .el-input-group__append .el-button, - .el-input-group__append .el-input, .el-input-group__prepend .el-button, - .el-input-group__prepend .el-input { - font-size: inherit; } - .el-input-group__prepend { - border-right: 0; - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group__append { - border-left: 0; - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-input__inner { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - .el-input-group--append .el-input__inner { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group--append .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - -/** disalbe default clear on IE */ -.el-input__inner::-ms-clear { - display: none; - width: 0; - height: 0; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-tag { - background-color: #ecf5ff; - border-color: #d9ecff; - color: #409eff; - display: inline-block; - height: 32px; - padding: 0 10px; - line-height: 30px; - font-size: 12px; - color: #409EFF; - border-width: 1px; - border-style: solid; - border-radius: 4px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - white-space: nowrap; } - .el-tag.is-hit { - border-color: #409EFF; } - .el-tag .el-tag__close { - color: #409eff; } - .el-tag .el-tag__close:hover { - color: #FFFFFF; - background-color: #409eff; } - .el-tag.el-tag--info { - background-color: #f4f4f5; - border-color: #e9e9eb; - color: #909399; } - .el-tag.el-tag--info.is-hit { - border-color: #909399; } - .el-tag.el-tag--info .el-tag__close { - color: #909399; } - .el-tag.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #909399; } - .el-tag.el-tag--success { - background-color: #f0f9eb; - border-color: #e1f3d8; - color: #67c23a; } - .el-tag.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag.el-tag--success .el-tag__close { - color: #67c23a; } - .el-tag.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #67c23a; } - .el-tag.el-tag--warning { - background-color: #fdf6ec; - border-color: #faecd8; - color: #e6a23c; } - .el-tag.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag.el-tag--warning .el-tag__close { - color: #e6a23c; } - .el-tag.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #e6a23c; } - .el-tag.el-tag--danger { - background-color: #fef0f0; - border-color: #fde2e2; - color: #f56c6c; } - .el-tag.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag.el-tag--danger .el-tag__close { - color: #f56c6c; } - .el-tag.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f56c6c; } - .el-tag .el-icon-close { - border-radius: 50%; - text-align: center; - position: relative; - cursor: pointer; - font-size: 12px; - height: 16px; - width: 16px; - line-height: 16px; - vertical-align: middle; - top: -1px; - right: -5px; } - .el-tag .el-icon-close::before { - display: block; } - .el-tag--dark { - background-color: #409eff; - border-color: #409eff; - color: white; } - .el-tag--dark.is-hit { - border-color: #409EFF; } - .el-tag--dark .el-tag__close { - color: white; } - .el-tag--dark .el-tag__close:hover { - color: #FFFFFF; - background-color: #66b1ff; } - .el-tag--dark.el-tag--info { - background-color: #909399; - border-color: #909399; - color: white; } - .el-tag--dark.el-tag--info.is-hit { - border-color: #909399; } - .el-tag--dark.el-tag--info .el-tag__close { - color: white; } - .el-tag--dark.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #a6a9ad; } - .el-tag--dark.el-tag--success { - background-color: #67c23a; - border-color: #67c23a; - color: white; } - .el-tag--dark.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag--dark.el-tag--success .el-tag__close { - color: white; } - .el-tag--dark.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #85ce61; } - .el-tag--dark.el-tag--warning { - background-color: #e6a23c; - border-color: #e6a23c; - color: white; } - .el-tag--dark.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag--dark.el-tag--warning .el-tag__close { - color: white; } - .el-tag--dark.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #ebb563; } - .el-tag--dark.el-tag--danger { - background-color: #f56c6c; - border-color: #f56c6c; - color: white; } - .el-tag--dark.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag--dark.el-tag--danger .el-tag__close { - color: white; } - .el-tag--dark.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f78989; } - .el-tag--plain { - background-color: white; - border-color: #b3d8ff; - color: #409eff; } - .el-tag--plain.is-hit { - border-color: #409EFF; } - .el-tag--plain .el-tag__close { - color: #409eff; } - .el-tag--plain .el-tag__close:hover { - color: #FFFFFF; - background-color: #409eff; } - .el-tag--plain.el-tag--info { - background-color: white; - border-color: #d3d4d6; - color: #909399; } - .el-tag--plain.el-tag--info.is-hit { - border-color: #909399; } - .el-tag--plain.el-tag--info .el-tag__close { - color: #909399; } - .el-tag--plain.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #909399; } - .el-tag--plain.el-tag--success { - background-color: white; - border-color: #c2e7b0; - color: #67c23a; } - .el-tag--plain.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag--plain.el-tag--success .el-tag__close { - color: #67c23a; } - .el-tag--plain.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #67c23a; } - .el-tag--plain.el-tag--warning { - background-color: white; - border-color: #f5dab1; - color: #e6a23c; } - .el-tag--plain.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag--plain.el-tag--warning .el-tag__close { - color: #e6a23c; } - .el-tag--plain.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #e6a23c; } - .el-tag--plain.el-tag--danger { - background-color: white; - border-color: #fbc4c4; - color: #f56c6c; } - .el-tag--plain.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag--plain.el-tag--danger .el-tag__close { - color: #f56c6c; } - .el-tag--plain.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f56c6c; } - .el-tag--medium { - height: 28px; - line-height: 26px; } - .el-tag--medium .el-icon-close { - -webkit-transform: scale(0.8); - transform: scale(0.8); } - .el-tag--small { - height: 24px; - padding: 0 8px; - line-height: 22px; } - .el-tag--small .el-icon-close { - -webkit-transform: scale(0.8); - transform: scale(0.8); } - .el-tag--mini { - height: 20px; - padding: 0 5px; - line-height: 19px; } - .el-tag--mini .el-icon-close { - margin-left: -3px; - -webkit-transform: scale(0.7); - transform: scale(0.7); } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-select-dropdown__item { - font-size: 14px; - padding: 0 20px; - position: relative; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - color: #606266; - height: 34px; - line-height: 34px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - cursor: pointer; } - .el-select-dropdown__item.is-disabled { - color: #C0C4CC; - cursor: not-allowed; } - .el-select-dropdown__item.is-disabled:hover { - background-color: #FFFFFF; } - .el-select-dropdown__item.hover, .el-select-dropdown__item:hover { - background-color: #F5F7FA; } - .el-select-dropdown__item.selected { - color: #409EFF; - font-weight: bold; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-select-group { - margin: 0; - padding: 0; } - .el-select-group__wrap { - position: relative; - list-style: none; - margin: 0; - padding: 0; } - .el-select-group__wrap:not(:last-of-type) { - padding-bottom: 24px; } - .el-select-group__wrap:not(:last-of-type)::after { - content: ''; - position: absolute; - display: block; - left: 20px; - right: 20px; - bottom: 12px; - height: 1px; - background: #E4E7ED; } - .el-select-group__title { - padding-left: 20px; - font-size: 12px; - color: #909399; - line-height: 30px; } - .el-select-group .el-select-dropdown__item { - padding-left: 20px; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-scrollbar { - overflow: hidden; - position: relative; } - .el-scrollbar:hover > .el-scrollbar__bar, .el-scrollbar:active > .el-scrollbar__bar, .el-scrollbar:focus > .el-scrollbar__bar { - opacity: 1; - -webkit-transition: opacity 340ms ease-out; - transition: opacity 340ms ease-out; } - .el-scrollbar__wrap { - overflow: scroll; - height: 100%; } - .el-scrollbar__wrap--hidden-default { - scrollbar-width: none; } - .el-scrollbar__wrap--hidden-default::-webkit-scrollbar { - width: 0; - height: 0; } - .el-scrollbar__thumb { - position: relative; - display: block; - width: 0; - height: 0; - cursor: pointer; - border-radius: inherit; - background-color: rgba(144, 147, 153, 0.3); - -webkit-transition: .3s background-color; - transition: .3s background-color; } - .el-scrollbar__thumb:hover { - background-color: rgba(144, 147, 153, 0.5); } - .el-scrollbar__bar { - position: absolute; - right: 2px; - bottom: 2px; - z-index: 1; - border-radius: 4px; - opacity: 0; - -webkit-transition: opacity 120ms ease-out; - transition: opacity 120ms ease-out; } - .el-scrollbar__bar.is-vertical { - width: 6px; - top: 2px; } - .el-scrollbar__bar.is-vertical > div { - width: 100%; } - .el-scrollbar__bar.is-horizontal { - height: 6px; - left: 2px; } - .el-scrollbar__bar.is-horizontal > div { - height: 100%; } - -.el-select { - display: inline-block; - position: relative; } - .el-select .el-select__tags > span { - display: contents; } - .el-select:hover .el-input__inner { - border-color: #C0C4CC; } - .el-select .el-input__inner { - cursor: pointer; - padding-right: 35px; } - .el-select .el-input__inner:focus { - border-color: #409EFF; } - .el-select .el-input .el-select__caret { - color: #C0C4CC; - font-size: 14px; - -webkit-transition: -webkit-transform .3s; - transition: -webkit-transform .3s; - transition: transform .3s; - transition: transform .3s, -webkit-transform .3s; - -webkit-transform: rotateZ(180deg); - transform: rotateZ(180deg); - cursor: pointer; } - .el-select .el-input .el-select__caret.is-reverse { - -webkit-transform: rotateZ(0deg); - transform: rotateZ(0deg); } - .el-select .el-input .el-select__caret.is-show-close { - font-size: 14px; - text-align: center; - -webkit-transform: rotateZ(180deg); - transform: rotateZ(180deg); - border-radius: 100%; - color: #C0C4CC; - -webkit-transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-select .el-input .el-select__caret.is-show-close:hover { - color: #909399; } - .el-select .el-input.is-disabled .el-input__inner { - cursor: not-allowed; } - .el-select .el-input.is-disabled .el-input__inner:hover { - border-color: #E4E7ED; } - .el-select .el-input.is-focus .el-input__inner { - border-color: #409EFF; } - .el-select > .el-input { - display: block; } - .el-select__input { - border: none; - outline: none; - padding: 0; - margin-left: 15px; - color: #666; - font-size: 14px; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - height: 28px; - background-color: transparent; } - .el-select__input.is-mini { - height: 14px; } - .el-select__close { - cursor: pointer; - position: absolute; - top: 8px; - z-index: 1000; - right: 25px; - color: #C0C4CC; - line-height: 18px; - font-size: 14px; } - .el-select__close:hover { - color: #909399; } - .el-select__tags { - position: absolute; - line-height: normal; - white-space: normal; - z-index: 1; - top: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -ms-flex-wrap: wrap; - flex-wrap: wrap; } - .el-select .el-tag__close { - margin-top: -2px; } - .el-select .el-tag { - -webkit-box-sizing: border-box; - box-sizing: border-box; - border-color: transparent; - margin: 2px 0 2px 6px; - background-color: #f0f2f5; } - .el-select .el-tag__close.el-icon-close { - background-color: #C0C4CC; - right: -7px; - top: 0; - color: #FFFFFF; } - .el-select .el-tag__close.el-icon-close:hover { - background-color: #909399; } - .el-select .el-tag__close.el-icon-close::before { - display: block; - -webkit-transform: translate(0, 0.5px); - transform: translate(0, 0.5px); } - -.el-pagination { - white-space: nowrap; - padding: 2px 5px; - color: #303133; - font-weight: bold; } - .el-pagination::before, - .el-pagination::after { - display: table; - content: ""; } - .el-pagination::after { - clear: both; } - .el-pagination span:not([class*=suffix]), - .el-pagination button { - display: inline-block; - font-size: 13px; - min-width: 35.5px; - height: 28px; - line-height: 28px; - vertical-align: top; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-pagination .el-input__inner { - text-align: center; - -moz-appearance: textfield; - line-height: normal; } - .el-pagination .el-input__suffix { - right: 0; - -webkit-transform: scale(0.8); - transform: scale(0.8); } - .el-pagination .el-select .el-input { - width: 100px; - margin: 0 5px; } - .el-pagination .el-select .el-input .el-input__inner { - padding-right: 25px; - border-radius: 3px; } - .el-pagination button { - border: none; - padding: 0 6px; - background: transparent; } - .el-pagination button:focus { - outline: none; } - .el-pagination button:hover { - color: #409EFF; } - .el-pagination button:disabled { - color: #C0C4CC; - background-color: #FFFFFF; - cursor: not-allowed; } - .el-pagination .btn-prev, - .el-pagination .btn-next { - background: center center no-repeat; - background-size: 16px; - background-color: #FFFFFF; - cursor: pointer; - margin: 0; - color: #303133; } - .el-pagination .btn-prev .el-icon, - .el-pagination .btn-next .el-icon { - display: block; - font-size: 12px; - font-weight: bold; } - .el-pagination .btn-prev { - padding-right: 12px; } - .el-pagination .btn-next { - padding-left: 12px; } - .el-pagination .el-pager li.disabled { - color: #C0C4CC; - cursor: not-allowed; } - .el-pagination--small .btn-prev, - .el-pagination--small .btn-next, - .el-pagination--small .el-pager li, - .el-pagination--small .el-pager li.btn-quicknext, - .el-pagination--small .el-pager li.btn-quickprev, - .el-pagination--small .el-pager li:last-child { - border-color: transparent; - font-size: 12px; - line-height: 22px; - height: 22px; - min-width: 22px; } - .el-pagination--small .arrow.disabled { - visibility: hidden; } - .el-pagination--small .more::before, - .el-pagination--small li.more::before { - line-height: 24px; } - .el-pagination--small span:not([class*=suffix]), - .el-pagination--small button { - height: 22px; - line-height: 22px; } - .el-pagination--small .el-pagination__editor { - height: 22px; } - .el-pagination--small .el-pagination__editor.el-input .el-input__inner { - height: 22px; } - .el-pagination__sizes { - margin: 0 10px 0 0; - font-weight: normal; - color: #606266; } - .el-pagination__sizes .el-input .el-input__inner { - font-size: 13px; - padding-left: 8px; } - .el-pagination__sizes .el-input .el-input__inner:hover { - border-color: #409EFF; } - .el-pagination__total { - margin-right: 10px; - font-weight: normal; - color: #606266; } - .el-pagination__jump { - margin-left: 24px; - font-weight: normal; - color: #606266; } - .el-pagination__jump .el-input__inner { - padding: 0 3px; } - .el-pagination__rightwrapper { - float: right; } - .el-pagination__editor { - line-height: 18px; - padding: 0 2px; - height: 28px; - text-align: center; - margin: 0 2px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - border-radius: 3px; } - .el-pagination__editor.el-input { - width: 50px; } - .el-pagination__editor.el-input .el-input__inner { - height: 28px; } - .el-pagination__editor .el-input__inner::-webkit-inner-spin-button, - .el-pagination__editor .el-input__inner::-webkit-outer-spin-button { - -webkit-appearance: none; - margin: 0; } - .el-pagination.is-background .btn-prev, - .el-pagination.is-background .btn-next, - .el-pagination.is-background .el-pager li { - margin: 0 5px; - background-color: #f4f4f5; - color: #606266; - min-width: 30px; - border-radius: 2px; } - .el-pagination.is-background .btn-prev.disabled, - .el-pagination.is-background .btn-next.disabled, - .el-pagination.is-background .el-pager li.disabled { - color: #C0C4CC; } - .el-pagination.is-background .btn-prev, .el-pagination.is-background .btn-next { - padding: 0; } - .el-pagination.is-background .btn-prev:disabled, .el-pagination.is-background .btn-next:disabled { - color: #C0C4CC; } - .el-pagination.is-background .el-pager li:not(.disabled):hover { - color: #409EFF; } - .el-pagination.is-background .el-pager li:not(.disabled).active { - background-color: #409EFF; - color: #FFFFFF; } - .el-pagination.is-background.el-pagination--small .btn-prev, - .el-pagination.is-background.el-pagination--small .btn-next, - .el-pagination.is-background.el-pagination--small .el-pager li { - margin: 0 3px; - min-width: 22px; } - -.el-pager { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - list-style: none; - display: inline-block; - vertical-align: top; - font-size: 0; - padding: 0; - margin: 0; } - .el-pager .more::before { - line-height: 30px; } - .el-pager li { - padding: 0 4px; - background: #FFFFFF; - vertical-align: top; - display: inline-block; - font-size: 13px; - min-width: 35.5px; - height: 28px; - line-height: 28px; - cursor: pointer; - -webkit-box-sizing: border-box; - box-sizing: border-box; - text-align: center; - margin: 0; } - .el-pager li.btn-quicknext, .el-pager li.btn-quickprev { - line-height: 28px; - color: #303133; } - .el-pager li.btn-quicknext.disabled, .el-pager li.btn-quickprev.disabled { - color: #C0C4CC; } - .el-pager li.btn-quickprev:hover { - cursor: pointer; } - .el-pager li.btn-quicknext:hover { - cursor: pointer; } - .el-pager li.active + li { - border-left: 0; } - .el-pager li:hover { - color: #409EFF; } - .el-pager li.active { - color: #409EFF; - cursor: default; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -.v-modal-enter { - -webkit-animation: v-modal-in .2s ease; - animation: v-modal-in .2s ease; } - -.v-modal-leave { - -webkit-animation: v-modal-out .2s ease forwards; - animation: v-modal-out .2s ease forwards; } - -@-webkit-keyframes v-modal-in { - 0% { - opacity: 0; } - 100% { } } - -@keyframes v-modal-in { - 0% { - opacity: 0; } - 100% { } } - -@-webkit-keyframes v-modal-out { - 0% { } - 100% { - opacity: 0; } } - -@keyframes v-modal-out { - 0% { } - 100% { - opacity: 0; } } - -.v-modal { - position: fixed; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0.5; - background: #000000; } - -.el-popup-parent--hidden { - overflow: hidden; } - -.el-dialog { - position: relative; - margin: 0 auto 50px; - background: #FFFFFF; - border-radius: 2px; - -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 50%; } - .el-dialog.is-fullscreen { - width: 100%; - margin-top: 0; - margin-bottom: 0; - height: 100%; - overflow: auto; } - .el-dialog__wrapper { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - overflow: auto; - margin: 0; } - .el-dialog__header { - padding: 20px; - padding-bottom: 10px; } - .el-dialog__headerbtn { - position: absolute; - top: 20px; - right: 20px; - padding: 0; - background: transparent; - border: none; - outline: none; - cursor: pointer; - font-size: 16px; } - .el-dialog__headerbtn .el-dialog__close { - color: #909399; } - .el-dialog__headerbtn:focus .el-dialog__close, .el-dialog__headerbtn:hover .el-dialog__close { - color: #409EFF; } - .el-dialog__title { - line-height: 24px; - font-size: 18px; - color: #303133; } - .el-dialog__body { - padding: 30px 20px; - color: #606266; - font-size: 14px; - word-break: break-all; } - .el-dialog__footer { - padding: 20px; - padding-top: 10px; - text-align: right; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-dialog--center { - text-align: center; } - .el-dialog--center .el-dialog__body { - text-align: initial; - padding: 25px 25px 30px; } - .el-dialog--center .el-dialog__footer { - text-align: inherit; } - -.dialog-fade-enter-active { - -webkit-animation: dialog-fade-in .3s; - animation: dialog-fade-in .3s; } - -.dialog-fade-leave-active { - -webkit-animation: dialog-fade-out .3s; - animation: dialog-fade-out .3s; } - -@-webkit-keyframes dialog-fade-in { - 0% { - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - opacity: 0; } - 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; } } - -@keyframes dialog-fade-in { - 0% { - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - opacity: 0; } - 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; } } - -@-webkit-keyframes dialog-fade-out { - 0% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; } - 100% { - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - opacity: 0; } } - -@keyframes dialog-fade-out { - 0% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; } - 100% { - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - opacity: 0; } } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-textarea { - position: relative; - display: inline-block; - width: 100%; - vertical-align: bottom; - font-size: 14px; } - .el-textarea__inner { - display: block; - resize: vertical; - padding: 5px 15px; - line-height: 1.5; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - font-size: inherit; - color: #606266; - background-color: #FFFFFF; - background-image: none; - border: 1px solid #DCDFE6; - border-radius: 4px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea__inner:hover { - border-color: #C0C4CC; } - .el-textarea__inner:focus { - outline: none; - border-color: #409EFF; } - .el-textarea .el-input__count { - color: #909399; - background: #FFFFFF; - position: absolute; - font-size: 12px; - bottom: 5px; - right: 10px; } - .el-textarea.is-disabled .el-textarea__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea.is-exceed .el-textarea__inner { - border-color: #F56C6C; } - .el-textarea.is-exceed .el-input__count { - color: #F56C6C; } - -.el-input { - position: relative; - font-size: 14px; - display: inline-block; - width: 100%; } - .el-input::-webkit-scrollbar { - z-index: 11; - width: 6px; } - .el-input::-webkit-scrollbar:horizontal { - height: 6px; } - .el-input::-webkit-scrollbar-thumb { - border-radius: 5px; - width: 6px; - background: #b4bccc; } - .el-input::-webkit-scrollbar-corner { - background: #fff; } - .el-input::-webkit-scrollbar-track { - background: #fff; } - .el-input::-webkit-scrollbar-track-piece { - background: #fff; - width: 6px; } - .el-input .el-input__clear { - color: #C0C4CC; - font-size: 14px; - cursor: pointer; - -webkit-transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-input .el-input__clear:hover { - color: #909399; } - .el-input .el-input__count { - height: 100%; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - color: #909399; - font-size: 12px; } - .el-input .el-input__count .el-input__count-inner { - background: #FFFFFF; - line-height: initial; - display: inline-block; - padding: 0 5px; } - .el-input__inner { - -webkit-appearance: none; - background-color: #FFFFFF; - background-image: none; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: #606266; - display: inline-block; - font-size: inherit; - height: 40px; - line-height: 40px; - outline: none; - padding: 0 15px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - width: 100%; } - .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input__inner:hover { - border-color: #C0C4CC; } - .el-input__inner:focus { - outline: none; - border-color: #409EFF; } - .el-input__suffix { - position: absolute; - height: 100%; - right: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; - pointer-events: none; } - .el-input__suffix-inner { - pointer-events: all; } - .el-input__prefix { - position: absolute; - height: 100%; - left: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; } - .el-input__icon { - height: 100%; - width: 25px; - text-align: center; - -webkit-transition: all .3s; - transition: all .3s; - line-height: 40px; } - .el-input__icon:after { - content: ''; - height: 100%; - width: 0; - display: inline-block; - vertical-align: middle; } - .el-input__validateIcon { - pointer-events: none; } - .el-input.is-active .el-input__inner { - outline: none; - border-color: #409EFF; } - .el-input.is-disabled .el-input__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-input.is-disabled .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__icon { - cursor: not-allowed; } - .el-input.is-exceed .el-input__inner { - border-color: #F56C6C; } - .el-input.is-exceed .el-input__suffix .el-input__count { - color: #F56C6C; } - .el-input--suffix .el-input__inner { - padding-right: 30px; } - .el-input--prefix .el-input__inner { - padding-left: 30px; } - .el-input--medium { - font-size: 14px; } - .el-input--medium .el-input__inner { - height: 36px; - line-height: 36px; } - .el-input--medium .el-input__icon { - line-height: 36px; } - .el-input--small { - font-size: 13px; } - .el-input--small .el-input__inner { - height: 32px; - line-height: 32px; } - .el-input--small .el-input__icon { - line-height: 32px; } - .el-input--mini { - font-size: 12px; } - .el-input--mini .el-input__inner { - height: 28px; - line-height: 28px; } - .el-input--mini .el-input__icon { - line-height: 28px; } - -.el-input-group { - line-height: normal; - display: inline-table; - width: 100%; - border-collapse: separate; - border-spacing: 0; } - .el-input-group > .el-input__inner { - vertical-align: middle; - display: table-cell; } - .el-input-group__append, .el-input-group__prepend { - background-color: #F5F7FA; - color: #909399; - vertical-align: middle; - display: table-cell; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 4px; - padding: 0 20px; - width: 1px; - white-space: nowrap; } - .el-input-group__append:focus, .el-input-group__prepend:focus { - outline: none; } - .el-input-group__append .el-select, - .el-input-group__append .el-button, .el-input-group__prepend .el-select, - .el-input-group__prepend .el-button { - display: inline-block; - margin: -10px -20px; } - .el-input-group__append button.el-button, - .el-input-group__append div.el-select .el-input__inner, - .el-input-group__append div.el-select:hover .el-input__inner, .el-input-group__prepend button.el-button, - .el-input-group__prepend div.el-select .el-input__inner, - .el-input-group__prepend div.el-select:hover .el-input__inner { - border-color: transparent; - background-color: transparent; - color: inherit; - border-top: 0; - border-bottom: 0; } - .el-input-group__append .el-button, - .el-input-group__append .el-input, .el-input-group__prepend .el-button, - .el-input-group__prepend .el-input { - font-size: inherit; } - .el-input-group__prepend { - border-right: 0; - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group__append { - border-left: 0; - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-input__inner { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - .el-input-group--append .el-input__inner { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group--append .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - -/** disalbe default clear on IE */ -.el-input__inner::-ms-clear { - display: none; - width: 0; - height: 0; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-scrollbar { - overflow: hidden; - position: relative; } - .el-scrollbar:hover > .el-scrollbar__bar, .el-scrollbar:active > .el-scrollbar__bar, .el-scrollbar:focus > .el-scrollbar__bar { - opacity: 1; - -webkit-transition: opacity 340ms ease-out; - transition: opacity 340ms ease-out; } - .el-scrollbar__wrap { - overflow: scroll; - height: 100%; } - .el-scrollbar__wrap--hidden-default { - scrollbar-width: none; } - .el-scrollbar__wrap--hidden-default::-webkit-scrollbar { - width: 0; - height: 0; } - .el-scrollbar__thumb { - position: relative; - display: block; - width: 0; - height: 0; - cursor: pointer; - border-radius: inherit; - background-color: rgba(144, 147, 153, 0.3); - -webkit-transition: .3s background-color; - transition: .3s background-color; } - .el-scrollbar__thumb:hover { - background-color: rgba(144, 147, 153, 0.5); } - .el-scrollbar__bar { - position: absolute; - right: 2px; - bottom: 2px; - z-index: 1; - border-radius: 4px; - opacity: 0; - -webkit-transition: opacity 120ms ease-out; - transition: opacity 120ms ease-out; } - .el-scrollbar__bar.is-vertical { - width: 6px; - top: 2px; } - .el-scrollbar__bar.is-vertical > div { - width: 100%; } - .el-scrollbar__bar.is-horizontal { - height: 6px; - left: 2px; } - .el-scrollbar__bar.is-horizontal > div { - height: 100%; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-popper .popper__arrow, -.el-popper .popper__arrow::after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; } - -.el-popper .popper__arrow { - border-width: 6px; - -webkit-filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); - filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); } - -.el-popper .popper__arrow::after { - content: " "; - border-width: 6px; } - -.el-popper[x-placement^="top"] { - margin-bottom: 12px; } - -.el-popper[x-placement^="top"] .popper__arrow { - bottom: -6px; - left: 50%; - margin-right: 3px; - border-top-color: #EBEEF5; - border-bottom-width: 0; } - .el-popper[x-placement^="top"] .popper__arrow::after { - bottom: 1px; - margin-left: -6px; - border-top-color: #FFFFFF; - border-bottom-width: 0; } - -.el-popper[x-placement^="bottom"] { - margin-top: 12px; } - -.el-popper[x-placement^="bottom"] .popper__arrow { - top: -6px; - left: 50%; - margin-right: 3px; - border-top-width: 0; - border-bottom-color: #EBEEF5; } - .el-popper[x-placement^="bottom"] .popper__arrow::after { - top: 1px; - margin-left: -6px; - border-top-width: 0; - border-bottom-color: #FFFFFF; } - -.el-popper[x-placement^="right"] { - margin-left: 12px; } - -.el-popper[x-placement^="right"] .popper__arrow { - top: 50%; - left: -6px; - margin-bottom: 3px; - border-right-color: #EBEEF5; - border-left-width: 0; } - .el-popper[x-placement^="right"] .popper__arrow::after { - bottom: -6px; - left: 1px; - border-right-color: #FFFFFF; - border-left-width: 0; } - -.el-popper[x-placement^="left"] { - margin-right: 12px; } - -.el-popper[x-placement^="left"] .popper__arrow { - top: 50%; - right: -6px; - margin-bottom: 3px; - border-right-width: 0; - border-left-color: #EBEEF5; } - .el-popper[x-placement^="left"] .popper__arrow::after { - right: 1px; - bottom: -6px; - margin-left: -6px; - border-right-width: 0; - border-left-color: #FFFFFF; } - -.el-autocomplete { - position: relative; - display: inline-block; } - -.el-autocomplete-suggestion { - margin: 5px 0; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - border-radius: 4px; - border: 1px solid #E4E7ED; - -webkit-box-sizing: border-box; - box-sizing: border-box; - background-color: #FFFFFF; } - .el-autocomplete-suggestion__wrap { - max-height: 280px; - padding: 10px 0; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-autocomplete-suggestion__list { - margin: 0; - padding: 0; } - .el-autocomplete-suggestion li { - padding: 0 20px; - margin: 0; - line-height: 34px; - cursor: pointer; - color: #606266; - font-size: 14px; - list-style: none; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; } - .el-autocomplete-suggestion li:hover { - background-color: #F5F7FA; } - .el-autocomplete-suggestion li.highlighted { - background-color: #F5F7FA; } - .el-autocomplete-suggestion li.divider { - margin-top: 6px; - border-top: 1px solid #000000; } - .el-autocomplete-suggestion li.divider:last-child { - margin-bottom: -6px; } - .el-autocomplete-suggestion.is-loading li { - text-align: center; - height: 100px; - line-height: 100px; - font-size: 20px; - color: #999; } - .el-autocomplete-suggestion.is-loading li::after { - display: inline-block; - content: ""; - height: 100%; - vertical-align: middle; } - .el-autocomplete-suggestion.is-loading li:hover { - background-color: #FFFFFF; } - .el-autocomplete-suggestion.is-loading .el-icon-loading { - vertical-align: middle; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -.el-button { - display: inline-block; - line-height: 1; - white-space: nowrap; - cursor: pointer; - background: #FFFFFF; - border: 1px solid #DCDFE6; - border-color: #DCDFE6; - color: #606266; - -webkit-appearance: none; - text-align: center; - -webkit-box-sizing: border-box; - box-sizing: border-box; - outline: none; - margin: 0; - -webkit-transition: .1s; - transition: .1s; - font-weight: 500; - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - padding: 12px 20px; - font-size: 14px; - border-radius: 4px; } - .el-button + .el-button { - margin-left: 10px; } - .el-button.is-round { - padding: 12px 20px; } - .el-button:hover, .el-button:focus { - color: #409EFF; - border-color: #c6e2ff; - background-color: #ecf5ff; } - .el-button:active { - color: #3a8ee6; - border-color: #3a8ee6; - outline: none; } - .el-button::-moz-focus-inner { - border: 0; } - .el-button [class*="el-icon-"] + span { - margin-left: 5px; } - .el-button.is-plain:hover, .el-button.is-plain:focus { - background: #FFFFFF; - border-color: #409EFF; - color: #409EFF; } - .el-button.is-plain:active { - background: #FFFFFF; - border-color: #3a8ee6; - color: #3a8ee6; - outline: none; } - .el-button.is-active { - color: #3a8ee6; - border-color: #3a8ee6; } - .el-button.is-disabled, .el-button.is-disabled:hover, .el-button.is-disabled:focus { - color: #C0C4CC; - cursor: not-allowed; - background-image: none; - background-color: #FFFFFF; - border-color: #EBEEF5; } - .el-button.is-disabled.el-button--text { - background-color: transparent; } - .el-button.is-disabled.is-plain, .el-button.is-disabled.is-plain:hover, .el-button.is-disabled.is-plain:focus { - background-color: #FFFFFF; - border-color: #EBEEF5; - color: #C0C4CC; } - .el-button.is-loading { - position: relative; - pointer-events: none; } - .el-button.is-loading:before { - pointer-events: none; - content: ''; - position: absolute; - left: -1px; - top: -1px; - right: -1px; - bottom: -1px; - border-radius: inherit; - background-color: rgba(255, 255, 255, 0.35); } - .el-button.is-round { - border-radius: 20px; - padding: 12px 23px; } - .el-button.is-circle { - border-radius: 50%; - padding: 12px; } - .el-button--primary { - color: #FFFFFF; - background-color: #409EFF; - border-color: #409EFF; } - .el-button--primary:hover, .el-button--primary:focus { - background: #66b1ff; - border-color: #66b1ff; - color: #FFFFFF; } - .el-button--primary:active { - background: #3a8ee6; - border-color: #3a8ee6; - color: #FFFFFF; - outline: none; } - .el-button--primary.is-active { - background: #3a8ee6; - border-color: #3a8ee6; - color: #FFFFFF; } - .el-button--primary.is-disabled, .el-button--primary.is-disabled:hover, .el-button--primary.is-disabled:focus, .el-button--primary.is-disabled:active { - color: #FFFFFF; - background-color: #a0cfff; - border-color: #a0cfff; } - .el-button--primary.is-plain { - color: #409EFF; - background: #ecf5ff; - border-color: #b3d8ff; } - .el-button--primary.is-plain:hover, .el-button--primary.is-plain:focus { - background: #409EFF; - border-color: #409EFF; - color: #FFFFFF; } - .el-button--primary.is-plain:active { - background: #3a8ee6; - border-color: #3a8ee6; - color: #FFFFFF; - outline: none; } - .el-button--primary.is-plain.is-disabled, .el-button--primary.is-plain.is-disabled:hover, .el-button--primary.is-plain.is-disabled:focus, .el-button--primary.is-plain.is-disabled:active { - color: #8cc5ff; - background-color: #ecf5ff; - border-color: #d9ecff; } - .el-button--success { - color: #FFFFFF; - background-color: #67C23A; - border-color: #67C23A; } - .el-button--success:hover, .el-button--success:focus { - background: #85ce61; - border-color: #85ce61; - color: #FFFFFF; } - .el-button--success:active { - background: #5daf34; - border-color: #5daf34; - color: #FFFFFF; - outline: none; } - .el-button--success.is-active { - background: #5daf34; - border-color: #5daf34; - color: #FFFFFF; } - .el-button--success.is-disabled, .el-button--success.is-disabled:hover, .el-button--success.is-disabled:focus, .el-button--success.is-disabled:active { - color: #FFFFFF; - background-color: #b3e19d; - border-color: #b3e19d; } - .el-button--success.is-plain { - color: #67C23A; - background: #f0f9eb; - border-color: #c2e7b0; } - .el-button--success.is-plain:hover, .el-button--success.is-plain:focus { - background: #67C23A; - border-color: #67C23A; - color: #FFFFFF; } - .el-button--success.is-plain:active { - background: #5daf34; - border-color: #5daf34; - color: #FFFFFF; - outline: none; } - .el-button--success.is-plain.is-disabled, .el-button--success.is-plain.is-disabled:hover, .el-button--success.is-plain.is-disabled:focus, .el-button--success.is-plain.is-disabled:active { - color: #a4da89; - background-color: #f0f9eb; - border-color: #e1f3d8; } - .el-button--warning { - color: #FFFFFF; - background-color: #E6A23C; - border-color: #E6A23C; } - .el-button--warning:hover, .el-button--warning:focus { - background: #ebb563; - border-color: #ebb563; - color: #FFFFFF; } - .el-button--warning:active { - background: #cf9236; - border-color: #cf9236; - color: #FFFFFF; - outline: none; } - .el-button--warning.is-active { - background: #cf9236; - border-color: #cf9236; - color: #FFFFFF; } - .el-button--warning.is-disabled, .el-button--warning.is-disabled:hover, .el-button--warning.is-disabled:focus, .el-button--warning.is-disabled:active { - color: #FFFFFF; - background-color: #f3d19e; - border-color: #f3d19e; } - .el-button--warning.is-plain { - color: #E6A23C; - background: #fdf6ec; - border-color: #f5dab1; } - .el-button--warning.is-plain:hover, .el-button--warning.is-plain:focus { - background: #E6A23C; - border-color: #E6A23C; - color: #FFFFFF; } - .el-button--warning.is-plain:active { - background: #cf9236; - border-color: #cf9236; - color: #FFFFFF; - outline: none; } - .el-button--warning.is-plain.is-disabled, .el-button--warning.is-plain.is-disabled:hover, .el-button--warning.is-plain.is-disabled:focus, .el-button--warning.is-plain.is-disabled:active { - color: #f0c78a; - background-color: #fdf6ec; - border-color: #faecd8; } - .el-button--danger { - color: #FFFFFF; - background-color: #F56C6C; - border-color: #F56C6C; } - .el-button--danger:hover, .el-button--danger:focus { - background: #f78989; - border-color: #f78989; - color: #FFFFFF; } - .el-button--danger:active { - background: #dd6161; - border-color: #dd6161; - color: #FFFFFF; - outline: none; } - .el-button--danger.is-active { - background: #dd6161; - border-color: #dd6161; - color: #FFFFFF; } - .el-button--danger.is-disabled, .el-button--danger.is-disabled:hover, .el-button--danger.is-disabled:focus, .el-button--danger.is-disabled:active { - color: #FFFFFF; - background-color: #fab6b6; - border-color: #fab6b6; } - .el-button--danger.is-plain { - color: #F56C6C; - background: #fef0f0; - border-color: #fbc4c4; } - .el-button--danger.is-plain:hover, .el-button--danger.is-plain:focus { - background: #F56C6C; - border-color: #F56C6C; - color: #FFFFFF; } - .el-button--danger.is-plain:active { - background: #dd6161; - border-color: #dd6161; - color: #FFFFFF; - outline: none; } - .el-button--danger.is-plain.is-disabled, .el-button--danger.is-plain.is-disabled:hover, .el-button--danger.is-plain.is-disabled:focus, .el-button--danger.is-plain.is-disabled:active { - color: #f9a7a7; - background-color: #fef0f0; - border-color: #fde2e2; } - .el-button--info { - color: #FFFFFF; - background-color: #909399; - border-color: #909399; } - .el-button--info:hover, .el-button--info:focus { - background: #a6a9ad; - border-color: #a6a9ad; - color: #FFFFFF; } - .el-button--info:active { - background: #82848a; - border-color: #82848a; - color: #FFFFFF; - outline: none; } - .el-button--info.is-active { - background: #82848a; - border-color: #82848a; - color: #FFFFFF; } - .el-button--info.is-disabled, .el-button--info.is-disabled:hover, .el-button--info.is-disabled:focus, .el-button--info.is-disabled:active { - color: #FFFFFF; - background-color: #c8c9cc; - border-color: #c8c9cc; } - .el-button--info.is-plain { - color: #909399; - background: #f4f4f5; - border-color: #d3d4d6; } - .el-button--info.is-plain:hover, .el-button--info.is-plain:focus { - background: #909399; - border-color: #909399; - color: #FFFFFF; } - .el-button--info.is-plain:active { - background: #82848a; - border-color: #82848a; - color: #FFFFFF; - outline: none; } - .el-button--info.is-plain.is-disabled, .el-button--info.is-plain.is-disabled:hover, .el-button--info.is-plain.is-disabled:focus, .el-button--info.is-plain.is-disabled:active { - color: #bcbec2; - background-color: #f4f4f5; - border-color: #e9e9eb; } - .el-button--medium { - padding: 10px 20px; - font-size: 14px; - border-radius: 4px; } - .el-button--medium.is-round { - padding: 10px 20px; } - .el-button--medium.is-circle { - padding: 10px; } - .el-button--small { - padding: 9px 15px; - font-size: 12px; - border-radius: 3px; } - .el-button--small.is-round { - padding: 9px 15px; } - .el-button--small.is-circle { - padding: 9px; } - .el-button--mini { - padding: 7px 15px; - font-size: 12px; - border-radius: 3px; } - .el-button--mini.is-round { - padding: 7px 15px; } - .el-button--mini.is-circle { - padding: 7px; } - .el-button--text { - border-color: transparent; - color: #409EFF; - background: transparent; - padding-left: 0; - padding-right: 0; } - .el-button--text:hover, .el-button--text:focus { - color: #66b1ff; - border-color: transparent; - background-color: transparent; } - .el-button--text:active { - color: #3a8ee6; - border-color: transparent; - background-color: transparent; } - .el-button--text.is-disabled, .el-button--text.is-disabled:hover, .el-button--text.is-disabled:focus { - border-color: transparent; } - -.el-button-group { - display: inline-block; - vertical-align: middle; } - .el-button-group::before, - .el-button-group::after { - display: table; - content: ""; } - .el-button-group::after { - clear: both; } - .el-button-group > .el-button { - float: left; - position: relative; } - .el-button-group > .el-button + .el-button { - margin-left: 0; } - .el-button-group > .el-button.is-disabled { - z-index: 1; } - .el-button-group > .el-button:first-child { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-button-group > .el-button:last-child { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-button-group > .el-button:first-child:last-child { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; } - .el-button-group > .el-button:first-child:last-child.is-round { - border-radius: 20px; } - .el-button-group > .el-button:first-child:last-child.is-circle { - border-radius: 50%; } - .el-button-group > .el-button:not(:first-child):not(:last-child) { - border-radius: 0; } - .el-button-group > .el-button:not(:last-child) { - margin-right: -1px; } - .el-button-group > .el-button:hover, .el-button-group > .el-button:focus, .el-button-group > .el-button:active { - z-index: 1; } - .el-button-group > .el-button.is-active { - z-index: 1; } - .el-button-group > .el-dropdown > .el-button { - border-top-left-radius: 0; - border-bottom-left-radius: 0; - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--primary:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--primary:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--primary:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--success:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--success:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--success:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--warning:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--warning:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--warning:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--danger:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--danger:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--danger:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--info:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--info:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--info:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-popper .popper__arrow, -.el-popper .popper__arrow::after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; } - -.el-popper .popper__arrow { - border-width: 6px; - -webkit-filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); - filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); } - -.el-popper .popper__arrow::after { - content: " "; - border-width: 6px; } - -.el-popper[x-placement^="top"] { - margin-bottom: 12px; } - -.el-popper[x-placement^="top"] .popper__arrow { - bottom: -6px; - left: 50%; - margin-right: 3px; - border-top-color: #EBEEF5; - border-bottom-width: 0; } - .el-popper[x-placement^="top"] .popper__arrow::after { - bottom: 1px; - margin-left: -6px; - border-top-color: #FFFFFF; - border-bottom-width: 0; } - -.el-popper[x-placement^="bottom"] { - margin-top: 12px; } - -.el-popper[x-placement^="bottom"] .popper__arrow { - top: -6px; - left: 50%; - margin-right: 3px; - border-top-width: 0; - border-bottom-color: #EBEEF5; } - .el-popper[x-placement^="bottom"] .popper__arrow::after { - top: 1px; - margin-left: -6px; - border-top-width: 0; - border-bottom-color: #FFFFFF; } - -.el-popper[x-placement^="right"] { - margin-left: 12px; } - -.el-popper[x-placement^="right"] .popper__arrow { - top: 50%; - left: -6px; - margin-bottom: 3px; - border-right-color: #EBEEF5; - border-left-width: 0; } - .el-popper[x-placement^="right"] .popper__arrow::after { - bottom: -6px; - left: 1px; - border-right-color: #FFFFFF; - border-left-width: 0; } - -.el-popper[x-placement^="left"] { - margin-right: 12px; } - -.el-popper[x-placement^="left"] .popper__arrow { - top: 50%; - right: -6px; - margin-bottom: 3px; - border-right-width: 0; - border-left-color: #EBEEF5; } - .el-popper[x-placement^="left"] .popper__arrow::after { - right: 1px; - bottom: -6px; - margin-left: -6px; - border-right-width: 0; - border-left-color: #FFFFFF; } - -.el-dropdown { - display: inline-block; - position: relative; - color: #606266; - font-size: 14px; } - .el-dropdown .el-button-group { - display: block; } - .el-dropdown .el-button-group .el-button { - float: none; } - .el-dropdown .el-dropdown__caret-button { - padding-left: 5px; - padding-right: 5px; - position: relative; - border-left: none; } - .el-dropdown .el-dropdown__caret-button::before { - content: ''; - position: absolute; - display: block; - width: 1px; - top: 5px; - bottom: 5px; - left: 0; - background: rgba(255, 255, 255, 0.5); } - .el-dropdown .el-dropdown__caret-button.el-button--default::before { - background: rgba(220, 223, 230, 0.5); } - .el-dropdown .el-dropdown__caret-button:hover::before { - top: 0; - bottom: 0; } - .el-dropdown .el-dropdown__caret-button .el-dropdown__icon { - padding-left: 0; } - .el-dropdown__icon { - font-size: 12px; - margin: 0 3px; } - .el-dropdown .el-dropdown-selfdefine:focus:active, .el-dropdown .el-dropdown-selfdefine:focus:not(.focusing) { - outline-width: 0; } - -.el-dropdown-menu { - position: absolute; - top: 0; - left: 0; - z-index: 10; - padding: 10px 0; - margin: 5px 0; - background-color: #FFFFFF; - border: 1px solid #EBEEF5; - border-radius: 4px; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); } - .el-dropdown-menu__item { - list-style: none; - line-height: 36px; - padding: 0 20px; - margin: 0; - font-size: 14px; - color: #606266; - cursor: pointer; - outline: none; } - .el-dropdown-menu__item:not(.is-disabled):hover, .el-dropdown-menu__item:focus { - background-color: #409EFF; - color: #FFFFFF; } - .el-dropdown-menu__item i { - margin-right: 5px; } - .el-dropdown-menu__item--divided { - position: relative; - margin-top: 6px; - border-top: 1px solid #EBEEF5; } - .el-dropdown-menu__item--divided:before { - content: ''; - height: 6px; - display: block; - margin: 0 -20px; - background-color: #FFFFFF; } - .el-dropdown-menu__item.is-disabled { - cursor: default; - color: #bbb; - pointer-events: none; } - .el-dropdown-menu--medium { - padding: 6px 0; } - .el-dropdown-menu--medium .el-dropdown-menu__item { - line-height: 30px; - padding: 0 17px; - font-size: 14px; } - .el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided { - margin-top: 6px; } - .el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided:before { - height: 6px; - margin: 0 -17px; } - .el-dropdown-menu--small { - padding: 6px 0; } - .el-dropdown-menu--small .el-dropdown-menu__item { - line-height: 27px; - padding: 0 15px; - font-size: 13px; } - .el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided { - margin-top: 4px; } - .el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided:before { - height: 4px; - margin: 0 -15px; } - .el-dropdown-menu--mini { - padding: 3px 0; } - .el-dropdown-menu--mini .el-dropdown-menu__item { - line-height: 24px; - padding: 0 10px; - font-size: 12px; } - .el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided { - margin-top: 3px; } - .el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided:before { - height: 3px; - margin: 0 -10px; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.fade-in-linear-enter-active, -.fade-in-linear-leave-active { - -webkit-transition: opacity 200ms linear; - transition: opacity 200ms linear; } - -.fade-in-linear-enter, -.fade-in-linear-leave, -.fade-in-linear-leave-active { - opacity: 0; } - -.el-fade-in-linear-enter-active, -.el-fade-in-linear-leave-active { - -webkit-transition: opacity 200ms linear; - transition: opacity 200ms linear; } - -.el-fade-in-linear-enter, -.el-fade-in-linear-leave, -.el-fade-in-linear-leave-active { - opacity: 0; } - -.el-fade-in-enter-active, -.el-fade-in-leave-active { - -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-fade-in-enter, -.el-fade-in-leave-active { - opacity: 0; } - -.el-zoom-in-center-enter-active, -.el-zoom-in-center-leave-active { - -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-zoom-in-center-enter, -.el-zoom-in-center-leave-active { - opacity: 0; - -webkit-transform: scaleX(0); - transform: scaleX(0); } - -.el-zoom-in-top-enter-active, -.el-zoom-in-top-leave-active { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: center top; - transform-origin: center top; } - -.el-zoom-in-top-enter, -.el-zoom-in-top-leave-active { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0); } - -.el-zoom-in-bottom-enter-active, -.el-zoom-in-bottom-leave-active { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; } - -.el-zoom-in-bottom-enter, -.el-zoom-in-bottom-leave-active { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0); } - -.el-zoom-in-left-enter-active, -.el-zoom-in-left-leave-active { - opacity: 1; - -webkit-transform: scale(1, 1); - transform: scale(1, 1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: top left; - transform-origin: top left; } - -.el-zoom-in-left-enter, -.el-zoom-in-left-leave-active { - opacity: 0; - -webkit-transform: scale(0.45, 0.45); - transform: scale(0.45, 0.45); } - -.collapse-transition { - -webkit-transition: 0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out; - transition: 0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out; } - -.horizontal-collapse-transition { - -webkit-transition: 0.3s width ease-in-out, 0.3s padding-left ease-in-out, 0.3s padding-right ease-in-out; - transition: 0.3s width ease-in-out, 0.3s padding-left ease-in-out, 0.3s padding-right ease-in-out; } - -.el-list-enter-active, -.el-list-leave-active { - -webkit-transition: all 1s; - transition: all 1s; } - -.el-list-enter, .el-list-leave-active { - opacity: 0; - -webkit-transform: translateY(-30px); - transform: translateY(-30px); } - -.el-opacity-transition { - -webkit-transition: opacity 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: opacity 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-menu { - border-right: solid 1px #e6e6e6; - list-style: none; - position: relative; - margin: 0; - padding-left: 0; - background-color: #272C34; } - .el-menu::before, - .el-menu::after { - display: table; - content: ""; } - .el-menu::after { - clear: both; } - .el-menu.el-menu--horizontal { - border-bottom: solid 1px #e6e6e6; } - .el-menu--horizontal { - border-right: none; } - .el-menu--horizontal > .el-menu-item { - float: left; - height: 60px; - line-height: 60px; - margin: 0; - border-bottom: 2px solid transparent; - color: #909399; } - .el-menu--horizontal > .el-menu-item a, - .el-menu--horizontal > .el-menu-item a:hover { - color: inherit; } - .el-menu--horizontal > .el-menu-item:not(.is-disabled):hover, .el-menu--horizontal > .el-menu-item:not(.is-disabled):focus { - background-color: #fff; } - .el-menu--horizontal > .el-submenu { - float: left; } - .el-menu--horizontal > .el-submenu:focus, .el-menu--horizontal > .el-submenu:hover { - outline: none; } - .el-menu--horizontal > .el-submenu:focus .el-submenu__title, .el-menu--horizontal > .el-submenu:hover .el-submenu__title { - color: #303133; } - .el-menu--horizontal > .el-submenu.is-active .el-submenu__title { - border-bottom: 2px solid #409EFF; - color: #303133; } - .el-menu--horizontal > .el-submenu .el-submenu__title { - height: 60px; - line-height: 60px; - border-bottom: 2px solid transparent; - color: #909399; } - .el-menu--horizontal > .el-submenu .el-submenu__title:hover { - background-color: #fff; } - .el-menu--horizontal > .el-submenu .el-submenu__icon-arrow { - position: static; - vertical-align: middle; - margin-left: 8px; - margin-top: -3px; } - .el-menu--horizontal .el-menu .el-menu-item, - .el-menu--horizontal .el-menu .el-submenu__title { - background-color: #FFFFFF; - float: none; - height: 36px; - line-height: 36px; - padding: 0 10px; - color: #909399; } - .el-menu--horizontal .el-menu .el-menu-item.is-active, - .el-menu--horizontal .el-menu .el-submenu.is-active > .el-submenu__title { - color: #303133; } - .el-menu--horizontal .el-menu-item:not(.is-disabled):hover, - .el-menu--horizontal .el-menu-item:not(.is-disabled):focus { - outline: none; - color: #303133; } - .el-menu--horizontal > .el-menu-item.is-active { - border-bottom: 2px solid #409EFF; - color: #303133; } - .el-menu--collapse { - width: 64px; } - .el-menu--collapse > .el-menu-item [class^="el-icon-"], - .el-menu--collapse > .el-submenu > .el-submenu__title [class^="el-icon-"] { - margin: 0; - vertical-align: middle; - width: 24px; - text-align: center; } - .el-menu--collapse > .el-menu-item .el-submenu__icon-arrow, - .el-menu--collapse > .el-submenu > .el-submenu__title .el-submenu__icon-arrow { - display: none; } - .el-menu--collapse > .el-menu-item span, - .el-menu--collapse > .el-submenu > .el-submenu__title span { - height: 0; - width: 0; - overflow: hidden; - visibility: hidden; - display: inline-block; } - .el-menu--collapse > .el-menu-item.is-active i { - color: inherit; } - .el-menu--collapse .el-menu .el-submenu { - min-width: 200px; } - .el-menu--collapse .el-submenu { - position: relative; } - .el-menu--collapse .el-submenu .el-menu { - position: absolute; - margin-left: 5px; - top: 0; - left: 100%; - z-index: 10; - border: 1px solid #E4E7ED; - border-radius: 2px; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); } - .el-menu--collapse .el-submenu.is-opened > .el-submenu__title .el-submenu__icon-arrow { - -webkit-transform: none; - transform: none; } - .el-menu--popup { - z-index: 100; - min-width: 200px; - border: none; - padding: 5px 0; - border-radius: 2px; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); } - .el-menu--popup-bottom-start { - margin-top: 5px; } - .el-menu--popup-right-start { - margin-left: 5px; - margin-right: 5px; } - -.el-menu-item { - height: 56px; - line-height: 56px; - font-size: 14px; - color: #FFFFFF; - padding: 0 20px; - list-style: none; - cursor: pointer; - position: relative; - -webkit-transition: border-color .3s, background-color .3s, color .3s; - transition: border-color .3s, background-color .3s, color .3s; - -webkit-box-sizing: border-box; - box-sizing: border-box; - white-space: nowrap; } - .el-menu-item * { - vertical-align: middle; } - .el-menu-item i { - color: #909399; } - .el-menu-item:hover, .el-menu-item:focus { - outline: none; - background-color: #409EFF; } - .el-menu-item.is-disabled { - opacity: 0.25; - cursor: not-allowed; - background: none !important; } - .el-menu-item [class^="el-icon-"] { - margin-right: 5px; - width: 24px; - text-align: center; - font-size: 18px; - vertical-align: middle; } - .el-menu-item.is-active { - color: #409EFF; } - .el-menu-item.is-active i { - color: inherit; } - -.el-submenu { - list-style: none; - margin: 0; - padding-left: 0; } - .el-submenu__title { - height: 56px; - line-height: 56px; - font-size: 14px; - color: #FFFFFF; - padding: 0 20px; - list-style: none; - cursor: pointer; - position: relative; - -webkit-transition: border-color .3s, background-color .3s, color .3s; - transition: border-color .3s, background-color .3s, color .3s; - -webkit-box-sizing: border-box; - box-sizing: border-box; - white-space: nowrap; } - .el-submenu__title * { - vertical-align: middle; } - .el-submenu__title i { - color: #909399; } - .el-submenu__title:hover, .el-submenu__title:focus { - outline: none; - background-color: #409EFF; } - .el-submenu__title.is-disabled { - opacity: 0.25; - cursor: not-allowed; - background: none !important; } - .el-submenu__title:hover { - background-color: #409EFF; } - .el-submenu .el-menu { - border: none; } - .el-submenu .el-menu-item { - height: 50px; - line-height: 50px; - padding: 0 45px; - min-width: 200px; } - .el-submenu__icon-arrow { - position: absolute; - top: 50%; - right: 20px; - margin-top: -7px; - -webkit-transition: -webkit-transform .3s; - transition: -webkit-transform .3s; - transition: transform .3s; - transition: transform .3s, -webkit-transform .3s; - font-size: 12px; } - .el-submenu.is-active .el-submenu__title { - border-bottom-color: #409EFF; } - .el-submenu.is-opened > .el-submenu__title .el-submenu__icon-arrow { - -webkit-transform: rotateZ(180deg); - transform: rotateZ(180deg); } - .el-submenu.is-disabled .el-submenu__title, - .el-submenu.is-disabled .el-menu-item { - opacity: 0.25; - cursor: not-allowed; - background: none !important; } - .el-submenu [class^="el-icon-"] { - vertical-align: middle; - margin-right: 5px; - width: 24px; - text-align: center; - font-size: 18px; } - -.el-menu-item-group > ul { - padding: 0; } - -.el-menu-item-group__title { - padding: 7px 0 7px 20px; - line-height: normal; - font-size: 12px; - color: #909399; } - -.horizontal-collapse-transition .el-submenu__title .el-submenu__icon-arrow { - -webkit-transition: .2s; - transition: .2s; - opacity: 0; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-textarea { - position: relative; - display: inline-block; - width: 100%; - vertical-align: bottom; - font-size: 14px; } - .el-textarea__inner { - display: block; - resize: vertical; - padding: 5px 15px; - line-height: 1.5; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - font-size: inherit; - color: #606266; - background-color: #FFFFFF; - background-image: none; - border: 1px solid #DCDFE6; - border-radius: 4px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea__inner:hover { - border-color: #C0C4CC; } - .el-textarea__inner:focus { - outline: none; - border-color: #409EFF; } - .el-textarea .el-input__count { - color: #909399; - background: #FFFFFF; - position: absolute; - font-size: 12px; - bottom: 5px; - right: 10px; } - .el-textarea.is-disabled .el-textarea__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea.is-exceed .el-textarea__inner { - border-color: #F56C6C; } - .el-textarea.is-exceed .el-input__count { - color: #F56C6C; } - -.el-input { - position: relative; - font-size: 14px; - display: inline-block; - width: 100%; } - .el-input::-webkit-scrollbar { - z-index: 11; - width: 6px; } - .el-input::-webkit-scrollbar:horizontal { - height: 6px; } - .el-input::-webkit-scrollbar-thumb { - border-radius: 5px; - width: 6px; - background: #b4bccc; } - .el-input::-webkit-scrollbar-corner { - background: #fff; } - .el-input::-webkit-scrollbar-track { - background: #fff; } - .el-input::-webkit-scrollbar-track-piece { - background: #fff; - width: 6px; } - .el-input .el-input__clear { - color: #C0C4CC; - font-size: 14px; - cursor: pointer; - -webkit-transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-input .el-input__clear:hover { - color: #909399; } - .el-input .el-input__count { - height: 100%; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - color: #909399; - font-size: 12px; } - .el-input .el-input__count .el-input__count-inner { - background: #FFFFFF; - line-height: initial; - display: inline-block; - padding: 0 5px; } - .el-input__inner { - -webkit-appearance: none; - background-color: #FFFFFF; - background-image: none; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: #606266; - display: inline-block; - font-size: inherit; - height: 40px; - line-height: 40px; - outline: none; - padding: 0 15px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - width: 100%; } - .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input__inner:hover { - border-color: #C0C4CC; } - .el-input__inner:focus { - outline: none; - border-color: #409EFF; } - .el-input__suffix { - position: absolute; - height: 100%; - right: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; - pointer-events: none; } - .el-input__suffix-inner { - pointer-events: all; } - .el-input__prefix { - position: absolute; - height: 100%; - left: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; } - .el-input__icon { - height: 100%; - width: 25px; - text-align: center; - -webkit-transition: all .3s; - transition: all .3s; - line-height: 40px; } - .el-input__icon:after { - content: ''; - height: 100%; - width: 0; - display: inline-block; - vertical-align: middle; } - .el-input__validateIcon { - pointer-events: none; } - .el-input.is-active .el-input__inner { - outline: none; - border-color: #409EFF; } - .el-input.is-disabled .el-input__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-input.is-disabled .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__icon { - cursor: not-allowed; } - .el-input.is-exceed .el-input__inner { - border-color: #F56C6C; } - .el-input.is-exceed .el-input__suffix .el-input__count { - color: #F56C6C; } - .el-input--suffix .el-input__inner { - padding-right: 30px; } - .el-input--prefix .el-input__inner { - padding-left: 30px; } - .el-input--medium { - font-size: 14px; } - .el-input--medium .el-input__inner { - height: 36px; - line-height: 36px; } - .el-input--medium .el-input__icon { - line-height: 36px; } - .el-input--small { - font-size: 13px; } - .el-input--small .el-input__inner { - height: 32px; - line-height: 32px; } - .el-input--small .el-input__icon { - line-height: 32px; } - .el-input--mini { - font-size: 12px; } - .el-input--mini .el-input__inner { - height: 28px; - line-height: 28px; } - .el-input--mini .el-input__icon { - line-height: 28px; } - -.el-input-group { - line-height: normal; - display: inline-table; - width: 100%; - border-collapse: separate; - border-spacing: 0; } - .el-input-group > .el-input__inner { - vertical-align: middle; - display: table-cell; } - .el-input-group__append, .el-input-group__prepend { - background-color: #F5F7FA; - color: #909399; - vertical-align: middle; - display: table-cell; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 4px; - padding: 0 20px; - width: 1px; - white-space: nowrap; } - .el-input-group__append:focus, .el-input-group__prepend:focus { - outline: none; } - .el-input-group__append .el-select, - .el-input-group__append .el-button, .el-input-group__prepend .el-select, - .el-input-group__prepend .el-button { - display: inline-block; - margin: -10px -20px; } - .el-input-group__append button.el-button, - .el-input-group__append div.el-select .el-input__inner, - .el-input-group__append div.el-select:hover .el-input__inner, .el-input-group__prepend button.el-button, - .el-input-group__prepend div.el-select .el-input__inner, - .el-input-group__prepend div.el-select:hover .el-input__inner { - border-color: transparent; - background-color: transparent; - color: inherit; - border-top: 0; - border-bottom: 0; } - .el-input-group__append .el-button, - .el-input-group__append .el-input, .el-input-group__prepend .el-button, - .el-input-group__prepend .el-input { - font-size: inherit; } - .el-input-group__prepend { - border-right: 0; - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group__append { - border-left: 0; - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-input__inner { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - .el-input-group--append .el-input__inner { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group--append .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - -/** disalbe default clear on IE */ -.el-input__inner::-ms-clear { - display: none; - width: 0; - height: 0; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-textarea { - position: relative; - display: inline-block; - width: 100%; - vertical-align: bottom; - font-size: 14px; } - .el-textarea__inner { - display: block; - resize: vertical; - padding: 5px 15px; - line-height: 1.5; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - font-size: inherit; - color: #606266; - background-color: #FFFFFF; - background-image: none; - border: 1px solid #DCDFE6; - border-radius: 4px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea__inner:hover { - border-color: #C0C4CC; } - .el-textarea__inner:focus { - outline: none; - border-color: #409EFF; } - .el-textarea .el-input__count { - color: #909399; - background: #FFFFFF; - position: absolute; - font-size: 12px; - bottom: 5px; - right: 10px; } - .el-textarea.is-disabled .el-textarea__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea.is-exceed .el-textarea__inner { - border-color: #F56C6C; } - .el-textarea.is-exceed .el-input__count { - color: #F56C6C; } - -.el-input { - position: relative; - font-size: 14px; - display: inline-block; - width: 100%; } - .el-input::-webkit-scrollbar { - z-index: 11; - width: 6px; } - .el-input::-webkit-scrollbar:horizontal { - height: 6px; } - .el-input::-webkit-scrollbar-thumb { - border-radius: 5px; - width: 6px; - background: #b4bccc; } - .el-input::-webkit-scrollbar-corner { - background: #fff; } - .el-input::-webkit-scrollbar-track { - background: #fff; } - .el-input::-webkit-scrollbar-track-piece { - background: #fff; - width: 6px; } - .el-input .el-input__clear { - color: #C0C4CC; - font-size: 14px; - cursor: pointer; - -webkit-transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-input .el-input__clear:hover { - color: #909399; } - .el-input .el-input__count { - height: 100%; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - color: #909399; - font-size: 12px; } - .el-input .el-input__count .el-input__count-inner { - background: #FFFFFF; - line-height: initial; - display: inline-block; - padding: 0 5px; } - .el-input__inner { - -webkit-appearance: none; - background-color: #FFFFFF; - background-image: none; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: #606266; - display: inline-block; - font-size: inherit; - height: 40px; - line-height: 40px; - outline: none; - padding: 0 15px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - width: 100%; } - .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input__inner:hover { - border-color: #C0C4CC; } - .el-input__inner:focus { - outline: none; - border-color: #409EFF; } - .el-input__suffix { - position: absolute; - height: 100%; - right: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; - pointer-events: none; } - .el-input__suffix-inner { - pointer-events: all; } - .el-input__prefix { - position: absolute; - height: 100%; - left: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; } - .el-input__icon { - height: 100%; - width: 25px; - text-align: center; - -webkit-transition: all .3s; - transition: all .3s; - line-height: 40px; } - .el-input__icon:after { - content: ''; - height: 100%; - width: 0; - display: inline-block; - vertical-align: middle; } - .el-input__validateIcon { - pointer-events: none; } - .el-input.is-active .el-input__inner { - outline: none; - border-color: #409EFF; } - .el-input.is-disabled .el-input__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-input.is-disabled .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__icon { - cursor: not-allowed; } - .el-input.is-exceed .el-input__inner { - border-color: #F56C6C; } - .el-input.is-exceed .el-input__suffix .el-input__count { - color: #F56C6C; } - .el-input--suffix .el-input__inner { - padding-right: 30px; } - .el-input--prefix .el-input__inner { - padding-left: 30px; } - .el-input--medium { - font-size: 14px; } - .el-input--medium .el-input__inner { - height: 36px; - line-height: 36px; } - .el-input--medium .el-input__icon { - line-height: 36px; } - .el-input--small { - font-size: 13px; } - .el-input--small .el-input__inner { - height: 32px; - line-height: 32px; } - .el-input--small .el-input__icon { - line-height: 32px; } - .el-input--mini { - font-size: 12px; } - .el-input--mini .el-input__inner { - height: 28px; - line-height: 28px; } - .el-input--mini .el-input__icon { - line-height: 28px; } - -.el-input-group { - line-height: normal; - display: inline-table; - width: 100%; - border-collapse: separate; - border-spacing: 0; } - .el-input-group > .el-input__inner { - vertical-align: middle; - display: table-cell; } - .el-input-group__append, .el-input-group__prepend { - background-color: #F5F7FA; - color: #909399; - vertical-align: middle; - display: table-cell; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 4px; - padding: 0 20px; - width: 1px; - white-space: nowrap; } - .el-input-group__append:focus, .el-input-group__prepend:focus { - outline: none; } - .el-input-group__append .el-select, - .el-input-group__append .el-button, .el-input-group__prepend .el-select, - .el-input-group__prepend .el-button { - display: inline-block; - margin: -10px -20px; } - .el-input-group__append button.el-button, - .el-input-group__append div.el-select .el-input__inner, - .el-input-group__append div.el-select:hover .el-input__inner, .el-input-group__prepend button.el-button, - .el-input-group__prepend div.el-select .el-input__inner, - .el-input-group__prepend div.el-select:hover .el-input__inner { - border-color: transparent; - background-color: transparent; - color: inherit; - border-top: 0; - border-bottom: 0; } - .el-input-group__append .el-button, - .el-input-group__append .el-input, .el-input-group__prepend .el-button, - .el-input-group__prepend .el-input { - font-size: inherit; } - .el-input-group__prepend { - border-right: 0; - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group__append { - border-left: 0; - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-input__inner { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - .el-input-group--append .el-input__inner { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group--append .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - -/** disalbe default clear on IE */ -.el-input__inner::-ms-clear { - display: none; - width: 0; - height: 0; } - -.el-input-number { - position: relative; - display: inline-block; - width: 180px; - line-height: 38px; } - .el-input-number .el-input { - display: block; } - .el-input-number .el-input__inner { - -webkit-appearance: none; - padding-left: 50px; - padding-right: 50px; - text-align: center; } - .el-input-number__increase, .el-input-number__decrease { - position: absolute; - z-index: 1; - top: 1px; - width: 40px; - height: auto; - text-align: center; - background: #F5F7FA; - color: #606266; - cursor: pointer; - font-size: 13px; } - .el-input-number__increase:hover, .el-input-number__decrease:hover { - color: #409EFF; } - .el-input-number__increase:hover:not(.is-disabled) ~ .el-input .el-input__inner:not(.is-disabled), .el-input-number__decrease:hover:not(.is-disabled) ~ .el-input .el-input__inner:not(.is-disabled) { - border-color: #409EFF; } - .el-input-number__increase.is-disabled, .el-input-number__decrease.is-disabled { - color: #C0C4CC; - cursor: not-allowed; } - .el-input-number__increase { - right: 1px; - border-radius: 0 4px 4px 0; - border-left: 1px solid #DCDFE6; } - .el-input-number__decrease { - left: 1px; - border-radius: 4px 0 0 4px; - border-right: 1px solid #DCDFE6; } - .el-input-number.is-disabled .el-input-number__increase, .el-input-number.is-disabled .el-input-number__decrease { - border-color: #E4E7ED; - color: #E4E7ED; } - .el-input-number.is-disabled .el-input-number__increase:hover, .el-input-number.is-disabled .el-input-number__decrease:hover { - color: #E4E7ED; - cursor: not-allowed; } - .el-input-number--medium { - width: 200px; - line-height: 34px; } - .el-input-number--medium .el-input-number__increase, .el-input-number--medium .el-input-number__decrease { - width: 36px; - font-size: 14px; } - .el-input-number--medium .el-input__inner { - padding-left: 43px; - padding-right: 43px; } - .el-input-number--small { - width: 130px; - line-height: 30px; } - .el-input-number--small .el-input-number__increase, .el-input-number--small .el-input-number__decrease { - width: 32px; - font-size: 13px; } - .el-input-number--small .el-input-number__increase [class*=el-icon], .el-input-number--small .el-input-number__decrease [class*=el-icon] { - -webkit-transform: scale(0.9); - transform: scale(0.9); } - .el-input-number--small .el-input__inner { - padding-left: 39px; - padding-right: 39px; } - .el-input-number--mini { - width: 130px; - line-height: 26px; } - .el-input-number--mini .el-input-number__increase, .el-input-number--mini .el-input-number__decrease { - width: 28px; - font-size: 12px; } - .el-input-number--mini .el-input-number__increase [class*=el-icon], .el-input-number--mini .el-input-number__decrease [class*=el-icon] { - -webkit-transform: scale(0.8); - transform: scale(0.8); } - .el-input-number--mini .el-input__inner { - padding-left: 35px; - padding-right: 35px; } - .el-input-number.is-without-controls .el-input__inner { - padding-left: 15px; - padding-right: 15px; } - .el-input-number.is-controls-right .el-input__inner { - padding-left: 15px; - padding-right: 50px; } - .el-input-number.is-controls-right .el-input-number__increase, .el-input-number.is-controls-right .el-input-number__decrease { - height: auto; - line-height: 19px; } - .el-input-number.is-controls-right .el-input-number__increase [class*=el-icon], .el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon] { - -webkit-transform: scale(0.8); - transform: scale(0.8); } - .el-input-number.is-controls-right .el-input-number__increase { - border-radius: 0 4px 0 0; - border-bottom: 1px solid #DCDFE6; } - .el-input-number.is-controls-right .el-input-number__decrease { - right: 1px; - bottom: 1px; - top: auto; - left: auto; - border-right: none; - border-left: 1px solid #DCDFE6; - border-radius: 0 0 4px 0; } - .el-input-number.is-controls-right[class*=medium] [class*=increase], .el-input-number.is-controls-right[class*=medium] [class*=decrease] { - line-height: 17px; } - .el-input-number.is-controls-right[class*=small] [class*=increase], .el-input-number.is-controls-right[class*=small] [class*=decrease] { - line-height: 15px; } - .el-input-number.is-controls-right[class*=mini] [class*=increase], .el-input-number.is-controls-right[class*=mini] [class*=decrease] { - line-height: 13px; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-radio { - color: #606266; - font-weight: 500; - line-height: 1; - position: relative; - cursor: pointer; - display: inline-block; - white-space: nowrap; - outline: none; - font-size: 14px; - margin-right: 30px; - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; } - .el-radio.is-bordered { - padding: 12px 20px 0 10px; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - height: 40px; } - .el-radio.is-bordered.is-checked { - border-color: #409EFF; } - .el-radio.is-bordered.is-disabled { - cursor: not-allowed; - border-color: #EBEEF5; } - .el-radio.is-bordered + .el-radio.is-bordered { - margin-left: 10px; } - .el-radio--medium.is-bordered { - padding: 10px 20px 0 10px; - border-radius: 4px; - height: 36px; } - .el-radio--medium.is-bordered .el-radio__label { - font-size: 14px; } - .el-radio--medium.is-bordered .el-radio__inner { - height: 14px; - width: 14px; } - .el-radio--small.is-bordered { - padding: 8px 15px 0 10px; - border-radius: 3px; - height: 32px; } - .el-radio--small.is-bordered .el-radio__label { - font-size: 12px; } - .el-radio--small.is-bordered .el-radio__inner { - height: 12px; - width: 12px; } - .el-radio--mini.is-bordered { - padding: 6px 15px 0 10px; - border-radius: 3px; - height: 28px; } - .el-radio--mini.is-bordered .el-radio__label { - font-size: 12px; } - .el-radio--mini.is-bordered .el-radio__inner { - height: 12px; - width: 12px; } - .el-radio:last-child { - margin-right: 0; } - .el-radio__input { - white-space: nowrap; - cursor: pointer; - outline: none; - display: inline-block; - line-height: 1; - position: relative; - vertical-align: middle; } - .el-radio__input.is-disabled .el-radio__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - cursor: not-allowed; } - .el-radio__input.is-disabled .el-radio__inner::after { - cursor: not-allowed; - background-color: #F5F7FA; } - .el-radio__input.is-disabled .el-radio__inner + .el-radio__label { - cursor: not-allowed; } - .el-radio__input.is-disabled.is-checked .el-radio__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; } - .el-radio__input.is-disabled.is-checked .el-radio__inner::after { - background-color: #C0C4CC; } - .el-radio__input.is-disabled + span.el-radio__label { - color: #C0C4CC; - cursor: not-allowed; } - .el-radio__input.is-checked .el-radio__inner { - border-color: #409EFF; - background: #409EFF; } - .el-radio__input.is-checked .el-radio__inner::after { - -webkit-transform: translate(-50%, -50%) scale(1); - transform: translate(-50%, -50%) scale(1); } - .el-radio__input.is-checked + .el-radio__label { - color: #409EFF; } - .el-radio__input.is-focus .el-radio__inner { - border-color: #409EFF; } - .el-radio__inner { - border: 1px solid #DCDFE6; - border-radius: 100%; - width: 14px; - height: 14px; - background-color: #FFFFFF; - position: relative; - cursor: pointer; - display: inline-block; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-radio__inner:hover { - border-color: #409EFF; } - .el-radio__inner::after { - width: 4px; - height: 4px; - border-radius: 100%; - background-color: #FFFFFF; - content: ""; - position: absolute; - left: 50%; - top: 50%; - -webkit-transform: translate(-50%, -50%) scale(0); - transform: translate(-50%, -50%) scale(0); - -webkit-transition: -webkit-transform .15s ease-in; - transition: -webkit-transform .15s ease-in; - transition: transform .15s ease-in; - transition: transform .15s ease-in, -webkit-transform .15s ease-in; } - .el-radio__original { - opacity: 0; - outline: none; - position: absolute; - z-index: -1; - top: 0; - left: 0; - right: 0; - bottom: 0; - margin: 0; } - .el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) { - /*获得焦点时 样式提醒*/ } - .el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner { - -webkit-box-shadow: 0 0 2px 2px #409EFF; - box-shadow: 0 0 2px 2px #409EFF; } - .el-radio__label { - font-size: 14px; - padding-left: 10px; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-radio-group { - display: inline-block; - line-height: 1; - vertical-align: middle; - font-size: 0; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-radio-button { - position: relative; - display: inline-block; - outline: none; } - .el-radio-button__inner { - display: inline-block; - line-height: 1; - white-space: nowrap; - vertical-align: middle; - background: #FFFFFF; - border: 1px solid #DCDFE6; - font-weight: 500; - border-left: 0; - color: #606266; - -webkit-appearance: none; - text-align: center; - -webkit-box-sizing: border-box; - box-sizing: border-box; - outline: none; - margin: 0; - position: relative; - cursor: pointer; - -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - padding: 12px 20px; - font-size: 14px; - border-radius: 0; } - .el-radio-button__inner.is-round { - padding: 12px 20px; } - .el-radio-button__inner:hover { - color: #409EFF; } - .el-radio-button__inner [class*="el-icon-"] { - line-height: 0.9; } - .el-radio-button__inner [class*="el-icon-"] + span { - margin-left: 5px; } - .el-radio-button:first-child .el-radio-button__inner { - border-left: 1px solid #DCDFE6; - border-radius: 4px 0 0 4px; - -webkit-box-shadow: none !important; - box-shadow: none !important; } - .el-radio-button__orig-radio { - opacity: 0; - outline: none; - position: absolute; - z-index: -1; } - .el-radio-button__orig-radio:checked + .el-radio-button__inner { - color: #FFFFFF; - background-color: #409EFF; - border-color: #409EFF; - -webkit-box-shadow: -1px 0 0 0 #409EFF; - box-shadow: -1px 0 0 0 #409EFF; } - .el-radio-button__orig-radio:disabled + .el-radio-button__inner { - color: #C0C4CC; - cursor: not-allowed; - background-image: none; - background-color: #FFFFFF; - border-color: #EBEEF5; - -webkit-box-shadow: none; - box-shadow: none; } - .el-radio-button__orig-radio:disabled:checked + .el-radio-button__inner { - background-color: #F2F6FC; } - .el-radio-button:last-child .el-radio-button__inner { - border-radius: 0 4px 4px 0; } - .el-radio-button:first-child:last-child .el-radio-button__inner { - border-radius: 4px; } - .el-radio-button--medium .el-radio-button__inner { - padding: 10px 20px; - font-size: 14px; - border-radius: 0; } - .el-radio-button--medium .el-radio-button__inner.is-round { - padding: 10px 20px; } - .el-radio-button--small .el-radio-button__inner { - padding: 9px 15px; - font-size: 12px; - border-radius: 0; } - .el-radio-button--small .el-radio-button__inner.is-round { - padding: 9px 15px; } - .el-radio-button--mini .el-radio-button__inner { - padding: 7px 15px; - font-size: 12px; - border-radius: 0; } - .el-radio-button--mini .el-radio-button__inner.is-round { - padding: 7px 15px; } - .el-radio-button:focus:not(.is-focus):not(:active):not(.is-disabled) { - /*获得焦点时 样式提醒*/ - -webkit-box-shadow: 0 0 2px 2px #409EFF; - box-shadow: 0 0 2px 2px #409EFF; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-checkbox { - color: #606266; - font-weight: 500; - font-size: 14px; - position: relative; - cursor: pointer; - display: inline-block; - white-space: nowrap; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - margin-right: 30px; } - .el-checkbox.is-bordered { - padding: 9px 20px 9px 10px; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - line-height: normal; - height: 40px; } - .el-checkbox.is-bordered.is-checked { - border-color: #409EFF; } - .el-checkbox.is-bordered.is-disabled { - border-color: #EBEEF5; - cursor: not-allowed; } - .el-checkbox.is-bordered + .el-checkbox.is-bordered { - margin-left: 10px; } - .el-checkbox.is-bordered.el-checkbox--medium { - padding: 7px 20px 7px 10px; - border-radius: 4px; - height: 36px; } - .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label { - line-height: 17px; - font-size: 14px; } - .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner { - height: 14px; - width: 14px; } - .el-checkbox.is-bordered.el-checkbox--small { - padding: 5px 15px 5px 10px; - border-radius: 3px; - height: 32px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label { - line-height: 15px; - font-size: 12px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner { - height: 12px; - width: 12px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after { - height: 6px; - width: 2px; } - .el-checkbox.is-bordered.el-checkbox--mini { - padding: 3px 15px 3px 10px; - border-radius: 3px; - height: 28px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label { - line-height: 12px; - font-size: 12px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner { - height: 12px; - width: 12px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after { - height: 6px; - width: 2px; } - .el-checkbox__input { - white-space: nowrap; - cursor: pointer; - outline: none; - display: inline-block; - line-height: 1; - position: relative; - vertical-align: middle; } - .el-checkbox__input.is-disabled .el-checkbox__inner { - background-color: #edf2fc; - border-color: #DCDFE6; - cursor: not-allowed; } - .el-checkbox__input.is-disabled .el-checkbox__inner::after { - cursor: not-allowed; - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled .el-checkbox__inner + .el-checkbox__label { - cursor: not-allowed; } - .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { - background-color: #F2F6FC; - border-color: #DCDFE6; } - .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after { - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner { - background-color: #F2F6FC; - border-color: #DCDFE6; } - .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before { - background-color: #C0C4CC; - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled + span.el-checkbox__label { - color: #C0C4CC; - cursor: not-allowed; } - .el-checkbox__input.is-checked .el-checkbox__inner { - background-color: #409EFF; - border-color: #409EFF; } - .el-checkbox__input.is-checked .el-checkbox__inner::after { - -webkit-transform: rotate(45deg) scaleY(1); - transform: rotate(45deg) scaleY(1); } - .el-checkbox__input.is-checked + .el-checkbox__label { - color: #409EFF; } - .el-checkbox__input.is-focus { - /*focus时 视觉上区分*/ } - .el-checkbox__input.is-focus .el-checkbox__inner { - border-color: #409EFF; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner { - background-color: #409EFF; - border-color: #409EFF; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner::before { - content: ''; - position: absolute; - display: block; - background-color: #FFFFFF; - height: 2px; - -webkit-transform: scale(0.5); - transform: scale(0.5); - left: 0; - right: 0; - top: 5px; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner::after { - display: none; } - .el-checkbox__inner { - display: inline-block; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 2px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 14px; - height: 14px; - background-color: #FFFFFF; - z-index: 1; - -webkit-transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46), background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46); - transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46), background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46); } - .el-checkbox__inner:hover { - border-color: #409EFF; } - .el-checkbox__inner::after { - -webkit-box-sizing: content-box; - box-sizing: content-box; - content: ""; - border: 1px solid #FFFFFF; - border-left: 0; - border-top: 0; - height: 7px; - left: 4px; - position: absolute; - top: 1px; - -webkit-transform: rotate(45deg) scaleY(0); - transform: rotate(45deg) scaleY(0); - width: 3px; - -webkit-transition: -webkit-transform .15s ease-in .05s; - transition: -webkit-transform .15s ease-in .05s; - transition: transform .15s ease-in .05s; - transition: transform .15s ease-in .05s, -webkit-transform .15s ease-in .05s; - -webkit-transform-origin: center; - transform-origin: center; } - .el-checkbox__original { - opacity: 0; - outline: none; - position: absolute; - margin: 0; - width: 0; - height: 0; - z-index: -1; } - .el-checkbox__label { - display: inline-block; - padding-left: 10px; - line-height: 19px; - font-size: 14px; } - .el-checkbox:last-of-type { - margin-right: 0; } - -.el-checkbox-button { - position: relative; - display: inline-block; } - .el-checkbox-button__inner { - display: inline-block; - line-height: 1; - font-weight: 500; - white-space: nowrap; - vertical-align: middle; - cursor: pointer; - background: #FFFFFF; - border: 1px solid #DCDFE6; - border-left: 0; - color: #606266; - -webkit-appearance: none; - text-align: center; - -webkit-box-sizing: border-box; - box-sizing: border-box; - outline: none; - margin: 0; - position: relative; - -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - padding: 12px 20px; - font-size: 14px; - border-radius: 0; } - .el-checkbox-button__inner.is-round { - padding: 12px 20px; } - .el-checkbox-button__inner:hover { - color: #409EFF; } - .el-checkbox-button__inner [class*="el-icon-"] { - line-height: 0.9; } - .el-checkbox-button__inner [class*="el-icon-"] + span { - margin-left: 5px; } - .el-checkbox-button__original { - opacity: 0; - outline: none; - position: absolute; - margin: 0; - z-index: -1; } - .el-checkbox-button.is-checked .el-checkbox-button__inner { - color: #FFFFFF; - background-color: #409EFF; - border-color: #409EFF; - -webkit-box-shadow: -1px 0 0 0 #8cc5ff; - box-shadow: -1px 0 0 0 #8cc5ff; } - .el-checkbox-button.is-checked:first-child .el-checkbox-button__inner { - border-left-color: #409EFF; } - .el-checkbox-button.is-disabled .el-checkbox-button__inner { - color: #C0C4CC; - cursor: not-allowed; - background-image: none; - background-color: #FFFFFF; - border-color: #EBEEF5; - -webkit-box-shadow: none; - box-shadow: none; } - .el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner { - border-left-color: #EBEEF5; } - .el-checkbox-button:first-child .el-checkbox-button__inner { - border-left: 1px solid #DCDFE6; - border-radius: 4px 0 0 4px; - -webkit-box-shadow: none !important; - box-shadow: none !important; } - .el-checkbox-button.is-focus .el-checkbox-button__inner { - border-color: #409EFF; } - .el-checkbox-button:last-child .el-checkbox-button__inner { - border-radius: 0 4px 4px 0; } - .el-checkbox-button--medium .el-checkbox-button__inner { - padding: 10px 20px; - font-size: 14px; - border-radius: 0; } - .el-checkbox-button--medium .el-checkbox-button__inner.is-round { - padding: 10px 20px; } - .el-checkbox-button--small .el-checkbox-button__inner { - padding: 9px 15px; - font-size: 12px; - border-radius: 0; } - .el-checkbox-button--small .el-checkbox-button__inner.is-round { - padding: 9px 15px; } - .el-checkbox-button--mini .el-checkbox-button__inner { - padding: 7px 15px; - font-size: 12px; - border-radius: 0; } - .el-checkbox-button--mini .el-checkbox-button__inner.is-round { - padding: 7px 15px; } - -.el-checkbox-group { - font-size: 0; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-switch { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - position: relative; - font-size: 14px; - line-height: 20px; - height: 20px; - vertical-align: middle; } - .el-switch.is-disabled .el-switch__core, - .el-switch.is-disabled .el-switch__label { - cursor: not-allowed; } - .el-switch__label { - -webkit-transition: .2s; - transition: .2s; - height: 20px; - display: inline-block; - font-size: 14px; - font-weight: 500; - cursor: pointer; - vertical-align: middle; - color: #303133; } - .el-switch__label.is-active { - color: #409EFF; } - .el-switch__label--left { - margin-right: 10px; } - .el-switch__label--right { - margin-left: 10px; } - .el-switch__label * { - line-height: 1; - font-size: 14px; - display: inline-block; } - .el-switch__input { - position: absolute; - width: 0; - height: 0; - opacity: 0; - margin: 0; } - .el-switch__core { - margin: 0; - display: inline-block; - position: relative; - width: 40px; - height: 20px; - border: 1px solid #DCDFE6; - outline: none; - border-radius: 10px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - background: #DCDFE6; - cursor: pointer; - -webkit-transition: border-color .3s, background-color .3s; - transition: border-color .3s, background-color .3s; - vertical-align: middle; } - .el-switch__core:after { - content: ""; - position: absolute; - top: 1px; - left: 1px; - border-radius: 100%; - -webkit-transition: all .3s; - transition: all .3s; - width: 16px; - height: 16px; - background-color: #FFFFFF; } - .el-switch.is-checked .el-switch__core { - border-color: #409EFF; - background-color: #409EFF; } - .el-switch.is-checked .el-switch__core::after { - left: 100%; - margin-left: -17px; } - .el-switch.is-disabled { - opacity: 0.6; } - .el-switch--wide .el-switch__label.el-switch__label--left span { - left: 10px; } - .el-switch--wide .el-switch__label.el-switch__label--right span { - right: 10px; } - .el-switch .label-fade-enter, - .el-switch .label-fade-leave-active { - opacity: 0; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-popper .popper__arrow, -.el-popper .popper__arrow::after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; } - -.el-popper .popper__arrow { - border-width: 6px; - -webkit-filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); - filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); } - -.el-popper .popper__arrow::after { - content: " "; - border-width: 6px; } - -.el-popper[x-placement^="top"] { - margin-bottom: 12px; } - -.el-popper[x-placement^="top"] .popper__arrow { - bottom: -6px; - left: 50%; - margin-right: 3px; - border-top-color: #EBEEF5; - border-bottom-width: 0; } - .el-popper[x-placement^="top"] .popper__arrow::after { - bottom: 1px; - margin-left: -6px; - border-top-color: #FFFFFF; - border-bottom-width: 0; } - -.el-popper[x-placement^="bottom"] { - margin-top: 12px; } - -.el-popper[x-placement^="bottom"] .popper__arrow { - top: -6px; - left: 50%; - margin-right: 3px; - border-top-width: 0; - border-bottom-color: #EBEEF5; } - .el-popper[x-placement^="bottom"] .popper__arrow::after { - top: 1px; - margin-left: -6px; - border-top-width: 0; - border-bottom-color: #FFFFFF; } - -.el-popper[x-placement^="right"] { - margin-left: 12px; } - -.el-popper[x-placement^="right"] .popper__arrow { - top: 50%; - left: -6px; - margin-bottom: 3px; - border-right-color: #EBEEF5; - border-left-width: 0; } - .el-popper[x-placement^="right"] .popper__arrow::after { - bottom: -6px; - left: 1px; - border-right-color: #FFFFFF; - border-left-width: 0; } - -.el-popper[x-placement^="left"] { - margin-right: 12px; } - -.el-popper[x-placement^="left"] .popper__arrow { - top: 50%; - right: -6px; - margin-bottom: 3px; - border-right-width: 0; - border-left-color: #EBEEF5; } - .el-popper[x-placement^="left"] .popper__arrow::after { - right: 1px; - bottom: -6px; - margin-left: -6px; - border-right-width: 0; - border-left-color: #FFFFFF; } - -.el-select-dropdown { - position: absolute; - z-index: 1001; - border: solid 1px #E4E7ED; - border-radius: 4px; - background-color: #FFFFFF; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - -webkit-box-sizing: border-box; - box-sizing: border-box; - margin: 5px 0; } - .el-select-dropdown.is-multiple .el-select-dropdown__item.selected { - color: #409EFF; - background-color: #FFFFFF; } - .el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover { - background-color: #F5F7FA; } - .el-select-dropdown.is-multiple .el-select-dropdown__item.selected::after { - position: absolute; - right: 20px; - font-family: 'element-icons'; - content: "\e6da"; - font-size: 12px; - font-weight: bold; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; } - .el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list { - padding: 0; } - -.el-select-dropdown__empty { - padding: 10px 0; - margin: 0; - text-align: center; - color: #999; - font-size: 14px; } - -.el-select-dropdown__wrap { - max-height: 274px; } - -.el-select-dropdown__list { - list-style: none; - padding: 6px 0; - margin: 0; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-textarea { - position: relative; - display: inline-block; - width: 100%; - vertical-align: bottom; - font-size: 14px; } - .el-textarea__inner { - display: block; - resize: vertical; - padding: 5px 15px; - line-height: 1.5; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - font-size: inherit; - color: #606266; - background-color: #FFFFFF; - background-image: none; - border: 1px solid #DCDFE6; - border-radius: 4px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea__inner:hover { - border-color: #C0C4CC; } - .el-textarea__inner:focus { - outline: none; - border-color: #409EFF; } - .el-textarea .el-input__count { - color: #909399; - background: #FFFFFF; - position: absolute; - font-size: 12px; - bottom: 5px; - right: 10px; } - .el-textarea.is-disabled .el-textarea__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea.is-exceed .el-textarea__inner { - border-color: #F56C6C; } - .el-textarea.is-exceed .el-input__count { - color: #F56C6C; } - -.el-input { - position: relative; - font-size: 14px; - display: inline-block; - width: 100%; } - .el-input::-webkit-scrollbar { - z-index: 11; - width: 6px; } - .el-input::-webkit-scrollbar:horizontal { - height: 6px; } - .el-input::-webkit-scrollbar-thumb { - border-radius: 5px; - width: 6px; - background: #b4bccc; } - .el-input::-webkit-scrollbar-corner { - background: #fff; } - .el-input::-webkit-scrollbar-track { - background: #fff; } - .el-input::-webkit-scrollbar-track-piece { - background: #fff; - width: 6px; } - .el-input .el-input__clear { - color: #C0C4CC; - font-size: 14px; - cursor: pointer; - -webkit-transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-input .el-input__clear:hover { - color: #909399; } - .el-input .el-input__count { - height: 100%; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - color: #909399; - font-size: 12px; } - .el-input .el-input__count .el-input__count-inner { - background: #FFFFFF; - line-height: initial; - display: inline-block; - padding: 0 5px; } - .el-input__inner { - -webkit-appearance: none; - background-color: #FFFFFF; - background-image: none; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: #606266; - display: inline-block; - font-size: inherit; - height: 40px; - line-height: 40px; - outline: none; - padding: 0 15px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - width: 100%; } - .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input__inner:hover { - border-color: #C0C4CC; } - .el-input__inner:focus { - outline: none; - border-color: #409EFF; } - .el-input__suffix { - position: absolute; - height: 100%; - right: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; - pointer-events: none; } - .el-input__suffix-inner { - pointer-events: all; } - .el-input__prefix { - position: absolute; - height: 100%; - left: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; } - .el-input__icon { - height: 100%; - width: 25px; - text-align: center; - -webkit-transition: all .3s; - transition: all .3s; - line-height: 40px; } - .el-input__icon:after { - content: ''; - height: 100%; - width: 0; - display: inline-block; - vertical-align: middle; } - .el-input__validateIcon { - pointer-events: none; } - .el-input.is-active .el-input__inner { - outline: none; - border-color: #409EFF; } - .el-input.is-disabled .el-input__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-input.is-disabled .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__icon { - cursor: not-allowed; } - .el-input.is-exceed .el-input__inner { - border-color: #F56C6C; } - .el-input.is-exceed .el-input__suffix .el-input__count { - color: #F56C6C; } - .el-input--suffix .el-input__inner { - padding-right: 30px; } - .el-input--prefix .el-input__inner { - padding-left: 30px; } - .el-input--medium { - font-size: 14px; } - .el-input--medium .el-input__inner { - height: 36px; - line-height: 36px; } - .el-input--medium .el-input__icon { - line-height: 36px; } - .el-input--small { - font-size: 13px; } - .el-input--small .el-input__inner { - height: 32px; - line-height: 32px; } - .el-input--small .el-input__icon { - line-height: 32px; } - .el-input--mini { - font-size: 12px; } - .el-input--mini .el-input__inner { - height: 28px; - line-height: 28px; } - .el-input--mini .el-input__icon { - line-height: 28px; } - -.el-input-group { - line-height: normal; - display: inline-table; - width: 100%; - border-collapse: separate; - border-spacing: 0; } - .el-input-group > .el-input__inner { - vertical-align: middle; - display: table-cell; } - .el-input-group__append, .el-input-group__prepend { - background-color: #F5F7FA; - color: #909399; - vertical-align: middle; - display: table-cell; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 4px; - padding: 0 20px; - width: 1px; - white-space: nowrap; } - .el-input-group__append:focus, .el-input-group__prepend:focus { - outline: none; } - .el-input-group__append .el-select, - .el-input-group__append .el-button, .el-input-group__prepend .el-select, - .el-input-group__prepend .el-button { - display: inline-block; - margin: -10px -20px; } - .el-input-group__append button.el-button, - .el-input-group__append div.el-select .el-input__inner, - .el-input-group__append div.el-select:hover .el-input__inner, .el-input-group__prepend button.el-button, - .el-input-group__prepend div.el-select .el-input__inner, - .el-input-group__prepend div.el-select:hover .el-input__inner { - border-color: transparent; - background-color: transparent; - color: inherit; - border-top: 0; - border-bottom: 0; } - .el-input-group__append .el-button, - .el-input-group__append .el-input, .el-input-group__prepend .el-button, - .el-input-group__prepend .el-input { - font-size: inherit; } - .el-input-group__prepend { - border-right: 0; - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group__append { - border-left: 0; - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-input__inner { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - .el-input-group--append .el-input__inner { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group--append .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - -/** disalbe default clear on IE */ -.el-input__inner::-ms-clear { - display: none; - width: 0; - height: 0; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-tag { - background-color: #ecf5ff; - border-color: #d9ecff; - color: #409eff; - display: inline-block; - height: 32px; - padding: 0 10px; - line-height: 30px; - font-size: 12px; - color: #409EFF; - border-width: 1px; - border-style: solid; - border-radius: 4px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - white-space: nowrap; } - .el-tag.is-hit { - border-color: #409EFF; } - .el-tag .el-tag__close { - color: #409eff; } - .el-tag .el-tag__close:hover { - color: #FFFFFF; - background-color: #409eff; } - .el-tag.el-tag--info { - background-color: #f4f4f5; - border-color: #e9e9eb; - color: #909399; } - .el-tag.el-tag--info.is-hit { - border-color: #909399; } - .el-tag.el-tag--info .el-tag__close { - color: #909399; } - .el-tag.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #909399; } - .el-tag.el-tag--success { - background-color: #f0f9eb; - border-color: #e1f3d8; - color: #67c23a; } - .el-tag.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag.el-tag--success .el-tag__close { - color: #67c23a; } - .el-tag.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #67c23a; } - .el-tag.el-tag--warning { - background-color: #fdf6ec; - border-color: #faecd8; - color: #e6a23c; } - .el-tag.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag.el-tag--warning .el-tag__close { - color: #e6a23c; } - .el-tag.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #e6a23c; } - .el-tag.el-tag--danger { - background-color: #fef0f0; - border-color: #fde2e2; - color: #f56c6c; } - .el-tag.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag.el-tag--danger .el-tag__close { - color: #f56c6c; } - .el-tag.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f56c6c; } - .el-tag .el-icon-close { - border-radius: 50%; - text-align: center; - position: relative; - cursor: pointer; - font-size: 12px; - height: 16px; - width: 16px; - line-height: 16px; - vertical-align: middle; - top: -1px; - right: -5px; } - .el-tag .el-icon-close::before { - display: block; } - .el-tag--dark { - background-color: #409eff; - border-color: #409eff; - color: white; } - .el-tag--dark.is-hit { - border-color: #409EFF; } - .el-tag--dark .el-tag__close { - color: white; } - .el-tag--dark .el-tag__close:hover { - color: #FFFFFF; - background-color: #66b1ff; } - .el-tag--dark.el-tag--info { - background-color: #909399; - border-color: #909399; - color: white; } - .el-tag--dark.el-tag--info.is-hit { - border-color: #909399; } - .el-tag--dark.el-tag--info .el-tag__close { - color: white; } - .el-tag--dark.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #a6a9ad; } - .el-tag--dark.el-tag--success { - background-color: #67c23a; - border-color: #67c23a; - color: white; } - .el-tag--dark.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag--dark.el-tag--success .el-tag__close { - color: white; } - .el-tag--dark.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #85ce61; } - .el-tag--dark.el-tag--warning { - background-color: #e6a23c; - border-color: #e6a23c; - color: white; } - .el-tag--dark.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag--dark.el-tag--warning .el-tag__close { - color: white; } - .el-tag--dark.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #ebb563; } - .el-tag--dark.el-tag--danger { - background-color: #f56c6c; - border-color: #f56c6c; - color: white; } - .el-tag--dark.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag--dark.el-tag--danger .el-tag__close { - color: white; } - .el-tag--dark.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f78989; } - .el-tag--plain { - background-color: white; - border-color: #b3d8ff; - color: #409eff; } - .el-tag--plain.is-hit { - border-color: #409EFF; } - .el-tag--plain .el-tag__close { - color: #409eff; } - .el-tag--plain .el-tag__close:hover { - color: #FFFFFF; - background-color: #409eff; } - .el-tag--plain.el-tag--info { - background-color: white; - border-color: #d3d4d6; - color: #909399; } - .el-tag--plain.el-tag--info.is-hit { - border-color: #909399; } - .el-tag--plain.el-tag--info .el-tag__close { - color: #909399; } - .el-tag--plain.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #909399; } - .el-tag--plain.el-tag--success { - background-color: white; - border-color: #c2e7b0; - color: #67c23a; } - .el-tag--plain.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag--plain.el-tag--success .el-tag__close { - color: #67c23a; } - .el-tag--plain.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #67c23a; } - .el-tag--plain.el-tag--warning { - background-color: white; - border-color: #f5dab1; - color: #e6a23c; } - .el-tag--plain.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag--plain.el-tag--warning .el-tag__close { - color: #e6a23c; } - .el-tag--plain.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #e6a23c; } - .el-tag--plain.el-tag--danger { - background-color: white; - border-color: #fbc4c4; - color: #f56c6c; } - .el-tag--plain.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag--plain.el-tag--danger .el-tag__close { - color: #f56c6c; } - .el-tag--plain.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f56c6c; } - .el-tag--medium { - height: 28px; - line-height: 26px; } - .el-tag--medium .el-icon-close { - -webkit-transform: scale(0.8); - transform: scale(0.8); } - .el-tag--small { - height: 24px; - padding: 0 8px; - line-height: 22px; } - .el-tag--small .el-icon-close { - -webkit-transform: scale(0.8); - transform: scale(0.8); } - .el-tag--mini { - height: 20px; - padding: 0 5px; - line-height: 19px; } - .el-tag--mini .el-icon-close { - margin-left: -3px; - -webkit-transform: scale(0.7); - transform: scale(0.7); } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-select-dropdown__item { - font-size: 14px; - padding: 0 20px; - position: relative; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - color: #606266; - height: 34px; - line-height: 34px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - cursor: pointer; } - .el-select-dropdown__item.is-disabled { - color: #C0C4CC; - cursor: not-allowed; } - .el-select-dropdown__item.is-disabled:hover { - background-color: #FFFFFF; } - .el-select-dropdown__item.hover, .el-select-dropdown__item:hover { - background-color: #F5F7FA; } - .el-select-dropdown__item.selected { - color: #409EFF; - font-weight: bold; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-select-group { - margin: 0; - padding: 0; } - .el-select-group__wrap { - position: relative; - list-style: none; - margin: 0; - padding: 0; } - .el-select-group__wrap:not(:last-of-type) { - padding-bottom: 24px; } - .el-select-group__wrap:not(:last-of-type)::after { - content: ''; - position: absolute; - display: block; - left: 20px; - right: 20px; - bottom: 12px; - height: 1px; - background: #E4E7ED; } - .el-select-group__title { - padding-left: 20px; - font-size: 12px; - color: #909399; - line-height: 30px; } - .el-select-group .el-select-dropdown__item { - padding-left: 20px; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-scrollbar { - overflow: hidden; - position: relative; } - .el-scrollbar:hover > .el-scrollbar__bar, .el-scrollbar:active > .el-scrollbar__bar, .el-scrollbar:focus > .el-scrollbar__bar { - opacity: 1; - -webkit-transition: opacity 340ms ease-out; - transition: opacity 340ms ease-out; } - .el-scrollbar__wrap { - overflow: scroll; - height: 100%; } - .el-scrollbar__wrap--hidden-default { - scrollbar-width: none; } - .el-scrollbar__wrap--hidden-default::-webkit-scrollbar { - width: 0; - height: 0; } - .el-scrollbar__thumb { - position: relative; - display: block; - width: 0; - height: 0; - cursor: pointer; - border-radius: inherit; - background-color: rgba(144, 147, 153, 0.3); - -webkit-transition: .3s background-color; - transition: .3s background-color; } - .el-scrollbar__thumb:hover { - background-color: rgba(144, 147, 153, 0.5); } - .el-scrollbar__bar { - position: absolute; - right: 2px; - bottom: 2px; - z-index: 1; - border-radius: 4px; - opacity: 0; - -webkit-transition: opacity 120ms ease-out; - transition: opacity 120ms ease-out; } - .el-scrollbar__bar.is-vertical { - width: 6px; - top: 2px; } - .el-scrollbar__bar.is-vertical > div { - width: 100%; } - .el-scrollbar__bar.is-horizontal { - height: 6px; - left: 2px; } - .el-scrollbar__bar.is-horizontal > div { - height: 100%; } - -.el-select { - display: inline-block; - position: relative; } - .el-select .el-select__tags > span { - display: contents; } - .el-select:hover .el-input__inner { - border-color: #C0C4CC; } - .el-select .el-input__inner { - cursor: pointer; - padding-right: 35px; } - .el-select .el-input__inner:focus { - border-color: #409EFF; } - .el-select .el-input .el-select__caret { - color: #C0C4CC; - font-size: 14px; - -webkit-transition: -webkit-transform .3s; - transition: -webkit-transform .3s; - transition: transform .3s; - transition: transform .3s, -webkit-transform .3s; - -webkit-transform: rotateZ(180deg); - transform: rotateZ(180deg); - cursor: pointer; } - .el-select .el-input .el-select__caret.is-reverse { - -webkit-transform: rotateZ(0deg); - transform: rotateZ(0deg); } - .el-select .el-input .el-select__caret.is-show-close { - font-size: 14px; - text-align: center; - -webkit-transform: rotateZ(180deg); - transform: rotateZ(180deg); - border-radius: 100%; - color: #C0C4CC; - -webkit-transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-select .el-input .el-select__caret.is-show-close:hover { - color: #909399; } - .el-select .el-input.is-disabled .el-input__inner { - cursor: not-allowed; } - .el-select .el-input.is-disabled .el-input__inner:hover { - border-color: #E4E7ED; } - .el-select .el-input.is-focus .el-input__inner { - border-color: #409EFF; } - .el-select > .el-input { - display: block; } - .el-select__input { - border: none; - outline: none; - padding: 0; - margin-left: 15px; - color: #666; - font-size: 14px; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - height: 28px; - background-color: transparent; } - .el-select__input.is-mini { - height: 14px; } - .el-select__close { - cursor: pointer; - position: absolute; - top: 8px; - z-index: 1000; - right: 25px; - color: #C0C4CC; - line-height: 18px; - font-size: 14px; } - .el-select__close:hover { - color: #909399; } - .el-select__tags { - position: absolute; - line-height: normal; - white-space: normal; - z-index: 1; - top: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -ms-flex-wrap: wrap; - flex-wrap: wrap; } - .el-select .el-tag__close { - margin-top: -2px; } - .el-select .el-tag { - -webkit-box-sizing: border-box; - box-sizing: border-box; - border-color: transparent; - margin: 2px 0 2px 6px; - background-color: #f0f2f5; } - .el-select .el-tag__close.el-icon-close { - background-color: #C0C4CC; - right: -7px; - top: 0; - color: #FFFFFF; } - .el-select .el-tag__close.el-icon-close:hover { - background-color: #909399; } - .el-select .el-tag__close.el-icon-close::before { - display: block; - -webkit-transform: translate(0, 0.5px); - transform: translate(0, 0.5px); } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -.el-button { - display: inline-block; - line-height: 1; - white-space: nowrap; - cursor: pointer; - background: #FFFFFF; - border: 1px solid #DCDFE6; - border-color: #DCDFE6; - color: #606266; - -webkit-appearance: none; - text-align: center; - -webkit-box-sizing: border-box; - box-sizing: border-box; - outline: none; - margin: 0; - -webkit-transition: .1s; - transition: .1s; - font-weight: 500; - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - padding: 12px 20px; - font-size: 14px; - border-radius: 4px; } - .el-button + .el-button { - margin-left: 10px; } - .el-button.is-round { - padding: 12px 20px; } - .el-button:hover, .el-button:focus { - color: #409EFF; - border-color: #c6e2ff; - background-color: #ecf5ff; } - .el-button:active { - color: #3a8ee6; - border-color: #3a8ee6; - outline: none; } - .el-button::-moz-focus-inner { - border: 0; } - .el-button [class*="el-icon-"] + span { - margin-left: 5px; } - .el-button.is-plain:hover, .el-button.is-plain:focus { - background: #FFFFFF; - border-color: #409EFF; - color: #409EFF; } - .el-button.is-plain:active { - background: #FFFFFF; - border-color: #3a8ee6; - color: #3a8ee6; - outline: none; } - .el-button.is-active { - color: #3a8ee6; - border-color: #3a8ee6; } - .el-button.is-disabled, .el-button.is-disabled:hover, .el-button.is-disabled:focus { - color: #C0C4CC; - cursor: not-allowed; - background-image: none; - background-color: #FFFFFF; - border-color: #EBEEF5; } - .el-button.is-disabled.el-button--text { - background-color: transparent; } - .el-button.is-disabled.is-plain, .el-button.is-disabled.is-plain:hover, .el-button.is-disabled.is-plain:focus { - background-color: #FFFFFF; - border-color: #EBEEF5; - color: #C0C4CC; } - .el-button.is-loading { - position: relative; - pointer-events: none; } - .el-button.is-loading:before { - pointer-events: none; - content: ''; - position: absolute; - left: -1px; - top: -1px; - right: -1px; - bottom: -1px; - border-radius: inherit; - background-color: rgba(255, 255, 255, 0.35); } - .el-button.is-round { - border-radius: 20px; - padding: 12px 23px; } - .el-button.is-circle { - border-radius: 50%; - padding: 12px; } - .el-button--primary { - color: #FFFFFF; - background-color: #409EFF; - border-color: #409EFF; } - .el-button--primary:hover, .el-button--primary:focus { - background: #66b1ff; - border-color: #66b1ff; - color: #FFFFFF; } - .el-button--primary:active { - background: #3a8ee6; - border-color: #3a8ee6; - color: #FFFFFF; - outline: none; } - .el-button--primary.is-active { - background: #3a8ee6; - border-color: #3a8ee6; - color: #FFFFFF; } - .el-button--primary.is-disabled, .el-button--primary.is-disabled:hover, .el-button--primary.is-disabled:focus, .el-button--primary.is-disabled:active { - color: #FFFFFF; - background-color: #a0cfff; - border-color: #a0cfff; } - .el-button--primary.is-plain { - color: #409EFF; - background: #ecf5ff; - border-color: #b3d8ff; } - .el-button--primary.is-plain:hover, .el-button--primary.is-plain:focus { - background: #409EFF; - border-color: #409EFF; - color: #FFFFFF; } - .el-button--primary.is-plain:active { - background: #3a8ee6; - border-color: #3a8ee6; - color: #FFFFFF; - outline: none; } - .el-button--primary.is-plain.is-disabled, .el-button--primary.is-plain.is-disabled:hover, .el-button--primary.is-plain.is-disabled:focus, .el-button--primary.is-plain.is-disabled:active { - color: #8cc5ff; - background-color: #ecf5ff; - border-color: #d9ecff; } - .el-button--success { - color: #FFFFFF; - background-color: #67C23A; - border-color: #67C23A; } - .el-button--success:hover, .el-button--success:focus { - background: #85ce61; - border-color: #85ce61; - color: #FFFFFF; } - .el-button--success:active { - background: #5daf34; - border-color: #5daf34; - color: #FFFFFF; - outline: none; } - .el-button--success.is-active { - background: #5daf34; - border-color: #5daf34; - color: #FFFFFF; } - .el-button--success.is-disabled, .el-button--success.is-disabled:hover, .el-button--success.is-disabled:focus, .el-button--success.is-disabled:active { - color: #FFFFFF; - background-color: #b3e19d; - border-color: #b3e19d; } - .el-button--success.is-plain { - color: #67C23A; - background: #f0f9eb; - border-color: #c2e7b0; } - .el-button--success.is-plain:hover, .el-button--success.is-plain:focus { - background: #67C23A; - border-color: #67C23A; - color: #FFFFFF; } - .el-button--success.is-plain:active { - background: #5daf34; - border-color: #5daf34; - color: #FFFFFF; - outline: none; } - .el-button--success.is-plain.is-disabled, .el-button--success.is-plain.is-disabled:hover, .el-button--success.is-plain.is-disabled:focus, .el-button--success.is-plain.is-disabled:active { - color: #a4da89; - background-color: #f0f9eb; - border-color: #e1f3d8; } - .el-button--warning { - color: #FFFFFF; - background-color: #E6A23C; - border-color: #E6A23C; } - .el-button--warning:hover, .el-button--warning:focus { - background: #ebb563; - border-color: #ebb563; - color: #FFFFFF; } - .el-button--warning:active { - background: #cf9236; - border-color: #cf9236; - color: #FFFFFF; - outline: none; } - .el-button--warning.is-active { - background: #cf9236; - border-color: #cf9236; - color: #FFFFFF; } - .el-button--warning.is-disabled, .el-button--warning.is-disabled:hover, .el-button--warning.is-disabled:focus, .el-button--warning.is-disabled:active { - color: #FFFFFF; - background-color: #f3d19e; - border-color: #f3d19e; } - .el-button--warning.is-plain { - color: #E6A23C; - background: #fdf6ec; - border-color: #f5dab1; } - .el-button--warning.is-plain:hover, .el-button--warning.is-plain:focus { - background: #E6A23C; - border-color: #E6A23C; - color: #FFFFFF; } - .el-button--warning.is-plain:active { - background: #cf9236; - border-color: #cf9236; - color: #FFFFFF; - outline: none; } - .el-button--warning.is-plain.is-disabled, .el-button--warning.is-plain.is-disabled:hover, .el-button--warning.is-plain.is-disabled:focus, .el-button--warning.is-plain.is-disabled:active { - color: #f0c78a; - background-color: #fdf6ec; - border-color: #faecd8; } - .el-button--danger { - color: #FFFFFF; - background-color: #F56C6C; - border-color: #F56C6C; } - .el-button--danger:hover, .el-button--danger:focus { - background: #f78989; - border-color: #f78989; - color: #FFFFFF; } - .el-button--danger:active { - background: #dd6161; - border-color: #dd6161; - color: #FFFFFF; - outline: none; } - .el-button--danger.is-active { - background: #dd6161; - border-color: #dd6161; - color: #FFFFFF; } - .el-button--danger.is-disabled, .el-button--danger.is-disabled:hover, .el-button--danger.is-disabled:focus, .el-button--danger.is-disabled:active { - color: #FFFFFF; - background-color: #fab6b6; - border-color: #fab6b6; } - .el-button--danger.is-plain { - color: #F56C6C; - background: #fef0f0; - border-color: #fbc4c4; } - .el-button--danger.is-plain:hover, .el-button--danger.is-plain:focus { - background: #F56C6C; - border-color: #F56C6C; - color: #FFFFFF; } - .el-button--danger.is-plain:active { - background: #dd6161; - border-color: #dd6161; - color: #FFFFFF; - outline: none; } - .el-button--danger.is-plain.is-disabled, .el-button--danger.is-plain.is-disabled:hover, .el-button--danger.is-plain.is-disabled:focus, .el-button--danger.is-plain.is-disabled:active { - color: #f9a7a7; - background-color: #fef0f0; - border-color: #fde2e2; } - .el-button--info { - color: #FFFFFF; - background-color: #909399; - border-color: #909399; } - .el-button--info:hover, .el-button--info:focus { - background: #a6a9ad; - border-color: #a6a9ad; - color: #FFFFFF; } - .el-button--info:active { - background: #82848a; - border-color: #82848a; - color: #FFFFFF; - outline: none; } - .el-button--info.is-active { - background: #82848a; - border-color: #82848a; - color: #FFFFFF; } - .el-button--info.is-disabled, .el-button--info.is-disabled:hover, .el-button--info.is-disabled:focus, .el-button--info.is-disabled:active { - color: #FFFFFF; - background-color: #c8c9cc; - border-color: #c8c9cc; } - .el-button--info.is-plain { - color: #909399; - background: #f4f4f5; - border-color: #d3d4d6; } - .el-button--info.is-plain:hover, .el-button--info.is-plain:focus { - background: #909399; - border-color: #909399; - color: #FFFFFF; } - .el-button--info.is-plain:active { - background: #82848a; - border-color: #82848a; - color: #FFFFFF; - outline: none; } - .el-button--info.is-plain.is-disabled, .el-button--info.is-plain.is-disabled:hover, .el-button--info.is-plain.is-disabled:focus, .el-button--info.is-plain.is-disabled:active { - color: #bcbec2; - background-color: #f4f4f5; - border-color: #e9e9eb; } - .el-button--medium { - padding: 10px 20px; - font-size: 14px; - border-radius: 4px; } - .el-button--medium.is-round { - padding: 10px 20px; } - .el-button--medium.is-circle { - padding: 10px; } - .el-button--small { - padding: 9px 15px; - font-size: 12px; - border-radius: 3px; } - .el-button--small.is-round { - padding: 9px 15px; } - .el-button--small.is-circle { - padding: 9px; } - .el-button--mini { - padding: 7px 15px; - font-size: 12px; - border-radius: 3px; } - .el-button--mini.is-round { - padding: 7px 15px; } - .el-button--mini.is-circle { - padding: 7px; } - .el-button--text { - border-color: transparent; - color: #409EFF; - background: transparent; - padding-left: 0; - padding-right: 0; } - .el-button--text:hover, .el-button--text:focus { - color: #66b1ff; - border-color: transparent; - background-color: transparent; } - .el-button--text:active { - color: #3a8ee6; - border-color: transparent; - background-color: transparent; } - .el-button--text.is-disabled, .el-button--text.is-disabled:hover, .el-button--text.is-disabled:focus { - border-color: transparent; } - -.el-button-group { - display: inline-block; - vertical-align: middle; } - .el-button-group::before, - .el-button-group::after { - display: table; - content: ""; } - .el-button-group::after { - clear: both; } - .el-button-group > .el-button { - float: left; - position: relative; } - .el-button-group > .el-button + .el-button { - margin-left: 0; } - .el-button-group > .el-button.is-disabled { - z-index: 1; } - .el-button-group > .el-button:first-child { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-button-group > .el-button:last-child { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-button-group > .el-button:first-child:last-child { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; } - .el-button-group > .el-button:first-child:last-child.is-round { - border-radius: 20px; } - .el-button-group > .el-button:first-child:last-child.is-circle { - border-radius: 50%; } - .el-button-group > .el-button:not(:first-child):not(:last-child) { - border-radius: 0; } - .el-button-group > .el-button:not(:last-child) { - margin-right: -1px; } - .el-button-group > .el-button:hover, .el-button-group > .el-button:focus, .el-button-group > .el-button:active { - z-index: 1; } - .el-button-group > .el-button.is-active { - z-index: 1; } - .el-button-group > .el-dropdown > .el-button { - border-top-left-radius: 0; - border-bottom-left-radius: 0; - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--primary:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--primary:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--primary:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--success:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--success:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--success:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--warning:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--warning:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--warning:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--danger:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--danger:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--danger:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--info:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--info:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--info:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-checkbox { - color: #606266; - font-weight: 500; - font-size: 14px; - position: relative; - cursor: pointer; - display: inline-block; - white-space: nowrap; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - margin-right: 30px; } - .el-checkbox.is-bordered { - padding: 9px 20px 9px 10px; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - line-height: normal; - height: 40px; } - .el-checkbox.is-bordered.is-checked { - border-color: #409EFF; } - .el-checkbox.is-bordered.is-disabled { - border-color: #EBEEF5; - cursor: not-allowed; } - .el-checkbox.is-bordered + .el-checkbox.is-bordered { - margin-left: 10px; } - .el-checkbox.is-bordered.el-checkbox--medium { - padding: 7px 20px 7px 10px; - border-radius: 4px; - height: 36px; } - .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label { - line-height: 17px; - font-size: 14px; } - .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner { - height: 14px; - width: 14px; } - .el-checkbox.is-bordered.el-checkbox--small { - padding: 5px 15px 5px 10px; - border-radius: 3px; - height: 32px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label { - line-height: 15px; - font-size: 12px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner { - height: 12px; - width: 12px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after { - height: 6px; - width: 2px; } - .el-checkbox.is-bordered.el-checkbox--mini { - padding: 3px 15px 3px 10px; - border-radius: 3px; - height: 28px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label { - line-height: 12px; - font-size: 12px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner { - height: 12px; - width: 12px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after { - height: 6px; - width: 2px; } - .el-checkbox__input { - white-space: nowrap; - cursor: pointer; - outline: none; - display: inline-block; - line-height: 1; - position: relative; - vertical-align: middle; } - .el-checkbox__input.is-disabled .el-checkbox__inner { - background-color: #edf2fc; - border-color: #DCDFE6; - cursor: not-allowed; } - .el-checkbox__input.is-disabled .el-checkbox__inner::after { - cursor: not-allowed; - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled .el-checkbox__inner + .el-checkbox__label { - cursor: not-allowed; } - .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { - background-color: #F2F6FC; - border-color: #DCDFE6; } - .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after { - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner { - background-color: #F2F6FC; - border-color: #DCDFE6; } - .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before { - background-color: #C0C4CC; - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled + span.el-checkbox__label { - color: #C0C4CC; - cursor: not-allowed; } - .el-checkbox__input.is-checked .el-checkbox__inner { - background-color: #409EFF; - border-color: #409EFF; } - .el-checkbox__input.is-checked .el-checkbox__inner::after { - -webkit-transform: rotate(45deg) scaleY(1); - transform: rotate(45deg) scaleY(1); } - .el-checkbox__input.is-checked + .el-checkbox__label { - color: #409EFF; } - .el-checkbox__input.is-focus { - /*focus时 视觉上区分*/ } - .el-checkbox__input.is-focus .el-checkbox__inner { - border-color: #409EFF; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner { - background-color: #409EFF; - border-color: #409EFF; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner::before { - content: ''; - position: absolute; - display: block; - background-color: #FFFFFF; - height: 2px; - -webkit-transform: scale(0.5); - transform: scale(0.5); - left: 0; - right: 0; - top: 5px; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner::after { - display: none; } - .el-checkbox__inner { - display: inline-block; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 2px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 14px; - height: 14px; - background-color: #FFFFFF; - z-index: 1; - -webkit-transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46), background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46); - transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46), background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46); } - .el-checkbox__inner:hover { - border-color: #409EFF; } - .el-checkbox__inner::after { - -webkit-box-sizing: content-box; - box-sizing: content-box; - content: ""; - border: 1px solid #FFFFFF; - border-left: 0; - border-top: 0; - height: 7px; - left: 4px; - position: absolute; - top: 1px; - -webkit-transform: rotate(45deg) scaleY(0); - transform: rotate(45deg) scaleY(0); - width: 3px; - -webkit-transition: -webkit-transform .15s ease-in .05s; - transition: -webkit-transform .15s ease-in .05s; - transition: transform .15s ease-in .05s; - transition: transform .15s ease-in .05s, -webkit-transform .15s ease-in .05s; - -webkit-transform-origin: center; - transform-origin: center; } - .el-checkbox__original { - opacity: 0; - outline: none; - position: absolute; - margin: 0; - width: 0; - height: 0; - z-index: -1; } - .el-checkbox__label { - display: inline-block; - padding-left: 10px; - line-height: 19px; - font-size: 14px; } - .el-checkbox:last-of-type { - margin-right: 0; } - -.el-checkbox-button { - position: relative; - display: inline-block; } - .el-checkbox-button__inner { - display: inline-block; - line-height: 1; - font-weight: 500; - white-space: nowrap; - vertical-align: middle; - cursor: pointer; - background: #FFFFFF; - border: 1px solid #DCDFE6; - border-left: 0; - color: #606266; - -webkit-appearance: none; - text-align: center; - -webkit-box-sizing: border-box; - box-sizing: border-box; - outline: none; - margin: 0; - position: relative; - -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - padding: 12px 20px; - font-size: 14px; - border-radius: 0; } - .el-checkbox-button__inner.is-round { - padding: 12px 20px; } - .el-checkbox-button__inner:hover { - color: #409EFF; } - .el-checkbox-button__inner [class*="el-icon-"] { - line-height: 0.9; } - .el-checkbox-button__inner [class*="el-icon-"] + span { - margin-left: 5px; } - .el-checkbox-button__original { - opacity: 0; - outline: none; - position: absolute; - margin: 0; - z-index: -1; } - .el-checkbox-button.is-checked .el-checkbox-button__inner { - color: #FFFFFF; - background-color: #409EFF; - border-color: #409EFF; - -webkit-box-shadow: -1px 0 0 0 #8cc5ff; - box-shadow: -1px 0 0 0 #8cc5ff; } - .el-checkbox-button.is-checked:first-child .el-checkbox-button__inner { - border-left-color: #409EFF; } - .el-checkbox-button.is-disabled .el-checkbox-button__inner { - color: #C0C4CC; - cursor: not-allowed; - background-image: none; - background-color: #FFFFFF; - border-color: #EBEEF5; - -webkit-box-shadow: none; - box-shadow: none; } - .el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner { - border-left-color: #EBEEF5; } - .el-checkbox-button:first-child .el-checkbox-button__inner { - border-left: 1px solid #DCDFE6; - border-radius: 4px 0 0 4px; - -webkit-box-shadow: none !important; - box-shadow: none !important; } - .el-checkbox-button.is-focus .el-checkbox-button__inner { - border-color: #409EFF; } - .el-checkbox-button:last-child .el-checkbox-button__inner { - border-radius: 0 4px 4px 0; } - .el-checkbox-button--medium .el-checkbox-button__inner { - padding: 10px 20px; - font-size: 14px; - border-radius: 0; } - .el-checkbox-button--medium .el-checkbox-button__inner.is-round { - padding: 10px 20px; } - .el-checkbox-button--small .el-checkbox-button__inner { - padding: 9px 15px; - font-size: 12px; - border-radius: 0; } - .el-checkbox-button--small .el-checkbox-button__inner.is-round { - padding: 9px 15px; } - .el-checkbox-button--mini .el-checkbox-button__inner { - padding: 7px 15px; - font-size: 12px; - border-radius: 0; } - .el-checkbox-button--mini .el-checkbox-button__inner.is-round { - padding: 7px 15px; } - -.el-checkbox-group { - font-size: 0; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-tag { - background-color: #ecf5ff; - border-color: #d9ecff; - color: #409eff; - display: inline-block; - height: 32px; - padding: 0 10px; - line-height: 30px; - font-size: 12px; - color: #409EFF; - border-width: 1px; - border-style: solid; - border-radius: 4px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - white-space: nowrap; } - .el-tag.is-hit { - border-color: #409EFF; } - .el-tag .el-tag__close { - color: #409eff; } - .el-tag .el-tag__close:hover { - color: #FFFFFF; - background-color: #409eff; } - .el-tag.el-tag--info { - background-color: #f4f4f5; - border-color: #e9e9eb; - color: #909399; } - .el-tag.el-tag--info.is-hit { - border-color: #909399; } - .el-tag.el-tag--info .el-tag__close { - color: #909399; } - .el-tag.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #909399; } - .el-tag.el-tag--success { - background-color: #f0f9eb; - border-color: #e1f3d8; - color: #67c23a; } - .el-tag.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag.el-tag--success .el-tag__close { - color: #67c23a; } - .el-tag.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #67c23a; } - .el-tag.el-tag--warning { - background-color: #fdf6ec; - border-color: #faecd8; - color: #e6a23c; } - .el-tag.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag.el-tag--warning .el-tag__close { - color: #e6a23c; } - .el-tag.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #e6a23c; } - .el-tag.el-tag--danger { - background-color: #fef0f0; - border-color: #fde2e2; - color: #f56c6c; } - .el-tag.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag.el-tag--danger .el-tag__close { - color: #f56c6c; } - .el-tag.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f56c6c; } - .el-tag .el-icon-close { - border-radius: 50%; - text-align: center; - position: relative; - cursor: pointer; - font-size: 12px; - height: 16px; - width: 16px; - line-height: 16px; - vertical-align: middle; - top: -1px; - right: -5px; } - .el-tag .el-icon-close::before { - display: block; } - .el-tag--dark { - background-color: #409eff; - border-color: #409eff; - color: white; } - .el-tag--dark.is-hit { - border-color: #409EFF; } - .el-tag--dark .el-tag__close { - color: white; } - .el-tag--dark .el-tag__close:hover { - color: #FFFFFF; - background-color: #66b1ff; } - .el-tag--dark.el-tag--info { - background-color: #909399; - border-color: #909399; - color: white; } - .el-tag--dark.el-tag--info.is-hit { - border-color: #909399; } - .el-tag--dark.el-tag--info .el-tag__close { - color: white; } - .el-tag--dark.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #a6a9ad; } - .el-tag--dark.el-tag--success { - background-color: #67c23a; - border-color: #67c23a; - color: white; } - .el-tag--dark.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag--dark.el-tag--success .el-tag__close { - color: white; } - .el-tag--dark.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #85ce61; } - .el-tag--dark.el-tag--warning { - background-color: #e6a23c; - border-color: #e6a23c; - color: white; } - .el-tag--dark.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag--dark.el-tag--warning .el-tag__close { - color: white; } - .el-tag--dark.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #ebb563; } - .el-tag--dark.el-tag--danger { - background-color: #f56c6c; - border-color: #f56c6c; - color: white; } - .el-tag--dark.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag--dark.el-tag--danger .el-tag__close { - color: white; } - .el-tag--dark.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f78989; } - .el-tag--plain { - background-color: white; - border-color: #b3d8ff; - color: #409eff; } - .el-tag--plain.is-hit { - border-color: #409EFF; } - .el-tag--plain .el-tag__close { - color: #409eff; } - .el-tag--plain .el-tag__close:hover { - color: #FFFFFF; - background-color: #409eff; } - .el-tag--plain.el-tag--info { - background-color: white; - border-color: #d3d4d6; - color: #909399; } - .el-tag--plain.el-tag--info.is-hit { - border-color: #909399; } - .el-tag--plain.el-tag--info .el-tag__close { - color: #909399; } - .el-tag--plain.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #909399; } - .el-tag--plain.el-tag--success { - background-color: white; - border-color: #c2e7b0; - color: #67c23a; } - .el-tag--plain.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag--plain.el-tag--success .el-tag__close { - color: #67c23a; } - .el-tag--plain.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #67c23a; } - .el-tag--plain.el-tag--warning { - background-color: white; - border-color: #f5dab1; - color: #e6a23c; } - .el-tag--plain.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag--plain.el-tag--warning .el-tag__close { - color: #e6a23c; } - .el-tag--plain.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #e6a23c; } - .el-tag--plain.el-tag--danger { - background-color: white; - border-color: #fbc4c4; - color: #f56c6c; } - .el-tag--plain.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag--plain.el-tag--danger .el-tag__close { - color: #f56c6c; } - .el-tag--plain.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f56c6c; } - .el-tag--medium { - height: 28px; - line-height: 26px; } - .el-tag--medium .el-icon-close { - -webkit-transform: scale(0.8); - transform: scale(0.8); } - .el-tag--small { - height: 24px; - padding: 0 8px; - line-height: 22px; } - .el-tag--small .el-icon-close { - -webkit-transform: scale(0.8); - transform: scale(0.8); } - .el-tag--mini { - height: 20px; - padding: 0 5px; - line-height: 19px; } - .el-tag--mini .el-icon-close { - margin-left: -3px; - -webkit-transform: scale(0.7); - transform: scale(0.7); } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-tooltip:focus:not(.focusing), .el-tooltip:focus:hover { - outline-width: 0; } - -.el-tooltip__popper { - position: absolute; - border-radius: 4px; - padding: 10px; - z-index: 2000; - font-size: 12px; - line-height: 1.2; - min-width: 10px; - word-wrap: break-word; } - .el-tooltip__popper .popper__arrow, - .el-tooltip__popper .popper__arrow::after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; } - .el-tooltip__popper .popper__arrow { - border-width: 6px; } - .el-tooltip__popper .popper__arrow::after { - content: " "; - border-width: 5px; } - .el-tooltip__popper[x-placement^="top"] { - margin-bottom: 12px; } - .el-tooltip__popper[x-placement^="top"] .popper__arrow { - bottom: -6px; - border-top-color: #303133; - border-bottom-width: 0; } - .el-tooltip__popper[x-placement^="top"] .popper__arrow::after { - bottom: 1px; - margin-left: -5px; - border-top-color: #303133; - border-bottom-width: 0; } - .el-tooltip__popper[x-placement^="bottom"] { - margin-top: 12px; } - .el-tooltip__popper[x-placement^="bottom"] .popper__arrow { - top: -6px; - border-top-width: 0; - border-bottom-color: #303133; } - .el-tooltip__popper[x-placement^="bottom"] .popper__arrow::after { - top: 1px; - margin-left: -5px; - border-top-width: 0; - border-bottom-color: #303133; } - .el-tooltip__popper[x-placement^="right"] { - margin-left: 12px; } - .el-tooltip__popper[x-placement^="right"] .popper__arrow { - left: -6px; - border-right-color: #303133; - border-left-width: 0; } - .el-tooltip__popper[x-placement^="right"] .popper__arrow::after { - bottom: -5px; - left: 1px; - border-right-color: #303133; - border-left-width: 0; } - .el-tooltip__popper[x-placement^="left"] { - margin-right: 12px; } - .el-tooltip__popper[x-placement^="left"] .popper__arrow { - right: -6px; - border-right-width: 0; - border-left-color: #303133; } - .el-tooltip__popper[x-placement^="left"] .popper__arrow::after { - right: 1px; - bottom: -5px; - margin-left: -5px; - border-right-width: 0; - border-left-color: #303133; } - .el-tooltip__popper.is-dark { - background: #303133; - color: #FFFFFF; } - .el-tooltip__popper.is-light { - background: #FFFFFF; - border: 1px solid #303133; } - .el-tooltip__popper.is-light[x-placement^="top"] .popper__arrow { - border-top-color: #303133; } - .el-tooltip__popper.is-light[x-placement^="top"] .popper__arrow::after { - border-top-color: #FFFFFF; } - .el-tooltip__popper.is-light[x-placement^="bottom"] .popper__arrow { - border-bottom-color: #303133; } - .el-tooltip__popper.is-light[x-placement^="bottom"] .popper__arrow::after { - border-bottom-color: #FFFFFF; } - .el-tooltip__popper.is-light[x-placement^="left"] .popper__arrow { - border-left-color: #303133; } - .el-tooltip__popper.is-light[x-placement^="left"] .popper__arrow::after { - border-left-color: #FFFFFF; } - .el-tooltip__popper.is-light[x-placement^="right"] .popper__arrow { - border-right-color: #303133; } - .el-tooltip__popper.is-light[x-placement^="right"] .popper__arrow::after { - border-right-color: #FFFFFF; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-table { - position: relative; - overflow: hidden; - -webkit-box-sizing: border-box; - box-sizing: border-box; - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - width: 100%; - max-width: 100%; - background-color: #FFFFFF; - font-size: 14px; - color: #606266; } - .el-table__empty-block { - min-height: 60px; - text-align: center; - width: 100%; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - .el-table__empty-text { - line-height: 60px; - width: 50%; - color: #909399; } - .el-table__expand-column .cell { - padding: 0; - text-align: center; } - .el-table__expand-icon { - position: relative; - cursor: pointer; - color: #666; - font-size: 12px; - -webkit-transition: -webkit-transform 0.2s ease-in-out; - transition: -webkit-transform 0.2s ease-in-out; - transition: transform 0.2s ease-in-out; - transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out; - height: 20px; } - .el-table__expand-icon--expanded { - -webkit-transform: rotate(90deg); - transform: rotate(90deg); } - .el-table__expand-icon > .el-icon { - position: absolute; - left: 50%; - top: 50%; - margin-left: -5px; - margin-top: -5px; } - .el-table__expanded-cell { - background-color: #FFFFFF; } - .el-table__expanded-cell[class*=cell] { - padding: 20px 50px; } - .el-table__expanded-cell:hover { - background-color: transparent !important; } - .el-table__placeholder { - display: inline-block; - width: 20px; } - .el-table__append-wrapper { - overflow: hidden; } - .el-table--fit { - border-right: 0; - border-bottom: 0; } - .el-table--fit th.gutter, .el-table--fit td.gutter { - border-right-width: 1px; } - .el-table--scrollable-x .el-table__body-wrapper { - overflow-x: auto; } - .el-table--scrollable-y .el-table__body-wrapper { - overflow-y: auto; } - .el-table thead { - color: #909399; - font-weight: 500; } - .el-table thead.is-group th { - background: #F5F7FA; } - .el-table th, .el-table td { - padding: 12px 0; - min-width: 0; - -webkit-box-sizing: border-box; - box-sizing: border-box; - text-overflow: ellipsis; - vertical-align: middle; - position: relative; - text-align: left; } - .el-table th.is-center, .el-table td.is-center { - text-align: center; } - .el-table th.is-right, .el-table td.is-right { - text-align: right; } - .el-table th.gutter, .el-table td.gutter { - width: 15px; - border-right-width: 0; - border-bottom-width: 0; - padding: 0; } - .el-table th.is-hidden > *, .el-table td.is-hidden > * { - visibility: hidden; } - .el-table--medium th, .el-table--medium td { - padding: 10px 0; } - .el-table--small { - font-size: 12px; } - .el-table--small th, .el-table--small td { - padding: 8px 0; } - .el-table--mini { - font-size: 12px; } - .el-table--mini th, .el-table--mini td { - padding: 6px 0; } - .el-table tr { - background-color: #FFFFFF; } - .el-table tr input[type="checkbox"] { - margin: 0; } - .el-table th.is-leaf, .el-table td { - border-bottom: 1px solid #EBEEF5; } - .el-table th.is-sortable { - cursor: pointer; } - .el-table th { - overflow: hidden; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background-color: #FFFFFF; } - .el-table th > .cell { - display: inline-block; - -webkit-box-sizing: border-box; - box-sizing: border-box; - position: relative; - vertical-align: middle; - padding-left: 10px; - padding-right: 10px; - width: 100%; } - .el-table th > .cell.highlight { - color: #409EFF; } - .el-table th.required > div::before { - display: inline-block; - content: ""; - width: 8px; - height: 8px; - border-radius: 50%; - background: #ff4d51; - margin-right: 5px; - vertical-align: middle; } - .el-table td div { - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-table td.gutter { - width: 0; } - .el-table .cell { - -webkit-box-sizing: border-box; - box-sizing: border-box; - overflow: hidden; - text-overflow: ellipsis; - white-space: normal; - word-break: break-all; - line-height: 23px; - padding-left: 10px; - padding-right: 10px; } - .el-table .cell.el-tooltip { - white-space: nowrap; - min-width: 50px; } - .el-table--group, .el-table--border { - border: 1px solid #EBEEF5; } - .el-table--group::after, .el-table--border::after, .el-table::before { - content: ''; - position: absolute; - background-color: #EBEEF5; - z-index: 1; } - .el-table--group::after, .el-table--border::after { - top: 0; - right: 0; - width: 1px; - height: 100%; } - .el-table::before { - left: 0; - bottom: 0; - width: 100%; - height: 1px; } - .el-table--border { - border-right: none; - border-bottom: none; } - .el-table--border.el-loading-parent--relative { - border-color: transparent; } - .el-table--border th, .el-table--border td { - border-right: 1px solid #EBEEF5; } - .el-table--border th:first-child .cell, .el-table--border td:first-child .cell { - padding-left: 10px; } - .el-table--border th.gutter:last-of-type { - border-bottom: 1px solid #EBEEF5; - border-bottom-width: 1px; } - .el-table--border th { - border-bottom: 1px solid #EBEEF5; } - .el-table--hidden { - visibility: hidden; } - .el-table__fixed, .el-table__fixed-right { - position: absolute; - top: 0; - left: 0; - overflow-x: hidden; - overflow-y: hidden; - -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.12); - box-shadow: 0 0 10px rgba(0, 0, 0, 0.12); } - .el-table__fixed::before, .el-table__fixed-right::before { - content: ''; - position: absolute; - left: 0; - bottom: 0; - width: 100%; - height: 1px; - background-color: #EBEEF5; - z-index: 4; } - .el-table__fixed-right-patch { - position: absolute; - top: -1px; - right: 0; - background-color: #FFFFFF; - border-bottom: 1px solid #EBEEF5; } - .el-table__fixed-right { - top: 0; - left: auto; - right: 0; } - .el-table__fixed-right .el-table__fixed-header-wrapper, - .el-table__fixed-right .el-table__fixed-body-wrapper, - .el-table__fixed-right .el-table__fixed-footer-wrapper { - left: auto; - right: 0; } - .el-table__fixed-header-wrapper { - position: absolute; - left: 0; - top: 0; - z-index: 3; } - .el-table__fixed-footer-wrapper { - position: absolute; - left: 0; - bottom: 0; - z-index: 3; } - .el-table__fixed-footer-wrapper tbody td { - border-top: 1px solid #EBEEF5; - background-color: #F5F7FA; - color: #606266; } - .el-table__fixed-body-wrapper { - position: absolute; - left: 0; - top: 37px; - overflow: hidden; - z-index: 3; } - .el-table__header-wrapper, .el-table__body-wrapper, .el-table__footer-wrapper { - width: 100%; } - .el-table__footer-wrapper { - margin-top: -1px; } - .el-table__footer-wrapper td { - border-top: 1px solid #EBEEF5; } - .el-table__header, .el-table__body, .el-table__footer { - table-layout: fixed; - border-collapse: separate; } - .el-table__header-wrapper, .el-table__footer-wrapper { - overflow: hidden; } - .el-table__header-wrapper tbody td, .el-table__footer-wrapper tbody td { - background-color: #F5F7FA; - color: #606266; } - .el-table__body-wrapper { - overflow: hidden; - position: relative; } - .el-table__body-wrapper.is-scrolling-none ~ .el-table__fixed, - .el-table__body-wrapper.is-scrolling-none ~ .el-table__fixed-right { - -webkit-box-shadow: none; - box-shadow: none; } - .el-table__body-wrapper.is-scrolling-left ~ .el-table__fixed { - -webkit-box-shadow: none; - box-shadow: none; } - .el-table__body-wrapper.is-scrolling-right ~ .el-table__fixed-right { - -webkit-box-shadow: none; - box-shadow: none; } - .el-table__body-wrapper .el-table--border.is-scrolling-right ~ .el-table__fixed-right { - border-left: 1px solid #EBEEF5; } - .el-table__body-wrapper .el-table--border.is-scrolling-left ~ .el-table__fixed { - border-right: 1px solid #EBEEF5; } - .el-table .caret-wrapper { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - height: 34px; - width: 24px; - vertical-align: middle; - cursor: pointer; - overflow: initial; - position: relative; } - .el-table .sort-caret { - width: 0; - height: 0; - border: solid 5px transparent; - position: absolute; - left: 7px; } - .el-table .sort-caret.ascending { - border-bottom-color: #C0C4CC; - top: 5px; } - .el-table .sort-caret.descending { - border-top-color: #C0C4CC; - bottom: 7px; } - .el-table .ascending .sort-caret.ascending { - border-bottom-color: #409EFF; } - .el-table .descending .sort-caret.descending { - border-top-color: #409EFF; } - .el-table .hidden-columns { - visibility: hidden; - position: absolute; - z-index: -1; } - .el-table--striped .el-table__body tr.el-table__row--striped td { - background: #FAFAFA; } - .el-table--striped .el-table__body tr.el-table__row--striped.current-row td { - background-color: #ecf5ff; } - .el-table__body tr.hover-row > td, .el-table__body tr.hover-row.current-row > td, .el-table__body tr.hover-row.el-table__row--striped > td, .el-table__body tr.hover-row.el-table__row--striped.current-row > td { - background-color: #F5F7FA; } - .el-table__body tr.current-row > td { - background-color: #ecf5ff; } - .el-table__column-resize-proxy { - position: absolute; - left: 200px; - top: 0; - bottom: 0; - width: 0; - border-left: 1px solid #EBEEF5; - z-index: 10; } - .el-table__column-filter-trigger { - display: inline-block; - line-height: 34px; - cursor: pointer; } - .el-table__column-filter-trigger i { - color: #909399; - font-size: 12px; - -webkit-transform: scale(0.75); - transform: scale(0.75); } - .el-table--enable-row-transition .el-table__body td { - -webkit-transition: background-color .25s ease; - transition: background-color .25s ease; } - .el-table--enable-row-hover .el-table__body tr:hover > td { - background-color: #F5F7FA; } - .el-table--fluid-height .el-table__fixed, - .el-table--fluid-height .el-table__fixed-right { - bottom: 0; - overflow: hidden; } - .el-table [class*=el-table__row--level] .el-table__expand-icon { - display: inline-block; - width: 20px; - line-height: 20px; - height: 20px; - text-align: center; - margin-right: 3px; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-checkbox { - color: #606266; - font-weight: 500; - font-size: 14px; - position: relative; - cursor: pointer; - display: inline-block; - white-space: nowrap; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - margin-right: 30px; } - .el-checkbox.is-bordered { - padding: 9px 20px 9px 10px; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - line-height: normal; - height: 40px; } - .el-checkbox.is-bordered.is-checked { - border-color: #409EFF; } - .el-checkbox.is-bordered.is-disabled { - border-color: #EBEEF5; - cursor: not-allowed; } - .el-checkbox.is-bordered + .el-checkbox.is-bordered { - margin-left: 10px; } - .el-checkbox.is-bordered.el-checkbox--medium { - padding: 7px 20px 7px 10px; - border-radius: 4px; - height: 36px; } - .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label { - line-height: 17px; - font-size: 14px; } - .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner { - height: 14px; - width: 14px; } - .el-checkbox.is-bordered.el-checkbox--small { - padding: 5px 15px 5px 10px; - border-radius: 3px; - height: 32px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label { - line-height: 15px; - font-size: 12px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner { - height: 12px; - width: 12px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after { - height: 6px; - width: 2px; } - .el-checkbox.is-bordered.el-checkbox--mini { - padding: 3px 15px 3px 10px; - border-radius: 3px; - height: 28px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label { - line-height: 12px; - font-size: 12px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner { - height: 12px; - width: 12px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after { - height: 6px; - width: 2px; } - .el-checkbox__input { - white-space: nowrap; - cursor: pointer; - outline: none; - display: inline-block; - line-height: 1; - position: relative; - vertical-align: middle; } - .el-checkbox__input.is-disabled .el-checkbox__inner { - background-color: #edf2fc; - border-color: #DCDFE6; - cursor: not-allowed; } - .el-checkbox__input.is-disabled .el-checkbox__inner::after { - cursor: not-allowed; - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled .el-checkbox__inner + .el-checkbox__label { - cursor: not-allowed; } - .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { - background-color: #F2F6FC; - border-color: #DCDFE6; } - .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after { - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner { - background-color: #F2F6FC; - border-color: #DCDFE6; } - .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before { - background-color: #C0C4CC; - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled + span.el-checkbox__label { - color: #C0C4CC; - cursor: not-allowed; } - .el-checkbox__input.is-checked .el-checkbox__inner { - background-color: #409EFF; - border-color: #409EFF; } - .el-checkbox__input.is-checked .el-checkbox__inner::after { - -webkit-transform: rotate(45deg) scaleY(1); - transform: rotate(45deg) scaleY(1); } - .el-checkbox__input.is-checked + .el-checkbox__label { - color: #409EFF; } - .el-checkbox__input.is-focus { - /*focus时 视觉上区分*/ } - .el-checkbox__input.is-focus .el-checkbox__inner { - border-color: #409EFF; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner { - background-color: #409EFF; - border-color: #409EFF; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner::before { - content: ''; - position: absolute; - display: block; - background-color: #FFFFFF; - height: 2px; - -webkit-transform: scale(0.5); - transform: scale(0.5); - left: 0; - right: 0; - top: 5px; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner::after { - display: none; } - .el-checkbox__inner { - display: inline-block; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 2px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 14px; - height: 14px; - background-color: #FFFFFF; - z-index: 1; - -webkit-transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46), background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46); - transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46), background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46); } - .el-checkbox__inner:hover { - border-color: #409EFF; } - .el-checkbox__inner::after { - -webkit-box-sizing: content-box; - box-sizing: content-box; - content: ""; - border: 1px solid #FFFFFF; - border-left: 0; - border-top: 0; - height: 7px; - left: 4px; - position: absolute; - top: 1px; - -webkit-transform: rotate(45deg) scaleY(0); - transform: rotate(45deg) scaleY(0); - width: 3px; - -webkit-transition: -webkit-transform .15s ease-in .05s; - transition: -webkit-transform .15s ease-in .05s; - transition: transform .15s ease-in .05s; - transition: transform .15s ease-in .05s, -webkit-transform .15s ease-in .05s; - -webkit-transform-origin: center; - transform-origin: center; } - .el-checkbox__original { - opacity: 0; - outline: none; - position: absolute; - margin: 0; - width: 0; - height: 0; - z-index: -1; } - .el-checkbox__label { - display: inline-block; - padding-left: 10px; - line-height: 19px; - font-size: 14px; } - .el-checkbox:last-of-type { - margin-right: 0; } - -.el-checkbox-button { - position: relative; - display: inline-block; } - .el-checkbox-button__inner { - display: inline-block; - line-height: 1; - font-weight: 500; - white-space: nowrap; - vertical-align: middle; - cursor: pointer; - background: #FFFFFF; - border: 1px solid #DCDFE6; - border-left: 0; - color: #606266; - -webkit-appearance: none; - text-align: center; - -webkit-box-sizing: border-box; - box-sizing: border-box; - outline: none; - margin: 0; - position: relative; - -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - padding: 12px 20px; - font-size: 14px; - border-radius: 0; } - .el-checkbox-button__inner.is-round { - padding: 12px 20px; } - .el-checkbox-button__inner:hover { - color: #409EFF; } - .el-checkbox-button__inner [class*="el-icon-"] { - line-height: 0.9; } - .el-checkbox-button__inner [class*="el-icon-"] + span { - margin-left: 5px; } - .el-checkbox-button__original { - opacity: 0; - outline: none; - position: absolute; - margin: 0; - z-index: -1; } - .el-checkbox-button.is-checked .el-checkbox-button__inner { - color: #FFFFFF; - background-color: #409EFF; - border-color: #409EFF; - -webkit-box-shadow: -1px 0 0 0 #8cc5ff; - box-shadow: -1px 0 0 0 #8cc5ff; } - .el-checkbox-button.is-checked:first-child .el-checkbox-button__inner { - border-left-color: #409EFF; } - .el-checkbox-button.is-disabled .el-checkbox-button__inner { - color: #C0C4CC; - cursor: not-allowed; - background-image: none; - background-color: #FFFFFF; - border-color: #EBEEF5; - -webkit-box-shadow: none; - box-shadow: none; } - .el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner { - border-left-color: #EBEEF5; } - .el-checkbox-button:first-child .el-checkbox-button__inner { - border-left: 1px solid #DCDFE6; - border-radius: 4px 0 0 4px; - -webkit-box-shadow: none !important; - box-shadow: none !important; } - .el-checkbox-button.is-focus .el-checkbox-button__inner { - border-color: #409EFF; } - .el-checkbox-button:last-child .el-checkbox-button__inner { - border-radius: 0 4px 4px 0; } - .el-checkbox-button--medium .el-checkbox-button__inner { - padding: 10px 20px; - font-size: 14px; - border-radius: 0; } - .el-checkbox-button--medium .el-checkbox-button__inner.is-round { - padding: 10px 20px; } - .el-checkbox-button--small .el-checkbox-button__inner { - padding: 9px 15px; - font-size: 12px; - border-radius: 0; } - .el-checkbox-button--small .el-checkbox-button__inner.is-round { - padding: 9px 15px; } - .el-checkbox-button--mini .el-checkbox-button__inner { - padding: 7px 15px; - font-size: 12px; - border-radius: 0; } - .el-checkbox-button--mini .el-checkbox-button__inner.is-round { - padding: 7px 15px; } - -.el-checkbox-group { - font-size: 0; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-tag { - background-color: #ecf5ff; - border-color: #d9ecff; - color: #409eff; - display: inline-block; - height: 32px; - padding: 0 10px; - line-height: 30px; - font-size: 12px; - color: #409EFF; - border-width: 1px; - border-style: solid; - border-radius: 4px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - white-space: nowrap; } - .el-tag.is-hit { - border-color: #409EFF; } - .el-tag .el-tag__close { - color: #409eff; } - .el-tag .el-tag__close:hover { - color: #FFFFFF; - background-color: #409eff; } - .el-tag.el-tag--info { - background-color: #f4f4f5; - border-color: #e9e9eb; - color: #909399; } - .el-tag.el-tag--info.is-hit { - border-color: #909399; } - .el-tag.el-tag--info .el-tag__close { - color: #909399; } - .el-tag.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #909399; } - .el-tag.el-tag--success { - background-color: #f0f9eb; - border-color: #e1f3d8; - color: #67c23a; } - .el-tag.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag.el-tag--success .el-tag__close { - color: #67c23a; } - .el-tag.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #67c23a; } - .el-tag.el-tag--warning { - background-color: #fdf6ec; - border-color: #faecd8; - color: #e6a23c; } - .el-tag.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag.el-tag--warning .el-tag__close { - color: #e6a23c; } - .el-tag.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #e6a23c; } - .el-tag.el-tag--danger { - background-color: #fef0f0; - border-color: #fde2e2; - color: #f56c6c; } - .el-tag.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag.el-tag--danger .el-tag__close { - color: #f56c6c; } - .el-tag.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f56c6c; } - .el-tag .el-icon-close { - border-radius: 50%; - text-align: center; - position: relative; - cursor: pointer; - font-size: 12px; - height: 16px; - width: 16px; - line-height: 16px; - vertical-align: middle; - top: -1px; - right: -5px; } - .el-tag .el-icon-close::before { - display: block; } - .el-tag--dark { - background-color: #409eff; - border-color: #409eff; - color: white; } - .el-tag--dark.is-hit { - border-color: #409EFF; } - .el-tag--dark .el-tag__close { - color: white; } - .el-tag--dark .el-tag__close:hover { - color: #FFFFFF; - background-color: #66b1ff; } - .el-tag--dark.el-tag--info { - background-color: #909399; - border-color: #909399; - color: white; } - .el-tag--dark.el-tag--info.is-hit { - border-color: #909399; } - .el-tag--dark.el-tag--info .el-tag__close { - color: white; } - .el-tag--dark.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #a6a9ad; } - .el-tag--dark.el-tag--success { - background-color: #67c23a; - border-color: #67c23a; - color: white; } - .el-tag--dark.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag--dark.el-tag--success .el-tag__close { - color: white; } - .el-tag--dark.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #85ce61; } - .el-tag--dark.el-tag--warning { - background-color: #e6a23c; - border-color: #e6a23c; - color: white; } - .el-tag--dark.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag--dark.el-tag--warning .el-tag__close { - color: white; } - .el-tag--dark.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #ebb563; } - .el-tag--dark.el-tag--danger { - background-color: #f56c6c; - border-color: #f56c6c; - color: white; } - .el-tag--dark.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag--dark.el-tag--danger .el-tag__close { - color: white; } - .el-tag--dark.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f78989; } - .el-tag--plain { - background-color: white; - border-color: #b3d8ff; - color: #409eff; } - .el-tag--plain.is-hit { - border-color: #409EFF; } - .el-tag--plain .el-tag__close { - color: #409eff; } - .el-tag--plain .el-tag__close:hover { - color: #FFFFFF; - background-color: #409eff; } - .el-tag--plain.el-tag--info { - background-color: white; - border-color: #d3d4d6; - color: #909399; } - .el-tag--plain.el-tag--info.is-hit { - border-color: #909399; } - .el-tag--plain.el-tag--info .el-tag__close { - color: #909399; } - .el-tag--plain.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #909399; } - .el-tag--plain.el-tag--success { - background-color: white; - border-color: #c2e7b0; - color: #67c23a; } - .el-tag--plain.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag--plain.el-tag--success .el-tag__close { - color: #67c23a; } - .el-tag--plain.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #67c23a; } - .el-tag--plain.el-tag--warning { - background-color: white; - border-color: #f5dab1; - color: #e6a23c; } - .el-tag--plain.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag--plain.el-tag--warning .el-tag__close { - color: #e6a23c; } - .el-tag--plain.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #e6a23c; } - .el-tag--plain.el-tag--danger { - background-color: white; - border-color: #fbc4c4; - color: #f56c6c; } - .el-tag--plain.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag--plain.el-tag--danger .el-tag__close { - color: #f56c6c; } - .el-tag--plain.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f56c6c; } - .el-tag--medium { - height: 28px; - line-height: 26px; } - .el-tag--medium .el-icon-close { - -webkit-transform: scale(0.8); - transform: scale(0.8); } - .el-tag--small { - height: 24px; - padding: 0 8px; - line-height: 22px; } - .el-tag--small .el-icon-close { - -webkit-transform: scale(0.8); - transform: scale(0.8); } - .el-tag--mini { - height: 20px; - padding: 0 5px; - line-height: 19px; } - .el-tag--mini .el-icon-close { - margin-left: -3px; - -webkit-transform: scale(0.7); - transform: scale(0.7); } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-table-column--selection .cell { - padding-left: 14px; - padding-right: 14px; } - -.el-table-filter { - border: solid 1px #EBEEF5; - border-radius: 2px; - background-color: #FFFFFF; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - -webkit-box-sizing: border-box; - box-sizing: border-box; - margin: 2px 0; - /** used for dropdown mode */ } - .el-table-filter__list { - padding: 5px 0; - margin: 0; - list-style: none; - min-width: 100px; } - .el-table-filter__list-item { - line-height: 36px; - padding: 0 10px; - cursor: pointer; - font-size: 14px; } - .el-table-filter__list-item:hover { - background-color: #409EFF; - color: #FFFFFF; } - .el-table-filter__list-item.is-active { - background-color: #409EFF; - color: #FFFFFF; } - .el-table-filter__content { - min-width: 100px; } - .el-table-filter__bottom { - border-top: 1px solid #EBEEF5; - padding: 8px; } - .el-table-filter__bottom button { - background: transparent; - border: none; - color: #606266; - cursor: pointer; - font-size: 13px; - padding: 0 3px; } - .el-table-filter__bottom button:hover { - color: #409EFF; } - .el-table-filter__bottom button:focus { - outline: none; } - .el-table-filter__bottom button.is-disabled { - color: #C0C4CC; - cursor: not-allowed; } - .el-table-filter__wrap { - max-height: 280px; } - .el-table-filter__checkbox-group { - padding: 10px; } - .el-table-filter__checkbox-group label.el-checkbox { - display: block; - margin-right: 5px; - margin-bottom: 8px; - margin-left: 5px; } - .el-table-filter__checkbox-group .el-checkbox:last-child { - margin-bottom: 0; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -.el-date-table { - font-size: 12px; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; } - .el-date-table.is-week-mode .el-date-table__row:hover div { - background-color: #F2F6FC; } - .el-date-table.is-week-mode .el-date-table__row:hover td.available:hover { - color: #606266; } - .el-date-table.is-week-mode .el-date-table__row:hover td:first-child div { - margin-left: 5px; - border-top-left-radius: 15px; - border-bottom-left-radius: 15px; } - .el-date-table.is-week-mode .el-date-table__row:hover td:last-child div { - margin-right: 5px; - border-top-right-radius: 15px; - border-bottom-right-radius: 15px; } - .el-date-table.is-week-mode .el-date-table__row.current div { - background-color: #F2F6FC; } - .el-date-table td { - width: 32px; - height: 30px; - padding: 4px 0; - -webkit-box-sizing: border-box; - box-sizing: border-box; - text-align: center; - cursor: pointer; - position: relative; } - .el-date-table td div { - height: 30px; - padding: 3px 0; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-date-table td span { - width: 24px; - height: 24px; - display: block; - margin: 0 auto; - line-height: 24px; - position: absolute; - left: 50%; - -webkit-transform: translateX(-50%); - transform: translateX(-50%); - border-radius: 50%; } - .el-date-table td.next-month, .el-date-table td.prev-month { - color: #C0C4CC; } - .el-date-table td.today { - position: relative; } - .el-date-table td.today span { - color: #409EFF; - font-weight: bold; } - .el-date-table td.today.start-date span, - .el-date-table td.today.end-date span { - color: #FFFFFF; } - .el-date-table td.available:hover { - color: #409EFF; } - .el-date-table td.in-range div { - background-color: #F2F6FC; } - .el-date-table td.in-range div:hover { - background-color: #F2F6FC; } - .el-date-table td.current:not(.disabled) span { - color: #FFFFFF; - background-color: #409EFF; } - .el-date-table td.start-date div, - .el-date-table td.end-date div { - color: #FFFFFF; } - .el-date-table td.start-date span, - .el-date-table td.end-date span { - background-color: #409EFF; } - .el-date-table td.start-date div { - margin-left: 5px; - border-top-left-radius: 15px; - border-bottom-left-radius: 15px; } - .el-date-table td.end-date div { - margin-right: 5px; - border-top-right-radius: 15px; - border-bottom-right-radius: 15px; } - .el-date-table td.disabled div { - background-color: #F5F7FA; - opacity: 1; - cursor: not-allowed; - color: #C0C4CC; } - .el-date-table td.selected div { - margin-left: 5px; - margin-right: 5px; - background-color: #F2F6FC; - border-radius: 15px; } - .el-date-table td.selected div:hover { - background-color: #F2F6FC; } - .el-date-table td.selected span { - background-color: #409EFF; - color: #FFFFFF; - border-radius: 15px; } - .el-date-table td.week { - font-size: 80%; - color: #606266; } - .el-date-table th { - padding: 5px; - color: #606266; - font-weight: 400; - border-bottom: solid 1px #EBEEF5; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-month-table { - font-size: 12px; - margin: -1px; - border-collapse: collapse; } - .el-month-table td { - text-align: center; - padding: 8px 0px; - cursor: pointer; } - .el-month-table td div { - height: 48px; - padding: 6px 0; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-month-table td.today .cell { - color: #409EFF; - font-weight: bold; } - .el-month-table td.today.start-date .cell, - .el-month-table td.today.end-date .cell { - color: #FFFFFF; } - .el-month-table td.disabled .cell { - background-color: #F5F7FA; - cursor: not-allowed; - color: #C0C4CC; } - .el-month-table td.disabled .cell:hover { - color: #C0C4CC; } - .el-month-table td .cell { - width: 60px; - height: 36px; - display: block; - line-height: 36px; - color: #606266; - margin: 0 auto; - border-radius: 18px; } - .el-month-table td .cell:hover { - color: #409EFF; } - .el-month-table td.in-range div { - background-color: #F2F6FC; } - .el-month-table td.in-range div:hover { - background-color: #F2F6FC; } - .el-month-table td.start-date div, - .el-month-table td.end-date div { - color: #FFFFFF; } - .el-month-table td.start-date .cell, - .el-month-table td.end-date .cell { - color: #FFFFFF; - background-color: #409EFF; } - .el-month-table td.start-date div { - border-top-left-radius: 24px; - border-bottom-left-radius: 24px; } - .el-month-table td.end-date div { - border-top-right-radius: 24px; - border-bottom-right-radius: 24px; } - .el-month-table td.current:not(.disabled) .cell { - color: #409EFF; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-year-table { - font-size: 12px; - margin: -1px; - border-collapse: collapse; } - .el-year-table .el-icon { - color: #303133; } - .el-year-table td { - text-align: center; - padding: 20px 3px; - cursor: pointer; } - .el-year-table td.today .cell { - color: #409EFF; - font-weight: bold; } - .el-year-table td.disabled .cell { - background-color: #F5F7FA; - cursor: not-allowed; - color: #C0C4CC; } - .el-year-table td.disabled .cell:hover { - color: #C0C4CC; } - .el-year-table td .cell { - width: 48px; - height: 32px; - display: block; - line-height: 32px; - color: #606266; - margin: 0 auto; } - .el-year-table td .cell:hover { - color: #409EFF; } - .el-year-table td.current:not(.disabled) .cell { - color: #409EFF; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-time-spinner.has-seconds .el-time-spinner__wrapper { - width: 33.3%; } - -.el-time-spinner__wrapper { - max-height: 190px; - overflow: auto; - display: inline-block; - width: 50%; - vertical-align: top; - position: relative; } - .el-time-spinner__wrapper .el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default) { - padding-bottom: 15px; } - .el-time-spinner__wrapper.is-arrow { - -webkit-box-sizing: border-box; - box-sizing: border-box; - text-align: center; - overflow: hidden; } - .el-time-spinner__wrapper.is-arrow .el-time-spinner__list { - -webkit-transform: translateY(-32px); - transform: translateY(-32px); } - .el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.disabled):not(.active) { - background: #FFFFFF; - cursor: default; } - -.el-time-spinner__arrow { - font-size: 12px; - color: #909399; - position: absolute; - left: 0; - width: 100%; - z-index: 1; - text-align: center; - height: 30px; - line-height: 30px; - cursor: pointer; } - .el-time-spinner__arrow:hover { - color: #409EFF; } - .el-time-spinner__arrow.el-icon-arrow-up { - top: 10px; } - .el-time-spinner__arrow.el-icon-arrow-down { - bottom: 10px; } - -.el-time-spinner__input.el-input { - width: 70%; } - .el-time-spinner__input.el-input .el-input__inner { - padding: 0; - text-align: center; } - -.el-time-spinner__list { - padding: 0; - margin: 0; - list-style: none; - text-align: center; } - .el-time-spinner__list::after, .el-time-spinner__list::before { - content: ''; - display: block; - width: 100%; - height: 80px; } - -.el-time-spinner__item { - height: 32px; - line-height: 32px; - font-size: 12px; - color: #606266; } - .el-time-spinner__item:hover:not(.disabled):not(.active) { - background: #F5F7FA; - cursor: pointer; } - .el-time-spinner__item.active:not(.disabled) { - color: #303133; - font-weight: bold; } - .el-time-spinner__item.disabled { - color: #C0C4CC; - cursor: not-allowed; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.fade-in-linear-enter-active, -.fade-in-linear-leave-active { - -webkit-transition: opacity 200ms linear; - transition: opacity 200ms linear; } - -.fade-in-linear-enter, -.fade-in-linear-leave, -.fade-in-linear-leave-active { - opacity: 0; } - -.el-fade-in-linear-enter-active, -.el-fade-in-linear-leave-active { - -webkit-transition: opacity 200ms linear; - transition: opacity 200ms linear; } - -.el-fade-in-linear-enter, -.el-fade-in-linear-leave, -.el-fade-in-linear-leave-active { - opacity: 0; } - -.el-fade-in-enter-active, -.el-fade-in-leave-active { - -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-fade-in-enter, -.el-fade-in-leave-active { - opacity: 0; } - -.el-zoom-in-center-enter-active, -.el-zoom-in-center-leave-active { - -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-zoom-in-center-enter, -.el-zoom-in-center-leave-active { - opacity: 0; - -webkit-transform: scaleX(0); - transform: scaleX(0); } - -.el-zoom-in-top-enter-active, -.el-zoom-in-top-leave-active { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: center top; - transform-origin: center top; } - -.el-zoom-in-top-enter, -.el-zoom-in-top-leave-active { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0); } - -.el-zoom-in-bottom-enter-active, -.el-zoom-in-bottom-leave-active { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; } - -.el-zoom-in-bottom-enter, -.el-zoom-in-bottom-leave-active { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0); } - -.el-zoom-in-left-enter-active, -.el-zoom-in-left-leave-active { - opacity: 1; - -webkit-transform: scale(1, 1); - transform: scale(1, 1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: top left; - transform-origin: top left; } - -.el-zoom-in-left-enter, -.el-zoom-in-left-leave-active { - opacity: 0; - -webkit-transform: scale(0.45, 0.45); - transform: scale(0.45, 0.45); } - -.collapse-transition { - -webkit-transition: 0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out; - transition: 0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out; } - -.horizontal-collapse-transition { - -webkit-transition: 0.3s width ease-in-out, 0.3s padding-left ease-in-out, 0.3s padding-right ease-in-out; - transition: 0.3s width ease-in-out, 0.3s padding-left ease-in-out, 0.3s padding-right ease-in-out; } - -.el-list-enter-active, -.el-list-leave-active { - -webkit-transition: all 1s; - transition: all 1s; } - -.el-list-enter, .el-list-leave-active { - opacity: 0; - -webkit-transform: translateY(-30px); - transform: translateY(-30px); } - -.el-opacity-transition { - -webkit-transition: opacity 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: opacity 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-date-editor { - position: relative; - display: inline-block; - text-align: left; } - .el-date-editor.el-input, .el-date-editor.el-input__inner { - width: 220px; } - .el-date-editor--monthrange.el-input, .el-date-editor--monthrange.el-input__inner { - width: 300px; } - .el-date-editor--daterange.el-input, .el-date-editor--daterange.el-input__inner, .el-date-editor--timerange.el-input, .el-date-editor--timerange.el-input__inner { - width: 350px; } - .el-date-editor--datetimerange.el-input, .el-date-editor--datetimerange.el-input__inner { - width: 400px; } - .el-date-editor--dates .el-input__inner { - text-overflow: ellipsis; - white-space: nowrap; } - .el-date-editor .el-icon-circle-close { - cursor: pointer; } - .el-date-editor .el-range__icon { - font-size: 14px; - margin-left: -5px; - color: #C0C4CC; - float: left; - line-height: 32px; } - .el-date-editor .el-range-input { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - border: none; - outline: none; - display: inline-block; - height: 100%; - margin: 0; - padding: 0; - width: 39%; - text-align: center; - font-size: 14px; - color: #606266; } - .el-date-editor .el-range-input::-webkit-input-placeholder { - color: #C0C4CC; } - .el-date-editor .el-range-input::-moz-placeholder { - color: #C0C4CC; } - .el-date-editor .el-range-input::-ms-input-placeholder { - color: #C0C4CC; } - .el-date-editor .el-range-input::placeholder { - color: #C0C4CC; } - .el-date-editor .el-range-separator { - display: inline-block; - height: 100%; - padding: 0 5px; - margin: 0; - text-align: center; - line-height: 32px; - font-size: 14px; - width: 5%; - color: #303133; } - .el-date-editor .el-range__close-icon { - font-size: 14px; - color: #C0C4CC; - width: 25px; - display: inline-block; - float: right; - line-height: 32px; } - -.el-range-editor.el-input__inner { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - padding: 3px 10px; } - -.el-range-editor .el-range-input { - line-height: 1; } - -.el-range-editor.is-active { - border-color: #409EFF; } - .el-range-editor.is-active:hover { - border-color: #409EFF; } - -.el-range-editor--medium.el-input__inner { - height: 36px; } - -.el-range-editor--medium .el-range-separator { - line-height: 28px; - font-size: 14px; } - -.el-range-editor--medium .el-range-input { - font-size: 14px; } - -.el-range-editor--medium .el-range__icon, -.el-range-editor--medium .el-range__close-icon { - line-height: 28px; } - -.el-range-editor--small.el-input__inner { - height: 32px; } - -.el-range-editor--small .el-range-separator { - line-height: 24px; - font-size: 13px; } - -.el-range-editor--small .el-range-input { - font-size: 13px; } - -.el-range-editor--small .el-range__icon, -.el-range-editor--small .el-range__close-icon { - line-height: 24px; } - -.el-range-editor--mini.el-input__inner { - height: 28px; } - -.el-range-editor--mini .el-range-separator { - line-height: 20px; - font-size: 12px; } - -.el-range-editor--mini .el-range-input { - font-size: 12px; } - -.el-range-editor--mini .el-range__icon, -.el-range-editor--mini .el-range__close-icon { - line-height: 20px; } - -.el-range-editor.is-disabled { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-range-editor.is-disabled:hover, .el-range-editor.is-disabled:focus { - border-color: #E4E7ED; } - .el-range-editor.is-disabled input { - background-color: #F5F7FA; - color: #C0C4CC; - cursor: not-allowed; } - .el-range-editor.is-disabled input::-webkit-input-placeholder { - color: #C0C4CC; } - .el-range-editor.is-disabled input::-moz-placeholder { - color: #C0C4CC; } - .el-range-editor.is-disabled input::-ms-input-placeholder { - color: #C0C4CC; } - .el-range-editor.is-disabled input::placeholder { - color: #C0C4CC; } - .el-range-editor.is-disabled .el-range-separator { - color: #C0C4CC; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-picker-panel { - color: #606266; - border: 1px solid #E4E7ED; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - background: #FFFFFF; - border-radius: 4px; - line-height: 30px; - margin: 5px 0; } - .el-picker-panel__body::after, .el-picker-panel__body-wrapper::after { - content: ""; - display: table; - clear: both; } - .el-picker-panel__content { - position: relative; - margin: 15px; } - .el-picker-panel__footer { - border-top: 1px solid #e4e4e4; - padding: 4px; - text-align: right; - background-color: #FFFFFF; - position: relative; - font-size: 0; } - .el-picker-panel__shortcut { - display: block; - width: 100%; - border: 0; - background-color: transparent; - line-height: 28px; - font-size: 14px; - color: #606266; - padding-left: 12px; - text-align: left; - outline: none; - cursor: pointer; } - .el-picker-panel__shortcut:hover { - color: #409EFF; } - .el-picker-panel__shortcut.active { - background-color: #e6f1fe; - color: #409EFF; } - .el-picker-panel__btn { - border: 1px solid #dcdcdc; - color: #333; - line-height: 24px; - border-radius: 2px; - padding: 0 20px; - cursor: pointer; - background-color: transparent; - outline: none; - font-size: 12px; } - .el-picker-panel__btn[disabled] { - color: #cccccc; - cursor: not-allowed; } - .el-picker-panel__icon-btn { - font-size: 12px; - color: #303133; - border: 0; - background: transparent; - cursor: pointer; - outline: none; - margin-top: 8px; } - .el-picker-panel__icon-btn:hover { - color: #409EFF; } - .el-picker-panel__icon-btn.is-disabled { - color: #bbb; } - .el-picker-panel__icon-btn.is-disabled:hover { - cursor: not-allowed; } - .el-picker-panel__link-btn { - vertical-align: middle; } - -.el-picker-panel *[slot=sidebar], -.el-picker-panel__sidebar { - position: absolute; - top: 0; - bottom: 0; - width: 110px; - border-right: 1px solid #e4e4e4; - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding-top: 6px; - background-color: #FFFFFF; - overflow: auto; } - -.el-picker-panel *[slot=sidebar] + .el-picker-panel__body, -.el-picker-panel__sidebar + .el-picker-panel__body { - margin-left: 110px; } - -.el-date-picker { - width: 322px; } - .el-date-picker.has-sidebar.has-time { - width: 434px; } - .el-date-picker.has-sidebar { - width: 438px; } - .el-date-picker.has-time .el-picker-panel__body-wrapper { - position: relative; } - .el-date-picker .el-picker-panel__content { - width: 292px; } - .el-date-picker table { - table-layout: fixed; - width: 100%; } - .el-date-picker__editor-wrap { - position: relative; - display: table-cell; - padding: 0 5px; } - .el-date-picker__time-header { - position: relative; - border-bottom: 1px solid #e4e4e4; - font-size: 12px; - padding: 8px 5px 5px 5px; - display: table; - width: 100%; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-date-picker__header { - margin: 12px; - text-align: center; } - .el-date-picker__header--bordered { - margin-bottom: 0; - padding-bottom: 12px; - border-bottom: solid 1px #EBEEF5; } - .el-date-picker__header--bordered + .el-picker-panel__content { - margin-top: 0; } - .el-date-picker__header-label { - font-size: 16px; - font-weight: 500; - padding: 0 5px; - line-height: 22px; - text-align: center; - cursor: pointer; - color: #606266; } - .el-date-picker__header-label:hover { - color: #409EFF; } - .el-date-picker__header-label.active { - color: #409EFF; } - .el-date-picker__prev-btn { - float: left; } - .el-date-picker__next-btn { - float: right; } - .el-date-picker__time-wrap { - padding: 10px; - text-align: center; } - .el-date-picker__time-label { - float: left; - cursor: pointer; - line-height: 30px; - margin-left: 10px; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-date-range-picker { - width: 646px; } - .el-date-range-picker.has-sidebar { - width: 756px; } - .el-date-range-picker table { - table-layout: fixed; - width: 100%; } - .el-date-range-picker .el-picker-panel__body { - min-width: 513px; } - .el-date-range-picker .el-picker-panel__content { - margin: 0; } - .el-date-range-picker__header { - position: relative; - text-align: center; - height: 28px; } - .el-date-range-picker__header [class*=arrow-left] { - float: left; } - .el-date-range-picker__header [class*=arrow-right] { - float: right; } - .el-date-range-picker__header div { - font-size: 16px; - font-weight: 500; - margin-right: 50px; } - .el-date-range-picker__content { - float: left; - width: 50%; - -webkit-box-sizing: border-box; - box-sizing: border-box; - margin: 0; - padding: 16px; } - .el-date-range-picker__content.is-left { - border-right: 1px solid #e4e4e4; } - .el-date-range-picker__content .el-date-range-picker__header div { - margin-left: 50px; - margin-right: 50px; } - .el-date-range-picker__editors-wrap { - -webkit-box-sizing: border-box; - box-sizing: border-box; - display: table-cell; } - .el-date-range-picker__editors-wrap.is-right { - text-align: right; } - .el-date-range-picker__time-header { - position: relative; - border-bottom: 1px solid #e4e4e4; - font-size: 12px; - padding: 8px 5px 5px 5px; - display: table; - width: 100%; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-date-range-picker__time-header > .el-icon-arrow-right { - font-size: 20px; - vertical-align: middle; - display: table-cell; - color: #303133; } - .el-date-range-picker__time-picker-wrap { - position: relative; - display: table-cell; - padding: 0 5px; } - .el-date-range-picker__time-picker-wrap .el-picker-panel { - position: absolute; - top: 13px; - right: 0; - z-index: 1; - background: #FFFFFF; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-time-range-picker { - width: 354px; - overflow: visible; } - .el-time-range-picker__content { - position: relative; - text-align: center; - padding: 10px; } - .el-time-range-picker__cell { - -webkit-box-sizing: border-box; - box-sizing: border-box; - margin: 0; - padding: 4px 7px 7px; - width: 50%; - display: inline-block; } - .el-time-range-picker__header { - margin-bottom: 5px; - text-align: center; - font-size: 14px; } - .el-time-range-picker__body { - border-radius: 2px; - border: 1px solid #E4E7ED; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-time-panel { - margin: 5px 0; - border: solid 1px #E4E7ED; - background-color: #FFFFFF; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - border-radius: 2px; - position: absolute; - width: 180px; - left: 0; - z-index: 1000; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - -webkit-box-sizing: content-box; - box-sizing: content-box; } - .el-time-panel__content { - font-size: 0; - position: relative; - overflow: hidden; } - .el-time-panel__content::after, .el-time-panel__content::before { - content: ""; - top: 50%; - position: absolute; - margin-top: -15px; - height: 32px; - z-index: -1; - left: 0; - right: 0; - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding-top: 6px; - text-align: left; - border-top: 1px solid #E4E7ED; - border-bottom: 1px solid #E4E7ED; } - .el-time-panel__content::after { - left: 50%; - margin-left: 12%; - margin-right: 12%; } - .el-time-panel__content::before { - padding-left: 50%; - margin-right: 12%; - margin-left: 12%; } - .el-time-panel__content.has-seconds::after { - left: calc(100% / 3 * 2); } - .el-time-panel__content.has-seconds::before { - padding-left: calc(100% / 3); } - .el-time-panel__footer { - border-top: 1px solid #e4e4e4; - padding: 4px; - height: 36px; - line-height: 25px; - text-align: right; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-time-panel__btn { - border: none; - line-height: 28px; - padding: 0 5px; - margin: 0 5px; - cursor: pointer; - background-color: transparent; - outline: none; - font-size: 12px; - color: #303133; } - .el-time-panel__btn.confirm { - font-weight: 800; - color: #409EFF; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-textarea { - position: relative; - display: inline-block; - width: 100%; - vertical-align: bottom; - font-size: 14px; } - .el-textarea__inner { - display: block; - resize: vertical; - padding: 5px 15px; - line-height: 1.5; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - font-size: inherit; - color: #606266; - background-color: #FFFFFF; - background-image: none; - border: 1px solid #DCDFE6; - border-radius: 4px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea__inner:hover { - border-color: #C0C4CC; } - .el-textarea__inner:focus { - outline: none; - border-color: #409EFF; } - .el-textarea .el-input__count { - color: #909399; - background: #FFFFFF; - position: absolute; - font-size: 12px; - bottom: 5px; - right: 10px; } - .el-textarea.is-disabled .el-textarea__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea.is-exceed .el-textarea__inner { - border-color: #F56C6C; } - .el-textarea.is-exceed .el-input__count { - color: #F56C6C; } - -.el-input { - position: relative; - font-size: 14px; - display: inline-block; - width: 100%; } - .el-input::-webkit-scrollbar { - z-index: 11; - width: 6px; } - .el-input::-webkit-scrollbar:horizontal { - height: 6px; } - .el-input::-webkit-scrollbar-thumb { - border-radius: 5px; - width: 6px; - background: #b4bccc; } - .el-input::-webkit-scrollbar-corner { - background: #fff; } - .el-input::-webkit-scrollbar-track { - background: #fff; } - .el-input::-webkit-scrollbar-track-piece { - background: #fff; - width: 6px; } - .el-input .el-input__clear { - color: #C0C4CC; - font-size: 14px; - cursor: pointer; - -webkit-transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-input .el-input__clear:hover { - color: #909399; } - .el-input .el-input__count { - height: 100%; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - color: #909399; - font-size: 12px; } - .el-input .el-input__count .el-input__count-inner { - background: #FFFFFF; - line-height: initial; - display: inline-block; - padding: 0 5px; } - .el-input__inner { - -webkit-appearance: none; - background-color: #FFFFFF; - background-image: none; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: #606266; - display: inline-block; - font-size: inherit; - height: 40px; - line-height: 40px; - outline: none; - padding: 0 15px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - width: 100%; } - .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input__inner:hover { - border-color: #C0C4CC; } - .el-input__inner:focus { - outline: none; - border-color: #409EFF; } - .el-input__suffix { - position: absolute; - height: 100%; - right: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; - pointer-events: none; } - .el-input__suffix-inner { - pointer-events: all; } - .el-input__prefix { - position: absolute; - height: 100%; - left: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; } - .el-input__icon { - height: 100%; - width: 25px; - text-align: center; - -webkit-transition: all .3s; - transition: all .3s; - line-height: 40px; } - .el-input__icon:after { - content: ''; - height: 100%; - width: 0; - display: inline-block; - vertical-align: middle; } - .el-input__validateIcon { - pointer-events: none; } - .el-input.is-active .el-input__inner { - outline: none; - border-color: #409EFF; } - .el-input.is-disabled .el-input__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-input.is-disabled .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__icon { - cursor: not-allowed; } - .el-input.is-exceed .el-input__inner { - border-color: #F56C6C; } - .el-input.is-exceed .el-input__suffix .el-input__count { - color: #F56C6C; } - .el-input--suffix .el-input__inner { - padding-right: 30px; } - .el-input--prefix .el-input__inner { - padding-left: 30px; } - .el-input--medium { - font-size: 14px; } - .el-input--medium .el-input__inner { - height: 36px; - line-height: 36px; } - .el-input--medium .el-input__icon { - line-height: 36px; } - .el-input--small { - font-size: 13px; } - .el-input--small .el-input__inner { - height: 32px; - line-height: 32px; } - .el-input--small .el-input__icon { - line-height: 32px; } - .el-input--mini { - font-size: 12px; } - .el-input--mini .el-input__inner { - height: 28px; - line-height: 28px; } - .el-input--mini .el-input__icon { - line-height: 28px; } - -.el-input-group { - line-height: normal; - display: inline-table; - width: 100%; - border-collapse: separate; - border-spacing: 0; } - .el-input-group > .el-input__inner { - vertical-align: middle; - display: table-cell; } - .el-input-group__append, .el-input-group__prepend { - background-color: #F5F7FA; - color: #909399; - vertical-align: middle; - display: table-cell; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 4px; - padding: 0 20px; - width: 1px; - white-space: nowrap; } - .el-input-group__append:focus, .el-input-group__prepend:focus { - outline: none; } - .el-input-group__append .el-select, - .el-input-group__append .el-button, .el-input-group__prepend .el-select, - .el-input-group__prepend .el-button { - display: inline-block; - margin: -10px -20px; } - .el-input-group__append button.el-button, - .el-input-group__append div.el-select .el-input__inner, - .el-input-group__append div.el-select:hover .el-input__inner, .el-input-group__prepend button.el-button, - .el-input-group__prepend div.el-select .el-input__inner, - .el-input-group__prepend div.el-select:hover .el-input__inner { - border-color: transparent; - background-color: transparent; - color: inherit; - border-top: 0; - border-bottom: 0; } - .el-input-group__append .el-button, - .el-input-group__append .el-input, .el-input-group__prepend .el-button, - .el-input-group__prepend .el-input { - font-size: inherit; } - .el-input-group__prepend { - border-right: 0; - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group__append { - border-left: 0; - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-input__inner { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - .el-input-group--append .el-input__inner { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group--append .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - -/** disalbe default clear on IE */ -.el-input__inner::-ms-clear { - display: none; - width: 0; - height: 0; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-scrollbar { - overflow: hidden; - position: relative; } - .el-scrollbar:hover > .el-scrollbar__bar, .el-scrollbar:active > .el-scrollbar__bar, .el-scrollbar:focus > .el-scrollbar__bar { - opacity: 1; - -webkit-transition: opacity 340ms ease-out; - transition: opacity 340ms ease-out; } - .el-scrollbar__wrap { - overflow: scroll; - height: 100%; } - .el-scrollbar__wrap--hidden-default { - scrollbar-width: none; } - .el-scrollbar__wrap--hidden-default::-webkit-scrollbar { - width: 0; - height: 0; } - .el-scrollbar__thumb { - position: relative; - display: block; - width: 0; - height: 0; - cursor: pointer; - border-radius: inherit; - background-color: rgba(144, 147, 153, 0.3); - -webkit-transition: .3s background-color; - transition: .3s background-color; } - .el-scrollbar__thumb:hover { - background-color: rgba(144, 147, 153, 0.5); } - .el-scrollbar__bar { - position: absolute; - right: 2px; - bottom: 2px; - z-index: 1; - border-radius: 4px; - opacity: 0; - -webkit-transition: opacity 120ms ease-out; - transition: opacity 120ms ease-out; } - .el-scrollbar__bar.is-vertical { - width: 6px; - top: 2px; } - .el-scrollbar__bar.is-vertical > div { - width: 100%; } - .el-scrollbar__bar.is-horizontal { - height: 6px; - left: 2px; } - .el-scrollbar__bar.is-horizontal > div { - height: 100%; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-popper .popper__arrow, -.el-popper .popper__arrow::after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; } - -.el-popper .popper__arrow { - border-width: 6px; - -webkit-filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); - filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); } - -.el-popper .popper__arrow::after { - content: " "; - border-width: 6px; } - -.el-popper[x-placement^="top"] { - margin-bottom: 12px; } - -.el-popper[x-placement^="top"] .popper__arrow { - bottom: -6px; - left: 50%; - margin-right: 3px; - border-top-color: #EBEEF5; - border-bottom-width: 0; } - .el-popper[x-placement^="top"] .popper__arrow::after { - bottom: 1px; - margin-left: -6px; - border-top-color: #FFFFFF; - border-bottom-width: 0; } - -.el-popper[x-placement^="bottom"] { - margin-top: 12px; } - -.el-popper[x-placement^="bottom"] .popper__arrow { - top: -6px; - left: 50%; - margin-right: 3px; - border-top-width: 0; - border-bottom-color: #EBEEF5; } - .el-popper[x-placement^="bottom"] .popper__arrow::after { - top: 1px; - margin-left: -6px; - border-top-width: 0; - border-bottom-color: #FFFFFF; } - -.el-popper[x-placement^="right"] { - margin-left: 12px; } - -.el-popper[x-placement^="right"] .popper__arrow { - top: 50%; - left: -6px; - margin-bottom: 3px; - border-right-color: #EBEEF5; - border-left-width: 0; } - .el-popper[x-placement^="right"] .popper__arrow::after { - bottom: -6px; - left: 1px; - border-right-color: #FFFFFF; - border-left-width: 0; } - -.el-popper[x-placement^="left"] { - margin-right: 12px; } - -.el-popper[x-placement^="left"] .popper__arrow { - top: 50%; - right: -6px; - margin-bottom: 3px; - border-right-width: 0; - border-left-color: #EBEEF5; } - .el-popper[x-placement^="left"] .popper__arrow::after { - right: 1px; - bottom: -6px; - margin-left: -6px; - border-right-width: 0; - border-left-color: #FFFFFF; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.fade-in-linear-enter-active, -.fade-in-linear-leave-active { - -webkit-transition: opacity 200ms linear; - transition: opacity 200ms linear; } - -.fade-in-linear-enter, -.fade-in-linear-leave, -.fade-in-linear-leave-active { - opacity: 0; } - -.el-fade-in-linear-enter-active, -.el-fade-in-linear-leave-active { - -webkit-transition: opacity 200ms linear; - transition: opacity 200ms linear; } - -.el-fade-in-linear-enter, -.el-fade-in-linear-leave, -.el-fade-in-linear-leave-active { - opacity: 0; } - -.el-fade-in-enter-active, -.el-fade-in-leave-active { - -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-fade-in-enter, -.el-fade-in-leave-active { - opacity: 0; } - -.el-zoom-in-center-enter-active, -.el-zoom-in-center-leave-active { - -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-zoom-in-center-enter, -.el-zoom-in-center-leave-active { - opacity: 0; - -webkit-transform: scaleX(0); - transform: scaleX(0); } - -.el-zoom-in-top-enter-active, -.el-zoom-in-top-leave-active { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: center top; - transform-origin: center top; } - -.el-zoom-in-top-enter, -.el-zoom-in-top-leave-active { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0); } - -.el-zoom-in-bottom-enter-active, -.el-zoom-in-bottom-leave-active { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; } - -.el-zoom-in-bottom-enter, -.el-zoom-in-bottom-leave-active { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0); } - -.el-zoom-in-left-enter-active, -.el-zoom-in-left-leave-active { - opacity: 1; - -webkit-transform: scale(1, 1); - transform: scale(1, 1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: top left; - transform-origin: top left; } - -.el-zoom-in-left-enter, -.el-zoom-in-left-leave-active { - opacity: 0; - -webkit-transform: scale(0.45, 0.45); - transform: scale(0.45, 0.45); } - -.collapse-transition { - -webkit-transition: 0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out; - transition: 0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out; } - -.horizontal-collapse-transition { - -webkit-transition: 0.3s width ease-in-out, 0.3s padding-left ease-in-out, 0.3s padding-right ease-in-out; - transition: 0.3s width ease-in-out, 0.3s padding-left ease-in-out, 0.3s padding-right ease-in-out; } - -.el-list-enter-active, -.el-list-leave-active { - -webkit-transition: all 1s; - transition: all 1s; } - -.el-list-enter, .el-list-leave-active { - opacity: 0; - -webkit-transform: translateY(-30px); - transform: translateY(-30px); } - -.el-opacity-transition { - -webkit-transition: opacity 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: opacity 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-date-editor { - position: relative; - display: inline-block; - text-align: left; } - .el-date-editor.el-input, .el-date-editor.el-input__inner { - width: 220px; } - .el-date-editor--monthrange.el-input, .el-date-editor--monthrange.el-input__inner { - width: 300px; } - .el-date-editor--daterange.el-input, .el-date-editor--daterange.el-input__inner, .el-date-editor--timerange.el-input, .el-date-editor--timerange.el-input__inner { - width: 350px; } - .el-date-editor--datetimerange.el-input, .el-date-editor--datetimerange.el-input__inner { - width: 400px; } - .el-date-editor--dates .el-input__inner { - text-overflow: ellipsis; - white-space: nowrap; } - .el-date-editor .el-icon-circle-close { - cursor: pointer; } - .el-date-editor .el-range__icon { - font-size: 14px; - margin-left: -5px; - color: #C0C4CC; - float: left; - line-height: 32px; } - .el-date-editor .el-range-input { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - border: none; - outline: none; - display: inline-block; - height: 100%; - margin: 0; - padding: 0; - width: 39%; - text-align: center; - font-size: 14px; - color: #606266; } - .el-date-editor .el-range-input::-webkit-input-placeholder { - color: #C0C4CC; } - .el-date-editor .el-range-input::-moz-placeholder { - color: #C0C4CC; } - .el-date-editor .el-range-input::-ms-input-placeholder { - color: #C0C4CC; } - .el-date-editor .el-range-input::placeholder { - color: #C0C4CC; } - .el-date-editor .el-range-separator { - display: inline-block; - height: 100%; - padding: 0 5px; - margin: 0; - text-align: center; - line-height: 32px; - font-size: 14px; - width: 5%; - color: #303133; } - .el-date-editor .el-range__close-icon { - font-size: 14px; - color: #C0C4CC; - width: 25px; - display: inline-block; - float: right; - line-height: 32px; } - -.el-range-editor.el-input__inner { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - padding: 3px 10px; } - -.el-range-editor .el-range-input { - line-height: 1; } - -.el-range-editor.is-active { - border-color: #409EFF; } - .el-range-editor.is-active:hover { - border-color: #409EFF; } - -.el-range-editor--medium.el-input__inner { - height: 36px; } - -.el-range-editor--medium .el-range-separator { - line-height: 28px; - font-size: 14px; } - -.el-range-editor--medium .el-range-input { - font-size: 14px; } - -.el-range-editor--medium .el-range__icon, -.el-range-editor--medium .el-range__close-icon { - line-height: 28px; } - -.el-range-editor--small.el-input__inner { - height: 32px; } - -.el-range-editor--small .el-range-separator { - line-height: 24px; - font-size: 13px; } - -.el-range-editor--small .el-range-input { - font-size: 13px; } - -.el-range-editor--small .el-range__icon, -.el-range-editor--small .el-range__close-icon { - line-height: 24px; } - -.el-range-editor--mini.el-input__inner { - height: 28px; } - -.el-range-editor--mini .el-range-separator { - line-height: 20px; - font-size: 12px; } - -.el-range-editor--mini .el-range-input { - font-size: 12px; } - -.el-range-editor--mini .el-range__icon, -.el-range-editor--mini .el-range__close-icon { - line-height: 20px; } - -.el-range-editor.is-disabled { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-range-editor.is-disabled:hover, .el-range-editor.is-disabled:focus { - border-color: #E4E7ED; } - .el-range-editor.is-disabled input { - background-color: #F5F7FA; - color: #C0C4CC; - cursor: not-allowed; } - .el-range-editor.is-disabled input::-webkit-input-placeholder { - color: #C0C4CC; } - .el-range-editor.is-disabled input::-moz-placeholder { - color: #C0C4CC; } - .el-range-editor.is-disabled input::-ms-input-placeholder { - color: #C0C4CC; } - .el-range-editor.is-disabled input::placeholder { - color: #C0C4CC; } - .el-range-editor.is-disabled .el-range-separator { - color: #C0C4CC; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-picker-panel { - color: #606266; - border: 1px solid #E4E7ED; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - background: #FFFFFF; - border-radius: 4px; - line-height: 30px; - margin: 5px 0; } - .el-picker-panel__body::after, .el-picker-panel__body-wrapper::after { - content: ""; - display: table; - clear: both; } - .el-picker-panel__content { - position: relative; - margin: 15px; } - .el-picker-panel__footer { - border-top: 1px solid #e4e4e4; - padding: 4px; - text-align: right; - background-color: #FFFFFF; - position: relative; - font-size: 0; } - .el-picker-panel__shortcut { - display: block; - width: 100%; - border: 0; - background-color: transparent; - line-height: 28px; - font-size: 14px; - color: #606266; - padding-left: 12px; - text-align: left; - outline: none; - cursor: pointer; } - .el-picker-panel__shortcut:hover { - color: #409EFF; } - .el-picker-panel__shortcut.active { - background-color: #e6f1fe; - color: #409EFF; } - .el-picker-panel__btn { - border: 1px solid #dcdcdc; - color: #333; - line-height: 24px; - border-radius: 2px; - padding: 0 20px; - cursor: pointer; - background-color: transparent; - outline: none; - font-size: 12px; } - .el-picker-panel__btn[disabled] { - color: #cccccc; - cursor: not-allowed; } - .el-picker-panel__icon-btn { - font-size: 12px; - color: #303133; - border: 0; - background: transparent; - cursor: pointer; - outline: none; - margin-top: 8px; } - .el-picker-panel__icon-btn:hover { - color: #409EFF; } - .el-picker-panel__icon-btn.is-disabled { - color: #bbb; } - .el-picker-panel__icon-btn.is-disabled:hover { - cursor: not-allowed; } - .el-picker-panel__link-btn { - vertical-align: middle; } - -.el-picker-panel *[slot=sidebar], -.el-picker-panel__sidebar { - position: absolute; - top: 0; - bottom: 0; - width: 110px; - border-right: 1px solid #e4e4e4; - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding-top: 6px; - background-color: #FFFFFF; - overflow: auto; } - -.el-picker-panel *[slot=sidebar] + .el-picker-panel__body, -.el-picker-panel__sidebar + .el-picker-panel__body { - margin-left: 110px; } - -.el-date-picker { - width: 322px; } - .el-date-picker.has-sidebar.has-time { - width: 434px; } - .el-date-picker.has-sidebar { - width: 438px; } - .el-date-picker.has-time .el-picker-panel__body-wrapper { - position: relative; } - .el-date-picker .el-picker-panel__content { - width: 292px; } - .el-date-picker table { - table-layout: fixed; - width: 100%; } - .el-date-picker__editor-wrap { - position: relative; - display: table-cell; - padding: 0 5px; } - .el-date-picker__time-header { - position: relative; - border-bottom: 1px solid #e4e4e4; - font-size: 12px; - padding: 8px 5px 5px 5px; - display: table; - width: 100%; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-date-picker__header { - margin: 12px; - text-align: center; } - .el-date-picker__header--bordered { - margin-bottom: 0; - padding-bottom: 12px; - border-bottom: solid 1px #EBEEF5; } - .el-date-picker__header--bordered + .el-picker-panel__content { - margin-top: 0; } - .el-date-picker__header-label { - font-size: 16px; - font-weight: 500; - padding: 0 5px; - line-height: 22px; - text-align: center; - cursor: pointer; - color: #606266; } - .el-date-picker__header-label:hover { - color: #409EFF; } - .el-date-picker__header-label.active { - color: #409EFF; } - .el-date-picker__prev-btn { - float: left; } - .el-date-picker__next-btn { - float: right; } - .el-date-picker__time-wrap { - padding: 10px; - text-align: center; } - .el-date-picker__time-label { - float: left; - cursor: pointer; - line-height: 30px; - margin-left: 10px; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-scrollbar { - overflow: hidden; - position: relative; } - .el-scrollbar:hover > .el-scrollbar__bar, .el-scrollbar:active > .el-scrollbar__bar, .el-scrollbar:focus > .el-scrollbar__bar { - opacity: 1; - -webkit-transition: opacity 340ms ease-out; - transition: opacity 340ms ease-out; } - .el-scrollbar__wrap { - overflow: scroll; - height: 100%; } - .el-scrollbar__wrap--hidden-default { - scrollbar-width: none; } - .el-scrollbar__wrap--hidden-default::-webkit-scrollbar { - width: 0; - height: 0; } - .el-scrollbar__thumb { - position: relative; - display: block; - width: 0; - height: 0; - cursor: pointer; - border-radius: inherit; - background-color: rgba(144, 147, 153, 0.3); - -webkit-transition: .3s background-color; - transition: .3s background-color; } - .el-scrollbar__thumb:hover { - background-color: rgba(144, 147, 153, 0.5); } - .el-scrollbar__bar { - position: absolute; - right: 2px; - bottom: 2px; - z-index: 1; - border-radius: 4px; - opacity: 0; - -webkit-transition: opacity 120ms ease-out; - transition: opacity 120ms ease-out; } - .el-scrollbar__bar.is-vertical { - width: 6px; - top: 2px; } - .el-scrollbar__bar.is-vertical > div { - width: 100%; } - .el-scrollbar__bar.is-horizontal { - height: 6px; - left: 2px; } - .el-scrollbar__bar.is-horizontal > div { - height: 100%; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-popper .popper__arrow, -.el-popper .popper__arrow::after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; } - -.el-popper .popper__arrow { - border-width: 6px; - -webkit-filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); - filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); } - -.el-popper .popper__arrow::after { - content: " "; - border-width: 6px; } - -.el-popper[x-placement^="top"] { - margin-bottom: 12px; } - -.el-popper[x-placement^="top"] .popper__arrow { - bottom: -6px; - left: 50%; - margin-right: 3px; - border-top-color: #EBEEF5; - border-bottom-width: 0; } - .el-popper[x-placement^="top"] .popper__arrow::after { - bottom: 1px; - margin-left: -6px; - border-top-color: #FFFFFF; - border-bottom-width: 0; } - -.el-popper[x-placement^="bottom"] { - margin-top: 12px; } - -.el-popper[x-placement^="bottom"] .popper__arrow { - top: -6px; - left: 50%; - margin-right: 3px; - border-top-width: 0; - border-bottom-color: #EBEEF5; } - .el-popper[x-placement^="bottom"] .popper__arrow::after { - top: 1px; - margin-left: -6px; - border-top-width: 0; - border-bottom-color: #FFFFFF; } - -.el-popper[x-placement^="right"] { - margin-left: 12px; } - -.el-popper[x-placement^="right"] .popper__arrow { - top: 50%; - left: -6px; - margin-bottom: 3px; - border-right-color: #EBEEF5; - border-left-width: 0; } - .el-popper[x-placement^="right"] .popper__arrow::after { - bottom: -6px; - left: 1px; - border-right-color: #FFFFFF; - border-left-width: 0; } - -.el-popper[x-placement^="left"] { - margin-right: 12px; } - -.el-popper[x-placement^="left"] .popper__arrow { - top: 50%; - right: -6px; - margin-bottom: 3px; - border-right-width: 0; - border-left-color: #EBEEF5; } - .el-popper[x-placement^="left"] .popper__arrow::after { - right: 1px; - bottom: -6px; - margin-left: -6px; - border-right-width: 0; - border-left-color: #FFFFFF; } - -.time-select { - margin: 5px 0; - min-width: 0; } - -.time-select .el-picker-panel__content { - max-height: 200px; - margin: 0; } - -.time-select-item { - padding: 8px 10px; - font-size: 14px; - line-height: 20px; } - -.time-select-item.selected:not(.disabled) { - color: #409EFF; - font-weight: bold; } - -.time-select-item.disabled { - color: #E4E7ED; - cursor: not-allowed; } - -.time-select-item:hover { - background-color: #F5F7FA; - font-weight: bold; - cursor: pointer; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.fade-in-linear-enter-active, -.fade-in-linear-leave-active { - -webkit-transition: opacity 200ms linear; - transition: opacity 200ms linear; } - -.fade-in-linear-enter, -.fade-in-linear-leave, -.fade-in-linear-leave-active { - opacity: 0; } - -.el-fade-in-linear-enter-active, -.el-fade-in-linear-leave-active { - -webkit-transition: opacity 200ms linear; - transition: opacity 200ms linear; } - -.el-fade-in-linear-enter, -.el-fade-in-linear-leave, -.el-fade-in-linear-leave-active { - opacity: 0; } - -.el-fade-in-enter-active, -.el-fade-in-leave-active { - -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-fade-in-enter, -.el-fade-in-leave-active { - opacity: 0; } - -.el-zoom-in-center-enter-active, -.el-zoom-in-center-leave-active { - -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-zoom-in-center-enter, -.el-zoom-in-center-leave-active { - opacity: 0; - -webkit-transform: scaleX(0); - transform: scaleX(0); } - -.el-zoom-in-top-enter-active, -.el-zoom-in-top-leave-active { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: center top; - transform-origin: center top; } - -.el-zoom-in-top-enter, -.el-zoom-in-top-leave-active { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0); } - -.el-zoom-in-bottom-enter-active, -.el-zoom-in-bottom-leave-active { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; } - -.el-zoom-in-bottom-enter, -.el-zoom-in-bottom-leave-active { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0); } - -.el-zoom-in-left-enter-active, -.el-zoom-in-left-leave-active { - opacity: 1; - -webkit-transform: scale(1, 1); - transform: scale(1, 1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: top left; - transform-origin: top left; } - -.el-zoom-in-left-enter, -.el-zoom-in-left-leave-active { - opacity: 0; - -webkit-transform: scale(0.45, 0.45); - transform: scale(0.45, 0.45); } - -.collapse-transition { - -webkit-transition: 0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out; - transition: 0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out; } - -.horizontal-collapse-transition { - -webkit-transition: 0.3s width ease-in-out, 0.3s padding-left ease-in-out, 0.3s padding-right ease-in-out; - transition: 0.3s width ease-in-out, 0.3s padding-left ease-in-out, 0.3s padding-right ease-in-out; } - -.el-list-enter-active, -.el-list-leave-active { - -webkit-transition: all 1s; - transition: all 1s; } - -.el-list-enter, .el-list-leave-active { - opacity: 0; - -webkit-transform: translateY(-30px); - transform: translateY(-30px); } - -.el-opacity-transition { - -webkit-transition: opacity 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: opacity 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-date-editor { - position: relative; - display: inline-block; - text-align: left; } - .el-date-editor.el-input, .el-date-editor.el-input__inner { - width: 220px; } - .el-date-editor--monthrange.el-input, .el-date-editor--monthrange.el-input__inner { - width: 300px; } - .el-date-editor--daterange.el-input, .el-date-editor--daterange.el-input__inner, .el-date-editor--timerange.el-input, .el-date-editor--timerange.el-input__inner { - width: 350px; } - .el-date-editor--datetimerange.el-input, .el-date-editor--datetimerange.el-input__inner { - width: 400px; } - .el-date-editor--dates .el-input__inner { - text-overflow: ellipsis; - white-space: nowrap; } - .el-date-editor .el-icon-circle-close { - cursor: pointer; } - .el-date-editor .el-range__icon { - font-size: 14px; - margin-left: -5px; - color: #C0C4CC; - float: left; - line-height: 32px; } - .el-date-editor .el-range-input { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - border: none; - outline: none; - display: inline-block; - height: 100%; - margin: 0; - padding: 0; - width: 39%; - text-align: center; - font-size: 14px; - color: #606266; } - .el-date-editor .el-range-input::-webkit-input-placeholder { - color: #C0C4CC; } - .el-date-editor .el-range-input::-moz-placeholder { - color: #C0C4CC; } - .el-date-editor .el-range-input::-ms-input-placeholder { - color: #C0C4CC; } - .el-date-editor .el-range-input::placeholder { - color: #C0C4CC; } - .el-date-editor .el-range-separator { - display: inline-block; - height: 100%; - padding: 0 5px; - margin: 0; - text-align: center; - line-height: 32px; - font-size: 14px; - width: 5%; - color: #303133; } - .el-date-editor .el-range__close-icon { - font-size: 14px; - color: #C0C4CC; - width: 25px; - display: inline-block; - float: right; - line-height: 32px; } - -.el-range-editor.el-input__inner { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - padding: 3px 10px; } - -.el-range-editor .el-range-input { - line-height: 1; } - -.el-range-editor.is-active { - border-color: #409EFF; } - .el-range-editor.is-active:hover { - border-color: #409EFF; } - -.el-range-editor--medium.el-input__inner { - height: 36px; } - -.el-range-editor--medium .el-range-separator { - line-height: 28px; - font-size: 14px; } - -.el-range-editor--medium .el-range-input { - font-size: 14px; } - -.el-range-editor--medium .el-range__icon, -.el-range-editor--medium .el-range__close-icon { - line-height: 28px; } - -.el-range-editor--small.el-input__inner { - height: 32px; } - -.el-range-editor--small .el-range-separator { - line-height: 24px; - font-size: 13px; } - -.el-range-editor--small .el-range-input { - font-size: 13px; } - -.el-range-editor--small .el-range__icon, -.el-range-editor--small .el-range__close-icon { - line-height: 24px; } - -.el-range-editor--mini.el-input__inner { - height: 28px; } - -.el-range-editor--mini .el-range-separator { - line-height: 20px; - font-size: 12px; } - -.el-range-editor--mini .el-range-input { - font-size: 12px; } - -.el-range-editor--mini .el-range__icon, -.el-range-editor--mini .el-range__close-icon { - line-height: 20px; } - -.el-range-editor.is-disabled { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-range-editor.is-disabled:hover, .el-range-editor.is-disabled:focus { - border-color: #E4E7ED; } - .el-range-editor.is-disabled input { - background-color: #F5F7FA; - color: #C0C4CC; - cursor: not-allowed; } - .el-range-editor.is-disabled input::-webkit-input-placeholder { - color: #C0C4CC; } - .el-range-editor.is-disabled input::-moz-placeholder { - color: #C0C4CC; } - .el-range-editor.is-disabled input::-ms-input-placeholder { - color: #C0C4CC; } - .el-range-editor.is-disabled input::placeholder { - color: #C0C4CC; } - .el-range-editor.is-disabled .el-range-separator { - color: #C0C4CC; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-picker-panel { - color: #606266; - border: 1px solid #E4E7ED; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - background: #FFFFFF; - border-radius: 4px; - line-height: 30px; - margin: 5px 0; } - .el-picker-panel__body::after, .el-picker-panel__body-wrapper::after { - content: ""; - display: table; - clear: both; } - .el-picker-panel__content { - position: relative; - margin: 15px; } - .el-picker-panel__footer { - border-top: 1px solid #e4e4e4; - padding: 4px; - text-align: right; - background-color: #FFFFFF; - position: relative; - font-size: 0; } - .el-picker-panel__shortcut { - display: block; - width: 100%; - border: 0; - background-color: transparent; - line-height: 28px; - font-size: 14px; - color: #606266; - padding-left: 12px; - text-align: left; - outline: none; - cursor: pointer; } - .el-picker-panel__shortcut:hover { - color: #409EFF; } - .el-picker-panel__shortcut.active { - background-color: #e6f1fe; - color: #409EFF; } - .el-picker-panel__btn { - border: 1px solid #dcdcdc; - color: #333; - line-height: 24px; - border-radius: 2px; - padding: 0 20px; - cursor: pointer; - background-color: transparent; - outline: none; - font-size: 12px; } - .el-picker-panel__btn[disabled] { - color: #cccccc; - cursor: not-allowed; } - .el-picker-panel__icon-btn { - font-size: 12px; - color: #303133; - border: 0; - background: transparent; - cursor: pointer; - outline: none; - margin-top: 8px; } - .el-picker-panel__icon-btn:hover { - color: #409EFF; } - .el-picker-panel__icon-btn.is-disabled { - color: #bbb; } - .el-picker-panel__icon-btn.is-disabled:hover { - cursor: not-allowed; } - .el-picker-panel__link-btn { - vertical-align: middle; } - -.el-picker-panel *[slot=sidebar], -.el-picker-panel__sidebar { - position: absolute; - top: 0; - bottom: 0; - width: 110px; - border-right: 1px solid #e4e4e4; - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding-top: 6px; - background-color: #FFFFFF; - overflow: auto; } - -.el-picker-panel *[slot=sidebar] + .el-picker-panel__body, -.el-picker-panel__sidebar + .el-picker-panel__body { - margin-left: 110px; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-time-spinner.has-seconds .el-time-spinner__wrapper { - width: 33.3%; } - -.el-time-spinner__wrapper { - max-height: 190px; - overflow: auto; - display: inline-block; - width: 50%; - vertical-align: top; - position: relative; } - .el-time-spinner__wrapper .el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default) { - padding-bottom: 15px; } - .el-time-spinner__wrapper.is-arrow { - -webkit-box-sizing: border-box; - box-sizing: border-box; - text-align: center; - overflow: hidden; } - .el-time-spinner__wrapper.is-arrow .el-time-spinner__list { - -webkit-transform: translateY(-32px); - transform: translateY(-32px); } - .el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.disabled):not(.active) { - background: #FFFFFF; - cursor: default; } - -.el-time-spinner__arrow { - font-size: 12px; - color: #909399; - position: absolute; - left: 0; - width: 100%; - z-index: 1; - text-align: center; - height: 30px; - line-height: 30px; - cursor: pointer; } - .el-time-spinner__arrow:hover { - color: #409EFF; } - .el-time-spinner__arrow.el-icon-arrow-up { - top: 10px; } - .el-time-spinner__arrow.el-icon-arrow-down { - bottom: 10px; } - -.el-time-spinner__input.el-input { - width: 70%; } - .el-time-spinner__input.el-input .el-input__inner { - padding: 0; - text-align: center; } - -.el-time-spinner__list { - padding: 0; - margin: 0; - list-style: none; - text-align: center; } - .el-time-spinner__list::after, .el-time-spinner__list::before { - content: ''; - display: block; - width: 100%; - height: 80px; } - -.el-time-spinner__item { - height: 32px; - line-height: 32px; - font-size: 12px; - color: #606266; } - .el-time-spinner__item:hover:not(.disabled):not(.active) { - background: #F5F7FA; - cursor: pointer; } - .el-time-spinner__item.active:not(.disabled) { - color: #303133; - font-weight: bold; } - .el-time-spinner__item.disabled { - color: #C0C4CC; - cursor: not-allowed; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-time-panel { - margin: 5px 0; - border: solid 1px #E4E7ED; - background-color: #FFFFFF; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - border-radius: 2px; - position: absolute; - width: 180px; - left: 0; - z-index: 1000; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - -webkit-box-sizing: content-box; - box-sizing: content-box; } - .el-time-panel__content { - font-size: 0; - position: relative; - overflow: hidden; } - .el-time-panel__content::after, .el-time-panel__content::before { - content: ""; - top: 50%; - position: absolute; - margin-top: -15px; - height: 32px; - z-index: -1; - left: 0; - right: 0; - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding-top: 6px; - text-align: left; - border-top: 1px solid #E4E7ED; - border-bottom: 1px solid #E4E7ED; } - .el-time-panel__content::after { - left: 50%; - margin-left: 12%; - margin-right: 12%; } - .el-time-panel__content::before { - padding-left: 50%; - margin-right: 12%; - margin-left: 12%; } - .el-time-panel__content.has-seconds::after { - left: calc(100% / 3 * 2); } - .el-time-panel__content.has-seconds::before { - padding-left: calc(100% / 3); } - .el-time-panel__footer { - border-top: 1px solid #e4e4e4; - padding: 4px; - height: 36px; - line-height: 25px; - text-align: right; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-time-panel__btn { - border: none; - line-height: 28px; - padding: 0 5px; - margin: 0 5px; - cursor: pointer; - background-color: transparent; - outline: none; - font-size: 12px; - color: #303133; } - .el-time-panel__btn.confirm { - font-weight: 800; - color: #409EFF; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-time-range-picker { - width: 354px; - overflow: visible; } - .el-time-range-picker__content { - position: relative; - text-align: center; - padding: 10px; } - .el-time-range-picker__cell { - -webkit-box-sizing: border-box; - box-sizing: border-box; - margin: 0; - padding: 4px 7px 7px; - width: 50%; - display: inline-block; } - .el-time-range-picker__header { - margin-bottom: 5px; - text-align: center; - font-size: 14px; } - .el-time-range-picker__body { - border-radius: 2px; - border: 1px solid #E4E7ED; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-textarea { - position: relative; - display: inline-block; - width: 100%; - vertical-align: bottom; - font-size: 14px; } - .el-textarea__inner { - display: block; - resize: vertical; - padding: 5px 15px; - line-height: 1.5; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - font-size: inherit; - color: #606266; - background-color: #FFFFFF; - background-image: none; - border: 1px solid #DCDFE6; - border-radius: 4px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea__inner:hover { - border-color: #C0C4CC; } - .el-textarea__inner:focus { - outline: none; - border-color: #409EFF; } - .el-textarea .el-input__count { - color: #909399; - background: #FFFFFF; - position: absolute; - font-size: 12px; - bottom: 5px; - right: 10px; } - .el-textarea.is-disabled .el-textarea__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea.is-exceed .el-textarea__inner { - border-color: #F56C6C; } - .el-textarea.is-exceed .el-input__count { - color: #F56C6C; } - -.el-input { - position: relative; - font-size: 14px; - display: inline-block; - width: 100%; } - .el-input::-webkit-scrollbar { - z-index: 11; - width: 6px; } - .el-input::-webkit-scrollbar:horizontal { - height: 6px; } - .el-input::-webkit-scrollbar-thumb { - border-radius: 5px; - width: 6px; - background: #b4bccc; } - .el-input::-webkit-scrollbar-corner { - background: #fff; } - .el-input::-webkit-scrollbar-track { - background: #fff; } - .el-input::-webkit-scrollbar-track-piece { - background: #fff; - width: 6px; } - .el-input .el-input__clear { - color: #C0C4CC; - font-size: 14px; - cursor: pointer; - -webkit-transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-input .el-input__clear:hover { - color: #909399; } - .el-input .el-input__count { - height: 100%; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - color: #909399; - font-size: 12px; } - .el-input .el-input__count .el-input__count-inner { - background: #FFFFFF; - line-height: initial; - display: inline-block; - padding: 0 5px; } - .el-input__inner { - -webkit-appearance: none; - background-color: #FFFFFF; - background-image: none; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: #606266; - display: inline-block; - font-size: inherit; - height: 40px; - line-height: 40px; - outline: none; - padding: 0 15px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - width: 100%; } - .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input__inner:hover { - border-color: #C0C4CC; } - .el-input__inner:focus { - outline: none; - border-color: #409EFF; } - .el-input__suffix { - position: absolute; - height: 100%; - right: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; - pointer-events: none; } - .el-input__suffix-inner { - pointer-events: all; } - .el-input__prefix { - position: absolute; - height: 100%; - left: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; } - .el-input__icon { - height: 100%; - width: 25px; - text-align: center; - -webkit-transition: all .3s; - transition: all .3s; - line-height: 40px; } - .el-input__icon:after { - content: ''; - height: 100%; - width: 0; - display: inline-block; - vertical-align: middle; } - .el-input__validateIcon { - pointer-events: none; } - .el-input.is-active .el-input__inner { - outline: none; - border-color: #409EFF; } - .el-input.is-disabled .el-input__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-input.is-disabled .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__icon { - cursor: not-allowed; } - .el-input.is-exceed .el-input__inner { - border-color: #F56C6C; } - .el-input.is-exceed .el-input__suffix .el-input__count { - color: #F56C6C; } - .el-input--suffix .el-input__inner { - padding-right: 30px; } - .el-input--prefix .el-input__inner { - padding-left: 30px; } - .el-input--medium { - font-size: 14px; } - .el-input--medium .el-input__inner { - height: 36px; - line-height: 36px; } - .el-input--medium .el-input__icon { - line-height: 36px; } - .el-input--small { - font-size: 13px; } - .el-input--small .el-input__inner { - height: 32px; - line-height: 32px; } - .el-input--small .el-input__icon { - line-height: 32px; } - .el-input--mini { - font-size: 12px; } - .el-input--mini .el-input__inner { - height: 28px; - line-height: 28px; } - .el-input--mini .el-input__icon { - line-height: 28px; } - -.el-input-group { - line-height: normal; - display: inline-table; - width: 100%; - border-collapse: separate; - border-spacing: 0; } - .el-input-group > .el-input__inner { - vertical-align: middle; - display: table-cell; } - .el-input-group__append, .el-input-group__prepend { - background-color: #F5F7FA; - color: #909399; - vertical-align: middle; - display: table-cell; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 4px; - padding: 0 20px; - width: 1px; - white-space: nowrap; } - .el-input-group__append:focus, .el-input-group__prepend:focus { - outline: none; } - .el-input-group__append .el-select, - .el-input-group__append .el-button, .el-input-group__prepend .el-select, - .el-input-group__prepend .el-button { - display: inline-block; - margin: -10px -20px; } - .el-input-group__append button.el-button, - .el-input-group__append div.el-select .el-input__inner, - .el-input-group__append div.el-select:hover .el-input__inner, .el-input-group__prepend button.el-button, - .el-input-group__prepend div.el-select .el-input__inner, - .el-input-group__prepend div.el-select:hover .el-input__inner { - border-color: transparent; - background-color: transparent; - color: inherit; - border-top: 0; - border-bottom: 0; } - .el-input-group__append .el-button, - .el-input-group__append .el-input, .el-input-group__prepend .el-button, - .el-input-group__prepend .el-input { - font-size: inherit; } - .el-input-group__prepend { - border-right: 0; - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group__append { - border-left: 0; - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-input__inner { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - .el-input-group--append .el-input__inner { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group--append .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - -/** disalbe default clear on IE */ -.el-input__inner::-ms-clear { - display: none; - width: 0; - height: 0; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-scrollbar { - overflow: hidden; - position: relative; } - .el-scrollbar:hover > .el-scrollbar__bar, .el-scrollbar:active > .el-scrollbar__bar, .el-scrollbar:focus > .el-scrollbar__bar { - opacity: 1; - -webkit-transition: opacity 340ms ease-out; - transition: opacity 340ms ease-out; } - .el-scrollbar__wrap { - overflow: scroll; - height: 100%; } - .el-scrollbar__wrap--hidden-default { - scrollbar-width: none; } - .el-scrollbar__wrap--hidden-default::-webkit-scrollbar { - width: 0; - height: 0; } - .el-scrollbar__thumb { - position: relative; - display: block; - width: 0; - height: 0; - cursor: pointer; - border-radius: inherit; - background-color: rgba(144, 147, 153, 0.3); - -webkit-transition: .3s background-color; - transition: .3s background-color; } - .el-scrollbar__thumb:hover { - background-color: rgba(144, 147, 153, 0.5); } - .el-scrollbar__bar { - position: absolute; - right: 2px; - bottom: 2px; - z-index: 1; - border-radius: 4px; - opacity: 0; - -webkit-transition: opacity 120ms ease-out; - transition: opacity 120ms ease-out; } - .el-scrollbar__bar.is-vertical { - width: 6px; - top: 2px; } - .el-scrollbar__bar.is-vertical > div { - width: 100%; } - .el-scrollbar__bar.is-horizontal { - height: 6px; - left: 2px; } - .el-scrollbar__bar.is-horizontal > div { - height: 100%; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-popper .popper__arrow, -.el-popper .popper__arrow::after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; } - -.el-popper .popper__arrow { - border-width: 6px; - -webkit-filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); - filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); } - -.el-popper .popper__arrow::after { - content: " "; - border-width: 6px; } - -.el-popper[x-placement^="top"] { - margin-bottom: 12px; } - -.el-popper[x-placement^="top"] .popper__arrow { - bottom: -6px; - left: 50%; - margin-right: 3px; - border-top-color: #EBEEF5; - border-bottom-width: 0; } - .el-popper[x-placement^="top"] .popper__arrow::after { - bottom: 1px; - margin-left: -6px; - border-top-color: #FFFFFF; - border-bottom-width: 0; } - -.el-popper[x-placement^="bottom"] { - margin-top: 12px; } - -.el-popper[x-placement^="bottom"] .popper__arrow { - top: -6px; - left: 50%; - margin-right: 3px; - border-top-width: 0; - border-bottom-color: #EBEEF5; } - .el-popper[x-placement^="bottom"] .popper__arrow::after { - top: 1px; - margin-left: -6px; - border-top-width: 0; - border-bottom-color: #FFFFFF; } - -.el-popper[x-placement^="right"] { - margin-left: 12px; } - -.el-popper[x-placement^="right"] .popper__arrow { - top: 50%; - left: -6px; - margin-bottom: 3px; - border-right-color: #EBEEF5; - border-left-width: 0; } - .el-popper[x-placement^="right"] .popper__arrow::after { - bottom: -6px; - left: 1px; - border-right-color: #FFFFFF; - border-left-width: 0; } - -.el-popper[x-placement^="left"] { - margin-right: 12px; } - -.el-popper[x-placement^="left"] .popper__arrow { - top: 50%; - right: -6px; - margin-bottom: 3px; - border-right-width: 0; - border-left-color: #EBEEF5; } - .el-popper[x-placement^="left"] .popper__arrow::after { - right: 1px; - bottom: -6px; - margin-left: -6px; - border-right-width: 0; - border-left-color: #FFFFFF; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-popper .popper__arrow, -.el-popper .popper__arrow::after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; } - -.el-popper .popper__arrow { - border-width: 6px; - -webkit-filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); - filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); } - -.el-popper .popper__arrow::after { - content: " "; - border-width: 6px; } - -.el-popper[x-placement^="top"] { - margin-bottom: 12px; } - -.el-popper[x-placement^="top"] .popper__arrow { - bottom: -6px; - left: 50%; - margin-right: 3px; - border-top-color: #EBEEF5; - border-bottom-width: 0; } - .el-popper[x-placement^="top"] .popper__arrow::after { - bottom: 1px; - margin-left: -6px; - border-top-color: #FFFFFF; - border-bottom-width: 0; } - -.el-popper[x-placement^="bottom"] { - margin-top: 12px; } - -.el-popper[x-placement^="bottom"] .popper__arrow { - top: -6px; - left: 50%; - margin-right: 3px; - border-top-width: 0; - border-bottom-color: #EBEEF5; } - .el-popper[x-placement^="bottom"] .popper__arrow::after { - top: 1px; - margin-left: -6px; - border-top-width: 0; - border-bottom-color: #FFFFFF; } - -.el-popper[x-placement^="right"] { - margin-left: 12px; } - -.el-popper[x-placement^="right"] .popper__arrow { - top: 50%; - left: -6px; - margin-bottom: 3px; - border-right-color: #EBEEF5; - border-left-width: 0; } - .el-popper[x-placement^="right"] .popper__arrow::after { - bottom: -6px; - left: 1px; - border-right-color: #FFFFFF; - border-left-width: 0; } - -.el-popper[x-placement^="left"] { - margin-right: 12px; } - -.el-popper[x-placement^="left"] .popper__arrow { - top: 50%; - right: -6px; - margin-bottom: 3px; - border-right-width: 0; - border-left-color: #EBEEF5; } - .el-popper[x-placement^="left"] .popper__arrow::after { - right: 1px; - bottom: -6px; - margin-left: -6px; - border-right-width: 0; - border-left-color: #FFFFFF; } - -.el-popover { - position: absolute; - background: #FFFFFF; - min-width: 150px; - border-radius: 4px; - border: 1px solid #EBEEF5; - padding: 12px; - z-index: 2000; - color: #606266; - line-height: 1.4; - text-align: justify; - font-size: 14px; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - word-break: break-all; } - .el-popover--plain { - padding: 18px 20px; } - .el-popover__title { - color: #303133; - font-size: 16px; - line-height: 1; - margin-bottom: 12px; } - .el-popover__reference:focus:not(.focusing), .el-popover__reference:focus:hover { - outline-width: 0; } - .el-popover:focus:active, .el-popover:focus { - outline-width: 0; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-tooltip:focus:not(.focusing), .el-tooltip:focus:hover { - outline-width: 0; } - -.el-tooltip__popper { - position: absolute; - border-radius: 4px; - padding: 10px; - z-index: 2000; - font-size: 12px; - line-height: 1.2; - min-width: 10px; - word-wrap: break-word; } - .el-tooltip__popper .popper__arrow, - .el-tooltip__popper .popper__arrow::after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; } - .el-tooltip__popper .popper__arrow { - border-width: 6px; } - .el-tooltip__popper .popper__arrow::after { - content: " "; - border-width: 5px; } - .el-tooltip__popper[x-placement^="top"] { - margin-bottom: 12px; } - .el-tooltip__popper[x-placement^="top"] .popper__arrow { - bottom: -6px; - border-top-color: #303133; - border-bottom-width: 0; } - .el-tooltip__popper[x-placement^="top"] .popper__arrow::after { - bottom: 1px; - margin-left: -5px; - border-top-color: #303133; - border-bottom-width: 0; } - .el-tooltip__popper[x-placement^="bottom"] { - margin-top: 12px; } - .el-tooltip__popper[x-placement^="bottom"] .popper__arrow { - top: -6px; - border-top-width: 0; - border-bottom-color: #303133; } - .el-tooltip__popper[x-placement^="bottom"] .popper__arrow::after { - top: 1px; - margin-left: -5px; - border-top-width: 0; - border-bottom-color: #303133; } - .el-tooltip__popper[x-placement^="right"] { - margin-left: 12px; } - .el-tooltip__popper[x-placement^="right"] .popper__arrow { - left: -6px; - border-right-color: #303133; - border-left-width: 0; } - .el-tooltip__popper[x-placement^="right"] .popper__arrow::after { - bottom: -5px; - left: 1px; - border-right-color: #303133; - border-left-width: 0; } - .el-tooltip__popper[x-placement^="left"] { - margin-right: 12px; } - .el-tooltip__popper[x-placement^="left"] .popper__arrow { - right: -6px; - border-right-width: 0; - border-left-color: #303133; } - .el-tooltip__popper[x-placement^="left"] .popper__arrow::after { - right: 1px; - bottom: -5px; - margin-left: -5px; - border-right-width: 0; - border-left-color: #303133; } - .el-tooltip__popper.is-dark { - background: #303133; - color: #FFFFFF; } - .el-tooltip__popper.is-light { - background: #FFFFFF; - border: 1px solid #303133; } - .el-tooltip__popper.is-light[x-placement^="top"] .popper__arrow { - border-top-color: #303133; } - .el-tooltip__popper.is-light[x-placement^="top"] .popper__arrow::after { - border-top-color: #FFFFFF; } - .el-tooltip__popper.is-light[x-placement^="bottom"] .popper__arrow { - border-bottom-color: #303133; } - .el-tooltip__popper.is-light[x-placement^="bottom"] .popper__arrow::after { - border-bottom-color: #FFFFFF; } - .el-tooltip__popper.is-light[x-placement^="left"] .popper__arrow { - border-left-color: #303133; } - .el-tooltip__popper.is-light[x-placement^="left"] .popper__arrow::after { - border-left-color: #FFFFFF; } - .el-tooltip__popper.is-light[x-placement^="right"] .popper__arrow { - border-right-color: #303133; } - .el-tooltip__popper.is-light[x-placement^="right"] .popper__arrow::after { - border-right-color: #FFFFFF; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -.v-modal-enter { - -webkit-animation: v-modal-in .2s ease; - animation: v-modal-in .2s ease; } - -.v-modal-leave { - -webkit-animation: v-modal-out .2s ease forwards; - animation: v-modal-out .2s ease forwards; } - -@keyframes v-modal-in { - 0% { - opacity: 0; } - 100% { } } - -@keyframes v-modal-out { - 0% { } - 100% { - opacity: 0; } } - -.v-modal { - position: fixed; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0.5; - background: #000000; } - -.el-popup-parent--hidden { - overflow: hidden; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -.el-button { - display: inline-block; - line-height: 1; - white-space: nowrap; - cursor: pointer; - background: #FFFFFF; - border: 1px solid #DCDFE6; - border-color: #DCDFE6; - color: #606266; - -webkit-appearance: none; - text-align: center; - -webkit-box-sizing: border-box; - box-sizing: border-box; - outline: none; - margin: 0; - -webkit-transition: .1s; - transition: .1s; - font-weight: 500; - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - padding: 12px 20px; - font-size: 14px; - border-radius: 4px; } - .el-button + .el-button { - margin-left: 10px; } - .el-button.is-round { - padding: 12px 20px; } - .el-button:hover, .el-button:focus { - color: #409EFF; - border-color: #c6e2ff; - background-color: #ecf5ff; } - .el-button:active { - color: #3a8ee6; - border-color: #3a8ee6; - outline: none; } - .el-button::-moz-focus-inner { - border: 0; } - .el-button [class*="el-icon-"] + span { - margin-left: 5px; } - .el-button.is-plain:hover, .el-button.is-plain:focus { - background: #FFFFFF; - border-color: #409EFF; - color: #409EFF; } - .el-button.is-plain:active { - background: #FFFFFF; - border-color: #3a8ee6; - color: #3a8ee6; - outline: none; } - .el-button.is-active { - color: #3a8ee6; - border-color: #3a8ee6; } - .el-button.is-disabled, .el-button.is-disabled:hover, .el-button.is-disabled:focus { - color: #C0C4CC; - cursor: not-allowed; - background-image: none; - background-color: #FFFFFF; - border-color: #EBEEF5; } - .el-button.is-disabled.el-button--text { - background-color: transparent; } - .el-button.is-disabled.is-plain, .el-button.is-disabled.is-plain:hover, .el-button.is-disabled.is-plain:focus { - background-color: #FFFFFF; - border-color: #EBEEF5; - color: #C0C4CC; } - .el-button.is-loading { - position: relative; - pointer-events: none; } - .el-button.is-loading:before { - pointer-events: none; - content: ''; - position: absolute; - left: -1px; - top: -1px; - right: -1px; - bottom: -1px; - border-radius: inherit; - background-color: rgba(255, 255, 255, 0.35); } - .el-button.is-round { - border-radius: 20px; - padding: 12px 23px; } - .el-button.is-circle { - border-radius: 50%; - padding: 12px; } - .el-button--primary { - color: #FFFFFF; - background-color: #409EFF; - border-color: #409EFF; } - .el-button--primary:hover, .el-button--primary:focus { - background: #66b1ff; - border-color: #66b1ff; - color: #FFFFFF; } - .el-button--primary:active { - background: #3a8ee6; - border-color: #3a8ee6; - color: #FFFFFF; - outline: none; } - .el-button--primary.is-active { - background: #3a8ee6; - border-color: #3a8ee6; - color: #FFFFFF; } - .el-button--primary.is-disabled, .el-button--primary.is-disabled:hover, .el-button--primary.is-disabled:focus, .el-button--primary.is-disabled:active { - color: #FFFFFF; - background-color: #a0cfff; - border-color: #a0cfff; } - .el-button--primary.is-plain { - color: #409EFF; - background: #ecf5ff; - border-color: #b3d8ff; } - .el-button--primary.is-plain:hover, .el-button--primary.is-plain:focus { - background: #409EFF; - border-color: #409EFF; - color: #FFFFFF; } - .el-button--primary.is-plain:active { - background: #3a8ee6; - border-color: #3a8ee6; - color: #FFFFFF; - outline: none; } - .el-button--primary.is-plain.is-disabled, .el-button--primary.is-plain.is-disabled:hover, .el-button--primary.is-plain.is-disabled:focus, .el-button--primary.is-plain.is-disabled:active { - color: #8cc5ff; - background-color: #ecf5ff; - border-color: #d9ecff; } - .el-button--success { - color: #FFFFFF; - background-color: #67C23A; - border-color: #67C23A; } - .el-button--success:hover, .el-button--success:focus { - background: #85ce61; - border-color: #85ce61; - color: #FFFFFF; } - .el-button--success:active { - background: #5daf34; - border-color: #5daf34; - color: #FFFFFF; - outline: none; } - .el-button--success.is-active { - background: #5daf34; - border-color: #5daf34; - color: #FFFFFF; } - .el-button--success.is-disabled, .el-button--success.is-disabled:hover, .el-button--success.is-disabled:focus, .el-button--success.is-disabled:active { - color: #FFFFFF; - background-color: #b3e19d; - border-color: #b3e19d; } - .el-button--success.is-plain { - color: #67C23A; - background: #f0f9eb; - border-color: #c2e7b0; } - .el-button--success.is-plain:hover, .el-button--success.is-plain:focus { - background: #67C23A; - border-color: #67C23A; - color: #FFFFFF; } - .el-button--success.is-plain:active { - background: #5daf34; - border-color: #5daf34; - color: #FFFFFF; - outline: none; } - .el-button--success.is-plain.is-disabled, .el-button--success.is-plain.is-disabled:hover, .el-button--success.is-plain.is-disabled:focus, .el-button--success.is-plain.is-disabled:active { - color: #a4da89; - background-color: #f0f9eb; - border-color: #e1f3d8; } - .el-button--warning { - color: #FFFFFF; - background-color: #E6A23C; - border-color: #E6A23C; } - .el-button--warning:hover, .el-button--warning:focus { - background: #ebb563; - border-color: #ebb563; - color: #FFFFFF; } - .el-button--warning:active { - background: #cf9236; - border-color: #cf9236; - color: #FFFFFF; - outline: none; } - .el-button--warning.is-active { - background: #cf9236; - border-color: #cf9236; - color: #FFFFFF; } - .el-button--warning.is-disabled, .el-button--warning.is-disabled:hover, .el-button--warning.is-disabled:focus, .el-button--warning.is-disabled:active { - color: #FFFFFF; - background-color: #f3d19e; - border-color: #f3d19e; } - .el-button--warning.is-plain { - color: #E6A23C; - background: #fdf6ec; - border-color: #f5dab1; } - .el-button--warning.is-plain:hover, .el-button--warning.is-plain:focus { - background: #E6A23C; - border-color: #E6A23C; - color: #FFFFFF; } - .el-button--warning.is-plain:active { - background: #cf9236; - border-color: #cf9236; - color: #FFFFFF; - outline: none; } - .el-button--warning.is-plain.is-disabled, .el-button--warning.is-plain.is-disabled:hover, .el-button--warning.is-plain.is-disabled:focus, .el-button--warning.is-plain.is-disabled:active { - color: #f0c78a; - background-color: #fdf6ec; - border-color: #faecd8; } - .el-button--danger { - color: #FFFFFF; - background-color: #F56C6C; - border-color: #F56C6C; } - .el-button--danger:hover, .el-button--danger:focus { - background: #f78989; - border-color: #f78989; - color: #FFFFFF; } - .el-button--danger:active { - background: #dd6161; - border-color: #dd6161; - color: #FFFFFF; - outline: none; } - .el-button--danger.is-active { - background: #dd6161; - border-color: #dd6161; - color: #FFFFFF; } - .el-button--danger.is-disabled, .el-button--danger.is-disabled:hover, .el-button--danger.is-disabled:focus, .el-button--danger.is-disabled:active { - color: #FFFFFF; - background-color: #fab6b6; - border-color: #fab6b6; } - .el-button--danger.is-plain { - color: #F56C6C; - background: #fef0f0; - border-color: #fbc4c4; } - .el-button--danger.is-plain:hover, .el-button--danger.is-plain:focus { - background: #F56C6C; - border-color: #F56C6C; - color: #FFFFFF; } - .el-button--danger.is-plain:active { - background: #dd6161; - border-color: #dd6161; - color: #FFFFFF; - outline: none; } - .el-button--danger.is-plain.is-disabled, .el-button--danger.is-plain.is-disabled:hover, .el-button--danger.is-plain.is-disabled:focus, .el-button--danger.is-plain.is-disabled:active { - color: #f9a7a7; - background-color: #fef0f0; - border-color: #fde2e2; } - .el-button--info { - color: #FFFFFF; - background-color: #909399; - border-color: #909399; } - .el-button--info:hover, .el-button--info:focus { - background: #a6a9ad; - border-color: #a6a9ad; - color: #FFFFFF; } - .el-button--info:active { - background: #82848a; - border-color: #82848a; - color: #FFFFFF; - outline: none; } - .el-button--info.is-active { - background: #82848a; - border-color: #82848a; - color: #FFFFFF; } - .el-button--info.is-disabled, .el-button--info.is-disabled:hover, .el-button--info.is-disabled:focus, .el-button--info.is-disabled:active { - color: #FFFFFF; - background-color: #c8c9cc; - border-color: #c8c9cc; } - .el-button--info.is-plain { - color: #909399; - background: #f4f4f5; - border-color: #d3d4d6; } - .el-button--info.is-plain:hover, .el-button--info.is-plain:focus { - background: #909399; - border-color: #909399; - color: #FFFFFF; } - .el-button--info.is-plain:active { - background: #82848a; - border-color: #82848a; - color: #FFFFFF; - outline: none; } - .el-button--info.is-plain.is-disabled, .el-button--info.is-plain.is-disabled:hover, .el-button--info.is-plain.is-disabled:focus, .el-button--info.is-plain.is-disabled:active { - color: #bcbec2; - background-color: #f4f4f5; - border-color: #e9e9eb; } - .el-button--medium { - padding: 10px 20px; - font-size: 14px; - border-radius: 4px; } - .el-button--medium.is-round { - padding: 10px 20px; } - .el-button--medium.is-circle { - padding: 10px; } - .el-button--small { - padding: 9px 15px; - font-size: 12px; - border-radius: 3px; } - .el-button--small.is-round { - padding: 9px 15px; } - .el-button--small.is-circle { - padding: 9px; } - .el-button--mini { - padding: 7px 15px; - font-size: 12px; - border-radius: 3px; } - .el-button--mini.is-round { - padding: 7px 15px; } - .el-button--mini.is-circle { - padding: 7px; } - .el-button--text { - border-color: transparent; - color: #409EFF; - background: transparent; - padding-left: 0; - padding-right: 0; } - .el-button--text:hover, .el-button--text:focus { - color: #66b1ff; - border-color: transparent; - background-color: transparent; } - .el-button--text:active { - color: #3a8ee6; - border-color: transparent; - background-color: transparent; } - .el-button--text.is-disabled, .el-button--text.is-disabled:hover, .el-button--text.is-disabled:focus { - border-color: transparent; } - -.el-button-group { - display: inline-block; - vertical-align: middle; } - .el-button-group::before, - .el-button-group::after { - display: table; - content: ""; } - .el-button-group::after { - clear: both; } - .el-button-group > .el-button { - float: left; - position: relative; } - .el-button-group > .el-button + .el-button { - margin-left: 0; } - .el-button-group > .el-button.is-disabled { - z-index: 1; } - .el-button-group > .el-button:first-child { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-button-group > .el-button:last-child { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-button-group > .el-button:first-child:last-child { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; } - .el-button-group > .el-button:first-child:last-child.is-round { - border-radius: 20px; } - .el-button-group > .el-button:first-child:last-child.is-circle { - border-radius: 50%; } - .el-button-group > .el-button:not(:first-child):not(:last-child) { - border-radius: 0; } - .el-button-group > .el-button:not(:last-child) { - margin-right: -1px; } - .el-button-group > .el-button:hover, .el-button-group > .el-button:focus, .el-button-group > .el-button:active { - z-index: 1; } - .el-button-group > .el-button.is-active { - z-index: 1; } - .el-button-group > .el-dropdown > .el-button { - border-top-left-radius: 0; - border-bottom-left-radius: 0; - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--primary:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--primary:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--primary:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--success:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--success:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--success:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--warning:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--warning:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--warning:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--danger:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--danger:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--danger:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--info:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--info:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--info:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-textarea { - position: relative; - display: inline-block; - width: 100%; - vertical-align: bottom; - font-size: 14px; } - .el-textarea__inner { - display: block; - resize: vertical; - padding: 5px 15px; - line-height: 1.5; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - font-size: inherit; - color: #606266; - background-color: #FFFFFF; - background-image: none; - border: 1px solid #DCDFE6; - border-radius: 4px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea__inner:hover { - border-color: #C0C4CC; } - .el-textarea__inner:focus { - outline: none; - border-color: #409EFF; } - .el-textarea .el-input__count { - color: #909399; - background: #FFFFFF; - position: absolute; - font-size: 12px; - bottom: 5px; - right: 10px; } - .el-textarea.is-disabled .el-textarea__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea.is-exceed .el-textarea__inner { - border-color: #F56C6C; } - .el-textarea.is-exceed .el-input__count { - color: #F56C6C; } - -.el-input { - position: relative; - font-size: 14px; - display: inline-block; - width: 100%; } - .el-input::-webkit-scrollbar { - z-index: 11; - width: 6px; } - .el-input::-webkit-scrollbar:horizontal { - height: 6px; } - .el-input::-webkit-scrollbar-thumb { - border-radius: 5px; - width: 6px; - background: #b4bccc; } - .el-input::-webkit-scrollbar-corner { - background: #fff; } - .el-input::-webkit-scrollbar-track { - background: #fff; } - .el-input::-webkit-scrollbar-track-piece { - background: #fff; - width: 6px; } - .el-input .el-input__clear { - color: #C0C4CC; - font-size: 14px; - cursor: pointer; - -webkit-transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-input .el-input__clear:hover { - color: #909399; } - .el-input .el-input__count { - height: 100%; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - color: #909399; - font-size: 12px; } - .el-input .el-input__count .el-input__count-inner { - background: #FFFFFF; - line-height: initial; - display: inline-block; - padding: 0 5px; } - .el-input__inner { - -webkit-appearance: none; - background-color: #FFFFFF; - background-image: none; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: #606266; - display: inline-block; - font-size: inherit; - height: 40px; - line-height: 40px; - outline: none; - padding: 0 15px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - width: 100%; } - .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input__inner:hover { - border-color: #C0C4CC; } - .el-input__inner:focus { - outline: none; - border-color: #409EFF; } - .el-input__suffix { - position: absolute; - height: 100%; - right: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; - pointer-events: none; } - .el-input__suffix-inner { - pointer-events: all; } - .el-input__prefix { - position: absolute; - height: 100%; - left: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; } - .el-input__icon { - height: 100%; - width: 25px; - text-align: center; - -webkit-transition: all .3s; - transition: all .3s; - line-height: 40px; } - .el-input__icon:after { - content: ''; - height: 100%; - width: 0; - display: inline-block; - vertical-align: middle; } - .el-input__validateIcon { - pointer-events: none; } - .el-input.is-active .el-input__inner { - outline: none; - border-color: #409EFF; } - .el-input.is-disabled .el-input__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-input.is-disabled .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__icon { - cursor: not-allowed; } - .el-input.is-exceed .el-input__inner { - border-color: #F56C6C; } - .el-input.is-exceed .el-input__suffix .el-input__count { - color: #F56C6C; } - .el-input--suffix .el-input__inner { - padding-right: 30px; } - .el-input--prefix .el-input__inner { - padding-left: 30px; } - .el-input--medium { - font-size: 14px; } - .el-input--medium .el-input__inner { - height: 36px; - line-height: 36px; } - .el-input--medium .el-input__icon { - line-height: 36px; } - .el-input--small { - font-size: 13px; } - .el-input--small .el-input__inner { - height: 32px; - line-height: 32px; } - .el-input--small .el-input__icon { - line-height: 32px; } - .el-input--mini { - font-size: 12px; } - .el-input--mini .el-input__inner { - height: 28px; - line-height: 28px; } - .el-input--mini .el-input__icon { - line-height: 28px; } - -.el-input-group { - line-height: normal; - display: inline-table; - width: 100%; - border-collapse: separate; - border-spacing: 0; } - .el-input-group > .el-input__inner { - vertical-align: middle; - display: table-cell; } - .el-input-group__append, .el-input-group__prepend { - background-color: #F5F7FA; - color: #909399; - vertical-align: middle; - display: table-cell; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 4px; - padding: 0 20px; - width: 1px; - white-space: nowrap; } - .el-input-group__append:focus, .el-input-group__prepend:focus { - outline: none; } - .el-input-group__append .el-select, - .el-input-group__append .el-button, .el-input-group__prepend .el-select, - .el-input-group__prepend .el-button { - display: inline-block; - margin: -10px -20px; } - .el-input-group__append button.el-button, - .el-input-group__append div.el-select .el-input__inner, - .el-input-group__append div.el-select:hover .el-input__inner, .el-input-group__prepend button.el-button, - .el-input-group__prepend div.el-select .el-input__inner, - .el-input-group__prepend div.el-select:hover .el-input__inner { - border-color: transparent; - background-color: transparent; - color: inherit; - border-top: 0; - border-bottom: 0; } - .el-input-group__append .el-button, - .el-input-group__append .el-input, .el-input-group__prepend .el-button, - .el-input-group__prepend .el-input { - font-size: inherit; } - .el-input-group__prepend { - border-right: 0; - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group__append { - border-left: 0; - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-input__inner { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - .el-input-group--append .el-input__inner { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group--append .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - -/** disalbe default clear on IE */ -.el-input__inner::-ms-clear { - display: none; - width: 0; - height: 0; } - -.el-message-box { - display: inline-block; - width: 420px; - padding-bottom: 10px; - vertical-align: middle; - background-color: #FFFFFF; - border-radius: 4px; - border: 1px solid #EBEEF5; - font-size: 18px; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - text-align: left; - overflow: hidden; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; } - .el-message-box__wrapper { - position: fixed; - top: 0; - bottom: 0; - left: 0; - right: 0; - text-align: center; } - .el-message-box__wrapper::after { - content: ""; - display: inline-block; - height: 100%; - width: 0; - vertical-align: middle; } - .el-message-box__header { - position: relative; - padding: 15px; - padding-bottom: 10px; } - .el-message-box__title { - padding-left: 0; - margin-bottom: 0; - font-size: 18px; - line-height: 1; - color: #303133; } - .el-message-box__headerbtn { - position: absolute; - top: 15px; - right: 15px; - padding: 0; - border: none; - outline: none; - background: transparent; - font-size: 16px; - cursor: pointer; } - .el-message-box__headerbtn .el-message-box__close { - color: #909399; } - .el-message-box__headerbtn:focus .el-message-box__close, .el-message-box__headerbtn:hover .el-message-box__close { - color: #409EFF; } - .el-message-box__content { - padding: 10px 15px; - color: #606266; - font-size: 14px; } - .el-message-box__container { - position: relative; } - .el-message-box__input { - padding-top: 15px; } - .el-message-box__input input.invalid { - border-color: #F56C6C; } - .el-message-box__input input.invalid:focus { - border-color: #F56C6C; } - .el-message-box__status { - position: absolute; - top: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); - font-size: 24px !important; } - .el-message-box__status::before { - padding-left: 1px; } - .el-message-box__status + .el-message-box__message { - padding-left: 36px; - padding-right: 12px; } - .el-message-box__status.el-icon-success { - color: #67C23A; } - .el-message-box__status.el-icon-info { - color: #909399; } - .el-message-box__status.el-icon-warning { - color: #E6A23C; } - .el-message-box__status.el-icon-error { - color: #F56C6C; } - .el-message-box__message { - margin: 0; } - .el-message-box__message p { - margin: 0; - line-height: 24px; } - .el-message-box__errormsg { - color: #F56C6C; - font-size: 12px; - min-height: 18px; - margin-top: 2px; } - .el-message-box__btns { - padding: 5px 15px 0; - text-align: right; } - .el-message-box__btns button:nth-child(2) { - margin-left: 10px; } - .el-message-box__btns-reverse { - -webkit-box-orient: horizontal; - -webkit-box-direction: reverse; - -ms-flex-direction: row-reverse; - flex-direction: row-reverse; } - .el-message-box--center { - padding-bottom: 30px; } - .el-message-box--center .el-message-box__header { - padding-top: 30px; } - .el-message-box--center .el-message-box__title { - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; } - .el-message-box--center .el-message-box__status { - position: relative; - top: auto; - padding-right: 5px; - text-align: center; - -webkit-transform: translateY(-1px); - transform: translateY(-1px); } - .el-message-box--center .el-message-box__message { - margin-left: 0; } - .el-message-box--center .el-message-box__btns, .el-message-box--center .el-message-box__content { - text-align: center; } - .el-message-box--center .el-message-box__content { - padding-left: 27px; - padding-right: 27px; } - -.msgbox-fade-enter-active { - -webkit-animation: msgbox-fade-in .3s; - animation: msgbox-fade-in .3s; } - -.msgbox-fade-leave-active { - -webkit-animation: msgbox-fade-out .3s; - animation: msgbox-fade-out .3s; } - -@-webkit-keyframes msgbox-fade-in { - 0% { - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - opacity: 0; } - 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; } } - -@keyframes msgbox-fade-in { - 0% { - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - opacity: 0; } - 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; } } - -@-webkit-keyframes msgbox-fade-out { - 0% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; } - 100% { - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - opacity: 0; } } - -@keyframes msgbox-fade-out { - 0% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; } - 100% { - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - opacity: 0; } } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-breadcrumb { - font-size: 14px; - line-height: 1; } - .el-breadcrumb::before, - .el-breadcrumb::after { - display: table; - content: ""; } - .el-breadcrumb::after { - clear: both; } - .el-breadcrumb__separator { - margin: 0 9px; - font-weight: bold; - color: #C0C4CC; } - .el-breadcrumb__separator[class*=icon] { - margin: 0 6px; - font-weight: normal; } - .el-breadcrumb__item { - float: left; } - .el-breadcrumb__inner { - color: #606266; } - .el-breadcrumb__inner.is-link, .el-breadcrumb__inner a { - font-weight: bold; - text-decoration: none; - -webkit-transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - color: #303133; } - .el-breadcrumb__inner.is-link:hover, .el-breadcrumb__inner a:hover { - color: #409EFF; - cursor: pointer; } - .el-breadcrumb__item:last-child .el-breadcrumb__inner, .el-breadcrumb__item:last-child .el-breadcrumb__inner:hover, - .el-breadcrumb__item:last-child .el-breadcrumb__inner a, - .el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover { - font-weight: normal; - color: #606266; - cursor: text; } - .el-breadcrumb__item:last-child .el-breadcrumb__separator { - display: none; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-form--label-left .el-form-item__label { - text-align: left; } - -.el-form--label-top .el-form-item__label { - float: none; - display: inline-block; - text-align: left; - padding: 0 0 10px 0; } - -.el-form--inline .el-form-item { - display: inline-block; - margin-right: 10px; - vertical-align: top; } - -.el-form--inline .el-form-item__label { - float: none; - display: inline-block; } - -.el-form--inline .el-form-item__content { - display: inline-block; - vertical-align: top; } - -.el-form--inline.el-form--label-top .el-form-item__content { - display: block; } - -.el-form-item { - margin-bottom: 22px; } - .el-form-item::before, - .el-form-item::after { - display: table; - content: ""; } - .el-form-item::after { - clear: both; } - .el-form-item .el-form-item { - margin-bottom: 0; } - .el-form-item .el-input__validateIcon { - display: none; } - .el-form-item--medium .el-form-item__label { - line-height: 36px; } - .el-form-item--medium .el-form-item__content { - line-height: 36px; } - .el-form-item--small .el-form-item__label { - line-height: 32px; } - .el-form-item--small .el-form-item__content { - line-height: 32px; } - .el-form-item--small.el-form-item { - margin-bottom: 18px; } - .el-form-item--small .el-form-item__error { - padding-top: 2px; } - .el-form-item--mini .el-form-item__label { - line-height: 28px; } - .el-form-item--mini .el-form-item__content { - line-height: 28px; } - .el-form-item--mini.el-form-item { - margin-bottom: 18px; } - .el-form-item--mini .el-form-item__error { - padding-top: 1px; } - .el-form-item__label-wrap { - float: left; } - .el-form-item__label-wrap .el-form-item__label { - display: inline-block; - float: none; } - .el-form-item__label { - text-align: right; - vertical-align: middle; - float: left; - font-size: 14px; - color: #606266; - line-height: 40px; - padding: 0 12px 0 0; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-form-item__content { - line-height: 40px; - position: relative; - font-size: 14px; } - .el-form-item__content::before, - .el-form-item__content::after { - display: table; - content: ""; } - .el-form-item__content::after { - clear: both; } - .el-form-item__content .el-input-group { - vertical-align: top; } - .el-form-item__error { - color: #F56C6C; - font-size: 12px; - line-height: 1; - padding-top: 4px; - position: absolute; - top: 100%; - left: 0; } - .el-form-item__error--inline { - position: relative; - top: auto; - left: auto; - display: inline-block; - margin-left: 10px; } - .el-form-item.is-required:not(.is-no-asterisk) > .el-form-item__label:before, - .el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap > .el-form-item__label:before { - content: '*'; - color: #F56C6C; - margin-right: 4px; } - .el-form-item.is-error .el-input__inner, .el-form-item.is-error .el-input__inner:focus, - .el-form-item.is-error .el-textarea__inner, - .el-form-item.is-error .el-textarea__inner:focus { - border-color: #F56C6C; } - .el-form-item.is-error .el-input-group__append .el-input__inner, - .el-form-item.is-error .el-input-group__prepend .el-input__inner { - border-color: transparent; } - .el-form-item.is-error .el-input__validateIcon { - color: #F56C6C; } - .el-form-item--feedback .el-input__validateIcon { - display: inline-block; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-tabs__header { - padding: 0; - position: relative; - margin: 0 0 15px; } - -.el-tabs__active-bar { - position: absolute; - bottom: 0; - left: 0; - height: 2px; - background-color: #409EFF; - z-index: 1; - -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - list-style: none; } - -.el-tabs__new-tab { - float: right; - border: 1px solid #d3dce6; - height: 18px; - width: 18px; - line-height: 18px; - margin: 12px 0 9px 10px; - border-radius: 3px; - text-align: center; - font-size: 12px; - color: #d3dce6; - cursor: pointer; - -webkit-transition: all .15s; - transition: all .15s; } - .el-tabs__new-tab .el-icon-plus { - -webkit-transform: scale(0.8, 0.8); - transform: scale(0.8, 0.8); } - .el-tabs__new-tab:hover { - color: #409EFF; } - -.el-tabs__nav-wrap { - overflow: hidden; - margin-bottom: -1px; - position: relative; } - .el-tabs__nav-wrap::after { - content: ""; - position: absolute; - left: 0; - bottom: 0; - width: 100%; - height: 2px; - background-color: #E4E7ED; - z-index: 1; } - .el-tabs__nav-wrap.is-scrollable { - padding: 0 20px; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - -.el-tabs__nav-scroll { - overflow: hidden; } - -.el-tabs__nav-next, .el-tabs__nav-prev { - position: absolute; - cursor: pointer; - line-height: 44px; - font-size: 12px; - color: #909399; } - -.el-tabs__nav-next { - right: 0; } - -.el-tabs__nav-prev { - left: 0; } - -.el-tabs__nav { - white-space: nowrap; - position: relative; - -webkit-transition: -webkit-transform .3s; - transition: -webkit-transform .3s; - transition: transform .3s; - transition: transform .3s, -webkit-transform .3s; - float: left; - z-index: 2; } - .el-tabs__nav.is-stretch { - min-width: 100%; - display: -webkit-box; - display: -ms-flexbox; - display: flex; } - .el-tabs__nav.is-stretch > * { - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - text-align: center; } - -.el-tabs__item { - padding: 0 20px; - height: 40px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - line-height: 40px; - display: inline-block; - list-style: none; - font-size: 14px; - font-weight: 500; - color: #303133; - position: relative; } - .el-tabs__item:focus, .el-tabs__item:focus:active { - outline: none; } - .el-tabs__item:focus.is-active.is-focus:not(:active) { - -webkit-box-shadow: 0 0 2px 2px #409EFF inset; - box-shadow: 0 0 2px 2px #409EFF inset; - border-radius: 3px; } - .el-tabs__item .el-icon-close { - border-radius: 50%; - text-align: center; - -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - margin-left: 5px; } - .el-tabs__item .el-icon-close:before { - -webkit-transform: scale(0.9); - transform: scale(0.9); - display: inline-block; } - .el-tabs__item .el-icon-close:hover { - background-color: #C0C4CC; - color: #FFFFFF; } - .el-tabs__item.is-active { - color: #409EFF; } - .el-tabs__item:hover { - color: #409EFF; - cursor: pointer; } - .el-tabs__item.is-disabled { - color: #C0C4CC; - cursor: default; } - -.el-tabs__content { - overflow: hidden; - position: relative; } - -.el-tabs--card > .el-tabs__header { - border-bottom: 1px solid #E4E7ED; } - -.el-tabs--card > .el-tabs__header .el-tabs__nav-wrap::after { - content: none; } - -.el-tabs--card > .el-tabs__header .el-tabs__nav { - border: 1px solid #E4E7ED; - border-bottom: none; - border-radius: 4px 4px 0 0; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - -.el-tabs--card > .el-tabs__header .el-tabs__active-bar { - display: none; } - -.el-tabs--card > .el-tabs__header .el-tabs__item .el-icon-close { - position: relative; - font-size: 12px; - width: 0; - height: 14px; - vertical-align: middle; - line-height: 15px; - overflow: hidden; - top: -1px; - right: -2px; - -webkit-transform-origin: 100% 50%; - transform-origin: 100% 50%; } - -.el-tabs--card > .el-tabs__header .el-tabs__item { - border-bottom: 1px solid transparent; - border-left: 1px solid #E4E7ED; - -webkit-transition: color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), padding 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), padding 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-tabs--card > .el-tabs__header .el-tabs__item:first-child { - border-left: none; } - .el-tabs--card > .el-tabs__header .el-tabs__item.is-closable:hover { - padding-left: 13px; - padding-right: 13px; } - .el-tabs--card > .el-tabs__header .el-tabs__item.is-closable:hover .el-icon-close { - width: 14px; } - .el-tabs--card > .el-tabs__header .el-tabs__item.is-active { - border-bottom-color: #FFFFFF; } - .el-tabs--card > .el-tabs__header .el-tabs__item.is-active.is-closable { - padding-left: 20px; - padding-right: 20px; } - .el-tabs--card > .el-tabs__header .el-tabs__item.is-active.is-closable .el-icon-close { - width: 14px; } - -.el-tabs--border-card { - background: #FFFFFF; - border: 1px solid #DCDFE6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), 0 0 6px 0 rgba(0, 0, 0, 0.04); - box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), 0 0 6px 0 rgba(0, 0, 0, 0.04); } - .el-tabs--border-card > .el-tabs__content { - padding: 15px; } - .el-tabs--border-card > .el-tabs__header { - background-color: #F5F7FA; - border-bottom: 1px solid #E4E7ED; - margin: 0; } - .el-tabs--border-card > .el-tabs__header .el-tabs__nav-wrap::after { - content: none; } - .el-tabs--border-card > .el-tabs__header .el-tabs__item { - -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - border: 1px solid transparent; - margin-top: -1px; - color: #909399; } - .el-tabs--border-card > .el-tabs__header .el-tabs__item:first-child { - margin-left: -1px; } - .el-tabs--border-card > .el-tabs__header .el-tabs__item + .el-tabs__item { - margin-left: -1px; } - .el-tabs--border-card > .el-tabs__header .el-tabs__item.is-active { - color: #409EFF; - background-color: #FFFFFF; - border-right-color: #DCDFE6; - border-left-color: #DCDFE6; } - .el-tabs--border-card > .el-tabs__header .el-tabs__item:not(.is-disabled):hover { - color: #409EFF; } - .el-tabs--border-card > .el-tabs__header .el-tabs__item.is-disabled { - color: #C0C4CC; } - .el-tabs--border-card > .el-tabs__header .is-scrollable .el-tabs__item:first-child { - margin-left: 0; } - -.el-tabs--top .el-tabs__item.is-top:nth-child(2), -.el-tabs--top .el-tabs__item.is-bottom:nth-child(2), .el-tabs--bottom .el-tabs__item.is-top:nth-child(2), -.el-tabs--bottom .el-tabs__item.is-bottom:nth-child(2) { - padding-left: 0; } - -.el-tabs--top .el-tabs__item.is-top:last-child, -.el-tabs--top .el-tabs__item.is-bottom:last-child, .el-tabs--bottom .el-tabs__item.is-top:last-child, -.el-tabs--bottom .el-tabs__item.is-bottom:last-child { - padding-right: 0; } - -.el-tabs--top.el-tabs--border-card > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--top.el-tabs--card > .el-tabs__header .el-tabs__item:nth-child(2), -.el-tabs--top .el-tabs--left > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--top .el-tabs--right > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--bottom.el-tabs--border-card > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--bottom.el-tabs--card > .el-tabs__header .el-tabs__item:nth-child(2), -.el-tabs--bottom .el-tabs--left > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--bottom .el-tabs--right > .el-tabs__header .el-tabs__item:nth-child(2) { - padding-left: 20px; } - -.el-tabs--top.el-tabs--border-card > .el-tabs__header .el-tabs__item:last-child, .el-tabs--top.el-tabs--card > .el-tabs__header .el-tabs__item:last-child, -.el-tabs--top .el-tabs--left > .el-tabs__header .el-tabs__item:last-child, .el-tabs--top .el-tabs--right > .el-tabs__header .el-tabs__item:last-child, .el-tabs--bottom.el-tabs--border-card > .el-tabs__header .el-tabs__item:last-child, .el-tabs--bottom.el-tabs--card > .el-tabs__header .el-tabs__item:last-child, -.el-tabs--bottom .el-tabs--left > .el-tabs__header .el-tabs__item:last-child, .el-tabs--bottom .el-tabs--right > .el-tabs__header .el-tabs__item:last-child { - padding-right: 20px; } - -.el-tabs--bottom .el-tabs__header.is-bottom { - margin-bottom: 0; - margin-top: 10px; } - -.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom { - border-bottom: 0; - border-top: 1px solid #DCDFE6; } - -.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom { - margin-top: -1px; - margin-bottom: 0; } - -.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active) { - border: 1px solid transparent; } - -.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom { - margin: 0 -1px -1px -1px; } - -.el-tabs--left, .el-tabs--right { - overflow: hidden; } - .el-tabs--left .el-tabs__header.is-left, - .el-tabs--left .el-tabs__header.is-right, - .el-tabs--left .el-tabs__nav-wrap.is-left, - .el-tabs--left .el-tabs__nav-wrap.is-right, - .el-tabs--left .el-tabs__nav-scroll, .el-tabs--right .el-tabs__header.is-left, - .el-tabs--right .el-tabs__header.is-right, - .el-tabs--right .el-tabs__nav-wrap.is-left, - .el-tabs--right .el-tabs__nav-wrap.is-right, - .el-tabs--right .el-tabs__nav-scroll { - height: 100%; } - .el-tabs--left .el-tabs__active-bar.is-left, - .el-tabs--left .el-tabs__active-bar.is-right, .el-tabs--right .el-tabs__active-bar.is-left, - .el-tabs--right .el-tabs__active-bar.is-right { - top: 0; - bottom: auto; - width: 2px; - height: auto; } - .el-tabs--left .el-tabs__nav-wrap.is-left, - .el-tabs--left .el-tabs__nav-wrap.is-right, .el-tabs--right .el-tabs__nav-wrap.is-left, - .el-tabs--right .el-tabs__nav-wrap.is-right { - margin-bottom: 0; } - .el-tabs--left .el-tabs__nav-wrap.is-left > .el-tabs__nav-prev, - .el-tabs--left .el-tabs__nav-wrap.is-left > .el-tabs__nav-next, - .el-tabs--left .el-tabs__nav-wrap.is-right > .el-tabs__nav-prev, - .el-tabs--left .el-tabs__nav-wrap.is-right > .el-tabs__nav-next, .el-tabs--right .el-tabs__nav-wrap.is-left > .el-tabs__nav-prev, - .el-tabs--right .el-tabs__nav-wrap.is-left > .el-tabs__nav-next, - .el-tabs--right .el-tabs__nav-wrap.is-right > .el-tabs__nav-prev, - .el-tabs--right .el-tabs__nav-wrap.is-right > .el-tabs__nav-next { - height: 30px; - line-height: 30px; - width: 100%; - text-align: center; - cursor: pointer; } - .el-tabs--left .el-tabs__nav-wrap.is-left > .el-tabs__nav-prev i, - .el-tabs--left .el-tabs__nav-wrap.is-left > .el-tabs__nav-next i, - .el-tabs--left .el-tabs__nav-wrap.is-right > .el-tabs__nav-prev i, - .el-tabs--left .el-tabs__nav-wrap.is-right > .el-tabs__nav-next i, .el-tabs--right .el-tabs__nav-wrap.is-left > .el-tabs__nav-prev i, - .el-tabs--right .el-tabs__nav-wrap.is-left > .el-tabs__nav-next i, - .el-tabs--right .el-tabs__nav-wrap.is-right > .el-tabs__nav-prev i, - .el-tabs--right .el-tabs__nav-wrap.is-right > .el-tabs__nav-next i { - -webkit-transform: rotateZ(90deg); - transform: rotateZ(90deg); } - .el-tabs--left .el-tabs__nav-wrap.is-left > .el-tabs__nav-prev, - .el-tabs--left .el-tabs__nav-wrap.is-right > .el-tabs__nav-prev, .el-tabs--right .el-tabs__nav-wrap.is-left > .el-tabs__nav-prev, - .el-tabs--right .el-tabs__nav-wrap.is-right > .el-tabs__nav-prev { - left: auto; - top: 0; } - .el-tabs--left .el-tabs__nav-wrap.is-left > .el-tabs__nav-next, - .el-tabs--left .el-tabs__nav-wrap.is-right > .el-tabs__nav-next, .el-tabs--right .el-tabs__nav-wrap.is-left > .el-tabs__nav-next, - .el-tabs--right .el-tabs__nav-wrap.is-right > .el-tabs__nav-next { - right: auto; - bottom: 0; } - .el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable, - .el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable, .el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable, - .el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable { - padding: 30px 0; } - .el-tabs--left .el-tabs__nav-wrap.is-left::after, - .el-tabs--left .el-tabs__nav-wrap.is-right::after, .el-tabs--right .el-tabs__nav-wrap.is-left::after, - .el-tabs--right .el-tabs__nav-wrap.is-right::after { - height: 100%; - width: 2px; - bottom: auto; - top: 0; } - .el-tabs--left .el-tabs__nav.is-left, - .el-tabs--left .el-tabs__nav.is-right, .el-tabs--right .el-tabs__nav.is-left, - .el-tabs--right .el-tabs__nav.is-right { - float: none; } - .el-tabs--left .el-tabs__item.is-left, - .el-tabs--left .el-tabs__item.is-right, .el-tabs--right .el-tabs__item.is-left, - .el-tabs--right .el-tabs__item.is-right { - display: block; } - -.el-tabs--left .el-tabs__header.is-left { - float: left; - margin-bottom: 0; - margin-right: 10px; } - -.el-tabs--left .el-tabs__nav-wrap.is-left { - margin-right: -1px; } - .el-tabs--left .el-tabs__nav-wrap.is-left::after { - left: auto; - right: 0; } - -.el-tabs--left .el-tabs__active-bar.is-left { - right: 0; - left: auto; } - -.el-tabs--left .el-tabs__item.is-left { - text-align: right; } - -.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left { - display: none; } - -.el-tabs--left.el-tabs--card .el-tabs__item.is-left { - border-left: none; - border-right: 1px solid #E4E7ED; - border-bottom: none; - border-top: 1px solid #E4E7ED; - text-align: left; } - -.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child { - border-right: 1px solid #E4E7ED; - border-top: none; } - -.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active { - border: 1px solid #E4E7ED; - border-right-color: #fff; - border-left: none; - border-bottom: none; } - .el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child { - border-top: none; } - .el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child { - border-bottom: none; } - -.el-tabs--left.el-tabs--card .el-tabs__nav { - border-radius: 4px 0 0 4px; - border-bottom: 1px solid #E4E7ED; - border-right: none; } - -.el-tabs--left.el-tabs--card .el-tabs__new-tab { - float: none; } - -.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left { - border-right: 1px solid #dfe4ed; } - -.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left { - border: 1px solid transparent; - margin: -1px 0 -1px -1px; } - .el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active { - border-color: transparent; - border-top-color: #d1dbe5; - border-bottom-color: #d1dbe5; } - -.el-tabs--right .el-tabs__header.is-right { - float: right; - margin-bottom: 0; - margin-left: 10px; } - -.el-tabs--right .el-tabs__nav-wrap.is-right { - margin-left: -1px; } - .el-tabs--right .el-tabs__nav-wrap.is-right::after { - left: 0; - right: auto; } - -.el-tabs--right .el-tabs__active-bar.is-right { - left: 0; } - -.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right { - display: none; } - -.el-tabs--right.el-tabs--card .el-tabs__item.is-right { - border-bottom: none; - border-top: 1px solid #E4E7ED; } - -.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child { - border-left: 1px solid #E4E7ED; - border-top: none; } - -.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active { - border: 1px solid #E4E7ED; - border-left-color: #fff; - border-right: none; - border-bottom: none; } - .el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child { - border-top: none; } - .el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child { - border-bottom: none; } - -.el-tabs--right.el-tabs--card .el-tabs__nav { - border-radius: 0 4px 4px 0; - border-bottom: 1px solid #E4E7ED; - border-left: none; } - -.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right { - border-left: 1px solid #dfe4ed; } - -.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right { - border: 1px solid transparent; - margin: -1px -1px -1px 0; } - .el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active { - border-color: transparent; - border-top-color: #d1dbe5; - border-bottom-color: #d1dbe5; } - -.slideInRight-transition, -.slideInLeft-transition { - display: inline-block; } - -.slideInRight-enter { - -webkit-animation: slideInRight-enter .3s; - animation: slideInRight-enter .3s; } - -.slideInRight-leave { - position: absolute; - left: 0; - right: 0; - -webkit-animation: slideInRight-leave .3s; - animation: slideInRight-leave .3s; } - -.slideInLeft-enter { - -webkit-animation: slideInLeft-enter .3s; - animation: slideInLeft-enter .3s; } - -.slideInLeft-leave { - position: absolute; - left: 0; - right: 0; - -webkit-animation: slideInLeft-leave .3s; - animation: slideInLeft-leave .3s; } - -@-webkit-keyframes slideInRight-enter { - 0% { - opacity: 0; - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - -webkit-transform: translateX(100%); - transform: translateX(100%); } - to { - opacity: 1; - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - -webkit-transform: translateX(0); - transform: translateX(0); } } - -@keyframes slideInRight-enter { - 0% { - opacity: 0; - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - -webkit-transform: translateX(100%); - transform: translateX(100%); } - to { - opacity: 1; - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - -webkit-transform: translateX(0); - transform: translateX(0); } } - -@-webkit-keyframes slideInRight-leave { - 0% { - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - -webkit-transform: translateX(0); - transform: translateX(0); - opacity: 1; } - 100% { - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - -webkit-transform: translateX(100%); - transform: translateX(100%); - opacity: 0; } } - -@keyframes slideInRight-leave { - 0% { - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - -webkit-transform: translateX(0); - transform: translateX(0); - opacity: 1; } - 100% { - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - -webkit-transform: translateX(100%); - transform: translateX(100%); - opacity: 0; } } - -@-webkit-keyframes slideInLeft-enter { - 0% { - opacity: 0; - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - -webkit-transform: translateX(-100%); - transform: translateX(-100%); } - to { - opacity: 1; - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - -webkit-transform: translateX(0); - transform: translateX(0); } } - -@keyframes slideInLeft-enter { - 0% { - opacity: 0; - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - -webkit-transform: translateX(-100%); - transform: translateX(-100%); } - to { - opacity: 1; - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - -webkit-transform: translateX(0); - transform: translateX(0); } } - -@-webkit-keyframes slideInLeft-leave { - 0% { - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - -webkit-transform: translateX(0); - transform: translateX(0); - opacity: 1; } - 100% { - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - -webkit-transform: translateX(-100%); - transform: translateX(-100%); - opacity: 0; } } - -@keyframes slideInLeft-leave { - 0% { - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - -webkit-transform: translateX(0); - transform: translateX(0); - opacity: 1; } - 100% { - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - -webkit-transform: translateX(-100%); - transform: translateX(-100%); - opacity: 0; } } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-tag { - background-color: #ecf5ff; - border-color: #d9ecff; - color: #409eff; - display: inline-block; - height: 32px; - padding: 0 10px; - line-height: 30px; - font-size: 12px; - color: #409EFF; - border-width: 1px; - border-style: solid; - border-radius: 4px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - white-space: nowrap; } - .el-tag.is-hit { - border-color: #409EFF; } - .el-tag .el-tag__close { - color: #409eff; } - .el-tag .el-tag__close:hover { - color: #FFFFFF; - background-color: #409eff; } - .el-tag.el-tag--info { - background-color: #f4f4f5; - border-color: #e9e9eb; - color: #909399; } - .el-tag.el-tag--info.is-hit { - border-color: #909399; } - .el-tag.el-tag--info .el-tag__close { - color: #909399; } - .el-tag.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #909399; } - .el-tag.el-tag--success { - background-color: #f0f9eb; - border-color: #e1f3d8; - color: #67c23a; } - .el-tag.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag.el-tag--success .el-tag__close { - color: #67c23a; } - .el-tag.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #67c23a; } - .el-tag.el-tag--warning { - background-color: #fdf6ec; - border-color: #faecd8; - color: #e6a23c; } - .el-tag.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag.el-tag--warning .el-tag__close { - color: #e6a23c; } - .el-tag.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #e6a23c; } - .el-tag.el-tag--danger { - background-color: #fef0f0; - border-color: #fde2e2; - color: #f56c6c; } - .el-tag.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag.el-tag--danger .el-tag__close { - color: #f56c6c; } - .el-tag.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f56c6c; } - .el-tag .el-icon-close { - border-radius: 50%; - text-align: center; - position: relative; - cursor: pointer; - font-size: 12px; - height: 16px; - width: 16px; - line-height: 16px; - vertical-align: middle; - top: -1px; - right: -5px; } - .el-tag .el-icon-close::before { - display: block; } - .el-tag--dark { - background-color: #409eff; - border-color: #409eff; - color: white; } - .el-tag--dark.is-hit { - border-color: #409EFF; } - .el-tag--dark .el-tag__close { - color: white; } - .el-tag--dark .el-tag__close:hover { - color: #FFFFFF; - background-color: #66b1ff; } - .el-tag--dark.el-tag--info { - background-color: #909399; - border-color: #909399; - color: white; } - .el-tag--dark.el-tag--info.is-hit { - border-color: #909399; } - .el-tag--dark.el-tag--info .el-tag__close { - color: white; } - .el-tag--dark.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #a6a9ad; } - .el-tag--dark.el-tag--success { - background-color: #67c23a; - border-color: #67c23a; - color: white; } - .el-tag--dark.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag--dark.el-tag--success .el-tag__close { - color: white; } - .el-tag--dark.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #85ce61; } - .el-tag--dark.el-tag--warning { - background-color: #e6a23c; - border-color: #e6a23c; - color: white; } - .el-tag--dark.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag--dark.el-tag--warning .el-tag__close { - color: white; } - .el-tag--dark.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #ebb563; } - .el-tag--dark.el-tag--danger { - background-color: #f56c6c; - border-color: #f56c6c; - color: white; } - .el-tag--dark.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag--dark.el-tag--danger .el-tag__close { - color: white; } - .el-tag--dark.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f78989; } - .el-tag--plain { - background-color: white; - border-color: #b3d8ff; - color: #409eff; } - .el-tag--plain.is-hit { - border-color: #409EFF; } - .el-tag--plain .el-tag__close { - color: #409eff; } - .el-tag--plain .el-tag__close:hover { - color: #FFFFFF; - background-color: #409eff; } - .el-tag--plain.el-tag--info { - background-color: white; - border-color: #d3d4d6; - color: #909399; } - .el-tag--plain.el-tag--info.is-hit { - border-color: #909399; } - .el-tag--plain.el-tag--info .el-tag__close { - color: #909399; } - .el-tag--plain.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #909399; } - .el-tag--plain.el-tag--success { - background-color: white; - border-color: #c2e7b0; - color: #67c23a; } - .el-tag--plain.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag--plain.el-tag--success .el-tag__close { - color: #67c23a; } - .el-tag--plain.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #67c23a; } - .el-tag--plain.el-tag--warning { - background-color: white; - border-color: #f5dab1; - color: #e6a23c; } - .el-tag--plain.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag--plain.el-tag--warning .el-tag__close { - color: #e6a23c; } - .el-tag--plain.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #e6a23c; } - .el-tag--plain.el-tag--danger { - background-color: white; - border-color: #fbc4c4; - color: #f56c6c; } - .el-tag--plain.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag--plain.el-tag--danger .el-tag__close { - color: #f56c6c; } - .el-tag--plain.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f56c6c; } - .el-tag--medium { - height: 28px; - line-height: 26px; } - .el-tag--medium .el-icon-close { - -webkit-transform: scale(0.8); - transform: scale(0.8); } - .el-tag--small { - height: 24px; - padding: 0 8px; - line-height: 22px; } - .el-tag--small .el-icon-close { - -webkit-transform: scale(0.8); - transform: scale(0.8); } - .el-tag--mini { - height: 20px; - padding: 0 5px; - line-height: 19px; } - .el-tag--mini .el-icon-close { - margin-left: -3px; - -webkit-transform: scale(0.7); - transform: scale(0.7); } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.fade-in-linear-enter-active, -.fade-in-linear-leave-active { - -webkit-transition: opacity 200ms linear; - transition: opacity 200ms linear; } - -.fade-in-linear-enter, -.fade-in-linear-leave, -.fade-in-linear-leave-active { - opacity: 0; } - -.el-fade-in-linear-enter-active, -.el-fade-in-linear-leave-active { - -webkit-transition: opacity 200ms linear; - transition: opacity 200ms linear; } - -.el-fade-in-linear-enter, -.el-fade-in-linear-leave, -.el-fade-in-linear-leave-active { - opacity: 0; } - -.el-fade-in-enter-active, -.el-fade-in-leave-active { - -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-fade-in-enter, -.el-fade-in-leave-active { - opacity: 0; } - -.el-zoom-in-center-enter-active, -.el-zoom-in-center-leave-active { - -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-zoom-in-center-enter, -.el-zoom-in-center-leave-active { - opacity: 0; - -webkit-transform: scaleX(0); - transform: scaleX(0); } - -.el-zoom-in-top-enter-active, -.el-zoom-in-top-leave-active { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: center top; - transform-origin: center top; } - -.el-zoom-in-top-enter, -.el-zoom-in-top-leave-active { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0); } - -.el-zoom-in-bottom-enter-active, -.el-zoom-in-bottom-leave-active { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; } - -.el-zoom-in-bottom-enter, -.el-zoom-in-bottom-leave-active { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0); } - -.el-zoom-in-left-enter-active, -.el-zoom-in-left-leave-active { - opacity: 1; - -webkit-transform: scale(1, 1); - transform: scale(1, 1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: top left; - transform-origin: top left; } - -.el-zoom-in-left-enter, -.el-zoom-in-left-leave-active { - opacity: 0; - -webkit-transform: scale(0.45, 0.45); - transform: scale(0.45, 0.45); } - -.collapse-transition { - -webkit-transition: 0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out; - transition: 0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out; } - -.horizontal-collapse-transition { - -webkit-transition: 0.3s width ease-in-out, 0.3s padding-left ease-in-out, 0.3s padding-right ease-in-out; - transition: 0.3s width ease-in-out, 0.3s padding-left ease-in-out, 0.3s padding-right ease-in-out; } - -.el-list-enter-active, -.el-list-leave-active { - -webkit-transition: all 1s; - transition: all 1s; } - -.el-list-enter, .el-list-leave-active { - opacity: 0; - -webkit-transform: translateY(-30px); - transform: translateY(-30px); } - -.el-opacity-transition { - -webkit-transition: opacity 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: opacity 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-checkbox { - color: #606266; - font-weight: 500; - font-size: 14px; - position: relative; - cursor: pointer; - display: inline-block; - white-space: nowrap; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - margin-right: 30px; } - .el-checkbox.is-bordered { - padding: 9px 20px 9px 10px; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - line-height: normal; - height: 40px; } - .el-checkbox.is-bordered.is-checked { - border-color: #409EFF; } - .el-checkbox.is-bordered.is-disabled { - border-color: #EBEEF5; - cursor: not-allowed; } - .el-checkbox.is-bordered + .el-checkbox.is-bordered { - margin-left: 10px; } - .el-checkbox.is-bordered.el-checkbox--medium { - padding: 7px 20px 7px 10px; - border-radius: 4px; - height: 36px; } - .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label { - line-height: 17px; - font-size: 14px; } - .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner { - height: 14px; - width: 14px; } - .el-checkbox.is-bordered.el-checkbox--small { - padding: 5px 15px 5px 10px; - border-radius: 3px; - height: 32px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label { - line-height: 15px; - font-size: 12px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner { - height: 12px; - width: 12px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after { - height: 6px; - width: 2px; } - .el-checkbox.is-bordered.el-checkbox--mini { - padding: 3px 15px 3px 10px; - border-radius: 3px; - height: 28px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label { - line-height: 12px; - font-size: 12px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner { - height: 12px; - width: 12px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after { - height: 6px; - width: 2px; } - .el-checkbox__input { - white-space: nowrap; - cursor: pointer; - outline: none; - display: inline-block; - line-height: 1; - position: relative; - vertical-align: middle; } - .el-checkbox__input.is-disabled .el-checkbox__inner { - background-color: #edf2fc; - border-color: #DCDFE6; - cursor: not-allowed; } - .el-checkbox__input.is-disabled .el-checkbox__inner::after { - cursor: not-allowed; - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled .el-checkbox__inner + .el-checkbox__label { - cursor: not-allowed; } - .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { - background-color: #F2F6FC; - border-color: #DCDFE6; } - .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after { - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner { - background-color: #F2F6FC; - border-color: #DCDFE6; } - .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before { - background-color: #C0C4CC; - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled + span.el-checkbox__label { - color: #C0C4CC; - cursor: not-allowed; } - .el-checkbox__input.is-checked .el-checkbox__inner { - background-color: #409EFF; - border-color: #409EFF; } - .el-checkbox__input.is-checked .el-checkbox__inner::after { - -webkit-transform: rotate(45deg) scaleY(1); - transform: rotate(45deg) scaleY(1); } - .el-checkbox__input.is-checked + .el-checkbox__label { - color: #409EFF; } - .el-checkbox__input.is-focus { - /*focus时 视觉上区分*/ } - .el-checkbox__input.is-focus .el-checkbox__inner { - border-color: #409EFF; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner { - background-color: #409EFF; - border-color: #409EFF; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner::before { - content: ''; - position: absolute; - display: block; - background-color: #FFFFFF; - height: 2px; - -webkit-transform: scale(0.5); - transform: scale(0.5); - left: 0; - right: 0; - top: 5px; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner::after { - display: none; } - .el-checkbox__inner { - display: inline-block; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 2px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 14px; - height: 14px; - background-color: #FFFFFF; - z-index: 1; - -webkit-transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46), background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46); - transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46), background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46); } - .el-checkbox__inner:hover { - border-color: #409EFF; } - .el-checkbox__inner::after { - -webkit-box-sizing: content-box; - box-sizing: content-box; - content: ""; - border: 1px solid #FFFFFF; - border-left: 0; - border-top: 0; - height: 7px; - left: 4px; - position: absolute; - top: 1px; - -webkit-transform: rotate(45deg) scaleY(0); - transform: rotate(45deg) scaleY(0); - width: 3px; - -webkit-transition: -webkit-transform .15s ease-in .05s; - transition: -webkit-transform .15s ease-in .05s; - transition: transform .15s ease-in .05s; - transition: transform .15s ease-in .05s, -webkit-transform .15s ease-in .05s; - -webkit-transform-origin: center; - transform-origin: center; } - .el-checkbox__original { - opacity: 0; - outline: none; - position: absolute; - margin: 0; - width: 0; - height: 0; - z-index: -1; } - .el-checkbox__label { - display: inline-block; - padding-left: 10px; - line-height: 19px; - font-size: 14px; } - .el-checkbox:last-of-type { - margin-right: 0; } - -.el-checkbox-button { - position: relative; - display: inline-block; } - .el-checkbox-button__inner { - display: inline-block; - line-height: 1; - font-weight: 500; - white-space: nowrap; - vertical-align: middle; - cursor: pointer; - background: #FFFFFF; - border: 1px solid #DCDFE6; - border-left: 0; - color: #606266; - -webkit-appearance: none; - text-align: center; - -webkit-box-sizing: border-box; - box-sizing: border-box; - outline: none; - margin: 0; - position: relative; - -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - padding: 12px 20px; - font-size: 14px; - border-radius: 0; } - .el-checkbox-button__inner.is-round { - padding: 12px 20px; } - .el-checkbox-button__inner:hover { - color: #409EFF; } - .el-checkbox-button__inner [class*="el-icon-"] { - line-height: 0.9; } - .el-checkbox-button__inner [class*="el-icon-"] + span { - margin-left: 5px; } - .el-checkbox-button__original { - opacity: 0; - outline: none; - position: absolute; - margin: 0; - z-index: -1; } - .el-checkbox-button.is-checked .el-checkbox-button__inner { - color: #FFFFFF; - background-color: #409EFF; - border-color: #409EFF; - -webkit-box-shadow: -1px 0 0 0 #8cc5ff; - box-shadow: -1px 0 0 0 #8cc5ff; } - .el-checkbox-button.is-checked:first-child .el-checkbox-button__inner { - border-left-color: #409EFF; } - .el-checkbox-button.is-disabled .el-checkbox-button__inner { - color: #C0C4CC; - cursor: not-allowed; - background-image: none; - background-color: #FFFFFF; - border-color: #EBEEF5; - -webkit-box-shadow: none; - box-shadow: none; } - .el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner { - border-left-color: #EBEEF5; } - .el-checkbox-button:first-child .el-checkbox-button__inner { - border-left: 1px solid #DCDFE6; - border-radius: 4px 0 0 4px; - -webkit-box-shadow: none !important; - box-shadow: none !important; } - .el-checkbox-button.is-focus .el-checkbox-button__inner { - border-color: #409EFF; } - .el-checkbox-button:last-child .el-checkbox-button__inner { - border-radius: 0 4px 4px 0; } - .el-checkbox-button--medium .el-checkbox-button__inner { - padding: 10px 20px; - font-size: 14px; - border-radius: 0; } - .el-checkbox-button--medium .el-checkbox-button__inner.is-round { - padding: 10px 20px; } - .el-checkbox-button--small .el-checkbox-button__inner { - padding: 9px 15px; - font-size: 12px; - border-radius: 0; } - .el-checkbox-button--small .el-checkbox-button__inner.is-round { - padding: 9px 15px; } - .el-checkbox-button--mini .el-checkbox-button__inner { - padding: 7px 15px; - font-size: 12px; - border-radius: 0; } - .el-checkbox-button--mini .el-checkbox-button__inner.is-round { - padding: 7px 15px; } - -.el-checkbox-group { - font-size: 0; } - -.el-tree { - position: relative; - cursor: default; - background: #FFFFFF; - color: #606266; } - .el-tree__empty-block { - position: relative; - min-height: 60px; - text-align: center; - width: 100%; - height: 100%; } - .el-tree__empty-text { - position: absolute; - left: 50%; - top: 50%; - -webkit-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); - color: #909399; - font-size: 14px; } - .el-tree__drop-indicator { - position: absolute; - left: 0; - right: 0; - height: 1px; - background-color: #409EFF; } - -.el-tree-node { - white-space: nowrap; - outline: none; } - .el-tree-node:focus { - /* focus */ } - .el-tree-node:focus > .el-tree-node__content { - background-color: #F5F7FA; } - .el-tree-node.is-drop-inner > .el-tree-node__content .el-tree-node__label { - background-color: #409EFF; - color: #fff; } - .el-tree-node__content { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - height: 26px; - cursor: pointer; } - .el-tree-node__content > .el-tree-node__expand-icon { - padding: 6px; } - .el-tree-node__content > label.el-checkbox { - margin-right: 8px; } - .el-tree-node__content:hover { - background-color: #F5F7FA; } - .el-tree.is-dragging .el-tree-node__content { - cursor: move; } - .el-tree.is-dragging .el-tree-node__content * { - pointer-events: none; } - .el-tree.is-dragging.is-drop-not-allow .el-tree-node__content { - cursor: not-allowed; } - .el-tree-node__expand-icon { - cursor: pointer; - color: #C0C4CC; - font-size: 12px; - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - -webkit-transition: -webkit-transform 0.3s ease-in-out; - transition: -webkit-transform 0.3s ease-in-out; - transition: transform 0.3s ease-in-out; - transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out; } - .el-tree-node__expand-icon.expanded { - -webkit-transform: rotate(90deg); - transform: rotate(90deg); } - .el-tree-node__expand-icon.is-leaf { - color: transparent; - cursor: default; } - .el-tree-node__label { - font-size: 14px; } - .el-tree-node__loading-icon { - margin-right: 8px; - font-size: 14px; - color: #C0C4CC; } - .el-tree-node > .el-tree-node__children { - overflow: hidden; - background-color: transparent; } - .el-tree-node.is-expanded > .el-tree-node__children { - display: block; } - -.el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content { - background-color: #f0f7ff; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-alert { - width: 100%; - padding: 8px 16px; - margin: 0; - -webkit-box-sizing: border-box; - box-sizing: border-box; - border-radius: 4px; - position: relative; - background-color: #FFFFFF; - overflow: hidden; - opacity: 1; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-transition: opacity .2s; - transition: opacity .2s; } - .el-alert.is-light .el-alert__closebtn { - color: #C0C4CC; } - .el-alert.is-dark .el-alert__closebtn { - color: #FFFFFF; } - .el-alert.is-dark .el-alert__description { - color: #FFFFFF; } - .el-alert.is-center { - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; } - .el-alert--success.is-light { - background-color: #f0f9eb; - color: #67C23A; } - .el-alert--success.is-light .el-alert__description { - color: #67C23A; } - .el-alert--success.is-dark { - background-color: #67C23A; - color: #FFFFFF; } - .el-alert--info.is-light { - background-color: #f4f4f5; - color: #909399; } - .el-alert--info.is-dark { - background-color: #909399; - color: #FFFFFF; } - .el-alert--info .el-alert__description { - color: #909399; } - .el-alert--warning.is-light { - background-color: #fdf6ec; - color: #E6A23C; } - .el-alert--warning.is-light .el-alert__description { - color: #E6A23C; } - .el-alert--warning.is-dark { - background-color: #E6A23C; - color: #FFFFFF; } - .el-alert--error.is-light { - background-color: #fef0f0; - color: #F56C6C; } - .el-alert--error.is-light .el-alert__description { - color: #F56C6C; } - .el-alert--error.is-dark { - background-color: #F56C6C; - color: #FFFFFF; } - .el-alert__content { - display: table-cell; - padding: 0 8px; } - .el-alert__icon { - font-size: 16px; - width: 16px; } - .el-alert__icon.is-big { - font-size: 28px; - width: 28px; } - .el-alert__title { - font-size: 13px; - line-height: 18px; } - .el-alert__title.is-bold { - font-weight: bold; } - .el-alert .el-alert__description { - font-size: 12px; - margin: 5px 0 0 0; } - .el-alert__closebtn { - font-size: 12px; - opacity: 1; - position: absolute; - top: 12px; - right: 15px; - cursor: pointer; } - .el-alert__closebtn.is-customed { - font-style: normal; - font-size: 13px; - top: 9px; } - -.el-alert-fade-enter, -.el-alert-fade-leave-active { - opacity: 0; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-notification { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - width: 330px; - padding: 14px 26px 14px 13px; - border-radius: 8px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - border: 1px solid #EBEEF5; - position: fixed; - background-color: #FFFFFF; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - -webkit-transition: opacity .3s, left .3s, right .3s, top 0.4s, bottom .3s, -webkit-transform .3s; - transition: opacity .3s, left .3s, right .3s, top 0.4s, bottom .3s, -webkit-transform .3s; - transition: opacity .3s, transform .3s, left .3s, right .3s, top 0.4s, bottom .3s; - transition: opacity .3s, transform .3s, left .3s, right .3s, top 0.4s, bottom .3s, -webkit-transform .3s; - overflow: hidden; } - .el-notification.right { - right: 16px; } - .el-notification.left { - left: 16px; } - .el-notification__group { - margin-left: 13px; - margin-right: 8px; } - .el-notification__title { - font-weight: bold; - font-size: 16px; - color: #303133; - margin: 0; } - .el-notification__content { - font-size: 14px; - line-height: 21px; - margin: 6px 0 0 0; - color: #606266; - text-align: justify; } - .el-notification__content p { - margin: 0; } - .el-notification__icon { - height: 24px; - width: 24px; - font-size: 24px; } - .el-notification__closeBtn { - position: absolute; - top: 18px; - right: 15px; - cursor: pointer; - color: #909399; - font-size: 16px; } - .el-notification__closeBtn:hover { - color: #606266; } - .el-notification .el-icon-success { - color: #67C23A; } - .el-notification .el-icon-error { - color: #F56C6C; } - .el-notification .el-icon-info { - color: #909399; } - .el-notification .el-icon-warning { - color: #E6A23C; } - -.el-notification-fade-enter.right { - right: 0; - -webkit-transform: translateX(100%); - transform: translateX(100%); } - -.el-notification-fade-enter.left { - left: 0; - -webkit-transform: translateX(-100%); - transform: translateX(-100%); } - -.el-notification-fade-leave-active { - opacity: 0; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-textarea { - position: relative; - display: inline-block; - width: 100%; - vertical-align: bottom; - font-size: 14px; } - .el-textarea__inner { - display: block; - resize: vertical; - padding: 5px 15px; - line-height: 1.5; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - font-size: inherit; - color: #606266; - background-color: #FFFFFF; - background-image: none; - border: 1px solid #DCDFE6; - border-radius: 4px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea__inner:hover { - border-color: #C0C4CC; } - .el-textarea__inner:focus { - outline: none; - border-color: #409EFF; } - .el-textarea .el-input__count { - color: #909399; - background: #FFFFFF; - position: absolute; - font-size: 12px; - bottom: 5px; - right: 10px; } - .el-textarea.is-disabled .el-textarea__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea.is-exceed .el-textarea__inner { - border-color: #F56C6C; } - .el-textarea.is-exceed .el-input__count { - color: #F56C6C; } - -.el-input { - position: relative; - font-size: 14px; - display: inline-block; - width: 100%; } - .el-input::-webkit-scrollbar { - z-index: 11; - width: 6px; } - .el-input::-webkit-scrollbar:horizontal { - height: 6px; } - .el-input::-webkit-scrollbar-thumb { - border-radius: 5px; - width: 6px; - background: #b4bccc; } - .el-input::-webkit-scrollbar-corner { - background: #fff; } - .el-input::-webkit-scrollbar-track { - background: #fff; } - .el-input::-webkit-scrollbar-track-piece { - background: #fff; - width: 6px; } - .el-input .el-input__clear { - color: #C0C4CC; - font-size: 14px; - cursor: pointer; - -webkit-transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-input .el-input__clear:hover { - color: #909399; } - .el-input .el-input__count { - height: 100%; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - color: #909399; - font-size: 12px; } - .el-input .el-input__count .el-input__count-inner { - background: #FFFFFF; - line-height: initial; - display: inline-block; - padding: 0 5px; } - .el-input__inner { - -webkit-appearance: none; - background-color: #FFFFFF; - background-image: none; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: #606266; - display: inline-block; - font-size: inherit; - height: 40px; - line-height: 40px; - outline: none; - padding: 0 15px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - width: 100%; } - .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input__inner:hover { - border-color: #C0C4CC; } - .el-input__inner:focus { - outline: none; - border-color: #409EFF; } - .el-input__suffix { - position: absolute; - height: 100%; - right: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; - pointer-events: none; } - .el-input__suffix-inner { - pointer-events: all; } - .el-input__prefix { - position: absolute; - height: 100%; - left: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; } - .el-input__icon { - height: 100%; - width: 25px; - text-align: center; - -webkit-transition: all .3s; - transition: all .3s; - line-height: 40px; } - .el-input__icon:after { - content: ''; - height: 100%; - width: 0; - display: inline-block; - vertical-align: middle; } - .el-input__validateIcon { - pointer-events: none; } - .el-input.is-active .el-input__inner { - outline: none; - border-color: #409EFF; } - .el-input.is-disabled .el-input__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-input.is-disabled .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__icon { - cursor: not-allowed; } - .el-input.is-exceed .el-input__inner { - border-color: #F56C6C; } - .el-input.is-exceed .el-input__suffix .el-input__count { - color: #F56C6C; } - .el-input--suffix .el-input__inner { - padding-right: 30px; } - .el-input--prefix .el-input__inner { - padding-left: 30px; } - .el-input--medium { - font-size: 14px; } - .el-input--medium .el-input__inner { - height: 36px; - line-height: 36px; } - .el-input--medium .el-input__icon { - line-height: 36px; } - .el-input--small { - font-size: 13px; } - .el-input--small .el-input__inner { - height: 32px; - line-height: 32px; } - .el-input--small .el-input__icon { - line-height: 32px; } - .el-input--mini { - font-size: 12px; } - .el-input--mini .el-input__inner { - height: 28px; - line-height: 28px; } - .el-input--mini .el-input__icon { - line-height: 28px; } - -.el-input-group { - line-height: normal; - display: inline-table; - width: 100%; - border-collapse: separate; - border-spacing: 0; } - .el-input-group > .el-input__inner { - vertical-align: middle; - display: table-cell; } - .el-input-group__append, .el-input-group__prepend { - background-color: #F5F7FA; - color: #909399; - vertical-align: middle; - display: table-cell; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 4px; - padding: 0 20px; - width: 1px; - white-space: nowrap; } - .el-input-group__append:focus, .el-input-group__prepend:focus { - outline: none; } - .el-input-group__append .el-select, - .el-input-group__append .el-button, .el-input-group__prepend .el-select, - .el-input-group__prepend .el-button { - display: inline-block; - margin: -10px -20px; } - .el-input-group__append button.el-button, - .el-input-group__append div.el-select .el-input__inner, - .el-input-group__append div.el-select:hover .el-input__inner, .el-input-group__prepend button.el-button, - .el-input-group__prepend div.el-select .el-input__inner, - .el-input-group__prepend div.el-select:hover .el-input__inner { - border-color: transparent; - background-color: transparent; - color: inherit; - border-top: 0; - border-bottom: 0; } - .el-input-group__append .el-button, - .el-input-group__append .el-input, .el-input-group__prepend .el-button, - .el-input-group__prepend .el-input { - font-size: inherit; } - .el-input-group__prepend { - border-right: 0; - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group__append { - border-left: 0; - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-input__inner { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - .el-input-group--append .el-input__inner { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group--append .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - -/** disalbe default clear on IE */ -.el-input__inner::-ms-clear { - display: none; - width: 0; - height: 0; } - -.el-input-number { - position: relative; - display: inline-block; - width: 180px; - line-height: 38px; } - .el-input-number .el-input { - display: block; } - .el-input-number .el-input__inner { - -webkit-appearance: none; - padding-left: 50px; - padding-right: 50px; - text-align: center; } - .el-input-number__increase, .el-input-number__decrease { - position: absolute; - z-index: 1; - top: 1px; - width: 40px; - height: auto; - text-align: center; - background: #F5F7FA; - color: #606266; - cursor: pointer; - font-size: 13px; } - .el-input-number__increase:hover, .el-input-number__decrease:hover { - color: #409EFF; } - .el-input-number__increase:hover:not(.is-disabled) ~ .el-input .el-input__inner:not(.is-disabled), .el-input-number__decrease:hover:not(.is-disabled) ~ .el-input .el-input__inner:not(.is-disabled) { - border-color: #409EFF; } - .el-input-number__increase.is-disabled, .el-input-number__decrease.is-disabled { - color: #C0C4CC; - cursor: not-allowed; } - .el-input-number__increase { - right: 1px; - border-radius: 0 4px 4px 0; - border-left: 1px solid #DCDFE6; } - .el-input-number__decrease { - left: 1px; - border-radius: 4px 0 0 4px; - border-right: 1px solid #DCDFE6; } - .el-input-number.is-disabled .el-input-number__increase, .el-input-number.is-disabled .el-input-number__decrease { - border-color: #E4E7ED; - color: #E4E7ED; } - .el-input-number.is-disabled .el-input-number__increase:hover, .el-input-number.is-disabled .el-input-number__decrease:hover { - color: #E4E7ED; - cursor: not-allowed; } - .el-input-number--medium { - width: 200px; - line-height: 34px; } - .el-input-number--medium .el-input-number__increase, .el-input-number--medium .el-input-number__decrease { - width: 36px; - font-size: 14px; } - .el-input-number--medium .el-input__inner { - padding-left: 43px; - padding-right: 43px; } - .el-input-number--small { - width: 130px; - line-height: 30px; } - .el-input-number--small .el-input-number__increase, .el-input-number--small .el-input-number__decrease { - width: 32px; - font-size: 13px; } - .el-input-number--small .el-input-number__increase [class*=el-icon], .el-input-number--small .el-input-number__decrease [class*=el-icon] { - -webkit-transform: scale(0.9); - transform: scale(0.9); } - .el-input-number--small .el-input__inner { - padding-left: 39px; - padding-right: 39px; } - .el-input-number--mini { - width: 130px; - line-height: 26px; } - .el-input-number--mini .el-input-number__increase, .el-input-number--mini .el-input-number__decrease { - width: 28px; - font-size: 12px; } - .el-input-number--mini .el-input-number__increase [class*=el-icon], .el-input-number--mini .el-input-number__decrease [class*=el-icon] { - -webkit-transform: scale(0.8); - transform: scale(0.8); } - .el-input-number--mini .el-input__inner { - padding-left: 35px; - padding-right: 35px; } - .el-input-number.is-without-controls .el-input__inner { - padding-left: 15px; - padding-right: 15px; } - .el-input-number.is-controls-right .el-input__inner { - padding-left: 15px; - padding-right: 50px; } - .el-input-number.is-controls-right .el-input-number__increase, .el-input-number.is-controls-right .el-input-number__decrease { - height: auto; - line-height: 19px; } - .el-input-number.is-controls-right .el-input-number__increase [class*=el-icon], .el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon] { - -webkit-transform: scale(0.8); - transform: scale(0.8); } - .el-input-number.is-controls-right .el-input-number__increase { - border-radius: 0 4px 0 0; - border-bottom: 1px solid #DCDFE6; } - .el-input-number.is-controls-right .el-input-number__decrease { - right: 1px; - bottom: 1px; - top: auto; - left: auto; - border-right: none; - border-left: 1px solid #DCDFE6; - border-radius: 0 0 4px 0; } - .el-input-number.is-controls-right[class*=medium] [class*=increase], .el-input-number.is-controls-right[class*=medium] [class*=decrease] { - line-height: 17px; } - .el-input-number.is-controls-right[class*=small] [class*=increase], .el-input-number.is-controls-right[class*=small] [class*=decrease] { - line-height: 15px; } - .el-input-number.is-controls-right[class*=mini] [class*=increase], .el-input-number.is-controls-right[class*=mini] [class*=decrease] { - line-height: 13px; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-tooltip:focus:not(.focusing), .el-tooltip:focus:hover { - outline-width: 0; } - -.el-tooltip__popper { - position: absolute; - border-radius: 4px; - padding: 10px; - z-index: 2000; - font-size: 12px; - line-height: 1.2; - min-width: 10px; - word-wrap: break-word; } - .el-tooltip__popper .popper__arrow, - .el-tooltip__popper .popper__arrow::after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; } - .el-tooltip__popper .popper__arrow { - border-width: 6px; } - .el-tooltip__popper .popper__arrow::after { - content: " "; - border-width: 5px; } - .el-tooltip__popper[x-placement^="top"] { - margin-bottom: 12px; } - .el-tooltip__popper[x-placement^="top"] .popper__arrow { - bottom: -6px; - border-top-color: #303133; - border-bottom-width: 0; } - .el-tooltip__popper[x-placement^="top"] .popper__arrow::after { - bottom: 1px; - margin-left: -5px; - border-top-color: #303133; - border-bottom-width: 0; } - .el-tooltip__popper[x-placement^="bottom"] { - margin-top: 12px; } - .el-tooltip__popper[x-placement^="bottom"] .popper__arrow { - top: -6px; - border-top-width: 0; - border-bottom-color: #303133; } - .el-tooltip__popper[x-placement^="bottom"] .popper__arrow::after { - top: 1px; - margin-left: -5px; - border-top-width: 0; - border-bottom-color: #303133; } - .el-tooltip__popper[x-placement^="right"] { - margin-left: 12px; } - .el-tooltip__popper[x-placement^="right"] .popper__arrow { - left: -6px; - border-right-color: #303133; - border-left-width: 0; } - .el-tooltip__popper[x-placement^="right"] .popper__arrow::after { - bottom: -5px; - left: 1px; - border-right-color: #303133; - border-left-width: 0; } - .el-tooltip__popper[x-placement^="left"] { - margin-right: 12px; } - .el-tooltip__popper[x-placement^="left"] .popper__arrow { - right: -6px; - border-right-width: 0; - border-left-color: #303133; } - .el-tooltip__popper[x-placement^="left"] .popper__arrow::after { - right: 1px; - bottom: -5px; - margin-left: -5px; - border-right-width: 0; - border-left-color: #303133; } - .el-tooltip__popper.is-dark { - background: #303133; - color: #FFFFFF; } - .el-tooltip__popper.is-light { - background: #FFFFFF; - border: 1px solid #303133; } - .el-tooltip__popper.is-light[x-placement^="top"] .popper__arrow { - border-top-color: #303133; } - .el-tooltip__popper.is-light[x-placement^="top"] .popper__arrow::after { - border-top-color: #FFFFFF; } - .el-tooltip__popper.is-light[x-placement^="bottom"] .popper__arrow { - border-bottom-color: #303133; } - .el-tooltip__popper.is-light[x-placement^="bottom"] .popper__arrow::after { - border-bottom-color: #FFFFFF; } - .el-tooltip__popper.is-light[x-placement^="left"] .popper__arrow { - border-left-color: #303133; } - .el-tooltip__popper.is-light[x-placement^="left"] .popper__arrow::after { - border-left-color: #FFFFFF; } - .el-tooltip__popper.is-light[x-placement^="right"] .popper__arrow { - border-right-color: #303133; } - .el-tooltip__popper.is-light[x-placement^="right"] .popper__arrow::after { - border-right-color: #FFFFFF; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-slider::before, -.el-slider::after { - display: table; - content: ""; } - -.el-slider::after { - clear: both; } - -.el-slider__runway { - width: 100%; - height: 6px; - margin: 16px 0; - background-color: #E4E7ED; - border-radius: 3px; - position: relative; - cursor: pointer; - vertical-align: middle; } - .el-slider__runway.show-input { - margin-right: 160px; - width: auto; } - .el-slider__runway.disabled { - cursor: default; } - .el-slider__runway.disabled .el-slider__bar { - background-color: #C0C4CC; } - .el-slider__runway.disabled .el-slider__button { - border-color: #C0C4CC; } - .el-slider__runway.disabled .el-slider__button-wrapper:hover, .el-slider__runway.disabled .el-slider__button-wrapper.hover { - cursor: not-allowed; } - .el-slider__runway.disabled .el-slider__button-wrapper.dragging { - cursor: not-allowed; } - .el-slider__runway.disabled .el-slider__button:hover, .el-slider__runway.disabled .el-slider__button.hover, .el-slider__runway.disabled .el-slider__button.dragging { - -webkit-transform: scale(1); - transform: scale(1); } - .el-slider__runway.disabled .el-slider__button:hover, .el-slider__runway.disabled .el-slider__button.hover { - cursor: not-allowed; } - .el-slider__runway.disabled .el-slider__button.dragging { - cursor: not-allowed; } - -.el-slider__input { - float: right; - margin-top: 3px; - width: 130px; } - .el-slider__input.el-input-number--mini { - margin-top: 5px; } - .el-slider__input.el-input-number--medium { - margin-top: 0; } - .el-slider__input.el-input-number--large { - margin-top: -2px; } - -.el-slider__bar { - height: 6px; - background-color: #409EFF; - border-top-left-radius: 3px; - border-bottom-left-radius: 3px; - position: absolute; } - -.el-slider__button-wrapper { - height: 36px; - width: 36px; - position: absolute; - z-index: 1001; - top: -15px; - -webkit-transform: translateX(-50%); - transform: translateX(-50%); - background-color: transparent; - text-align: center; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - line-height: normal; } - .el-slider__button-wrapper::after { - display: inline-block; - content: ""; - height: 100%; - vertical-align: middle; } - .el-slider__button-wrapper .el-tooltip { - vertical-align: middle; - display: inline-block; } - .el-slider__button-wrapper:hover, .el-slider__button-wrapper.hover { - cursor: -webkit-grab; - cursor: grab; } - .el-slider__button-wrapper.dragging { - cursor: -webkit-grabbing; - cursor: grabbing; } - -.el-slider__button { - width: 16px; - height: 16px; - border: solid 2px #409EFF; - background-color: #FFFFFF; - border-radius: 50%; - -webkit-transition: .2s; - transition: .2s; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; } - .el-slider__button:hover, .el-slider__button.hover, .el-slider__button.dragging { - -webkit-transform: scale(1.2); - transform: scale(1.2); } - .el-slider__button:hover, .el-slider__button.hover { - cursor: -webkit-grab; - cursor: grab; } - .el-slider__button.dragging { - cursor: -webkit-grabbing; - cursor: grabbing; } - -.el-slider__stop { - position: absolute; - height: 6px; - width: 6px; - border-radius: 100%; - background-color: #FFFFFF; - -webkit-transform: translateX(-50%); - transform: translateX(-50%); } - -.el-slider__marks { - top: 0; - left: 12px; - width: 18px; - height: 100%; } - .el-slider__marks-text { - position: absolute; - -webkit-transform: translateX(-50%); - transform: translateX(-50%); - font-size: 14px; - color: #909399; - margin-top: 15px; } - -.el-slider.is-vertical { - position: relative; } - .el-slider.is-vertical .el-slider__runway { - width: 6px; - height: 100%; - margin: 0 16px; } - .el-slider.is-vertical .el-slider__bar { - width: 6px; - height: auto; - border-radius: 0 0 3px 3px; } - .el-slider.is-vertical .el-slider__button-wrapper { - top: auto; - left: -15px; - -webkit-transform: translateY(50%); - transform: translateY(50%); } - .el-slider.is-vertical .el-slider__stop { - -webkit-transform: translateY(50%); - transform: translateY(50%); } - .el-slider.is-vertical.el-slider--with-input { - padding-bottom: 58px; } - .el-slider.is-vertical.el-slider--with-input .el-slider__input { - overflow: visible; - float: none; - position: absolute; - bottom: 22px; - width: 36px; - margin-top: 15px; } - .el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input__inner { - text-align: center; - padding-left: 5px; - padding-right: 5px; } - .el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease, - .el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase { - top: 32px; - margin-top: -1px; - border: 1px solid #DCDFE6; - line-height: 20px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease { - width: 18px; - right: 18px; - border-bottom-left-radius: 4px; } - .el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase { - width: 19px; - border-bottom-right-radius: 4px; } - .el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase ~ .el-input .el-input__inner { - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; } - .el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__decrease, - .el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__increase { - border-color: #C0C4CC; } - .el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__decrease, - .el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__increase { - border-color: #409EFF; } - .el-slider.is-vertical .el-slider__marks-text { - margin-top: 0; - left: 15px; - -webkit-transform: translateY(50%); - transform: translateY(50%); } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-loading-parent--relative { - position: relative !important; } - -.el-loading-parent--hidden { - overflow: hidden !important; } - -.el-loading-mask { - position: absolute; - z-index: 2000; - background-color: rgba(255, 255, 255, 0.9); - margin: 0; - top: 0; - right: 0; - bottom: 0; - left: 0; - -webkit-transition: opacity 0.3s; - transition: opacity 0.3s; } - .el-loading-mask.is-fullscreen { - position: fixed; } - .el-loading-mask.is-fullscreen .el-loading-spinner { - margin-top: -25px; } - .el-loading-mask.is-fullscreen .el-loading-spinner .circular { - height: 50px; - width: 50px; } - -.el-loading-spinner { - top: 50%; - margin-top: -21px; - width: 100%; - text-align: center; - position: absolute; } - .el-loading-spinner .el-loading-text { - color: #409EFF; - margin: 3px 0; - font-size: 14px; } - .el-loading-spinner .circular { - height: 42px; - width: 42px; - -webkit-animation: loading-rotate 2s linear infinite; - animation: loading-rotate 2s linear infinite; } - .el-loading-spinner .path { - -webkit-animation: loading-dash 1.5s ease-in-out infinite; - animation: loading-dash 1.5s ease-in-out infinite; - stroke-dasharray: 90, 150; - stroke-dashoffset: 0; - stroke-width: 2; - stroke: #409EFF; - stroke-linecap: round; } - .el-loading-spinner i { - color: #409EFF; } - -.el-loading-fade-enter, -.el-loading-fade-leave-active { - opacity: 0; } - -@-webkit-keyframes loading-rotate { - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); } } - -@keyframes loading-rotate { - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); } } - -@-webkit-keyframes loading-dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; } - 50% { - stroke-dasharray: 90, 150; - stroke-dashoffset: -40px; } - 100% { - stroke-dasharray: 90, 150; - stroke-dashoffset: -120px; } } - -@keyframes loading-dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; } - 50% { - stroke-dasharray: 90, 150; - stroke-dashoffset: -40px; } - 100% { - stroke-dasharray: 90, 150; - stroke-dashoffset: -120px; } } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -.el-row { - position: relative; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-row::before, - .el-row::after { - display: table; - content: ""; } - .el-row::after { - clear: both; } - .el-row--flex { - display: -webkit-box; - display: -ms-flexbox; - display: flex; } - .el-row--flex:before, .el-row--flex:after { - display: none; } - .el-row--flex.is-justify-center { - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; } - .el-row--flex.is-justify-end { - -webkit-box-pack: end; - -ms-flex-pack: end; - justify-content: flex-end; } - .el-row--flex.is-justify-space-between { - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; } - .el-row--flex.is-justify-space-around { - -ms-flex-pack: distribute; - justify-content: space-around; } - .el-row--flex.is-align-middle { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - .el-row--flex.is-align-bottom { - -webkit-box-align: end; - -ms-flex-align: end; - align-items: flex-end; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -[class*="el-col-"] { - float: left; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - -.el-col-0 { - display: none; } - -.el-col-0 { - width: 0%; } - -.el-col-offset-0 { - margin-left: 0%; } - -.el-col-pull-0 { - position: relative; - right: 0%; } - -.el-col-push-0 { - position: relative; - left: 0%; } - -.el-col-1 { - width: 4.16667%; } - -.el-col-offset-1 { - margin-left: 4.16667%; } - -.el-col-pull-1 { - position: relative; - right: 4.16667%; } - -.el-col-push-1 { - position: relative; - left: 4.16667%; } - -.el-col-2 { - width: 8.33333%; } - -.el-col-offset-2 { - margin-left: 8.33333%; } - -.el-col-pull-2 { - position: relative; - right: 8.33333%; } - -.el-col-push-2 { - position: relative; - left: 8.33333%; } - -.el-col-3 { - width: 12.5%; } - -.el-col-offset-3 { - margin-left: 12.5%; } - -.el-col-pull-3 { - position: relative; - right: 12.5%; } - -.el-col-push-3 { - position: relative; - left: 12.5%; } - -.el-col-4 { - width: 16.66667%; } - -.el-col-offset-4 { - margin-left: 16.66667%; } - -.el-col-pull-4 { - position: relative; - right: 16.66667%; } - -.el-col-push-4 { - position: relative; - left: 16.66667%; } - -.el-col-5 { - width: 20.83333%; } - -.el-col-offset-5 { - margin-left: 20.83333%; } - -.el-col-pull-5 { - position: relative; - right: 20.83333%; } - -.el-col-push-5 { - position: relative; - left: 20.83333%; } - -.el-col-6 { - width: 25%; } - -.el-col-offset-6 { - margin-left: 25%; } - -.el-col-pull-6 { - position: relative; - right: 25%; } - -.el-col-push-6 { - position: relative; - left: 25%; } - -.el-col-7 { - width: 29.16667%; } - -.el-col-offset-7 { - margin-left: 29.16667%; } - -.el-col-pull-7 { - position: relative; - right: 29.16667%; } - -.el-col-push-7 { - position: relative; - left: 29.16667%; } - -.el-col-8 { - width: 33.33333%; } - -.el-col-offset-8 { - margin-left: 33.33333%; } - -.el-col-pull-8 { - position: relative; - right: 33.33333%; } - -.el-col-push-8 { - position: relative; - left: 33.33333%; } - -.el-col-9 { - width: 37.5%; } - -.el-col-offset-9 { - margin-left: 37.5%; } - -.el-col-pull-9 { - position: relative; - right: 37.5%; } - -.el-col-push-9 { - position: relative; - left: 37.5%; } - -.el-col-10 { - width: 41.66667%; } - -.el-col-offset-10 { - margin-left: 41.66667%; } - -.el-col-pull-10 { - position: relative; - right: 41.66667%; } - -.el-col-push-10 { - position: relative; - left: 41.66667%; } - -.el-col-11 { - width: 45.83333%; } - -.el-col-offset-11 { - margin-left: 45.83333%; } - -.el-col-pull-11 { - position: relative; - right: 45.83333%; } - -.el-col-push-11 { - position: relative; - left: 45.83333%; } - -.el-col-12 { - width: 50%; } - -.el-col-offset-12 { - margin-left: 50%; } - -.el-col-pull-12 { - position: relative; - right: 50%; } - -.el-col-push-12 { - position: relative; - left: 50%; } - -.el-col-13 { - width: 54.16667%; } - -.el-col-offset-13 { - margin-left: 54.16667%; } - -.el-col-pull-13 { - position: relative; - right: 54.16667%; } - -.el-col-push-13 { - position: relative; - left: 54.16667%; } - -.el-col-14 { - width: 58.33333%; } - -.el-col-offset-14 { - margin-left: 58.33333%; } - -.el-col-pull-14 { - position: relative; - right: 58.33333%; } - -.el-col-push-14 { - position: relative; - left: 58.33333%; } - -.el-col-15 { - width: 62.5%; } - -.el-col-offset-15 { - margin-left: 62.5%; } - -.el-col-pull-15 { - position: relative; - right: 62.5%; } - -.el-col-push-15 { - position: relative; - left: 62.5%; } - -.el-col-16 { - width: 66.66667%; } - -.el-col-offset-16 { - margin-left: 66.66667%; } - -.el-col-pull-16 { - position: relative; - right: 66.66667%; } - -.el-col-push-16 { - position: relative; - left: 66.66667%; } - -.el-col-17 { - width: 70.83333%; } - -.el-col-offset-17 { - margin-left: 70.83333%; } - -.el-col-pull-17 { - position: relative; - right: 70.83333%; } - -.el-col-push-17 { - position: relative; - left: 70.83333%; } - -.el-col-18 { - width: 75%; } - -.el-col-offset-18 { - margin-left: 75%; } - -.el-col-pull-18 { - position: relative; - right: 75%; } - -.el-col-push-18 { - position: relative; - left: 75%; } - -.el-col-19 { - width: 79.16667%; } - -.el-col-offset-19 { - margin-left: 79.16667%; } - -.el-col-pull-19 { - position: relative; - right: 79.16667%; } - -.el-col-push-19 { - position: relative; - left: 79.16667%; } - -.el-col-20 { - width: 83.33333%; } - -.el-col-offset-20 { - margin-left: 83.33333%; } - -.el-col-pull-20 { - position: relative; - right: 83.33333%; } - -.el-col-push-20 { - position: relative; - left: 83.33333%; } - -.el-col-21 { - width: 87.5%; } - -.el-col-offset-21 { - margin-left: 87.5%; } - -.el-col-pull-21 { - position: relative; - right: 87.5%; } - -.el-col-push-21 { - position: relative; - left: 87.5%; } - -.el-col-22 { - width: 91.66667%; } - -.el-col-offset-22 { - margin-left: 91.66667%; } - -.el-col-pull-22 { - position: relative; - right: 91.66667%; } - -.el-col-push-22 { - position: relative; - left: 91.66667%; } - -.el-col-23 { - width: 95.83333%; } - -.el-col-offset-23 { - margin-left: 95.83333%; } - -.el-col-pull-23 { - position: relative; - right: 95.83333%; } - -.el-col-push-23 { - position: relative; - left: 95.83333%; } - -.el-col-24 { - width: 100%; } - -.el-col-offset-24 { - margin-left: 100%; } - -.el-col-pull-24 { - position: relative; - right: 100%; } - -.el-col-push-24 { - position: relative; - left: 100%; } - -@media only screen and (max-width: 767px) { - .el-col-xs-0 { - display: none; } - .el-col-xs-0 { - width: 0%; } - .el-col-xs-offset-0 { - margin-left: 0%; } - .el-col-xs-pull-0 { - position: relative; - right: 0%; } - .el-col-xs-push-0 { - position: relative; - left: 0%; } - .el-col-xs-1 { - width: 4.16667%; } - .el-col-xs-offset-1 { - margin-left: 4.16667%; } - .el-col-xs-pull-1 { - position: relative; - right: 4.16667%; } - .el-col-xs-push-1 { - position: relative; - left: 4.16667%; } - .el-col-xs-2 { - width: 8.33333%; } - .el-col-xs-offset-2 { - margin-left: 8.33333%; } - .el-col-xs-pull-2 { - position: relative; - right: 8.33333%; } - .el-col-xs-push-2 { - position: relative; - left: 8.33333%; } - .el-col-xs-3 { - width: 12.5%; } - .el-col-xs-offset-3 { - margin-left: 12.5%; } - .el-col-xs-pull-3 { - position: relative; - right: 12.5%; } - .el-col-xs-push-3 { - position: relative; - left: 12.5%; } - .el-col-xs-4 { - width: 16.66667%; } - .el-col-xs-offset-4 { - margin-left: 16.66667%; } - .el-col-xs-pull-4 { - position: relative; - right: 16.66667%; } - .el-col-xs-push-4 { - position: relative; - left: 16.66667%; } - .el-col-xs-5 { - width: 20.83333%; } - .el-col-xs-offset-5 { - margin-left: 20.83333%; } - .el-col-xs-pull-5 { - position: relative; - right: 20.83333%; } - .el-col-xs-push-5 { - position: relative; - left: 20.83333%; } - .el-col-xs-6 { - width: 25%; } - .el-col-xs-offset-6 { - margin-left: 25%; } - .el-col-xs-pull-6 { - position: relative; - right: 25%; } - .el-col-xs-push-6 { - position: relative; - left: 25%; } - .el-col-xs-7 { - width: 29.16667%; } - .el-col-xs-offset-7 { - margin-left: 29.16667%; } - .el-col-xs-pull-7 { - position: relative; - right: 29.16667%; } - .el-col-xs-push-7 { - position: relative; - left: 29.16667%; } - .el-col-xs-8 { - width: 33.33333%; } - .el-col-xs-offset-8 { - margin-left: 33.33333%; } - .el-col-xs-pull-8 { - position: relative; - right: 33.33333%; } - .el-col-xs-push-8 { - position: relative; - left: 33.33333%; } - .el-col-xs-9 { - width: 37.5%; } - .el-col-xs-offset-9 { - margin-left: 37.5%; } - .el-col-xs-pull-9 { - position: relative; - right: 37.5%; } - .el-col-xs-push-9 { - position: relative; - left: 37.5%; } - .el-col-xs-10 { - width: 41.66667%; } - .el-col-xs-offset-10 { - margin-left: 41.66667%; } - .el-col-xs-pull-10 { - position: relative; - right: 41.66667%; } - .el-col-xs-push-10 { - position: relative; - left: 41.66667%; } - .el-col-xs-11 { - width: 45.83333%; } - .el-col-xs-offset-11 { - margin-left: 45.83333%; } - .el-col-xs-pull-11 { - position: relative; - right: 45.83333%; } - .el-col-xs-push-11 { - position: relative; - left: 45.83333%; } - .el-col-xs-12 { - width: 50%; } - .el-col-xs-offset-12 { - margin-left: 50%; } - .el-col-xs-pull-12 { - position: relative; - right: 50%; } - .el-col-xs-push-12 { - position: relative; - left: 50%; } - .el-col-xs-13 { - width: 54.16667%; } - .el-col-xs-offset-13 { - margin-left: 54.16667%; } - .el-col-xs-pull-13 { - position: relative; - right: 54.16667%; } - .el-col-xs-push-13 { - position: relative; - left: 54.16667%; } - .el-col-xs-14 { - width: 58.33333%; } - .el-col-xs-offset-14 { - margin-left: 58.33333%; } - .el-col-xs-pull-14 { - position: relative; - right: 58.33333%; } - .el-col-xs-push-14 { - position: relative; - left: 58.33333%; } - .el-col-xs-15 { - width: 62.5%; } - .el-col-xs-offset-15 { - margin-left: 62.5%; } - .el-col-xs-pull-15 { - position: relative; - right: 62.5%; } - .el-col-xs-push-15 { - position: relative; - left: 62.5%; } - .el-col-xs-16 { - width: 66.66667%; } - .el-col-xs-offset-16 { - margin-left: 66.66667%; } - .el-col-xs-pull-16 { - position: relative; - right: 66.66667%; } - .el-col-xs-push-16 { - position: relative; - left: 66.66667%; } - .el-col-xs-17 { - width: 70.83333%; } - .el-col-xs-offset-17 { - margin-left: 70.83333%; } - .el-col-xs-pull-17 { - position: relative; - right: 70.83333%; } - .el-col-xs-push-17 { - position: relative; - left: 70.83333%; } - .el-col-xs-18 { - width: 75%; } - .el-col-xs-offset-18 { - margin-left: 75%; } - .el-col-xs-pull-18 { - position: relative; - right: 75%; } - .el-col-xs-push-18 { - position: relative; - left: 75%; } - .el-col-xs-19 { - width: 79.16667%; } - .el-col-xs-offset-19 { - margin-left: 79.16667%; } - .el-col-xs-pull-19 { - position: relative; - right: 79.16667%; } - .el-col-xs-push-19 { - position: relative; - left: 79.16667%; } - .el-col-xs-20 { - width: 83.33333%; } - .el-col-xs-offset-20 { - margin-left: 83.33333%; } - .el-col-xs-pull-20 { - position: relative; - right: 83.33333%; } - .el-col-xs-push-20 { - position: relative; - left: 83.33333%; } - .el-col-xs-21 { - width: 87.5%; } - .el-col-xs-offset-21 { - margin-left: 87.5%; } - .el-col-xs-pull-21 { - position: relative; - right: 87.5%; } - .el-col-xs-push-21 { - position: relative; - left: 87.5%; } - .el-col-xs-22 { - width: 91.66667%; } - .el-col-xs-offset-22 { - margin-left: 91.66667%; } - .el-col-xs-pull-22 { - position: relative; - right: 91.66667%; } - .el-col-xs-push-22 { - position: relative; - left: 91.66667%; } - .el-col-xs-23 { - width: 95.83333%; } - .el-col-xs-offset-23 { - margin-left: 95.83333%; } - .el-col-xs-pull-23 { - position: relative; - right: 95.83333%; } - .el-col-xs-push-23 { - position: relative; - left: 95.83333%; } - .el-col-xs-24 { - width: 100%; } - .el-col-xs-offset-24 { - margin-left: 100%; } - .el-col-xs-pull-24 { - position: relative; - right: 100%; } - .el-col-xs-push-24 { - position: relative; - left: 100%; } } - -@media only screen and (min-width: 768px) { - .el-col-sm-0 { - display: none; } - .el-col-sm-0 { - width: 0%; } - .el-col-sm-offset-0 { - margin-left: 0%; } - .el-col-sm-pull-0 { - position: relative; - right: 0%; } - .el-col-sm-push-0 { - position: relative; - left: 0%; } - .el-col-sm-1 { - width: 4.16667%; } - .el-col-sm-offset-1 { - margin-left: 4.16667%; } - .el-col-sm-pull-1 { - position: relative; - right: 4.16667%; } - .el-col-sm-push-1 { - position: relative; - left: 4.16667%; } - .el-col-sm-2 { - width: 8.33333%; } - .el-col-sm-offset-2 { - margin-left: 8.33333%; } - .el-col-sm-pull-2 { - position: relative; - right: 8.33333%; } - .el-col-sm-push-2 { - position: relative; - left: 8.33333%; } - .el-col-sm-3 { - width: 12.5%; } - .el-col-sm-offset-3 { - margin-left: 12.5%; } - .el-col-sm-pull-3 { - position: relative; - right: 12.5%; } - .el-col-sm-push-3 { - position: relative; - left: 12.5%; } - .el-col-sm-4 { - width: 16.66667%; } - .el-col-sm-offset-4 { - margin-left: 16.66667%; } - .el-col-sm-pull-4 { - position: relative; - right: 16.66667%; } - .el-col-sm-push-4 { - position: relative; - left: 16.66667%; } - .el-col-sm-5 { - width: 20.83333%; } - .el-col-sm-offset-5 { - margin-left: 20.83333%; } - .el-col-sm-pull-5 { - position: relative; - right: 20.83333%; } - .el-col-sm-push-5 { - position: relative; - left: 20.83333%; } - .el-col-sm-6 { - width: 25%; } - .el-col-sm-offset-6 { - margin-left: 25%; } - .el-col-sm-pull-6 { - position: relative; - right: 25%; } - .el-col-sm-push-6 { - position: relative; - left: 25%; } - .el-col-sm-7 { - width: 29.16667%; } - .el-col-sm-offset-7 { - margin-left: 29.16667%; } - .el-col-sm-pull-7 { - position: relative; - right: 29.16667%; } - .el-col-sm-push-7 { - position: relative; - left: 29.16667%; } - .el-col-sm-8 { - width: 33.33333%; } - .el-col-sm-offset-8 { - margin-left: 33.33333%; } - .el-col-sm-pull-8 { - position: relative; - right: 33.33333%; } - .el-col-sm-push-8 { - position: relative; - left: 33.33333%; } - .el-col-sm-9 { - width: 37.5%; } - .el-col-sm-offset-9 { - margin-left: 37.5%; } - .el-col-sm-pull-9 { - position: relative; - right: 37.5%; } - .el-col-sm-push-9 { - position: relative; - left: 37.5%; } - .el-col-sm-10 { - width: 41.66667%; } - .el-col-sm-offset-10 { - margin-left: 41.66667%; } - .el-col-sm-pull-10 { - position: relative; - right: 41.66667%; } - .el-col-sm-push-10 { - position: relative; - left: 41.66667%; } - .el-col-sm-11 { - width: 45.83333%; } - .el-col-sm-offset-11 { - margin-left: 45.83333%; } - .el-col-sm-pull-11 { - position: relative; - right: 45.83333%; } - .el-col-sm-push-11 { - position: relative; - left: 45.83333%; } - .el-col-sm-12 { - width: 50%; } - .el-col-sm-offset-12 { - margin-left: 50%; } - .el-col-sm-pull-12 { - position: relative; - right: 50%; } - .el-col-sm-push-12 { - position: relative; - left: 50%; } - .el-col-sm-13 { - width: 54.16667%; } - .el-col-sm-offset-13 { - margin-left: 54.16667%; } - .el-col-sm-pull-13 { - position: relative; - right: 54.16667%; } - .el-col-sm-push-13 { - position: relative; - left: 54.16667%; } - .el-col-sm-14 { - width: 58.33333%; } - .el-col-sm-offset-14 { - margin-left: 58.33333%; } - .el-col-sm-pull-14 { - position: relative; - right: 58.33333%; } - .el-col-sm-push-14 { - position: relative; - left: 58.33333%; } - .el-col-sm-15 { - width: 62.5%; } - .el-col-sm-offset-15 { - margin-left: 62.5%; } - .el-col-sm-pull-15 { - position: relative; - right: 62.5%; } - .el-col-sm-push-15 { - position: relative; - left: 62.5%; } - .el-col-sm-16 { - width: 66.66667%; } - .el-col-sm-offset-16 { - margin-left: 66.66667%; } - .el-col-sm-pull-16 { - position: relative; - right: 66.66667%; } - .el-col-sm-push-16 { - position: relative; - left: 66.66667%; } - .el-col-sm-17 { - width: 70.83333%; } - .el-col-sm-offset-17 { - margin-left: 70.83333%; } - .el-col-sm-pull-17 { - position: relative; - right: 70.83333%; } - .el-col-sm-push-17 { - position: relative; - left: 70.83333%; } - .el-col-sm-18 { - width: 75%; } - .el-col-sm-offset-18 { - margin-left: 75%; } - .el-col-sm-pull-18 { - position: relative; - right: 75%; } - .el-col-sm-push-18 { - position: relative; - left: 75%; } - .el-col-sm-19 { - width: 79.16667%; } - .el-col-sm-offset-19 { - margin-left: 79.16667%; } - .el-col-sm-pull-19 { - position: relative; - right: 79.16667%; } - .el-col-sm-push-19 { - position: relative; - left: 79.16667%; } - .el-col-sm-20 { - width: 83.33333%; } - .el-col-sm-offset-20 { - margin-left: 83.33333%; } - .el-col-sm-pull-20 { - position: relative; - right: 83.33333%; } - .el-col-sm-push-20 { - position: relative; - left: 83.33333%; } - .el-col-sm-21 { - width: 87.5%; } - .el-col-sm-offset-21 { - margin-left: 87.5%; } - .el-col-sm-pull-21 { - position: relative; - right: 87.5%; } - .el-col-sm-push-21 { - position: relative; - left: 87.5%; } - .el-col-sm-22 { - width: 91.66667%; } - .el-col-sm-offset-22 { - margin-left: 91.66667%; } - .el-col-sm-pull-22 { - position: relative; - right: 91.66667%; } - .el-col-sm-push-22 { - position: relative; - left: 91.66667%; } - .el-col-sm-23 { - width: 95.83333%; } - .el-col-sm-offset-23 { - margin-left: 95.83333%; } - .el-col-sm-pull-23 { - position: relative; - right: 95.83333%; } - .el-col-sm-push-23 { - position: relative; - left: 95.83333%; } - .el-col-sm-24 { - width: 100%; } - .el-col-sm-offset-24 { - margin-left: 100%; } - .el-col-sm-pull-24 { - position: relative; - right: 100%; } - .el-col-sm-push-24 { - position: relative; - left: 100%; } } - -@media only screen and (min-width: 992px) { - .el-col-md-0 { - display: none; } - .el-col-md-0 { - width: 0%; } - .el-col-md-offset-0 { - margin-left: 0%; } - .el-col-md-pull-0 { - position: relative; - right: 0%; } - .el-col-md-push-0 { - position: relative; - left: 0%; } - .el-col-md-1 { - width: 4.16667%; } - .el-col-md-offset-1 { - margin-left: 4.16667%; } - .el-col-md-pull-1 { - position: relative; - right: 4.16667%; } - .el-col-md-push-1 { - position: relative; - left: 4.16667%; } - .el-col-md-2 { - width: 8.33333%; } - .el-col-md-offset-2 { - margin-left: 8.33333%; } - .el-col-md-pull-2 { - position: relative; - right: 8.33333%; } - .el-col-md-push-2 { - position: relative; - left: 8.33333%; } - .el-col-md-3 { - width: 12.5%; } - .el-col-md-offset-3 { - margin-left: 12.5%; } - .el-col-md-pull-3 { - position: relative; - right: 12.5%; } - .el-col-md-push-3 { - position: relative; - left: 12.5%; } - .el-col-md-4 { - width: 16.66667%; } - .el-col-md-offset-4 { - margin-left: 16.66667%; } - .el-col-md-pull-4 { - position: relative; - right: 16.66667%; } - .el-col-md-push-4 { - position: relative; - left: 16.66667%; } - .el-col-md-5 { - width: 20.83333%; } - .el-col-md-offset-5 { - margin-left: 20.83333%; } - .el-col-md-pull-5 { - position: relative; - right: 20.83333%; } - .el-col-md-push-5 { - position: relative; - left: 20.83333%; } - .el-col-md-6 { - width: 25%; } - .el-col-md-offset-6 { - margin-left: 25%; } - .el-col-md-pull-6 { - position: relative; - right: 25%; } - .el-col-md-push-6 { - position: relative; - left: 25%; } - .el-col-md-7 { - width: 29.16667%; } - .el-col-md-offset-7 { - margin-left: 29.16667%; } - .el-col-md-pull-7 { - position: relative; - right: 29.16667%; } - .el-col-md-push-7 { - position: relative; - left: 29.16667%; } - .el-col-md-8 { - width: 33.33333%; } - .el-col-md-offset-8 { - margin-left: 33.33333%; } - .el-col-md-pull-8 { - position: relative; - right: 33.33333%; } - .el-col-md-push-8 { - position: relative; - left: 33.33333%; } - .el-col-md-9 { - width: 37.5%; } - .el-col-md-offset-9 { - margin-left: 37.5%; } - .el-col-md-pull-9 { - position: relative; - right: 37.5%; } - .el-col-md-push-9 { - position: relative; - left: 37.5%; } - .el-col-md-10 { - width: 41.66667%; } - .el-col-md-offset-10 { - margin-left: 41.66667%; } - .el-col-md-pull-10 { - position: relative; - right: 41.66667%; } - .el-col-md-push-10 { - position: relative; - left: 41.66667%; } - .el-col-md-11 { - width: 45.83333%; } - .el-col-md-offset-11 { - margin-left: 45.83333%; } - .el-col-md-pull-11 { - position: relative; - right: 45.83333%; } - .el-col-md-push-11 { - position: relative; - left: 45.83333%; } - .el-col-md-12 { - width: 50%; } - .el-col-md-offset-12 { - margin-left: 50%; } - .el-col-md-pull-12 { - position: relative; - right: 50%; } - .el-col-md-push-12 { - position: relative; - left: 50%; } - .el-col-md-13 { - width: 54.16667%; } - .el-col-md-offset-13 { - margin-left: 54.16667%; } - .el-col-md-pull-13 { - position: relative; - right: 54.16667%; } - .el-col-md-push-13 { - position: relative; - left: 54.16667%; } - .el-col-md-14 { - width: 58.33333%; } - .el-col-md-offset-14 { - margin-left: 58.33333%; } - .el-col-md-pull-14 { - position: relative; - right: 58.33333%; } - .el-col-md-push-14 { - position: relative; - left: 58.33333%; } - .el-col-md-15 { - width: 62.5%; } - .el-col-md-offset-15 { - margin-left: 62.5%; } - .el-col-md-pull-15 { - position: relative; - right: 62.5%; } - .el-col-md-push-15 { - position: relative; - left: 62.5%; } - .el-col-md-16 { - width: 66.66667%; } - .el-col-md-offset-16 { - margin-left: 66.66667%; } - .el-col-md-pull-16 { - position: relative; - right: 66.66667%; } - .el-col-md-push-16 { - position: relative; - left: 66.66667%; } - .el-col-md-17 { - width: 70.83333%; } - .el-col-md-offset-17 { - margin-left: 70.83333%; } - .el-col-md-pull-17 { - position: relative; - right: 70.83333%; } - .el-col-md-push-17 { - position: relative; - left: 70.83333%; } - .el-col-md-18 { - width: 75%; } - .el-col-md-offset-18 { - margin-left: 75%; } - .el-col-md-pull-18 { - position: relative; - right: 75%; } - .el-col-md-push-18 { - position: relative; - left: 75%; } - .el-col-md-19 { - width: 79.16667%; } - .el-col-md-offset-19 { - margin-left: 79.16667%; } - .el-col-md-pull-19 { - position: relative; - right: 79.16667%; } - .el-col-md-push-19 { - position: relative; - left: 79.16667%; } - .el-col-md-20 { - width: 83.33333%; } - .el-col-md-offset-20 { - margin-left: 83.33333%; } - .el-col-md-pull-20 { - position: relative; - right: 83.33333%; } - .el-col-md-push-20 { - position: relative; - left: 83.33333%; } - .el-col-md-21 { - width: 87.5%; } - .el-col-md-offset-21 { - margin-left: 87.5%; } - .el-col-md-pull-21 { - position: relative; - right: 87.5%; } - .el-col-md-push-21 { - position: relative; - left: 87.5%; } - .el-col-md-22 { - width: 91.66667%; } - .el-col-md-offset-22 { - margin-left: 91.66667%; } - .el-col-md-pull-22 { - position: relative; - right: 91.66667%; } - .el-col-md-push-22 { - position: relative; - left: 91.66667%; } - .el-col-md-23 { - width: 95.83333%; } - .el-col-md-offset-23 { - margin-left: 95.83333%; } - .el-col-md-pull-23 { - position: relative; - right: 95.83333%; } - .el-col-md-push-23 { - position: relative; - left: 95.83333%; } - .el-col-md-24 { - width: 100%; } - .el-col-md-offset-24 { - margin-left: 100%; } - .el-col-md-pull-24 { - position: relative; - right: 100%; } - .el-col-md-push-24 { - position: relative; - left: 100%; } } - -@media only screen and (min-width: 1200px) { - .el-col-lg-0 { - display: none; } - .el-col-lg-0 { - width: 0%; } - .el-col-lg-offset-0 { - margin-left: 0%; } - .el-col-lg-pull-0 { - position: relative; - right: 0%; } - .el-col-lg-push-0 { - position: relative; - left: 0%; } - .el-col-lg-1 { - width: 4.16667%; } - .el-col-lg-offset-1 { - margin-left: 4.16667%; } - .el-col-lg-pull-1 { - position: relative; - right: 4.16667%; } - .el-col-lg-push-1 { - position: relative; - left: 4.16667%; } - .el-col-lg-2 { - width: 8.33333%; } - .el-col-lg-offset-2 { - margin-left: 8.33333%; } - .el-col-lg-pull-2 { - position: relative; - right: 8.33333%; } - .el-col-lg-push-2 { - position: relative; - left: 8.33333%; } - .el-col-lg-3 { - width: 12.5%; } - .el-col-lg-offset-3 { - margin-left: 12.5%; } - .el-col-lg-pull-3 { - position: relative; - right: 12.5%; } - .el-col-lg-push-3 { - position: relative; - left: 12.5%; } - .el-col-lg-4 { - width: 16.66667%; } - .el-col-lg-offset-4 { - margin-left: 16.66667%; } - .el-col-lg-pull-4 { - position: relative; - right: 16.66667%; } - .el-col-lg-push-4 { - position: relative; - left: 16.66667%; } - .el-col-lg-5 { - width: 20.83333%; } - .el-col-lg-offset-5 { - margin-left: 20.83333%; } - .el-col-lg-pull-5 { - position: relative; - right: 20.83333%; } - .el-col-lg-push-5 { - position: relative; - left: 20.83333%; } - .el-col-lg-6 { - width: 25%; } - .el-col-lg-offset-6 { - margin-left: 25%; } - .el-col-lg-pull-6 { - position: relative; - right: 25%; } - .el-col-lg-push-6 { - position: relative; - left: 25%; } - .el-col-lg-7 { - width: 29.16667%; } - .el-col-lg-offset-7 { - margin-left: 29.16667%; } - .el-col-lg-pull-7 { - position: relative; - right: 29.16667%; } - .el-col-lg-push-7 { - position: relative; - left: 29.16667%; } - .el-col-lg-8 { - width: 33.33333%; } - .el-col-lg-offset-8 { - margin-left: 33.33333%; } - .el-col-lg-pull-8 { - position: relative; - right: 33.33333%; } - .el-col-lg-push-8 { - position: relative; - left: 33.33333%; } - .el-col-lg-9 { - width: 37.5%; } - .el-col-lg-offset-9 { - margin-left: 37.5%; } - .el-col-lg-pull-9 { - position: relative; - right: 37.5%; } - .el-col-lg-push-9 { - position: relative; - left: 37.5%; } - .el-col-lg-10 { - width: 41.66667%; } - .el-col-lg-offset-10 { - margin-left: 41.66667%; } - .el-col-lg-pull-10 { - position: relative; - right: 41.66667%; } - .el-col-lg-push-10 { - position: relative; - left: 41.66667%; } - .el-col-lg-11 { - width: 45.83333%; } - .el-col-lg-offset-11 { - margin-left: 45.83333%; } - .el-col-lg-pull-11 { - position: relative; - right: 45.83333%; } - .el-col-lg-push-11 { - position: relative; - left: 45.83333%; } - .el-col-lg-12 { - width: 50%; } - .el-col-lg-offset-12 { - margin-left: 50%; } - .el-col-lg-pull-12 { - position: relative; - right: 50%; } - .el-col-lg-push-12 { - position: relative; - left: 50%; } - .el-col-lg-13 { - width: 54.16667%; } - .el-col-lg-offset-13 { - margin-left: 54.16667%; } - .el-col-lg-pull-13 { - position: relative; - right: 54.16667%; } - .el-col-lg-push-13 { - position: relative; - left: 54.16667%; } - .el-col-lg-14 { - width: 58.33333%; } - .el-col-lg-offset-14 { - margin-left: 58.33333%; } - .el-col-lg-pull-14 { - position: relative; - right: 58.33333%; } - .el-col-lg-push-14 { - position: relative; - left: 58.33333%; } - .el-col-lg-15 { - width: 62.5%; } - .el-col-lg-offset-15 { - margin-left: 62.5%; } - .el-col-lg-pull-15 { - position: relative; - right: 62.5%; } - .el-col-lg-push-15 { - position: relative; - left: 62.5%; } - .el-col-lg-16 { - width: 66.66667%; } - .el-col-lg-offset-16 { - margin-left: 66.66667%; } - .el-col-lg-pull-16 { - position: relative; - right: 66.66667%; } - .el-col-lg-push-16 { - position: relative; - left: 66.66667%; } - .el-col-lg-17 { - width: 70.83333%; } - .el-col-lg-offset-17 { - margin-left: 70.83333%; } - .el-col-lg-pull-17 { - position: relative; - right: 70.83333%; } - .el-col-lg-push-17 { - position: relative; - left: 70.83333%; } - .el-col-lg-18 { - width: 75%; } - .el-col-lg-offset-18 { - margin-left: 75%; } - .el-col-lg-pull-18 { - position: relative; - right: 75%; } - .el-col-lg-push-18 { - position: relative; - left: 75%; } - .el-col-lg-19 { - width: 79.16667%; } - .el-col-lg-offset-19 { - margin-left: 79.16667%; } - .el-col-lg-pull-19 { - position: relative; - right: 79.16667%; } - .el-col-lg-push-19 { - position: relative; - left: 79.16667%; } - .el-col-lg-20 { - width: 83.33333%; } - .el-col-lg-offset-20 { - margin-left: 83.33333%; } - .el-col-lg-pull-20 { - position: relative; - right: 83.33333%; } - .el-col-lg-push-20 { - position: relative; - left: 83.33333%; } - .el-col-lg-21 { - width: 87.5%; } - .el-col-lg-offset-21 { - margin-left: 87.5%; } - .el-col-lg-pull-21 { - position: relative; - right: 87.5%; } - .el-col-lg-push-21 { - position: relative; - left: 87.5%; } - .el-col-lg-22 { - width: 91.66667%; } - .el-col-lg-offset-22 { - margin-left: 91.66667%; } - .el-col-lg-pull-22 { - position: relative; - right: 91.66667%; } - .el-col-lg-push-22 { - position: relative; - left: 91.66667%; } - .el-col-lg-23 { - width: 95.83333%; } - .el-col-lg-offset-23 { - margin-left: 95.83333%; } - .el-col-lg-pull-23 { - position: relative; - right: 95.83333%; } - .el-col-lg-push-23 { - position: relative; - left: 95.83333%; } - .el-col-lg-24 { - width: 100%; } - .el-col-lg-offset-24 { - margin-left: 100%; } - .el-col-lg-pull-24 { - position: relative; - right: 100%; } - .el-col-lg-push-24 { - position: relative; - left: 100%; } } - -@media only screen and (min-width: 1920px) { - .el-col-xl-0 { - display: none; } - .el-col-xl-0 { - width: 0%; } - .el-col-xl-offset-0 { - margin-left: 0%; } - .el-col-xl-pull-0 { - position: relative; - right: 0%; } - .el-col-xl-push-0 { - position: relative; - left: 0%; } - .el-col-xl-1 { - width: 4.16667%; } - .el-col-xl-offset-1 { - margin-left: 4.16667%; } - .el-col-xl-pull-1 { - position: relative; - right: 4.16667%; } - .el-col-xl-push-1 { - position: relative; - left: 4.16667%; } - .el-col-xl-2 { - width: 8.33333%; } - .el-col-xl-offset-2 { - margin-left: 8.33333%; } - .el-col-xl-pull-2 { - position: relative; - right: 8.33333%; } - .el-col-xl-push-2 { - position: relative; - left: 8.33333%; } - .el-col-xl-3 { - width: 12.5%; } - .el-col-xl-offset-3 { - margin-left: 12.5%; } - .el-col-xl-pull-3 { - position: relative; - right: 12.5%; } - .el-col-xl-push-3 { - position: relative; - left: 12.5%; } - .el-col-xl-4 { - width: 16.66667%; } - .el-col-xl-offset-4 { - margin-left: 16.66667%; } - .el-col-xl-pull-4 { - position: relative; - right: 16.66667%; } - .el-col-xl-push-4 { - position: relative; - left: 16.66667%; } - .el-col-xl-5 { - width: 20.83333%; } - .el-col-xl-offset-5 { - margin-left: 20.83333%; } - .el-col-xl-pull-5 { - position: relative; - right: 20.83333%; } - .el-col-xl-push-5 { - position: relative; - left: 20.83333%; } - .el-col-xl-6 { - width: 25%; } - .el-col-xl-offset-6 { - margin-left: 25%; } - .el-col-xl-pull-6 { - position: relative; - right: 25%; } - .el-col-xl-push-6 { - position: relative; - left: 25%; } - .el-col-xl-7 { - width: 29.16667%; } - .el-col-xl-offset-7 { - margin-left: 29.16667%; } - .el-col-xl-pull-7 { - position: relative; - right: 29.16667%; } - .el-col-xl-push-7 { - position: relative; - left: 29.16667%; } - .el-col-xl-8 { - width: 33.33333%; } - .el-col-xl-offset-8 { - margin-left: 33.33333%; } - .el-col-xl-pull-8 { - position: relative; - right: 33.33333%; } - .el-col-xl-push-8 { - position: relative; - left: 33.33333%; } - .el-col-xl-9 { - width: 37.5%; } - .el-col-xl-offset-9 { - margin-left: 37.5%; } - .el-col-xl-pull-9 { - position: relative; - right: 37.5%; } - .el-col-xl-push-9 { - position: relative; - left: 37.5%; } - .el-col-xl-10 { - width: 41.66667%; } - .el-col-xl-offset-10 { - margin-left: 41.66667%; } - .el-col-xl-pull-10 { - position: relative; - right: 41.66667%; } - .el-col-xl-push-10 { - position: relative; - left: 41.66667%; } - .el-col-xl-11 { - width: 45.83333%; } - .el-col-xl-offset-11 { - margin-left: 45.83333%; } - .el-col-xl-pull-11 { - position: relative; - right: 45.83333%; } - .el-col-xl-push-11 { - position: relative; - left: 45.83333%; } - .el-col-xl-12 { - width: 50%; } - .el-col-xl-offset-12 { - margin-left: 50%; } - .el-col-xl-pull-12 { - position: relative; - right: 50%; } - .el-col-xl-push-12 { - position: relative; - left: 50%; } - .el-col-xl-13 { - width: 54.16667%; } - .el-col-xl-offset-13 { - margin-left: 54.16667%; } - .el-col-xl-pull-13 { - position: relative; - right: 54.16667%; } - .el-col-xl-push-13 { - position: relative; - left: 54.16667%; } - .el-col-xl-14 { - width: 58.33333%; } - .el-col-xl-offset-14 { - margin-left: 58.33333%; } - .el-col-xl-pull-14 { - position: relative; - right: 58.33333%; } - .el-col-xl-push-14 { - position: relative; - left: 58.33333%; } - .el-col-xl-15 { - width: 62.5%; } - .el-col-xl-offset-15 { - margin-left: 62.5%; } - .el-col-xl-pull-15 { - position: relative; - right: 62.5%; } - .el-col-xl-push-15 { - position: relative; - left: 62.5%; } - .el-col-xl-16 { - width: 66.66667%; } - .el-col-xl-offset-16 { - margin-left: 66.66667%; } - .el-col-xl-pull-16 { - position: relative; - right: 66.66667%; } - .el-col-xl-push-16 { - position: relative; - left: 66.66667%; } - .el-col-xl-17 { - width: 70.83333%; } - .el-col-xl-offset-17 { - margin-left: 70.83333%; } - .el-col-xl-pull-17 { - position: relative; - right: 70.83333%; } - .el-col-xl-push-17 { - position: relative; - left: 70.83333%; } - .el-col-xl-18 { - width: 75%; } - .el-col-xl-offset-18 { - margin-left: 75%; } - .el-col-xl-pull-18 { - position: relative; - right: 75%; } - .el-col-xl-push-18 { - position: relative; - left: 75%; } - .el-col-xl-19 { - width: 79.16667%; } - .el-col-xl-offset-19 { - margin-left: 79.16667%; } - .el-col-xl-pull-19 { - position: relative; - right: 79.16667%; } - .el-col-xl-push-19 { - position: relative; - left: 79.16667%; } - .el-col-xl-20 { - width: 83.33333%; } - .el-col-xl-offset-20 { - margin-left: 83.33333%; } - .el-col-xl-pull-20 { - position: relative; - right: 83.33333%; } - .el-col-xl-push-20 { - position: relative; - left: 83.33333%; } - .el-col-xl-21 { - width: 87.5%; } - .el-col-xl-offset-21 { - margin-left: 87.5%; } - .el-col-xl-pull-21 { - position: relative; - right: 87.5%; } - .el-col-xl-push-21 { - position: relative; - left: 87.5%; } - .el-col-xl-22 { - width: 91.66667%; } - .el-col-xl-offset-22 { - margin-left: 91.66667%; } - .el-col-xl-pull-22 { - position: relative; - right: 91.66667%; } - .el-col-xl-push-22 { - position: relative; - left: 91.66667%; } - .el-col-xl-23 { - width: 95.83333%; } - .el-col-xl-offset-23 { - margin-left: 95.83333%; } - .el-col-xl-pull-23 { - position: relative; - right: 95.83333%; } - .el-col-xl-push-23 { - position: relative; - left: 95.83333%; } - .el-col-xl-24 { - width: 100%; } - .el-col-xl-offset-24 { - margin-left: 100%; } - .el-col-xl-pull-24 { - position: relative; - right: 100%; } - .el-col-xl-push-24 { - position: relative; - left: 100%; } } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-progress { - position: relative; - line-height: 1; } - .el-progress__text { - font-size: 14px; - color: #606266; - display: inline-block; - vertical-align: middle; - margin-left: 10px; - line-height: 1; } - .el-progress__text i { - vertical-align: middle; - display: block; } - .el-progress--circle, .el-progress--dashboard { - display: inline-block; } - .el-progress--circle .el-progress__text, .el-progress--dashboard .el-progress__text { - position: absolute; - top: 50%; - left: 0; - width: 100%; - text-align: center; - margin: 0; - -webkit-transform: translate(0, -50%); - transform: translate(0, -50%); } - .el-progress--circle .el-progress__text i, .el-progress--dashboard .el-progress__text i { - vertical-align: middle; - display: inline-block; } - .el-progress--without-text .el-progress__text { - display: none; } - .el-progress--without-text .el-progress-bar { - padding-right: 0; - margin-right: 0; - display: block; } - .el-progress--text-inside .el-progress-bar { - padding-right: 0; - margin-right: 0; } - .el-progress.is-success .el-progress-bar__inner { - background-color: #67C23A; } - .el-progress.is-success .el-progress__text { - color: #67C23A; } - .el-progress.is-warning .el-progress-bar__inner { - background-color: #E6A23C; } - .el-progress.is-warning .el-progress__text { - color: #E6A23C; } - .el-progress.is-exception .el-progress-bar__inner { - background-color: #F56C6C; } - .el-progress.is-exception .el-progress__text { - color: #F56C6C; } - -.el-progress-bar { - padding-right: 50px; - display: inline-block; - vertical-align: middle; - width: 100%; - margin-right: -55px; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-progress-bar__outer { - height: 6px; - border-radius: 100px; - background-color: #EBEEF5; - overflow: hidden; - position: relative; - vertical-align: middle; } - .el-progress-bar__inner { - position: absolute; - left: 0; - top: 0; - height: 100%; - background-color: #409EFF; - text-align: right; - border-radius: 100px; - line-height: 1; - white-space: nowrap; - -webkit-transition: width 0.6s ease; - transition: width 0.6s ease; } - .el-progress-bar__inner::after { - display: inline-block; - content: ""; - height: 100%; - vertical-align: middle; } - .el-progress-bar__innerText { - display: inline-block; - vertical-align: middle; - color: #FFFFFF; - font-size: 12px; - margin: 0 5px; } - -@-webkit-keyframes progress { - 0% { - background-position: 0 0; } - 100% { - background-position: 32px 0; } } - -@keyframes progress { - 0% { - background-position: 0 0; } - 100% { - background-position: 32px 0; } } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-upload { - display: inline-block; - text-align: center; - cursor: pointer; - outline: none; - /* 照片墙模式 */ } - .el-upload__input { - display: none; } - .el-upload__tip { - font-size: 12px; - color: #606266; - margin-top: 7px; } - .el-upload iframe { - position: absolute; - z-index: -1; - top: 0; - left: 0; - opacity: 0; - filter: alpha(opacity=0); } - .el-upload--picture-card { - background-color: #fbfdff; - border: 1px dashed #c0ccda; - border-radius: 6px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 148px; - height: 148px; - cursor: pointer; - line-height: 146px; - vertical-align: top; } - .el-upload--picture-card i { - font-size: 28px; - color: #8c939d; } - .el-upload--picture-card:hover { - border-color: #409EFF; - color: #409EFF; } - .el-upload:focus { - border-color: #409EFF; - color: #409EFF; } - .el-upload:focus .el-upload-dragger { - border-color: #409EFF; } - -.el-upload-dragger { - background-color: #fff; - border: 1px dashed #d9d9d9; - border-radius: 6px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 360px; - height: 180px; - text-align: center; - cursor: pointer; - position: relative; - overflow: hidden; } - .el-upload-dragger .el-icon-upload { - font-size: 67px; - color: #C0C4CC; - margin: 40px 0 16px; - line-height: 50px; } - .el-upload-dragger + .el-upload__tip { - text-align: center; } - .el-upload-dragger ~ .el-upload__files { - border-top: 1px solid #DCDFE6; - margin-top: 7px; - padding-top: 5px; } - .el-upload-dragger .el-upload__text { - color: #606266; - font-size: 14px; - text-align: center; } - .el-upload-dragger .el-upload__text em { - color: #409EFF; - font-style: normal; } - .el-upload-dragger:hover { - border-color: #409EFF; } - .el-upload-dragger.is-dragover { - background-color: rgba(32, 159, 255, 0.06); - border: 2px dashed #409EFF; } - -.el-upload-list { - margin: 0; - padding: 0; - list-style: none; } - .el-upload-list__item { - -webkit-transition: all 0.5s cubic-bezier(0.55, 0, 0.1, 1); - transition: all 0.5s cubic-bezier(0.55, 0, 0.1, 1); - font-size: 14px; - color: #606266; - line-height: 1.8; - margin-top: 5px; - position: relative; - -webkit-box-sizing: border-box; - box-sizing: border-box; - border-radius: 4px; - width: 100%; } - .el-upload-list__item .el-progress { - position: absolute; - top: 20px; - width: 100%; } - .el-upload-list__item .el-progress__text { - position: absolute; - right: 0; - top: -13px; } - .el-upload-list__item .el-progress-bar { - margin-right: 0; - padding-right: 0; } - .el-upload-list__item:first-child { - margin-top: 10px; } - .el-upload-list__item .el-icon-upload-success { - color: #67C23A; } - .el-upload-list__item .el-icon-close { - display: none; - position: absolute; - top: 5px; - right: 5px; - cursor: pointer; - opacity: .75; - color: #606266; } - .el-upload-list__item .el-icon-close:hover { - opacity: 1; } - .el-upload-list__item .el-icon-close-tip { - display: none; - position: absolute; - top: 5px; - right: 5px; - font-size: 12px; - cursor: pointer; - opacity: 1; - color: #409EFF; } - .el-upload-list__item:hover { - background-color: #F5F7FA; } - .el-upload-list__item:hover .el-icon-close { - display: inline-block; } - .el-upload-list__item:hover .el-progress__text { - display: none; } - .el-upload-list__item.is-success .el-upload-list__item-status-label { - display: block; } - .el-upload-list__item.is-success .el-upload-list__item-name:hover, .el-upload-list__item.is-success .el-upload-list__item-name:focus { - color: #409EFF; - cursor: pointer; } - .el-upload-list__item.is-success:focus:not(:hover) { - /* 键盘focus */ } - .el-upload-list__item.is-success:focus:not(:hover) .el-icon-close-tip { - display: inline-block; } - .el-upload-list__item.is-success:not(.focusing):focus, .el-upload-list__item.is-success:active { - /* click时 */ - outline-width: 0; } - .el-upload-list__item.is-success:not(.focusing):focus .el-icon-close-tip, .el-upload-list__item.is-success:active .el-icon-close-tip { - display: none; } - .el-upload-list__item.is-success:hover .el-upload-list__item-status-label, .el-upload-list__item.is-success:focus .el-upload-list__item-status-label { - display: none; } - .el-upload-list.is-disabled .el-upload-list__item:hover .el-upload-list__item-status-label { - display: block; } - .el-upload-list__item-name { - color: #606266; - display: block; - margin-right: 40px; - overflow: hidden; - padding-left: 4px; - text-overflow: ellipsis; - -webkit-transition: color .3s; - transition: color .3s; - white-space: nowrap; } - .el-upload-list__item-name [class^="el-icon"] { - height: 100%; - margin-right: 7px; - color: #909399; - line-height: inherit; } - .el-upload-list__item-status-label { - position: absolute; - right: 5px; - top: 0; - line-height: inherit; - display: none; } - .el-upload-list__item-delete { - position: absolute; - right: 10px; - top: 0; - font-size: 12px; - color: #606266; - display: none; } - .el-upload-list__item-delete:hover { - color: #409EFF; } - .el-upload-list--picture-card { - margin: 0; - display: inline; - vertical-align: top; } - .el-upload-list--picture-card .el-upload-list__item { - overflow: hidden; - background-color: #fff; - border: 1px solid #c0ccda; - border-radius: 6px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 148px; - height: 148px; - margin: 0 8px 8px 0; - display: inline-block; } - .el-upload-list--picture-card .el-upload-list__item .el-icon-check, - .el-upload-list--picture-card .el-upload-list__item .el-icon-circle-check { - color: #FFFFFF; } - .el-upload-list--picture-card .el-upload-list__item .el-icon-close { - display: none; } - .el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label { - display: none; } - .el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text { - display: block; } - .el-upload-list--picture-card .el-upload-list__item-name { - display: none; } - .el-upload-list--picture-card .el-upload-list__item-thumbnail { - width: 100%; - height: 100%; } - .el-upload-list--picture-card .el-upload-list__item-status-label { - position: absolute; - right: -15px; - top: -6px; - width: 40px; - height: 24px; - background: #13ce66; - text-align: center; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - -webkit-box-shadow: 0 0 1pc 1px rgba(0, 0, 0, 0.2); - box-shadow: 0 0 1pc 1px rgba(0, 0, 0, 0.2); } - .el-upload-list--picture-card .el-upload-list__item-status-label i { - font-size: 12px; - margin-top: 11px; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); } - .el-upload-list--picture-card .el-upload-list__item-actions { - position: absolute; - width: 100%; - height: 100%; - left: 0; - top: 0; - cursor: default; - text-align: center; - color: #fff; - opacity: 0; - font-size: 20px; - background-color: rgba(0, 0, 0, 0.5); - -webkit-transition: opacity .3s; - transition: opacity .3s; } - .el-upload-list--picture-card .el-upload-list__item-actions::after { - display: inline-block; - content: ""; - height: 100%; - vertical-align: middle; } - .el-upload-list--picture-card .el-upload-list__item-actions span { - display: none; - cursor: pointer; } - .el-upload-list--picture-card .el-upload-list__item-actions span + span { - margin-left: 15px; } - .el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete { - position: static; - font-size: inherit; - color: inherit; } - .el-upload-list--picture-card .el-upload-list__item-actions:hover { - opacity: 1; } - .el-upload-list--picture-card .el-upload-list__item-actions:hover span { - display: inline-block; } - .el-upload-list--picture-card .el-progress { - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); - bottom: auto; - width: 126px; } - .el-upload-list--picture-card .el-progress .el-progress__text { - top: 50%; } - .el-upload-list--picture .el-upload-list__item { - overflow: hidden; - z-index: 0; - background-color: #fff; - border: 1px solid #c0ccda; - border-radius: 6px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - margin-top: 10px; - padding: 10px 10px 10px 90px; - height: 92px; } - .el-upload-list--picture .el-upload-list__item .el-icon-check, - .el-upload-list--picture .el-upload-list__item .el-icon-circle-check { - color: #FFFFFF; } - .el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label { - background: transparent; - -webkit-box-shadow: none; - box-shadow: none; - top: -2px; - right: -12px; } - .el-upload-list--picture .el-upload-list__item:hover .el-progress__text { - display: block; } - .el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name { - line-height: 70px; - margin-top: 0; } - .el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i { - display: none; } - .el-upload-list--picture .el-upload-list__item-thumbnail { - vertical-align: middle; - display: inline-block; - width: 70px; - height: 70px; - float: left; - position: relative; - z-index: 1; - margin-left: -80px; - background-color: #FFFFFF; } - .el-upload-list--picture .el-upload-list__item-name { - display: block; - margin-top: 20px; } - .el-upload-list--picture .el-upload-list__item-name i { - font-size: 70px; - line-height: 1; - position: absolute; - left: 9px; - top: 10px; } - .el-upload-list--picture .el-upload-list__item-status-label { - position: absolute; - right: -17px; - top: -7px; - width: 46px; - height: 26px; - background: #13ce66; - text-align: center; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - -webkit-box-shadow: 0 1px 1px #ccc; - box-shadow: 0 1px 1px #ccc; } - .el-upload-list--picture .el-upload-list__item-status-label i { - font-size: 12px; - margin-top: 12px; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); } - .el-upload-list--picture .el-progress { - position: relative; - top: -7px; } - -.el-upload-cover { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - overflow: hidden; - z-index: 10; - cursor: default; } - .el-upload-cover::after { - display: inline-block; - content: ""; - height: 100%; - vertical-align: middle; } - .el-upload-cover img { - display: block; - width: 100%; - height: 100%; } - .el-upload-cover__label { - position: absolute; - right: -15px; - top: -6px; - width: 40px; - height: 24px; - background: #13ce66; - text-align: center; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - -webkit-box-shadow: 0 0 1pc 1px rgba(0, 0, 0, 0.2); - box-shadow: 0 0 1pc 1px rgba(0, 0, 0, 0.2); } - .el-upload-cover__label i { - font-size: 12px; - margin-top: 11px; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - color: #fff; } - .el-upload-cover__progress { - display: inline-block; - vertical-align: middle; - position: static; - width: 243px; } - .el-upload-cover__progress + .el-upload__inner { - opacity: 0; } - .el-upload-cover__content { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; } - .el-upload-cover__interact { - position: absolute; - bottom: 0; - left: 0; - width: 100%; - height: 100%; - background-color: rgba(0, 0, 0, 0.72); - text-align: center; } - .el-upload-cover__interact .btn { - display: inline-block; - color: #FFFFFF; - font-size: 14px; - cursor: pointer; - vertical-align: middle; - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - margin-top: 60px; } - .el-upload-cover__interact .btn i { - margin-top: 0; } - .el-upload-cover__interact .btn span { - opacity: 0; - -webkit-transition: opacity .15s linear; - transition: opacity .15s linear; } - .el-upload-cover__interact .btn:not(:first-child) { - margin-left: 35px; } - .el-upload-cover__interact .btn:hover { - -webkit-transform: translateY(-13px); - transform: translateY(-13px); } - .el-upload-cover__interact .btn:hover span { - opacity: 1; } - .el-upload-cover__interact .btn i { - color: #FFFFFF; - display: block; - font-size: 24px; - line-height: inherit; - margin: 0 auto 5px; } - .el-upload-cover__title { - position: absolute; - bottom: 0; - left: 0; - background-color: #FFFFFF; - height: 36px; - width: 100%; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - font-weight: normal; - text-align: left; - padding: 0 10px; - margin: 0; - line-height: 36px; - font-size: 14px; - color: #303133; } - .el-upload-cover + .el-upload__inner { - opacity: 0; - position: relative; - z-index: 1; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-progress { - position: relative; - line-height: 1; } - .el-progress__text { - font-size: 14px; - color: #606266; - display: inline-block; - vertical-align: middle; - margin-left: 10px; - line-height: 1; } - .el-progress__text i { - vertical-align: middle; - display: block; } - .el-progress--circle, .el-progress--dashboard { - display: inline-block; } - .el-progress--circle .el-progress__text, .el-progress--dashboard .el-progress__text { - position: absolute; - top: 50%; - left: 0; - width: 100%; - text-align: center; - margin: 0; - -webkit-transform: translate(0, -50%); - transform: translate(0, -50%); } - .el-progress--circle .el-progress__text i, .el-progress--dashboard .el-progress__text i { - vertical-align: middle; - display: inline-block; } - .el-progress--without-text .el-progress__text { - display: none; } - .el-progress--without-text .el-progress-bar { - padding-right: 0; - margin-right: 0; - display: block; } - .el-progress--text-inside .el-progress-bar { - padding-right: 0; - margin-right: 0; } - .el-progress.is-success .el-progress-bar__inner { - background-color: #67C23A; } - .el-progress.is-success .el-progress__text { - color: #67C23A; } - .el-progress.is-warning .el-progress-bar__inner { - background-color: #E6A23C; } - .el-progress.is-warning .el-progress__text { - color: #E6A23C; } - .el-progress.is-exception .el-progress-bar__inner { - background-color: #F56C6C; } - .el-progress.is-exception .el-progress__text { - color: #F56C6C; } - -.el-progress-bar { - padding-right: 50px; - display: inline-block; - vertical-align: middle; - width: 100%; - margin-right: -55px; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-progress-bar__outer { - height: 6px; - border-radius: 100px; - background-color: #EBEEF5; - overflow: hidden; - position: relative; - vertical-align: middle; } - .el-progress-bar__inner { - position: absolute; - left: 0; - top: 0; - height: 100%; - background-color: #409EFF; - text-align: right; - border-radius: 100px; - line-height: 1; - white-space: nowrap; - -webkit-transition: width 0.6s ease; - transition: width 0.6s ease; } - .el-progress-bar__inner::after { - display: inline-block; - content: ""; - height: 100%; - vertical-align: middle; } - .el-progress-bar__innerText { - display: inline-block; - vertical-align: middle; - color: #FFFFFF; - font-size: 12px; - margin: 0 5px; } - -@keyframes progress { - 0% { - background-position: 0 0; } - 100% { - background-position: 32px 0; } } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -.el-time-spinner { - width: 100%; - white-space: nowrap; } - -.el-spinner { - display: inline-block; - vertical-align: middle; } - -.el-spinner-inner { - -webkit-animation: rotate 2s linear infinite; - animation: rotate 2s linear infinite; - width: 50px; - height: 50px; } - .el-spinner-inner .path { - stroke: #ececec; - stroke-linecap: round; - -webkit-animation: dash 1.5s ease-in-out infinite; - animation: dash 1.5s ease-in-out infinite; } - -@-webkit-keyframes rotate { - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); } } - -@keyframes rotate { - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); } } - -@-webkit-keyframes dash { - 0% { - stroke-dasharray: 1, 150; - stroke-dashoffset: 0; } - 50% { - stroke-dasharray: 90, 150; - stroke-dashoffset: -35; } - 100% { - stroke-dasharray: 90, 150; - stroke-dashoffset: -124; } } - -@keyframes dash { - 0% { - stroke-dasharray: 1, 150; - stroke-dashoffset: 0; } - 50% { - stroke-dasharray: 90, 150; - stroke-dashoffset: -35; } - 100% { - stroke-dasharray: 90, 150; - stroke-dashoffset: -124; } } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-message { - min-width: 380px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - border-radius: 4px; - border-width: 1px; - border-style: solid; - border-color: #EBEEF5; - position: fixed; - left: 50%; - top: 20px; - -webkit-transform: translateX(-50%); - transform: translateX(-50%); - background-color: #edf2fc; - -webkit-transition: opacity 0.3s, top 0.4s, -webkit-transform .4s; - transition: opacity 0.3s, top 0.4s, -webkit-transform .4s; - transition: opacity 0.3s, transform .4s, top 0.4s; - transition: opacity 0.3s, transform .4s, top 0.4s, -webkit-transform .4s; - overflow: hidden; - padding: 15px 15px 15px 20px; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - .el-message.is-center { - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; } - .el-message.is-closable .el-message__content { - padding-right: 16px; } - .el-message p { - margin: 0; } - .el-message--info .el-message__content { - color: #909399; } - .el-message--success { - background-color: #f0f9eb; - border-color: #e1f3d8; } - .el-message--success .el-message__content { - color: #67C23A; } - .el-message--warning { - background-color: #fdf6ec; - border-color: #faecd8; } - .el-message--warning .el-message__content { - color: #E6A23C; } - .el-message--error { - background-color: #fef0f0; - border-color: #fde2e2; } - .el-message--error .el-message__content { - color: #F56C6C; } - .el-message__icon { - margin-right: 10px; } - .el-message__content { - padding: 0; - font-size: 14px; - line-height: 1; } - .el-message__content:focus { - outline-width: 0; } - .el-message__closeBtn { - position: absolute; - top: 50%; - right: 15px; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); - cursor: pointer; - color: #C0C4CC; - font-size: 16px; } - .el-message__closeBtn:focus { - outline-width: 0; } - .el-message__closeBtn:hover { - color: #909399; } - .el-message .el-icon-success { - color: #67C23A; } - .el-message .el-icon-error { - color: #F56C6C; } - .el-message .el-icon-info { - color: #909399; } - .el-message .el-icon-warning { - color: #E6A23C; } - -.el-message-fade-enter, -.el-message-fade-leave-active { - opacity: 0; - -webkit-transform: translate(-50%, -100%); - transform: translate(-50%, -100%); } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-badge { - position: relative; - vertical-align: middle; - display: inline-block; } - .el-badge__content { - background-color: #F56C6C; - border-radius: 10px; - color: #FFFFFF; - display: inline-block; - font-size: 12px; - height: 18px; - line-height: 18px; - padding: 0 6px; - text-align: center; - white-space: nowrap; - border: 1px solid #FFFFFF; } - .el-badge__content.is-fixed { - position: absolute; - top: 0; - right: 10px; - -webkit-transform: translateY(-50%) translateX(100%); - transform: translateY(-50%) translateX(100%); } - .el-badge__content.is-fixed.is-dot { - right: 5px; } - .el-badge__content.is-dot { - height: 8px; - width: 8px; - padding: 0; - right: 0; - border-radius: 50%; } - .el-badge__content--primary { - background-color: #409EFF; } - .el-badge__content--success { - background-color: #67C23A; } - .el-badge__content--warning { - background-color: #E6A23C; } - .el-badge__content--info { - background-color: #909399; } - .el-badge__content--danger { - background-color: #F56C6C; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-card { - border-radius: 4px; - border: 1px solid #EBEEF5; - background-color: #FFFFFF; - overflow: hidden; - color: #303133; - -webkit-transition: 0.3s; - transition: 0.3s; } - .el-card.is-always-shadow { - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); } - .el-card.is-hover-shadow:hover, .el-card.is-hover-shadow:focus { - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); } - .el-card__header { - padding: 18px 20px; - border-bottom: 1px solid #EBEEF5; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-card__body { - padding: 20px; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-rate { - height: 20px; - line-height: 1; } - .el-rate:focus, .el-rate:active { - outline-width: 0; } - .el-rate__item { - display: inline-block; - position: relative; - font-size: 0; - vertical-align: middle; } - .el-rate__icon { - position: relative; - display: inline-block; - font-size: 18px; - margin-right: 6px; - color: #C0C4CC; - -webkit-transition: .3s; - transition: .3s; } - .el-rate__icon.hover { - -webkit-transform: scale(1.15); - transform: scale(1.15); } - .el-rate__icon .path2 { - position: absolute; - left: 0; - top: 0; } - .el-rate__decimal { - position: absolute; - top: 0; - left: 0; - display: inline-block; - overflow: hidden; } - .el-rate__text { - font-size: 14px; - vertical-align: middle; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -.el-steps { - display: -webkit-box; - display: -ms-flexbox; - display: flex; } - .el-steps--simple { - padding: 13px 8%; - border-radius: 4px; - background: #F5F7FA; } - .el-steps--horizontal { - white-space: nowrap; } - .el-steps--vertical { - height: 100%; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column; - flex-flow: column; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-step { - position: relative; - -ms-flex-negative: 1; - flex-shrink: 1; } - .el-step:last-of-type .el-step__line { - display: none; } - .el-step:last-of-type.is-flex { - -ms-flex-preferred-size: auto !important; - flex-basis: auto !important; - -ms-flex-negative: 0; - flex-shrink: 0; - -webkit-box-flex: 0; - -ms-flex-positive: 0; - flex-grow: 0; } - .el-step:last-of-type .el-step__main, .el-step:last-of-type .el-step__description { - padding-right: 0; } - .el-step__head { - position: relative; - width: 100%; } - .el-step__head.is-process { - color: #303133; - border-color: #303133; } - .el-step__head.is-wait { - color: #C0C4CC; - border-color: #C0C4CC; } - .el-step__head.is-success { - color: #67C23A; - border-color: #67C23A; } - .el-step__head.is-error { - color: #F56C6C; - border-color: #F56C6C; } - .el-step__head.is-finish { - color: #409EFF; - border-color: #409EFF; } - .el-step__icon { - position: relative; - z-index: 1; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - width: 24px; - height: 24px; - font-size: 14px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - background: #FFFFFF; - -webkit-transition: .15s ease-out; - transition: .15s ease-out; } - .el-step__icon.is-text { - border-radius: 50%; - border: 2px solid; - border-color: inherit; } - .el-step__icon.is-icon { - width: 40px; } - .el-step__icon-inner { - display: inline-block; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - text-align: center; - font-weight: bold; - line-height: 1; - color: inherit; } - .el-step__icon-inner[class*=el-icon]:not(.is-status) { - font-size: 25px; - font-weight: normal; } - .el-step__icon-inner.is-status { - -webkit-transform: translateY(1px); - transform: translateY(1px); } - .el-step__line { - position: absolute; - border-color: inherit; - background-color: #C0C4CC; } - .el-step__line-inner { - display: block; - border-width: 1px; - border-style: solid; - border-color: inherit; - -webkit-transition: .15s ease-out; - transition: .15s ease-out; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 0; - height: 0; } - .el-step__main { - white-space: normal; - text-align: left; } - .el-step__title { - font-size: 16px; - line-height: 38px; } - .el-step__title.is-process { - font-weight: bold; - color: #303133; } - .el-step__title.is-wait { - color: #C0C4CC; } - .el-step__title.is-success { - color: #67C23A; } - .el-step__title.is-error { - color: #F56C6C; } - .el-step__title.is-finish { - color: #409EFF; } - .el-step__description { - padding-right: 10%; - margin-top: -5px; - font-size: 12px; - line-height: 20px; - font-weight: normal; } - .el-step__description.is-process { - color: #303133; } - .el-step__description.is-wait { - color: #C0C4CC; } - .el-step__description.is-success { - color: #67C23A; } - .el-step__description.is-error { - color: #F56C6C; } - .el-step__description.is-finish { - color: #409EFF; } - .el-step.is-horizontal { - display: inline-block; } - .el-step.is-horizontal .el-step__line { - height: 2px; - top: 11px; - left: 0; - right: 0; } - .el-step.is-vertical { - display: -webkit-box; - display: -ms-flexbox; - display: flex; } - .el-step.is-vertical .el-step__head { - -webkit-box-flex: 0; - -ms-flex-positive: 0; - flex-grow: 0; - width: 24px; } - .el-step.is-vertical .el-step__main { - padding-left: 10px; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; } - .el-step.is-vertical .el-step__title { - line-height: 24px; - padding-bottom: 8px; } - .el-step.is-vertical .el-step__line { - width: 2px; - top: 0; - bottom: 0; - left: 11px; } - .el-step.is-vertical .el-step__icon.is-icon { - width: 24px; } - .el-step.is-center .el-step__head { - text-align: center; } - .el-step.is-center .el-step__main { - text-align: center; } - .el-step.is-center .el-step__description { - padding-left: 20%; - padding-right: 20%; } - .el-step.is-center .el-step__line { - left: 50%; - right: -50%; } - .el-step.is-simple { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - .el-step.is-simple .el-step__head { - width: auto; - font-size: 0; - padding-right: 10px; } - .el-step.is-simple .el-step__icon { - background: transparent; - width: 16px; - height: 16px; - font-size: 12px; } - .el-step.is-simple .el-step__icon-inner[class*=el-icon]:not(.is-status) { - font-size: 18px; } - .el-step.is-simple .el-step__icon-inner.is-status { - -webkit-transform: scale(0.8) translateY(1px); - transform: scale(0.8) translateY(1px); } - .el-step.is-simple .el-step__main { - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: stretch; - -ms-flex-align: stretch; - align-items: stretch; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; } - .el-step.is-simple .el-step__title { - font-size: 16px; - line-height: 20px; } - .el-step.is-simple:not(:last-of-type) .el-step__title { - max-width: 50%; - word-break: break-all; } - .el-step.is-simple .el-step__arrow { - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; } - .el-step.is-simple .el-step__arrow::before, .el-step.is-simple .el-step__arrow::after { - content: ''; - display: inline-block; - position: absolute; - height: 15px; - width: 1px; - background: #C0C4CC; } - .el-step.is-simple .el-step__arrow::before { - -webkit-transform: rotate(-45deg) translateY(-4px); - transform: rotate(-45deg) translateY(-4px); - -webkit-transform-origin: 0 0; - transform-origin: 0 0; } - .el-step.is-simple .el-step__arrow::after { - -webkit-transform: rotate(45deg) translateY(4px); - transform: rotate(45deg) translateY(4px); - -webkit-transform-origin: 100% 100%; - transform-origin: 100% 100%; } - .el-step.is-simple:last-of-type .el-step__arrow { - display: none; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-carousel { - position: relative; } - .el-carousel--horizontal { - overflow-x: hidden; } - .el-carousel--vertical { - overflow-y: hidden; } - .el-carousel__container { - position: relative; - height: 300px; } - .el-carousel__arrow { - border: none; - outline: none; - padding: 0; - margin: 0; - height: 36px; - width: 36px; - cursor: pointer; - -webkit-transition: .3s; - transition: .3s; - border-radius: 50%; - background-color: rgba(31, 45, 61, 0.11); - color: #FFFFFF; - position: absolute; - top: 50%; - z-index: 10; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); - text-align: center; - font-size: 12px; } - .el-carousel__arrow--left { - left: 16px; } - .el-carousel__arrow--right { - right: 16px; } - .el-carousel__arrow:hover { - background-color: rgba(31, 45, 61, 0.23); } - .el-carousel__arrow i { - cursor: pointer; } - .el-carousel__indicators { - position: absolute; - list-style: none; - margin: 0; - padding: 0; - z-index: 2; } - .el-carousel__indicators--horizontal { - bottom: 0; - left: 50%; - -webkit-transform: translateX(-50%); - transform: translateX(-50%); } - .el-carousel__indicators--vertical { - right: 0; - top: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); } - .el-carousel__indicators--outside { - bottom: 26px; - text-align: center; - position: static; - -webkit-transform: none; - transform: none; } - .el-carousel__indicators--outside .el-carousel__indicator:hover button { - opacity: 0.64; } - .el-carousel__indicators--outside button { - background-color: #C0C4CC; - opacity: 0.24; } - .el-carousel__indicators--labels { - left: 0; - right: 0; - -webkit-transform: none; - transform: none; - text-align: center; } - .el-carousel__indicators--labels .el-carousel__button { - height: auto; - width: auto; - padding: 2px 18px; - font-size: 12px; } - .el-carousel__indicators--labels .el-carousel__indicator { - padding: 6px 4px; } - .el-carousel__indicator { - background-color: transparent; - cursor: pointer; } - .el-carousel__indicator:hover button { - opacity: 0.72; } - .el-carousel__indicator--horizontal { - display: inline-block; - padding: 12px 4px; } - .el-carousel__indicator--vertical { - padding: 4px 12px; } - .el-carousel__indicator--vertical .el-carousel__button { - width: 2px; - height: 15px; } - .el-carousel__indicator.is-active button { - opacity: 1; } - .el-carousel__button { - display: block; - opacity: 0.48; - width: 30px; - height: 2px; - background-color: #FFFFFF; - border: none; - outline: none; - padding: 0; - margin: 0; - cursor: pointer; - -webkit-transition: .3s; - transition: .3s; } - -.carousel-arrow-left-enter, -.carousel-arrow-left-leave-active { - -webkit-transform: translateY(-50%) translateX(-10px); - transform: translateY(-50%) translateX(-10px); - opacity: 0; } - -.carousel-arrow-right-enter, -.carousel-arrow-right-leave-active { - -webkit-transform: translateY(-50%) translateX(10px); - transform: translateY(-50%) translateX(10px); - opacity: 0; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-scrollbar { - overflow: hidden; - position: relative; } - .el-scrollbar:hover > .el-scrollbar__bar, .el-scrollbar:active > .el-scrollbar__bar, .el-scrollbar:focus > .el-scrollbar__bar { - opacity: 1; - -webkit-transition: opacity 340ms ease-out; - transition: opacity 340ms ease-out; } - .el-scrollbar__wrap { - overflow: scroll; - height: 100%; } - .el-scrollbar__wrap--hidden-default { - scrollbar-width: none; } - .el-scrollbar__wrap--hidden-default::-webkit-scrollbar { - width: 0; - height: 0; } - .el-scrollbar__thumb { - position: relative; - display: block; - width: 0; - height: 0; - cursor: pointer; - border-radius: inherit; - background-color: rgba(144, 147, 153, 0.3); - -webkit-transition: .3s background-color; - transition: .3s background-color; } - .el-scrollbar__thumb:hover { - background-color: rgba(144, 147, 153, 0.5); } - .el-scrollbar__bar { - position: absolute; - right: 2px; - bottom: 2px; - z-index: 1; - border-radius: 4px; - opacity: 0; - -webkit-transition: opacity 120ms ease-out; - transition: opacity 120ms ease-out; } - .el-scrollbar__bar.is-vertical { - width: 6px; - top: 2px; } - .el-scrollbar__bar.is-vertical > div { - width: 100%; } - .el-scrollbar__bar.is-horizontal { - height: 6px; - left: 2px; } - .el-scrollbar__bar.is-horizontal > div { - height: 100%; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-carousel__item { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - display: inline-block; - overflow: hidden; - z-index: 0; } - .el-carousel__item.is-active { - z-index: 2; } - .el-carousel__item.is-animating { - -webkit-transition: -webkit-transform .4s ease-in-out; - transition: -webkit-transform .4s ease-in-out; - transition: transform .4s ease-in-out; - transition: transform .4s ease-in-out, -webkit-transform .4s ease-in-out; } - .el-carousel__item--card { - width: 50%; - -webkit-transition: -webkit-transform .4s ease-in-out; - transition: -webkit-transform .4s ease-in-out; - transition: transform .4s ease-in-out; - transition: transform .4s ease-in-out, -webkit-transform .4s ease-in-out; } - .el-carousel__item--card.is-in-stage { - cursor: pointer; - z-index: 1; } - .el-carousel__item--card.is-in-stage:hover .el-carousel__mask, - .el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask { - opacity: 0.12; } - .el-carousel__item--card.is-active { - z-index: 2; } - -.el-carousel__mask { - position: absolute; - width: 100%; - height: 100%; - top: 0; - left: 0; - background-color: #FFFFFF; - opacity: 0.24; - -webkit-transition: .2s; - transition: .2s; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.fade-in-linear-enter-active, -.fade-in-linear-leave-active { - -webkit-transition: opacity 200ms linear; - transition: opacity 200ms linear; } - -.fade-in-linear-enter, -.fade-in-linear-leave, -.fade-in-linear-leave-active { - opacity: 0; } - -.el-fade-in-linear-enter-active, -.el-fade-in-linear-leave-active { - -webkit-transition: opacity 200ms linear; - transition: opacity 200ms linear; } - -.el-fade-in-linear-enter, -.el-fade-in-linear-leave, -.el-fade-in-linear-leave-active { - opacity: 0; } - -.el-fade-in-enter-active, -.el-fade-in-leave-active { - -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-fade-in-enter, -.el-fade-in-leave-active { - opacity: 0; } - -.el-zoom-in-center-enter-active, -.el-zoom-in-center-leave-active { - -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-zoom-in-center-enter, -.el-zoom-in-center-leave-active { - opacity: 0; - -webkit-transform: scaleX(0); - transform: scaleX(0); } - -.el-zoom-in-top-enter-active, -.el-zoom-in-top-leave-active { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: center top; - transform-origin: center top; } - -.el-zoom-in-top-enter, -.el-zoom-in-top-leave-active { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0); } - -.el-zoom-in-bottom-enter-active, -.el-zoom-in-bottom-leave-active { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; } - -.el-zoom-in-bottom-enter, -.el-zoom-in-bottom-leave-active { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0); } - -.el-zoom-in-left-enter-active, -.el-zoom-in-left-leave-active { - opacity: 1; - -webkit-transform: scale(1, 1); - transform: scale(1, 1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: top left; - transform-origin: top left; } - -.el-zoom-in-left-enter, -.el-zoom-in-left-leave-active { - opacity: 0; - -webkit-transform: scale(0.45, 0.45); - transform: scale(0.45, 0.45); } - -.collapse-transition { - -webkit-transition: 0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out; - transition: 0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out; } - -.horizontal-collapse-transition { - -webkit-transition: 0.3s width ease-in-out, 0.3s padding-left ease-in-out, 0.3s padding-right ease-in-out; - transition: 0.3s width ease-in-out, 0.3s padding-left ease-in-out, 0.3s padding-right ease-in-out; } - -.el-list-enter-active, -.el-list-leave-active { - -webkit-transition: all 1s; - transition: all 1s; } - -.el-list-enter, .el-list-leave-active { - opacity: 0; - -webkit-transform: translateY(-30px); - transform: translateY(-30px); } - -.el-opacity-transition { - -webkit-transition: opacity 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: opacity 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-collapse { - border-top: 1px solid #EBEEF5; - border-bottom: 1px solid #EBEEF5; } - -.el-collapse-item.is-disabled .el-collapse-item__header { - color: #bbb; - cursor: not-allowed; } - -.el-collapse-item__header { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - height: 48px; - line-height: 48px; - background-color: #FFFFFF; - color: #303133; - cursor: pointer; - border-bottom: 1px solid #EBEEF5; - font-size: 13px; - font-weight: 500; - -webkit-transition: border-bottom-color .3s; - transition: border-bottom-color .3s; - outline: none; } - .el-collapse-item__arrow { - margin: 0 8px 0 auto; - -webkit-transition: -webkit-transform .3s; - transition: -webkit-transform .3s; - transition: transform .3s; - transition: transform .3s, -webkit-transform .3s; - font-weight: 300; } - .el-collapse-item__arrow.is-active { - -webkit-transform: rotate(90deg); - transform: rotate(90deg); } - .el-collapse-item__header.focusing:focus:not(:hover) { - color: #409EFF; } - .el-collapse-item__header.is-active { - border-bottom-color: transparent; } - -.el-collapse-item__wrap { - will-change: height; - background-color: #FFFFFF; - overflow: hidden; - -webkit-box-sizing: border-box; - box-sizing: border-box; - border-bottom: 1px solid #EBEEF5; } - -.el-collapse-item__content { - padding-bottom: 25px; - font-size: 13px; - color: #303133; - line-height: 1.769230769230769; } - -.el-collapse-item:last-child { - margin-bottom: -1px; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-textarea { - position: relative; - display: inline-block; - width: 100%; - vertical-align: bottom; - font-size: 14px; } - .el-textarea__inner { - display: block; - resize: vertical; - padding: 5px 15px; - line-height: 1.5; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - font-size: inherit; - color: #606266; - background-color: #FFFFFF; - background-image: none; - border: 1px solid #DCDFE6; - border-radius: 4px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea__inner:hover { - border-color: #C0C4CC; } - .el-textarea__inner:focus { - outline: none; - border-color: #409EFF; } - .el-textarea .el-input__count { - color: #909399; - background: #FFFFFF; - position: absolute; - font-size: 12px; - bottom: 5px; - right: 10px; } - .el-textarea.is-disabled .el-textarea__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea.is-exceed .el-textarea__inner { - border-color: #F56C6C; } - .el-textarea.is-exceed .el-input__count { - color: #F56C6C; } - -.el-input { - position: relative; - font-size: 14px; - display: inline-block; - width: 100%; } - .el-input::-webkit-scrollbar { - z-index: 11; - width: 6px; } - .el-input::-webkit-scrollbar:horizontal { - height: 6px; } - .el-input::-webkit-scrollbar-thumb { - border-radius: 5px; - width: 6px; - background: #b4bccc; } - .el-input::-webkit-scrollbar-corner { - background: #fff; } - .el-input::-webkit-scrollbar-track { - background: #fff; } - .el-input::-webkit-scrollbar-track-piece { - background: #fff; - width: 6px; } - .el-input .el-input__clear { - color: #C0C4CC; - font-size: 14px; - cursor: pointer; - -webkit-transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-input .el-input__clear:hover { - color: #909399; } - .el-input .el-input__count { - height: 100%; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - color: #909399; - font-size: 12px; } - .el-input .el-input__count .el-input__count-inner { - background: #FFFFFF; - line-height: initial; - display: inline-block; - padding: 0 5px; } - .el-input__inner { - -webkit-appearance: none; - background-color: #FFFFFF; - background-image: none; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: #606266; - display: inline-block; - font-size: inherit; - height: 40px; - line-height: 40px; - outline: none; - padding: 0 15px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - width: 100%; } - .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input__inner:hover { - border-color: #C0C4CC; } - .el-input__inner:focus { - outline: none; - border-color: #409EFF; } - .el-input__suffix { - position: absolute; - height: 100%; - right: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; - pointer-events: none; } - .el-input__suffix-inner { - pointer-events: all; } - .el-input__prefix { - position: absolute; - height: 100%; - left: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; } - .el-input__icon { - height: 100%; - width: 25px; - text-align: center; - -webkit-transition: all .3s; - transition: all .3s; - line-height: 40px; } - .el-input__icon:after { - content: ''; - height: 100%; - width: 0; - display: inline-block; - vertical-align: middle; } - .el-input__validateIcon { - pointer-events: none; } - .el-input.is-active .el-input__inner { - outline: none; - border-color: #409EFF; } - .el-input.is-disabled .el-input__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-input.is-disabled .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__icon { - cursor: not-allowed; } - .el-input.is-exceed .el-input__inner { - border-color: #F56C6C; } - .el-input.is-exceed .el-input__suffix .el-input__count { - color: #F56C6C; } - .el-input--suffix .el-input__inner { - padding-right: 30px; } - .el-input--prefix .el-input__inner { - padding-left: 30px; } - .el-input--medium { - font-size: 14px; } - .el-input--medium .el-input__inner { - height: 36px; - line-height: 36px; } - .el-input--medium .el-input__icon { - line-height: 36px; } - .el-input--small { - font-size: 13px; } - .el-input--small .el-input__inner { - height: 32px; - line-height: 32px; } - .el-input--small .el-input__icon { - line-height: 32px; } - .el-input--mini { - font-size: 12px; } - .el-input--mini .el-input__inner { - height: 28px; - line-height: 28px; } - .el-input--mini .el-input__icon { - line-height: 28px; } - -.el-input-group { - line-height: normal; - display: inline-table; - width: 100%; - border-collapse: separate; - border-spacing: 0; } - .el-input-group > .el-input__inner { - vertical-align: middle; - display: table-cell; } - .el-input-group__append, .el-input-group__prepend { - background-color: #F5F7FA; - color: #909399; - vertical-align: middle; - display: table-cell; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 4px; - padding: 0 20px; - width: 1px; - white-space: nowrap; } - .el-input-group__append:focus, .el-input-group__prepend:focus { - outline: none; } - .el-input-group__append .el-select, - .el-input-group__append .el-button, .el-input-group__prepend .el-select, - .el-input-group__prepend .el-button { - display: inline-block; - margin: -10px -20px; } - .el-input-group__append button.el-button, - .el-input-group__append div.el-select .el-input__inner, - .el-input-group__append div.el-select:hover .el-input__inner, .el-input-group__prepend button.el-button, - .el-input-group__prepend div.el-select .el-input__inner, - .el-input-group__prepend div.el-select:hover .el-input__inner { - border-color: transparent; - background-color: transparent; - color: inherit; - border-top: 0; - border-bottom: 0; } - .el-input-group__append .el-button, - .el-input-group__append .el-input, .el-input-group__prepend .el-button, - .el-input-group__prepend .el-input { - font-size: inherit; } - .el-input-group__prepend { - border-right: 0; - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group__append { - border-left: 0; - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-input__inner { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - .el-input-group--append .el-input__inner { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group--append .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - -/** disalbe default clear on IE */ -.el-input__inner::-ms-clear { - display: none; - width: 0; - height: 0; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-popper .popper__arrow, -.el-popper .popper__arrow::after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; } - -.el-popper .popper__arrow { - border-width: 6px; - -webkit-filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); - filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); } - -.el-popper .popper__arrow::after { - content: " "; - border-width: 6px; } - -.el-popper[x-placement^="top"] { - margin-bottom: 12px; } - -.el-popper[x-placement^="top"] .popper__arrow { - bottom: -6px; - left: 50%; - margin-right: 3px; - border-top-color: #EBEEF5; - border-bottom-width: 0; } - .el-popper[x-placement^="top"] .popper__arrow::after { - bottom: 1px; - margin-left: -6px; - border-top-color: #FFFFFF; - border-bottom-width: 0; } - -.el-popper[x-placement^="bottom"] { - margin-top: 12px; } - -.el-popper[x-placement^="bottom"] .popper__arrow { - top: -6px; - left: 50%; - margin-right: 3px; - border-top-width: 0; - border-bottom-color: #EBEEF5; } - .el-popper[x-placement^="bottom"] .popper__arrow::after { - top: 1px; - margin-left: -6px; - border-top-width: 0; - border-bottom-color: #FFFFFF; } - -.el-popper[x-placement^="right"] { - margin-left: 12px; } - -.el-popper[x-placement^="right"] .popper__arrow { - top: 50%; - left: -6px; - margin-bottom: 3px; - border-right-color: #EBEEF5; - border-left-width: 0; } - .el-popper[x-placement^="right"] .popper__arrow::after { - bottom: -6px; - left: 1px; - border-right-color: #FFFFFF; - border-left-width: 0; } - -.el-popper[x-placement^="left"] { - margin-right: 12px; } - -.el-popper[x-placement^="left"] .popper__arrow { - top: 50%; - right: -6px; - margin-bottom: 3px; - border-right-width: 0; - border-left-color: #EBEEF5; } - .el-popper[x-placement^="left"] .popper__arrow::after { - right: 1px; - bottom: -6px; - margin-left: -6px; - border-right-width: 0; - border-left-color: #FFFFFF; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-tag { - background-color: #ecf5ff; - border-color: #d9ecff; - color: #409eff; - display: inline-block; - height: 32px; - padding: 0 10px; - line-height: 30px; - font-size: 12px; - color: #409EFF; - border-width: 1px; - border-style: solid; - border-radius: 4px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - white-space: nowrap; } - .el-tag.is-hit { - border-color: #409EFF; } - .el-tag .el-tag__close { - color: #409eff; } - .el-tag .el-tag__close:hover { - color: #FFFFFF; - background-color: #409eff; } - .el-tag.el-tag--info { - background-color: #f4f4f5; - border-color: #e9e9eb; - color: #909399; } - .el-tag.el-tag--info.is-hit { - border-color: #909399; } - .el-tag.el-tag--info .el-tag__close { - color: #909399; } - .el-tag.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #909399; } - .el-tag.el-tag--success { - background-color: #f0f9eb; - border-color: #e1f3d8; - color: #67c23a; } - .el-tag.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag.el-tag--success .el-tag__close { - color: #67c23a; } - .el-tag.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #67c23a; } - .el-tag.el-tag--warning { - background-color: #fdf6ec; - border-color: #faecd8; - color: #e6a23c; } - .el-tag.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag.el-tag--warning .el-tag__close { - color: #e6a23c; } - .el-tag.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #e6a23c; } - .el-tag.el-tag--danger { - background-color: #fef0f0; - border-color: #fde2e2; - color: #f56c6c; } - .el-tag.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag.el-tag--danger .el-tag__close { - color: #f56c6c; } - .el-tag.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f56c6c; } - .el-tag .el-icon-close { - border-radius: 50%; - text-align: center; - position: relative; - cursor: pointer; - font-size: 12px; - height: 16px; - width: 16px; - line-height: 16px; - vertical-align: middle; - top: -1px; - right: -5px; } - .el-tag .el-icon-close::before { - display: block; } - .el-tag--dark { - background-color: #409eff; - border-color: #409eff; - color: white; } - .el-tag--dark.is-hit { - border-color: #409EFF; } - .el-tag--dark .el-tag__close { - color: white; } - .el-tag--dark .el-tag__close:hover { - color: #FFFFFF; - background-color: #66b1ff; } - .el-tag--dark.el-tag--info { - background-color: #909399; - border-color: #909399; - color: white; } - .el-tag--dark.el-tag--info.is-hit { - border-color: #909399; } - .el-tag--dark.el-tag--info .el-tag__close { - color: white; } - .el-tag--dark.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #a6a9ad; } - .el-tag--dark.el-tag--success { - background-color: #67c23a; - border-color: #67c23a; - color: white; } - .el-tag--dark.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag--dark.el-tag--success .el-tag__close { - color: white; } - .el-tag--dark.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #85ce61; } - .el-tag--dark.el-tag--warning { - background-color: #e6a23c; - border-color: #e6a23c; - color: white; } - .el-tag--dark.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag--dark.el-tag--warning .el-tag__close { - color: white; } - .el-tag--dark.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #ebb563; } - .el-tag--dark.el-tag--danger { - background-color: #f56c6c; - border-color: #f56c6c; - color: white; } - .el-tag--dark.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag--dark.el-tag--danger .el-tag__close { - color: white; } - .el-tag--dark.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f78989; } - .el-tag--plain { - background-color: white; - border-color: #b3d8ff; - color: #409eff; } - .el-tag--plain.is-hit { - border-color: #409EFF; } - .el-tag--plain .el-tag__close { - color: #409eff; } - .el-tag--plain .el-tag__close:hover { - color: #FFFFFF; - background-color: #409eff; } - .el-tag--plain.el-tag--info { - background-color: white; - border-color: #d3d4d6; - color: #909399; } - .el-tag--plain.el-tag--info.is-hit { - border-color: #909399; } - .el-tag--plain.el-tag--info .el-tag__close { - color: #909399; } - .el-tag--plain.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #909399; } - .el-tag--plain.el-tag--success { - background-color: white; - border-color: #c2e7b0; - color: #67c23a; } - .el-tag--plain.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag--plain.el-tag--success .el-tag__close { - color: #67c23a; } - .el-tag--plain.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #67c23a; } - .el-tag--plain.el-tag--warning { - background-color: white; - border-color: #f5dab1; - color: #e6a23c; } - .el-tag--plain.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag--plain.el-tag--warning .el-tag__close { - color: #e6a23c; } - .el-tag--plain.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #e6a23c; } - .el-tag--plain.el-tag--danger { - background-color: white; - border-color: #fbc4c4; - color: #f56c6c; } - .el-tag--plain.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag--plain.el-tag--danger .el-tag__close { - color: #f56c6c; } - .el-tag--plain.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f56c6c; } - .el-tag--medium { - height: 28px; - line-height: 26px; } - .el-tag--medium .el-icon-close { - -webkit-transform: scale(0.8); - transform: scale(0.8); } - .el-tag--small { - height: 24px; - padding: 0 8px; - line-height: 22px; } - .el-tag--small .el-icon-close { - -webkit-transform: scale(0.8); - transform: scale(0.8); } - .el-tag--mini { - height: 20px; - padding: 0 5px; - line-height: 19px; } - .el-tag--mini .el-icon-close { - margin-left: -3px; - -webkit-transform: scale(0.7); - transform: scale(0.7); } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-checkbox { - color: #606266; - font-weight: 500; - font-size: 14px; - position: relative; - cursor: pointer; - display: inline-block; - white-space: nowrap; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - margin-right: 30px; } - .el-checkbox.is-bordered { - padding: 9px 20px 9px 10px; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - line-height: normal; - height: 40px; } - .el-checkbox.is-bordered.is-checked { - border-color: #409EFF; } - .el-checkbox.is-bordered.is-disabled { - border-color: #EBEEF5; - cursor: not-allowed; } - .el-checkbox.is-bordered + .el-checkbox.is-bordered { - margin-left: 10px; } - .el-checkbox.is-bordered.el-checkbox--medium { - padding: 7px 20px 7px 10px; - border-radius: 4px; - height: 36px; } - .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label { - line-height: 17px; - font-size: 14px; } - .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner { - height: 14px; - width: 14px; } - .el-checkbox.is-bordered.el-checkbox--small { - padding: 5px 15px 5px 10px; - border-radius: 3px; - height: 32px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label { - line-height: 15px; - font-size: 12px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner { - height: 12px; - width: 12px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after { - height: 6px; - width: 2px; } - .el-checkbox.is-bordered.el-checkbox--mini { - padding: 3px 15px 3px 10px; - border-radius: 3px; - height: 28px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label { - line-height: 12px; - font-size: 12px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner { - height: 12px; - width: 12px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after { - height: 6px; - width: 2px; } - .el-checkbox__input { - white-space: nowrap; - cursor: pointer; - outline: none; - display: inline-block; - line-height: 1; - position: relative; - vertical-align: middle; } - .el-checkbox__input.is-disabled .el-checkbox__inner { - background-color: #edf2fc; - border-color: #DCDFE6; - cursor: not-allowed; } - .el-checkbox__input.is-disabled .el-checkbox__inner::after { - cursor: not-allowed; - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled .el-checkbox__inner + .el-checkbox__label { - cursor: not-allowed; } - .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { - background-color: #F2F6FC; - border-color: #DCDFE6; } - .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after { - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner { - background-color: #F2F6FC; - border-color: #DCDFE6; } - .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before { - background-color: #C0C4CC; - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled + span.el-checkbox__label { - color: #C0C4CC; - cursor: not-allowed; } - .el-checkbox__input.is-checked .el-checkbox__inner { - background-color: #409EFF; - border-color: #409EFF; } - .el-checkbox__input.is-checked .el-checkbox__inner::after { - -webkit-transform: rotate(45deg) scaleY(1); - transform: rotate(45deg) scaleY(1); } - .el-checkbox__input.is-checked + .el-checkbox__label { - color: #409EFF; } - .el-checkbox__input.is-focus { - /*focus时 视觉上区分*/ } - .el-checkbox__input.is-focus .el-checkbox__inner { - border-color: #409EFF; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner { - background-color: #409EFF; - border-color: #409EFF; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner::before { - content: ''; - position: absolute; - display: block; - background-color: #FFFFFF; - height: 2px; - -webkit-transform: scale(0.5); - transform: scale(0.5); - left: 0; - right: 0; - top: 5px; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner::after { - display: none; } - .el-checkbox__inner { - display: inline-block; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 2px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 14px; - height: 14px; - background-color: #FFFFFF; - z-index: 1; - -webkit-transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46), background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46); - transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46), background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46); } - .el-checkbox__inner:hover { - border-color: #409EFF; } - .el-checkbox__inner::after { - -webkit-box-sizing: content-box; - box-sizing: content-box; - content: ""; - border: 1px solid #FFFFFF; - border-left: 0; - border-top: 0; - height: 7px; - left: 4px; - position: absolute; - top: 1px; - -webkit-transform: rotate(45deg) scaleY(0); - transform: rotate(45deg) scaleY(0); - width: 3px; - -webkit-transition: -webkit-transform .15s ease-in .05s; - transition: -webkit-transform .15s ease-in .05s; - transition: transform .15s ease-in .05s; - transition: transform .15s ease-in .05s, -webkit-transform .15s ease-in .05s; - -webkit-transform-origin: center; - transform-origin: center; } - .el-checkbox__original { - opacity: 0; - outline: none; - position: absolute; - margin: 0; - width: 0; - height: 0; - z-index: -1; } - .el-checkbox__label { - display: inline-block; - padding-left: 10px; - line-height: 19px; - font-size: 14px; } - .el-checkbox:last-of-type { - margin-right: 0; } - -.el-checkbox-button { - position: relative; - display: inline-block; } - .el-checkbox-button__inner { - display: inline-block; - line-height: 1; - font-weight: 500; - white-space: nowrap; - vertical-align: middle; - cursor: pointer; - background: #FFFFFF; - border: 1px solid #DCDFE6; - border-left: 0; - color: #606266; - -webkit-appearance: none; - text-align: center; - -webkit-box-sizing: border-box; - box-sizing: border-box; - outline: none; - margin: 0; - position: relative; - -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - padding: 12px 20px; - font-size: 14px; - border-radius: 0; } - .el-checkbox-button__inner.is-round { - padding: 12px 20px; } - .el-checkbox-button__inner:hover { - color: #409EFF; } - .el-checkbox-button__inner [class*="el-icon-"] { - line-height: 0.9; } - .el-checkbox-button__inner [class*="el-icon-"] + span { - margin-left: 5px; } - .el-checkbox-button__original { - opacity: 0; - outline: none; - position: absolute; - margin: 0; - z-index: -1; } - .el-checkbox-button.is-checked .el-checkbox-button__inner { - color: #FFFFFF; - background-color: #409EFF; - border-color: #409EFF; - -webkit-box-shadow: -1px 0 0 0 #8cc5ff; - box-shadow: -1px 0 0 0 #8cc5ff; } - .el-checkbox-button.is-checked:first-child .el-checkbox-button__inner { - border-left-color: #409EFF; } - .el-checkbox-button.is-disabled .el-checkbox-button__inner { - color: #C0C4CC; - cursor: not-allowed; - background-image: none; - background-color: #FFFFFF; - border-color: #EBEEF5; - -webkit-box-shadow: none; - box-shadow: none; } - .el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner { - border-left-color: #EBEEF5; } - .el-checkbox-button:first-child .el-checkbox-button__inner { - border-left: 1px solid #DCDFE6; - border-radius: 4px 0 0 4px; - -webkit-box-shadow: none !important; - box-shadow: none !important; } - .el-checkbox-button.is-focus .el-checkbox-button__inner { - border-color: #409EFF; } - .el-checkbox-button:last-child .el-checkbox-button__inner { - border-radius: 0 4px 4px 0; } - .el-checkbox-button--medium .el-checkbox-button__inner { - padding: 10px 20px; - font-size: 14px; - border-radius: 0; } - .el-checkbox-button--medium .el-checkbox-button__inner.is-round { - padding: 10px 20px; } - .el-checkbox-button--small .el-checkbox-button__inner { - padding: 9px 15px; - font-size: 12px; - border-radius: 0; } - .el-checkbox-button--small .el-checkbox-button__inner.is-round { - padding: 9px 15px; } - .el-checkbox-button--mini .el-checkbox-button__inner { - padding: 7px 15px; - font-size: 12px; - border-radius: 0; } - .el-checkbox-button--mini .el-checkbox-button__inner.is-round { - padding: 7px 15px; } - -.el-checkbox-group { - font-size: 0; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-radio { - color: #606266; - font-weight: 500; - line-height: 1; - position: relative; - cursor: pointer; - display: inline-block; - white-space: nowrap; - outline: none; - font-size: 14px; - margin-right: 30px; - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; } - .el-radio.is-bordered { - padding: 12px 20px 0 10px; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - height: 40px; } - .el-radio.is-bordered.is-checked { - border-color: #409EFF; } - .el-radio.is-bordered.is-disabled { - cursor: not-allowed; - border-color: #EBEEF5; } - .el-radio.is-bordered + .el-radio.is-bordered { - margin-left: 10px; } - .el-radio--medium.is-bordered { - padding: 10px 20px 0 10px; - border-radius: 4px; - height: 36px; } - .el-radio--medium.is-bordered .el-radio__label { - font-size: 14px; } - .el-radio--medium.is-bordered .el-radio__inner { - height: 14px; - width: 14px; } - .el-radio--small.is-bordered { - padding: 8px 15px 0 10px; - border-radius: 3px; - height: 32px; } - .el-radio--small.is-bordered .el-radio__label { - font-size: 12px; } - .el-radio--small.is-bordered .el-radio__inner { - height: 12px; - width: 12px; } - .el-radio--mini.is-bordered { - padding: 6px 15px 0 10px; - border-radius: 3px; - height: 28px; } - .el-radio--mini.is-bordered .el-radio__label { - font-size: 12px; } - .el-radio--mini.is-bordered .el-radio__inner { - height: 12px; - width: 12px; } - .el-radio:last-child { - margin-right: 0; } - .el-radio__input { - white-space: nowrap; - cursor: pointer; - outline: none; - display: inline-block; - line-height: 1; - position: relative; - vertical-align: middle; } - .el-radio__input.is-disabled .el-radio__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - cursor: not-allowed; } - .el-radio__input.is-disabled .el-radio__inner::after { - cursor: not-allowed; - background-color: #F5F7FA; } - .el-radio__input.is-disabled .el-radio__inner + .el-radio__label { - cursor: not-allowed; } - .el-radio__input.is-disabled.is-checked .el-radio__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; } - .el-radio__input.is-disabled.is-checked .el-radio__inner::after { - background-color: #C0C4CC; } - .el-radio__input.is-disabled + span.el-radio__label { - color: #C0C4CC; - cursor: not-allowed; } - .el-radio__input.is-checked .el-radio__inner { - border-color: #409EFF; - background: #409EFF; } - .el-radio__input.is-checked .el-radio__inner::after { - -webkit-transform: translate(-50%, -50%) scale(1); - transform: translate(-50%, -50%) scale(1); } - .el-radio__input.is-checked + .el-radio__label { - color: #409EFF; } - .el-radio__input.is-focus .el-radio__inner { - border-color: #409EFF; } - .el-radio__inner { - border: 1px solid #DCDFE6; - border-radius: 100%; - width: 14px; - height: 14px; - background-color: #FFFFFF; - position: relative; - cursor: pointer; - display: inline-block; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-radio__inner:hover { - border-color: #409EFF; } - .el-radio__inner::after { - width: 4px; - height: 4px; - border-radius: 100%; - background-color: #FFFFFF; - content: ""; - position: absolute; - left: 50%; - top: 50%; - -webkit-transform: translate(-50%, -50%) scale(0); - transform: translate(-50%, -50%) scale(0); - -webkit-transition: -webkit-transform .15s ease-in; - transition: -webkit-transform .15s ease-in; - transition: transform .15s ease-in; - transition: transform .15s ease-in, -webkit-transform .15s ease-in; } - .el-radio__original { - opacity: 0; - outline: none; - position: absolute; - z-index: -1; - top: 0; - left: 0; - right: 0; - bottom: 0; - margin: 0; } - .el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) { - /*获得焦点时 样式提醒*/ } - .el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner { - -webkit-box-shadow: 0 0 2px 2px #409EFF; - box-shadow: 0 0 2px 2px #409EFF; } - .el-radio__label { - font-size: 14px; - padding-left: 10px; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-scrollbar { - overflow: hidden; - position: relative; } - .el-scrollbar:hover > .el-scrollbar__bar, .el-scrollbar:active > .el-scrollbar__bar, .el-scrollbar:focus > .el-scrollbar__bar { - opacity: 1; - -webkit-transition: opacity 340ms ease-out; - transition: opacity 340ms ease-out; } - .el-scrollbar__wrap { - overflow: scroll; - height: 100%; } - .el-scrollbar__wrap--hidden-default { - scrollbar-width: none; } - .el-scrollbar__wrap--hidden-default::-webkit-scrollbar { - width: 0; - height: 0; } - .el-scrollbar__thumb { - position: relative; - display: block; - width: 0; - height: 0; - cursor: pointer; - border-radius: inherit; - background-color: rgba(144, 147, 153, 0.3); - -webkit-transition: .3s background-color; - transition: .3s background-color; } - .el-scrollbar__thumb:hover { - background-color: rgba(144, 147, 153, 0.5); } - .el-scrollbar__bar { - position: absolute; - right: 2px; - bottom: 2px; - z-index: 1; - border-radius: 4px; - opacity: 0; - -webkit-transition: opacity 120ms ease-out; - transition: opacity 120ms ease-out; } - .el-scrollbar__bar.is-vertical { - width: 6px; - top: 2px; } - .el-scrollbar__bar.is-vertical > div { - width: 100%; } - .el-scrollbar__bar.is-horizontal { - height: 6px; - left: 2px; } - .el-scrollbar__bar.is-horizontal > div { - height: 100%; } - -.el-cascader-panel { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - border-radius: 4px; - font-size: 14px; } - .el-cascader-panel.is-bordered { - border: solid 1px #E4E7ED; - border-radius: 4px; } - -.el-cascader-menu { - min-width: 180px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: #606266; - border-right: solid 1px #E4E7ED; } - .el-cascader-menu:last-child { - border-right: none; } - .el-cascader-menu:last-child .el-cascader-node { - padding-right: 20px; } - .el-cascader-menu__wrap { - height: 204px; } - .el-cascader-menu__list { - position: relative; - min-height: 100%; - margin: 0; - padding: 6px 0; - list-style: none; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-cascader-menu__hover-zone { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - pointer-events: none; } - .el-cascader-menu__empty-text { - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); - text-align: center; - color: #C0C4CC; } - -.el-cascader-node { - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - padding: 0 30px 0 20px; - height: 34px; - line-height: 34px; - outline: none; } - .el-cascader-node.is-selectable.in-active-path { - color: #606266; } - .el-cascader-node.in-active-path, .el-cascader-node.is-selectable.in-checked-path, .el-cascader-node.is-active { - color: #409EFF; - font-weight: bold; } - .el-cascader-node:not(.is-disabled) { - cursor: pointer; } - .el-cascader-node:not(.is-disabled):hover, .el-cascader-node:not(.is-disabled):focus { - background: #F5F7FA; } - .el-cascader-node.is-disabled { - color: #C0C4CC; - cursor: not-allowed; } - .el-cascader-node__prefix { - position: absolute; - left: 10px; } - .el-cascader-node__postfix { - position: absolute; - right: 10px; } - .el-cascader-node__label { - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - padding: 0 10px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; } - .el-cascader-node > .el-radio { - margin-right: 0; } - .el-cascader-node > .el-radio .el-radio__label { - padding-left: 0; } - -.el-cascader { - display: inline-block; - position: relative; - font-size: 14px; - line-height: 40px; } - .el-cascader:not(.is-disabled):hover .el-input__inner { - cursor: pointer; - border-color: #C0C4CC; } - .el-cascader .el-input { - cursor: pointer; } - .el-cascader .el-input .el-input__inner { - text-overflow: ellipsis; } - .el-cascader .el-input .el-input__inner:focus { - border-color: #409EFF; } - .el-cascader .el-input .el-icon-arrow-down { - -webkit-transition: -webkit-transform .3s; - transition: -webkit-transform .3s; - transition: transform .3s; - transition: transform .3s, -webkit-transform .3s; - font-size: 14px; } - .el-cascader .el-input .el-icon-arrow-down.is-reverse { - -webkit-transform: rotateZ(180deg); - transform: rotateZ(180deg); } - .el-cascader .el-input .el-icon-circle-close:hover { - color: #909399; } - .el-cascader .el-input.is-focus .el-input__inner { - border-color: #409EFF; } - .el-cascader--medium { - font-size: 14px; - line-height: 36px; } - .el-cascader--small { - font-size: 13px; - line-height: 32px; } - .el-cascader--mini { - font-size: 12px; - line-height: 28px; } - .el-cascader.is-disabled .el-cascader__label { - z-index: 2; - color: #C0C4CC; } - .el-cascader__dropdown { - margin: 5px 0; - font-size: 14px; - background: #FFFFFF; - border: solid 1px #E4E7ED; - border-radius: 4px; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); } - .el-cascader__tags { - position: absolute; - left: 0; - right: 30px; - top: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - line-height: normal; - text-align: left; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-cascader__tags .el-tag { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - max-width: 100%; - margin: 2px 0 2px 6px; - text-overflow: ellipsis; - background: #f0f2f5; } - .el-cascader__tags .el-tag:not(.is-hit) { - border-color: transparent; } - .el-cascader__tags .el-tag > span { - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - overflow: hidden; - text-overflow: ellipsis; } - .el-cascader__tags .el-tag .el-icon-close { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; - background-color: #C0C4CC; - color: #FFFFFF; } - .el-cascader__tags .el-tag .el-icon-close:hover { - background-color: #909399; } - .el-cascader__suggestion-panel { - border-radius: 4px; } - .el-cascader__suggestion-list { - max-height: 204px; - margin: 0; - padding: 6px 0; - font-size: 14px; - color: #606266; - text-align: center; } - .el-cascader__suggestion-item { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - height: 34px; - padding: 0 15px; - text-align: left; - outline: none; - cursor: pointer; } - .el-cascader__suggestion-item:hover, .el-cascader__suggestion-item:focus { - background: #F5F7FA; } - .el-cascader__suggestion-item.is-checked { - color: #409EFF; - font-weight: bold; } - .el-cascader__suggestion-item > span { - margin-right: 10px; } - .el-cascader__empty-text { - margin: 10px 0; - color: #C0C4CC; } - .el-cascader__search-input { - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - height: 24px; - min-width: 60px; - margin: 2px 0 2px 15px; - padding: 0; - color: #606266; - border: none; - outline: none; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-cascader__search-input::-webkit-input-placeholder { - color: #C0C4CC; } - .el-cascader__search-input::-moz-placeholder { - color: #C0C4CC; } - .el-cascader__search-input::-ms-input-placeholder { - color: #C0C4CC; } - .el-cascader__search-input::placeholder { - color: #C0C4CC; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-color-predefine { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - font-size: 12px; - margin-top: 8px; - width: 280px; } - .el-color-predefine__colors { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - -ms-flex-wrap: wrap; - flex-wrap: wrap; } - .el-color-predefine__color-selector { - margin: 0 0 8px 8px; - width: 20px; - height: 20px; - border-radius: 4px; - cursor: pointer; } - .el-color-predefine__color-selector:nth-child(10n + 1) { - margin-left: 0; } - .el-color-predefine__color-selector.selected { - -webkit-box-shadow: 0 0 3px 2px #409EFF; - box-shadow: 0 0 3px 2px #409EFF; } - .el-color-predefine__color-selector > div { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - height: 100%; - border-radius: 3px; } - .el-color-predefine__color-selector.is-alpha { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==); } - -.el-color-hue-slider { - position: relative; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 280px; - height: 12px; - background-color: #f00; - padding: 0 2px; } - .el-color-hue-slider__bar { - position: relative; - background: -webkit-gradient(linear, left top, right top, from(#f00), color-stop(17%, #ff0), color-stop(33%, #0f0), color-stop(50%, #0ff), color-stop(67%, #00f), color-stop(83%, #f0f), to(#f00)); - background: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%); - height: 100%; } - .el-color-hue-slider__thumb { - position: absolute; - cursor: pointer; - -webkit-box-sizing: border-box; - box-sizing: border-box; - left: 0; - top: 0; - width: 4px; - height: 100%; - border-radius: 1px; - background: #fff; - border: 1px solid #f0f0f0; - -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.6); - box-shadow: 0 0 2px rgba(0, 0, 0, 0.6); - z-index: 1; } - .el-color-hue-slider.is-vertical { - width: 12px; - height: 180px; - padding: 2px 0; } - .el-color-hue-slider.is-vertical .el-color-hue-slider__bar { - background: -webkit-gradient(linear, left top, left bottom, from(#f00), color-stop(17%, #ff0), color-stop(33%, #0f0), color-stop(50%, #0ff), color-stop(67%, #00f), color-stop(83%, #f0f), to(#f00)); - background: linear-gradient(to bottom, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%); } - .el-color-hue-slider.is-vertical .el-color-hue-slider__thumb { - left: 0; - top: 0; - width: 100%; - height: 4px; } - -.el-color-svpanel { - position: relative; - width: 280px; - height: 180px; } - .el-color-svpanel__white, .el-color-svpanel__black { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; } - .el-color-svpanel__white { - background: -webkit-gradient(linear, left top, right top, from(#fff), to(rgba(255, 255, 255, 0))); - background: linear-gradient(to right, #fff, rgba(255, 255, 255, 0)); } - .el-color-svpanel__black { - background: -webkit-gradient(linear, left bottom, left top, from(#000), to(rgba(0, 0, 0, 0))); - background: linear-gradient(to top, #000, rgba(0, 0, 0, 0)); } - .el-color-svpanel__cursor { - position: absolute; } - .el-color-svpanel__cursor > div { - cursor: head; - width: 4px; - height: 4px; - -webkit-box-shadow: 0 0 0 1.5px #fff, inset 0 0 1px 1px rgba(0, 0, 0, 0.3), 0 0 1px 2px rgba(0, 0, 0, 0.4); - box-shadow: 0 0 0 1.5px #fff, inset 0 0 1px 1px rgba(0, 0, 0, 0.3), 0 0 1px 2px rgba(0, 0, 0, 0.4); - border-radius: 50%; - -webkit-transform: translate(-2px, -2px); - transform: translate(-2px, -2px); } - -.el-color-alpha-slider { - position: relative; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 280px; - height: 12px; - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==); } - .el-color-alpha-slider__bar { - position: relative; - background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), to(white)); - background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, white 100%); - height: 100%; } - .el-color-alpha-slider__thumb { - position: absolute; - cursor: pointer; - -webkit-box-sizing: border-box; - box-sizing: border-box; - left: 0; - top: 0; - width: 4px; - height: 100%; - border-radius: 1px; - background: #fff; - border: 1px solid #f0f0f0; - -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.6); - box-shadow: 0 0 2px rgba(0, 0, 0, 0.6); - z-index: 1; } - .el-color-alpha-slider.is-vertical { - width: 20px; - height: 180px; } - .el-color-alpha-slider.is-vertical .el-color-alpha-slider__bar { - background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(white)); - background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, white 100%); } - .el-color-alpha-slider.is-vertical .el-color-alpha-slider__thumb { - left: 0; - top: 0; - width: 100%; - height: 4px; } - -.el-color-dropdown { - width: 300px; } - .el-color-dropdown__main-wrapper { - margin-bottom: 6px; } - .el-color-dropdown__main-wrapper::after { - content: ""; - display: table; - clear: both; } - .el-color-dropdown__btns { - margin-top: 6px; - text-align: right; } - .el-color-dropdown__value { - float: left; - line-height: 26px; - font-size: 12px; - color: #000000; - width: 160px; } - .el-color-dropdown__btn { - border: 1px solid #dcdcdc; - color: #333; - line-height: 24px; - border-radius: 2px; - padding: 0 20px; - cursor: pointer; - background-color: transparent; - outline: none; - font-size: 12px; } - .el-color-dropdown__btn[disabled] { - color: #cccccc; - cursor: not-allowed; } - .el-color-dropdown__btn:hover { - color: #409EFF; - border-color: #409EFF; } - .el-color-dropdown__link-btn { - cursor: pointer; - color: #409EFF; - text-decoration: none; - padding: 15px; - font-size: 12px; } - .el-color-dropdown__link-btn:hover { - color: tint(#409EFF, 20%); } - -.el-color-picker { - display: inline-block; - position: relative; - line-height: normal; - height: 40px; } - .el-color-picker.is-disabled .el-color-picker__trigger { - cursor: not-allowed; } - .el-color-picker--medium { - height: 36px; } - .el-color-picker--medium .el-color-picker__trigger { - height: 36px; - width: 36px; } - .el-color-picker--medium .el-color-picker__mask { - height: 34px; - width: 34px; } - .el-color-picker--small { - height: 32px; } - .el-color-picker--small .el-color-picker__trigger { - height: 32px; - width: 32px; } - .el-color-picker--small .el-color-picker__mask { - height: 30px; - width: 30px; } - .el-color-picker--small .el-color-picker__icon, - .el-color-picker--small .el-color-picker__empty { - -webkit-transform: translate3d(-50%, -50%, 0) scale(0.8); - transform: translate3d(-50%, -50%, 0) scale(0.8); } - .el-color-picker--mini { - height: 28px; } - .el-color-picker--mini .el-color-picker__trigger { - height: 28px; - width: 28px; } - .el-color-picker--mini .el-color-picker__mask { - height: 26px; - width: 26px; } - .el-color-picker--mini .el-color-picker__icon, - .el-color-picker--mini .el-color-picker__empty { - -webkit-transform: translate3d(-50%, -50%, 0) scale(0.8); - transform: translate3d(-50%, -50%, 0) scale(0.8); } - .el-color-picker__mask { - height: 38px; - width: 38px; - border-radius: 4px; - position: absolute; - top: 1px; - left: 1px; - z-index: 1; - cursor: not-allowed; - background-color: rgba(255, 255, 255, 0.7); } - .el-color-picker__trigger { - display: inline-block; - -webkit-box-sizing: border-box; - box-sizing: border-box; - height: 40px; - width: 40px; - padding: 4px; - border: 1px solid #e6e6e6; - border-radius: 4px; - font-size: 0; - position: relative; - cursor: pointer; } - .el-color-picker__color { - position: relative; - display: block; - -webkit-box-sizing: border-box; - box-sizing: border-box; - border: 1px solid #999; - border-radius: 2px; - width: 100%; - height: 100%; - text-align: center; } - .el-color-picker__color.is-alpha { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==); } - .el-color-picker__color-inner { - position: absolute; - left: 0; - top: 0; - right: 0; - bottom: 0; } - .el-color-picker__empty { - font-size: 12px; - color: #999; - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate3d(-50%, -50%, 0); - transform: translate3d(-50%, -50%, 0); } - .el-color-picker__icon { - display: inline-block; - position: absolute; - width: 100%; - top: 50%; - left: 50%; - -webkit-transform: translate3d(-50%, -50%, 0); - transform: translate3d(-50%, -50%, 0); - color: #FFFFFF; - text-align: center; - font-size: 12px; } - .el-color-picker__panel { - position: absolute; - z-index: 10; - padding: 6px; - -webkit-box-sizing: content-box; - box-sizing: content-box; - background-color: #FFFFFF; - border: 1px solid #EBEEF5; - border-radius: 4px; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-textarea { - position: relative; - display: inline-block; - width: 100%; - vertical-align: bottom; - font-size: 14px; } - .el-textarea__inner { - display: block; - resize: vertical; - padding: 5px 15px; - line-height: 1.5; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - font-size: inherit; - color: #606266; - background-color: #FFFFFF; - background-image: none; - border: 1px solid #DCDFE6; - border-radius: 4px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea__inner:hover { - border-color: #C0C4CC; } - .el-textarea__inner:focus { - outline: none; - border-color: #409EFF; } - .el-textarea .el-input__count { - color: #909399; - background: #FFFFFF; - position: absolute; - font-size: 12px; - bottom: 5px; - right: 10px; } - .el-textarea.is-disabled .el-textarea__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea.is-exceed .el-textarea__inner { - border-color: #F56C6C; } - .el-textarea.is-exceed .el-input__count { - color: #F56C6C; } - -.el-input { - position: relative; - font-size: 14px; - display: inline-block; - width: 100%; } - .el-input::-webkit-scrollbar { - z-index: 11; - width: 6px; } - .el-input::-webkit-scrollbar:horizontal { - height: 6px; } - .el-input::-webkit-scrollbar-thumb { - border-radius: 5px; - width: 6px; - background: #b4bccc; } - .el-input::-webkit-scrollbar-corner { - background: #fff; } - .el-input::-webkit-scrollbar-track { - background: #fff; } - .el-input::-webkit-scrollbar-track-piece { - background: #fff; - width: 6px; } - .el-input .el-input__clear { - color: #C0C4CC; - font-size: 14px; - cursor: pointer; - -webkit-transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-input .el-input__clear:hover { - color: #909399; } - .el-input .el-input__count { - height: 100%; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - color: #909399; - font-size: 12px; } - .el-input .el-input__count .el-input__count-inner { - background: #FFFFFF; - line-height: initial; - display: inline-block; - padding: 0 5px; } - .el-input__inner { - -webkit-appearance: none; - background-color: #FFFFFF; - background-image: none; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: #606266; - display: inline-block; - font-size: inherit; - height: 40px; - line-height: 40px; - outline: none; - padding: 0 15px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - width: 100%; } - .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input__inner:hover { - border-color: #C0C4CC; } - .el-input__inner:focus { - outline: none; - border-color: #409EFF; } - .el-input__suffix { - position: absolute; - height: 100%; - right: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; - pointer-events: none; } - .el-input__suffix-inner { - pointer-events: all; } - .el-input__prefix { - position: absolute; - height: 100%; - left: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; } - .el-input__icon { - height: 100%; - width: 25px; - text-align: center; - -webkit-transition: all .3s; - transition: all .3s; - line-height: 40px; } - .el-input__icon:after { - content: ''; - height: 100%; - width: 0; - display: inline-block; - vertical-align: middle; } - .el-input__validateIcon { - pointer-events: none; } - .el-input.is-active .el-input__inner { - outline: none; - border-color: #409EFF; } - .el-input.is-disabled .el-input__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-input.is-disabled .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__icon { - cursor: not-allowed; } - .el-input.is-exceed .el-input__inner { - border-color: #F56C6C; } - .el-input.is-exceed .el-input__suffix .el-input__count { - color: #F56C6C; } - .el-input--suffix .el-input__inner { - padding-right: 30px; } - .el-input--prefix .el-input__inner { - padding-left: 30px; } - .el-input--medium { - font-size: 14px; } - .el-input--medium .el-input__inner { - height: 36px; - line-height: 36px; } - .el-input--medium .el-input__icon { - line-height: 36px; } - .el-input--small { - font-size: 13px; } - .el-input--small .el-input__inner { - height: 32px; - line-height: 32px; } - .el-input--small .el-input__icon { - line-height: 32px; } - .el-input--mini { - font-size: 12px; } - .el-input--mini .el-input__inner { - height: 28px; - line-height: 28px; } - .el-input--mini .el-input__icon { - line-height: 28px; } - -.el-input-group { - line-height: normal; - display: inline-table; - width: 100%; - border-collapse: separate; - border-spacing: 0; } - .el-input-group > .el-input__inner { - vertical-align: middle; - display: table-cell; } - .el-input-group__append, .el-input-group__prepend { - background-color: #F5F7FA; - color: #909399; - vertical-align: middle; - display: table-cell; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 4px; - padding: 0 20px; - width: 1px; - white-space: nowrap; } - .el-input-group__append:focus, .el-input-group__prepend:focus { - outline: none; } - .el-input-group__append .el-select, - .el-input-group__append .el-button, .el-input-group__prepend .el-select, - .el-input-group__prepend .el-button { - display: inline-block; - margin: -10px -20px; } - .el-input-group__append button.el-button, - .el-input-group__append div.el-select .el-input__inner, - .el-input-group__append div.el-select:hover .el-input__inner, .el-input-group__prepend button.el-button, - .el-input-group__prepend div.el-select .el-input__inner, - .el-input-group__prepend div.el-select:hover .el-input__inner { - border-color: transparent; - background-color: transparent; - color: inherit; - border-top: 0; - border-bottom: 0; } - .el-input-group__append .el-button, - .el-input-group__append .el-input, .el-input-group__prepend .el-button, - .el-input-group__prepend .el-input { - font-size: inherit; } - .el-input-group__prepend { - border-right: 0; - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group__append { - border-left: 0; - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-input__inner { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - .el-input-group--append .el-input__inner { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group--append .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - -/** disalbe default clear on IE */ -.el-input__inner::-ms-clear { - display: none; - width: 0; - height: 0; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -.el-button { - display: inline-block; - line-height: 1; - white-space: nowrap; - cursor: pointer; - background: #FFFFFF; - border: 1px solid #DCDFE6; - border-color: #DCDFE6; - color: #606266; - -webkit-appearance: none; - text-align: center; - -webkit-box-sizing: border-box; - box-sizing: border-box; - outline: none; - margin: 0; - -webkit-transition: .1s; - transition: .1s; - font-weight: 500; - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - padding: 12px 20px; - font-size: 14px; - border-radius: 4px; } - .el-button + .el-button { - margin-left: 10px; } - .el-button.is-round { - padding: 12px 20px; } - .el-button:hover, .el-button:focus { - color: #409EFF; - border-color: #c6e2ff; - background-color: #ecf5ff; } - .el-button:active { - color: #3a8ee6; - border-color: #3a8ee6; - outline: none; } - .el-button::-moz-focus-inner { - border: 0; } - .el-button [class*="el-icon-"] + span { - margin-left: 5px; } - .el-button.is-plain:hover, .el-button.is-plain:focus { - background: #FFFFFF; - border-color: #409EFF; - color: #409EFF; } - .el-button.is-plain:active { - background: #FFFFFF; - border-color: #3a8ee6; - color: #3a8ee6; - outline: none; } - .el-button.is-active { - color: #3a8ee6; - border-color: #3a8ee6; } - .el-button.is-disabled, .el-button.is-disabled:hover, .el-button.is-disabled:focus { - color: #C0C4CC; - cursor: not-allowed; - background-image: none; - background-color: #FFFFFF; - border-color: #EBEEF5; } - .el-button.is-disabled.el-button--text { - background-color: transparent; } - .el-button.is-disabled.is-plain, .el-button.is-disabled.is-plain:hover, .el-button.is-disabled.is-plain:focus { - background-color: #FFFFFF; - border-color: #EBEEF5; - color: #C0C4CC; } - .el-button.is-loading { - position: relative; - pointer-events: none; } - .el-button.is-loading:before { - pointer-events: none; - content: ''; - position: absolute; - left: -1px; - top: -1px; - right: -1px; - bottom: -1px; - border-radius: inherit; - background-color: rgba(255, 255, 255, 0.35); } - .el-button.is-round { - border-radius: 20px; - padding: 12px 23px; } - .el-button.is-circle { - border-radius: 50%; - padding: 12px; } - .el-button--primary { - color: #FFFFFF; - background-color: #409EFF; - border-color: #409EFF; } - .el-button--primary:hover, .el-button--primary:focus { - background: #66b1ff; - border-color: #66b1ff; - color: #FFFFFF; } - .el-button--primary:active { - background: #3a8ee6; - border-color: #3a8ee6; - color: #FFFFFF; - outline: none; } - .el-button--primary.is-active { - background: #3a8ee6; - border-color: #3a8ee6; - color: #FFFFFF; } - .el-button--primary.is-disabled, .el-button--primary.is-disabled:hover, .el-button--primary.is-disabled:focus, .el-button--primary.is-disabled:active { - color: #FFFFFF; - background-color: #a0cfff; - border-color: #a0cfff; } - .el-button--primary.is-plain { - color: #409EFF; - background: #ecf5ff; - border-color: #b3d8ff; } - .el-button--primary.is-plain:hover, .el-button--primary.is-plain:focus { - background: #409EFF; - border-color: #409EFF; - color: #FFFFFF; } - .el-button--primary.is-plain:active { - background: #3a8ee6; - border-color: #3a8ee6; - color: #FFFFFF; - outline: none; } - .el-button--primary.is-plain.is-disabled, .el-button--primary.is-plain.is-disabled:hover, .el-button--primary.is-plain.is-disabled:focus, .el-button--primary.is-plain.is-disabled:active { - color: #8cc5ff; - background-color: #ecf5ff; - border-color: #d9ecff; } - .el-button--success { - color: #FFFFFF; - background-color: #67C23A; - border-color: #67C23A; } - .el-button--success:hover, .el-button--success:focus { - background: #85ce61; - border-color: #85ce61; - color: #FFFFFF; } - .el-button--success:active { - background: #5daf34; - border-color: #5daf34; - color: #FFFFFF; - outline: none; } - .el-button--success.is-active { - background: #5daf34; - border-color: #5daf34; - color: #FFFFFF; } - .el-button--success.is-disabled, .el-button--success.is-disabled:hover, .el-button--success.is-disabled:focus, .el-button--success.is-disabled:active { - color: #FFFFFF; - background-color: #b3e19d; - border-color: #b3e19d; } - .el-button--success.is-plain { - color: #67C23A; - background: #f0f9eb; - border-color: #c2e7b0; } - .el-button--success.is-plain:hover, .el-button--success.is-plain:focus { - background: #67C23A; - border-color: #67C23A; - color: #FFFFFF; } - .el-button--success.is-plain:active { - background: #5daf34; - border-color: #5daf34; - color: #FFFFFF; - outline: none; } - .el-button--success.is-plain.is-disabled, .el-button--success.is-plain.is-disabled:hover, .el-button--success.is-plain.is-disabled:focus, .el-button--success.is-plain.is-disabled:active { - color: #a4da89; - background-color: #f0f9eb; - border-color: #e1f3d8; } - .el-button--warning { - color: #FFFFFF; - background-color: #E6A23C; - border-color: #E6A23C; } - .el-button--warning:hover, .el-button--warning:focus { - background: #ebb563; - border-color: #ebb563; - color: #FFFFFF; } - .el-button--warning:active { - background: #cf9236; - border-color: #cf9236; - color: #FFFFFF; - outline: none; } - .el-button--warning.is-active { - background: #cf9236; - border-color: #cf9236; - color: #FFFFFF; } - .el-button--warning.is-disabled, .el-button--warning.is-disabled:hover, .el-button--warning.is-disabled:focus, .el-button--warning.is-disabled:active { - color: #FFFFFF; - background-color: #f3d19e; - border-color: #f3d19e; } - .el-button--warning.is-plain { - color: #E6A23C; - background: #fdf6ec; - border-color: #f5dab1; } - .el-button--warning.is-plain:hover, .el-button--warning.is-plain:focus { - background: #E6A23C; - border-color: #E6A23C; - color: #FFFFFF; } - .el-button--warning.is-plain:active { - background: #cf9236; - border-color: #cf9236; - color: #FFFFFF; - outline: none; } - .el-button--warning.is-plain.is-disabled, .el-button--warning.is-plain.is-disabled:hover, .el-button--warning.is-plain.is-disabled:focus, .el-button--warning.is-plain.is-disabled:active { - color: #f0c78a; - background-color: #fdf6ec; - border-color: #faecd8; } - .el-button--danger { - color: #FFFFFF; - background-color: #F56C6C; - border-color: #F56C6C; } - .el-button--danger:hover, .el-button--danger:focus { - background: #f78989; - border-color: #f78989; - color: #FFFFFF; } - .el-button--danger:active { - background: #dd6161; - border-color: #dd6161; - color: #FFFFFF; - outline: none; } - .el-button--danger.is-active { - background: #dd6161; - border-color: #dd6161; - color: #FFFFFF; } - .el-button--danger.is-disabled, .el-button--danger.is-disabled:hover, .el-button--danger.is-disabled:focus, .el-button--danger.is-disabled:active { - color: #FFFFFF; - background-color: #fab6b6; - border-color: #fab6b6; } - .el-button--danger.is-plain { - color: #F56C6C; - background: #fef0f0; - border-color: #fbc4c4; } - .el-button--danger.is-plain:hover, .el-button--danger.is-plain:focus { - background: #F56C6C; - border-color: #F56C6C; - color: #FFFFFF; } - .el-button--danger.is-plain:active { - background: #dd6161; - border-color: #dd6161; - color: #FFFFFF; - outline: none; } - .el-button--danger.is-plain.is-disabled, .el-button--danger.is-plain.is-disabled:hover, .el-button--danger.is-plain.is-disabled:focus, .el-button--danger.is-plain.is-disabled:active { - color: #f9a7a7; - background-color: #fef0f0; - border-color: #fde2e2; } - .el-button--info { - color: #FFFFFF; - background-color: #909399; - border-color: #909399; } - .el-button--info:hover, .el-button--info:focus { - background: #a6a9ad; - border-color: #a6a9ad; - color: #FFFFFF; } - .el-button--info:active { - background: #82848a; - border-color: #82848a; - color: #FFFFFF; - outline: none; } - .el-button--info.is-active { - background: #82848a; - border-color: #82848a; - color: #FFFFFF; } - .el-button--info.is-disabled, .el-button--info.is-disabled:hover, .el-button--info.is-disabled:focus, .el-button--info.is-disabled:active { - color: #FFFFFF; - background-color: #c8c9cc; - border-color: #c8c9cc; } - .el-button--info.is-plain { - color: #909399; - background: #f4f4f5; - border-color: #d3d4d6; } - .el-button--info.is-plain:hover, .el-button--info.is-plain:focus { - background: #909399; - border-color: #909399; - color: #FFFFFF; } - .el-button--info.is-plain:active { - background: #82848a; - border-color: #82848a; - color: #FFFFFF; - outline: none; } - .el-button--info.is-plain.is-disabled, .el-button--info.is-plain.is-disabled:hover, .el-button--info.is-plain.is-disabled:focus, .el-button--info.is-plain.is-disabled:active { - color: #bcbec2; - background-color: #f4f4f5; - border-color: #e9e9eb; } - .el-button--medium { - padding: 10px 20px; - font-size: 14px; - border-radius: 4px; } - .el-button--medium.is-round { - padding: 10px 20px; } - .el-button--medium.is-circle { - padding: 10px; } - .el-button--small { - padding: 9px 15px; - font-size: 12px; - border-radius: 3px; } - .el-button--small.is-round { - padding: 9px 15px; } - .el-button--small.is-circle { - padding: 9px; } - .el-button--mini { - padding: 7px 15px; - font-size: 12px; - border-radius: 3px; } - .el-button--mini.is-round { - padding: 7px 15px; } - .el-button--mini.is-circle { - padding: 7px; } - .el-button--text { - border-color: transparent; - color: #409EFF; - background: transparent; - padding-left: 0; - padding-right: 0; } - .el-button--text:hover, .el-button--text:focus { - color: #66b1ff; - border-color: transparent; - background-color: transparent; } - .el-button--text:active { - color: #3a8ee6; - border-color: transparent; - background-color: transparent; } - .el-button--text.is-disabled, .el-button--text.is-disabled:hover, .el-button--text.is-disabled:focus { - border-color: transparent; } - -.el-button-group { - display: inline-block; - vertical-align: middle; } - .el-button-group::before, - .el-button-group::after { - display: table; - content: ""; } - .el-button-group::after { - clear: both; } - .el-button-group > .el-button { - float: left; - position: relative; } - .el-button-group > .el-button + .el-button { - margin-left: 0; } - .el-button-group > .el-button.is-disabled { - z-index: 1; } - .el-button-group > .el-button:first-child { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-button-group > .el-button:last-child { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-button-group > .el-button:first-child:last-child { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; } - .el-button-group > .el-button:first-child:last-child.is-round { - border-radius: 20px; } - .el-button-group > .el-button:first-child:last-child.is-circle { - border-radius: 50%; } - .el-button-group > .el-button:not(:first-child):not(:last-child) { - border-radius: 0; } - .el-button-group > .el-button:not(:last-child) { - margin-right: -1px; } - .el-button-group > .el-button:hover, .el-button-group > .el-button:focus, .el-button-group > .el-button:active { - z-index: 1; } - .el-button-group > .el-button.is-active { - z-index: 1; } - .el-button-group > .el-dropdown > .el-button { - border-top-left-radius: 0; - border-bottom-left-radius: 0; - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--primary:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--primary:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--primary:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--success:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--success:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--success:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--warning:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--warning:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--warning:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--danger:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--danger:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--danger:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--info:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--info:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--info:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-checkbox { - color: #606266; - font-weight: 500; - font-size: 14px; - position: relative; - cursor: pointer; - display: inline-block; - white-space: nowrap; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - margin-right: 30px; } - .el-checkbox.is-bordered { - padding: 9px 20px 9px 10px; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - line-height: normal; - height: 40px; } - .el-checkbox.is-bordered.is-checked { - border-color: #409EFF; } - .el-checkbox.is-bordered.is-disabled { - border-color: #EBEEF5; - cursor: not-allowed; } - .el-checkbox.is-bordered + .el-checkbox.is-bordered { - margin-left: 10px; } - .el-checkbox.is-bordered.el-checkbox--medium { - padding: 7px 20px 7px 10px; - border-radius: 4px; - height: 36px; } - .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label { - line-height: 17px; - font-size: 14px; } - .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner { - height: 14px; - width: 14px; } - .el-checkbox.is-bordered.el-checkbox--small { - padding: 5px 15px 5px 10px; - border-radius: 3px; - height: 32px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label { - line-height: 15px; - font-size: 12px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner { - height: 12px; - width: 12px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after { - height: 6px; - width: 2px; } - .el-checkbox.is-bordered.el-checkbox--mini { - padding: 3px 15px 3px 10px; - border-radius: 3px; - height: 28px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label { - line-height: 12px; - font-size: 12px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner { - height: 12px; - width: 12px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after { - height: 6px; - width: 2px; } - .el-checkbox__input { - white-space: nowrap; - cursor: pointer; - outline: none; - display: inline-block; - line-height: 1; - position: relative; - vertical-align: middle; } - .el-checkbox__input.is-disabled .el-checkbox__inner { - background-color: #edf2fc; - border-color: #DCDFE6; - cursor: not-allowed; } - .el-checkbox__input.is-disabled .el-checkbox__inner::after { - cursor: not-allowed; - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled .el-checkbox__inner + .el-checkbox__label { - cursor: not-allowed; } - .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { - background-color: #F2F6FC; - border-color: #DCDFE6; } - .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after { - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner { - background-color: #F2F6FC; - border-color: #DCDFE6; } - .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before { - background-color: #C0C4CC; - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled + span.el-checkbox__label { - color: #C0C4CC; - cursor: not-allowed; } - .el-checkbox__input.is-checked .el-checkbox__inner { - background-color: #409EFF; - border-color: #409EFF; } - .el-checkbox__input.is-checked .el-checkbox__inner::after { - -webkit-transform: rotate(45deg) scaleY(1); - transform: rotate(45deg) scaleY(1); } - .el-checkbox__input.is-checked + .el-checkbox__label { - color: #409EFF; } - .el-checkbox__input.is-focus { - /*focus时 视觉上区分*/ } - .el-checkbox__input.is-focus .el-checkbox__inner { - border-color: #409EFF; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner { - background-color: #409EFF; - border-color: #409EFF; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner::before { - content: ''; - position: absolute; - display: block; - background-color: #FFFFFF; - height: 2px; - -webkit-transform: scale(0.5); - transform: scale(0.5); - left: 0; - right: 0; - top: 5px; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner::after { - display: none; } - .el-checkbox__inner { - display: inline-block; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 2px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 14px; - height: 14px; - background-color: #FFFFFF; - z-index: 1; - -webkit-transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46), background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46); - transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46), background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46); } - .el-checkbox__inner:hover { - border-color: #409EFF; } - .el-checkbox__inner::after { - -webkit-box-sizing: content-box; - box-sizing: content-box; - content: ""; - border: 1px solid #FFFFFF; - border-left: 0; - border-top: 0; - height: 7px; - left: 4px; - position: absolute; - top: 1px; - -webkit-transform: rotate(45deg) scaleY(0); - transform: rotate(45deg) scaleY(0); - width: 3px; - -webkit-transition: -webkit-transform .15s ease-in .05s; - transition: -webkit-transform .15s ease-in .05s; - transition: transform .15s ease-in .05s; - transition: transform .15s ease-in .05s, -webkit-transform .15s ease-in .05s; - -webkit-transform-origin: center; - transform-origin: center; } - .el-checkbox__original { - opacity: 0; - outline: none; - position: absolute; - margin: 0; - width: 0; - height: 0; - z-index: -1; } - .el-checkbox__label { - display: inline-block; - padding-left: 10px; - line-height: 19px; - font-size: 14px; } - .el-checkbox:last-of-type { - margin-right: 0; } - -.el-checkbox-button { - position: relative; - display: inline-block; } - .el-checkbox-button__inner { - display: inline-block; - line-height: 1; - font-weight: 500; - white-space: nowrap; - vertical-align: middle; - cursor: pointer; - background: #FFFFFF; - border: 1px solid #DCDFE6; - border-left: 0; - color: #606266; - -webkit-appearance: none; - text-align: center; - -webkit-box-sizing: border-box; - box-sizing: border-box; - outline: none; - margin: 0; - position: relative; - -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - padding: 12px 20px; - font-size: 14px; - border-radius: 0; } - .el-checkbox-button__inner.is-round { - padding: 12px 20px; } - .el-checkbox-button__inner:hover { - color: #409EFF; } - .el-checkbox-button__inner [class*="el-icon-"] { - line-height: 0.9; } - .el-checkbox-button__inner [class*="el-icon-"] + span { - margin-left: 5px; } - .el-checkbox-button__original { - opacity: 0; - outline: none; - position: absolute; - margin: 0; - z-index: -1; } - .el-checkbox-button.is-checked .el-checkbox-button__inner { - color: #FFFFFF; - background-color: #409EFF; - border-color: #409EFF; - -webkit-box-shadow: -1px 0 0 0 #8cc5ff; - box-shadow: -1px 0 0 0 #8cc5ff; } - .el-checkbox-button.is-checked:first-child .el-checkbox-button__inner { - border-left-color: #409EFF; } - .el-checkbox-button.is-disabled .el-checkbox-button__inner { - color: #C0C4CC; - cursor: not-allowed; - background-image: none; - background-color: #FFFFFF; - border-color: #EBEEF5; - -webkit-box-shadow: none; - box-shadow: none; } - .el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner { - border-left-color: #EBEEF5; } - .el-checkbox-button:first-child .el-checkbox-button__inner { - border-left: 1px solid #DCDFE6; - border-radius: 4px 0 0 4px; - -webkit-box-shadow: none !important; - box-shadow: none !important; } - .el-checkbox-button.is-focus .el-checkbox-button__inner { - border-color: #409EFF; } - .el-checkbox-button:last-child .el-checkbox-button__inner { - border-radius: 0 4px 4px 0; } - .el-checkbox-button--medium .el-checkbox-button__inner { - padding: 10px 20px; - font-size: 14px; - border-radius: 0; } - .el-checkbox-button--medium .el-checkbox-button__inner.is-round { - padding: 10px 20px; } - .el-checkbox-button--small .el-checkbox-button__inner { - padding: 9px 15px; - font-size: 12px; - border-radius: 0; } - .el-checkbox-button--small .el-checkbox-button__inner.is-round { - padding: 9px 15px; } - .el-checkbox-button--mini .el-checkbox-button__inner { - padding: 7px 15px; - font-size: 12px; - border-radius: 0; } - .el-checkbox-button--mini .el-checkbox-button__inner.is-round { - padding: 7px 15px; } - -.el-checkbox-group { - font-size: 0; } - -.el-transfer { - font-size: 14px; } - .el-transfer__buttons { - display: inline-block; - vertical-align: middle; - padding: 0 30px; } - .el-transfer__button { - display: block; - margin: 0 auto; - padding: 10px; - border-radius: 50%; - color: #FFFFFF; - background-color: #409EFF; - font-size: 0; } - .el-transfer__button.is-with-texts { - border-radius: 4px; } - .el-transfer__button.is-disabled { - border: 1px solid #DCDFE6; - background-color: #F5F7FA; - color: #C0C4CC; } - .el-transfer__button.is-disabled:hover { - border: 1px solid #DCDFE6; - background-color: #F5F7FA; - color: #C0C4CC; } - .el-transfer__button:first-child { - margin-bottom: 10px; } - .el-transfer__button:nth-child(2) { - margin: 0; } - .el-transfer__button i, .el-transfer__button span { - font-size: 14px; } - .el-transfer__button [class*="el-icon-"] + span { - margin-left: 0; } - -.el-transfer-panel { - border: 1px solid #EBEEF5; - border-radius: 4px; - overflow: hidden; - background: #FFFFFF; - display: inline-block; - vertical-align: middle; - width: 200px; - max-height: 100%; - -webkit-box-sizing: border-box; - box-sizing: border-box; - position: relative; } - .el-transfer-panel__body { - height: 246px; } - .el-transfer-panel__body.is-with-footer { - padding-bottom: 40px; } - .el-transfer-panel__list { - margin: 0; - padding: 6px 0; - list-style: none; - height: 246px; - overflow: auto; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-transfer-panel__list.is-filterable { - height: 194px; - padding-top: 0; } - .el-transfer-panel__item { - height: 30px; - line-height: 30px; - padding-left: 15px; - display: block !important; } - .el-transfer-panel__item + .el-transfer-panel__item { - margin-left: 0; } - .el-transfer-panel__item.el-checkbox { - color: #606266; } - .el-transfer-panel__item:hover { - color: #409EFF; } - .el-transfer-panel__item.el-checkbox .el-checkbox__label { - width: 100%; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - display: block; - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding-left: 24px; - line-height: 30px; } - .el-transfer-panel__item .el-checkbox__input { - position: absolute; - top: 8px; } - .el-transfer-panel__filter { - text-align: center; - margin: 15px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - display: block; - width: auto; } - .el-transfer-panel__filter .el-input__inner { - height: 32px; - width: 100%; - font-size: 12px; - display: inline-block; - -webkit-box-sizing: border-box; - box-sizing: border-box; - border-radius: 16px; - padding-right: 10px; - padding-left: 30px; } - .el-transfer-panel__filter .el-input__icon { - margin-left: 5px; } - .el-transfer-panel__filter .el-icon-circle-close { - cursor: pointer; } - .el-transfer-panel .el-transfer-panel__header { - height: 40px; - line-height: 40px; - background: #F5F7FA; - margin: 0; - padding-left: 15px; - border-bottom: 1px solid #EBEEF5; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: #000000; } - .el-transfer-panel .el-transfer-panel__header .el-checkbox { - display: block; - line-height: 40px; } - .el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label { - font-size: 16px; - color: #303133; - font-weight: normal; } - .el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label span { - position: absolute; - right: 15px; - color: #909399; - font-size: 12px; - font-weight: normal; } - .el-transfer-panel .el-transfer-panel__footer { - height: 40px; - background: #FFFFFF; - margin: 0; - padding: 0; - border-top: 1px solid #EBEEF5; - position: absolute; - bottom: 0; - left: 0; - width: 100%; - z-index: 1; } - .el-transfer-panel .el-transfer-panel__footer::after { - display: inline-block; - content: ""; - height: 100%; - vertical-align: middle; } - .el-transfer-panel .el-transfer-panel__footer .el-checkbox { - padding-left: 20px; - color: #606266; } - .el-transfer-panel .el-transfer-panel__empty { - margin: 0; - height: 30px; - line-height: 30px; - padding: 6px 15px 0; - color: #909399; - text-align: center; } - .el-transfer-panel .el-checkbox__label { - padding-left: 8px; } - .el-transfer-panel .el-checkbox__inner { - height: 14px; - width: 14px; - border-radius: 3px; } - .el-transfer-panel .el-checkbox__inner::after { - height: 6px; - width: 3px; - left: 4px; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -.el-container { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - -ms-flex-preferred-size: auto; - flex-basis: auto; - -webkit-box-sizing: border-box; - box-sizing: border-box; - min-width: 0; } - .el-container.is-vertical { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-header { - padding: 0 20px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - -ms-flex-negative: 0; - flex-shrink: 0; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -.el-aside { - overflow: auto; - -webkit-box-sizing: border-box; - box-sizing: border-box; - -ms-flex-negative: 0; - flex-shrink: 0; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-main { - display: block; - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - -ms-flex-preferred-size: auto; - flex-basis: auto; - overflow: auto; - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding: 20px; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-footer { - padding: 0 20px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - -ms-flex-negative: 0; - flex-shrink: 0; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-timeline { - margin: 0; - font-size: 14px; - list-style: none; } - .el-timeline .el-timeline-item:last-child .el-timeline-item__tail { - display: none; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-timeline-item { - position: relative; - padding-bottom: 20px; } - .el-timeline-item__wrapper { - position: relative; - padding-left: 28px; - top: -3px; } - .el-timeline-item__tail { - position: absolute; - left: 4px; - height: 100%; - border-left: 2px solid #E4E7ED; } - .el-timeline-item__icon { - color: #FFFFFF; - font-size: 13px; } - .el-timeline-item__node { - position: absolute; - background-color: #E4E7ED; - border-radius: 50%; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - .el-timeline-item__node--normal { - left: -1px; - width: 12px; - height: 12px; } - .el-timeline-item__node--large { - left: -2px; - width: 14px; - height: 14px; } - .el-timeline-item__node--primary { - background-color: #409EFF; } - .el-timeline-item__node--success { - background-color: #67C23A; } - .el-timeline-item__node--warning { - background-color: #E6A23C; } - .el-timeline-item__node--danger { - background-color: #F56C6C; } - .el-timeline-item__node--info { - background-color: #909399; } - .el-timeline-item__dot { - position: absolute; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - .el-timeline-item__content { - color: #303133; } - .el-timeline-item__timestamp { - color: #909399; - line-height: 1; - font-size: 13px; } - .el-timeline-item__timestamp.is-top { - margin-bottom: 8px; - padding-top: 4px; } - .el-timeline-item__timestamp.is-bottom { - margin-top: 8px; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-link { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - vertical-align: middle; - position: relative; - text-decoration: none; - outline: none; - cursor: pointer; - padding: 0; - font-size: 14px; - font-weight: 500; } - .el-link.is-underline:hover:after { - content: ""; - position: absolute; - left: 0; - right: 0; - height: 0; - bottom: 0; - border-bottom: 1px solid #409EFF; } - .el-link.is-disabled { - cursor: not-allowed; } - .el-link [class*="el-icon-"] + span { - margin-left: 5px; } - .el-link.el-link--default { - color: #606266; } - .el-link.el-link--default:hover { - color: #409EFF; } - .el-link.el-link--default:after { - border-color: #409EFF; } - .el-link.el-link--default.is-disabled { - color: #C0C4CC; } - .el-link.el-link--primary { - color: #409EFF; } - .el-link.el-link--primary:hover { - color: #66b1ff; } - .el-link.el-link--primary:after { - border-color: #409EFF; } - .el-link.el-link--primary.is-disabled { - color: #a0cfff; } - .el-link.el-link--primary.is-underline:hover:after { - border-color: #409EFF; } - .el-link.el-link--danger { - color: #F56C6C; } - .el-link.el-link--danger:hover { - color: #f78989; } - .el-link.el-link--danger:after { - border-color: #F56C6C; } - .el-link.el-link--danger.is-disabled { - color: #fab6b6; } - .el-link.el-link--danger.is-underline:hover:after { - border-color: #F56C6C; } - .el-link.el-link--success { - color: #67C23A; } - .el-link.el-link--success:hover { - color: #85ce61; } - .el-link.el-link--success:after { - border-color: #67C23A; } - .el-link.el-link--success.is-disabled { - color: #b3e19d; } - .el-link.el-link--success.is-underline:hover:after { - border-color: #67C23A; } - .el-link.el-link--warning { - color: #E6A23C; } - .el-link.el-link--warning:hover { - color: #ebb563; } - .el-link.el-link--warning:after { - border-color: #E6A23C; } - .el-link.el-link--warning.is-disabled { - color: #f3d19e; } - .el-link.el-link--warning.is-underline:hover:after { - border-color: #E6A23C; } - .el-link.el-link--info { - color: #909399; } - .el-link.el-link--info:hover { - color: #a6a9ad; } - .el-link.el-link--info:after { - border-color: #909399; } - .el-link.el-link--info.is-disabled { - color: #c8c9cc; } - .el-link.el-link--info.is-underline:hover:after { - border-color: #909399; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -.el-divider { - background-color: #DCDFE6; - position: relative; } - .el-divider--horizontal { - display: block; - height: 1px; - width: 100%; - margin: 24px 0; } - .el-divider--vertical { - display: inline-block; - width: 1px; - height: 1em; - margin: 0 8px; - vertical-align: middle; - position: relative; } - .el-divider__text { - position: absolute; - background-color: #FFFFFF; - padding: 0 20px; - font-weight: 500; - color: #303133; - font-size: 14px; } - .el-divider__text.is-left { - left: 20px; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); } - .el-divider__text.is-center { - left: 50%; - -webkit-transform: translateX(-50%) translateY(-50%); - transform: translateX(-50%) translateY(-50%); } - .el-divider__text.is-right { - right: 20px; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-image__inner, .el-image__placeholder, .el-image__error { - width: 100%; - height: 100%; } - -.el-image { - position: relative; - display: inline-block; - overflow: hidden; } - .el-image__inner { - vertical-align: top; } - .el-image__inner--center { - position: relative; - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); - display: block; } - .el-image__placeholder { - background: #F5F7FA; } - .el-image__error { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - font-size: 14px; - background: #F5F7FA; - color: #C0C4CC; - vertical-align: middle; } - .el-image__preview { - cursor: pointer; } - -.el-image-viewer__wrapper { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; } - -.el-image-viewer__btn { - position: absolute; - z-index: 1; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - border-radius: 50%; - opacity: .8; - cursor: pointer; - -webkit-box-sizing: border-box; - box-sizing: border-box; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; } - -.el-image-viewer__close { - top: 40px; - right: 40px; - width: 40px; - height: 40px; - font-size: 40px; } - -.el-image-viewer__canvas { - width: 100%; - height: 100%; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - -.el-image-viewer__actions { - left: 50%; - bottom: 30px; - -webkit-transform: translateX(-50%); - transform: translateX(-50%); - width: 282px; - height: 44px; - padding: 0 23px; - background-color: #606266; - border-color: #fff; - border-radius: 22px; } - .el-image-viewer__actions__inner { - width: 100%; - height: 100%; - text-align: justify; - cursor: default; - font-size: 23px; - color: #fff; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -ms-flex-pack: distribute; - justify-content: space-around; } - -.el-image-viewer__prev { - top: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); - width: 44px; - height: 44px; - font-size: 24px; - color: #fff; - background-color: #606266; - border-color: #fff; - left: 40px; } - -.el-image-viewer__next { - top: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); - width: 44px; - height: 44px; - font-size: 24px; - color: #fff; - background-color: #606266; - border-color: #fff; - right: 40px; - text-indent: 2px; } - -.el-image-viewer__mask { - position: absolute; - width: 100%; - height: 100%; - top: 0; - left: 0; - opacity: .5; - background: #000; } - -.viewer-fade-enter-active { - -webkit-animation: viewer-fade-in .3s; - animation: viewer-fade-in .3s; } - -.viewer-fade-leave-active { - -webkit-animation: viewer-fade-out .3s; - animation: viewer-fade-out .3s; } - -@-webkit-keyframes viewer-fade-in { - 0% { - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - opacity: 0; } - 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; } } - -@keyframes viewer-fade-in { - 0% { - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - opacity: 0; } - 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; } } - -@-webkit-keyframes viewer-fade-out { - 0% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; } - 100% { - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - opacity: 0; } } - -@keyframes viewer-fade-out { - 0% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; } - 100% { - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - opacity: 0; } } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -.el-button { - display: inline-block; - line-height: 1; - white-space: nowrap; - cursor: pointer; - background: #FFFFFF; - border: 1px solid #DCDFE6; - border-color: #DCDFE6; - color: #606266; - -webkit-appearance: none; - text-align: center; - -webkit-box-sizing: border-box; - box-sizing: border-box; - outline: none; - margin: 0; - -webkit-transition: .1s; - transition: .1s; - font-weight: 500; - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - padding: 12px 20px; - font-size: 14px; - border-radius: 4px; } - .el-button + .el-button { - margin-left: 10px; } - .el-button.is-round { - padding: 12px 20px; } - .el-button:hover, .el-button:focus { - color: #409EFF; - border-color: #c6e2ff; - background-color: #ecf5ff; } - .el-button:active { - color: #3a8ee6; - border-color: #3a8ee6; - outline: none; } - .el-button::-moz-focus-inner { - border: 0; } - .el-button [class*="el-icon-"] + span { - margin-left: 5px; } - .el-button.is-plain:hover, .el-button.is-plain:focus { - background: #FFFFFF; - border-color: #409EFF; - color: #409EFF; } - .el-button.is-plain:active { - background: #FFFFFF; - border-color: #3a8ee6; - color: #3a8ee6; - outline: none; } - .el-button.is-active { - color: #3a8ee6; - border-color: #3a8ee6; } - .el-button.is-disabled, .el-button.is-disabled:hover, .el-button.is-disabled:focus { - color: #C0C4CC; - cursor: not-allowed; - background-image: none; - background-color: #FFFFFF; - border-color: #EBEEF5; } - .el-button.is-disabled.el-button--text { - background-color: transparent; } - .el-button.is-disabled.is-plain, .el-button.is-disabled.is-plain:hover, .el-button.is-disabled.is-plain:focus { - background-color: #FFFFFF; - border-color: #EBEEF5; - color: #C0C4CC; } - .el-button.is-loading { - position: relative; - pointer-events: none; } - .el-button.is-loading:before { - pointer-events: none; - content: ''; - position: absolute; - left: -1px; - top: -1px; - right: -1px; - bottom: -1px; - border-radius: inherit; - background-color: rgba(255, 255, 255, 0.35); } - .el-button.is-round { - border-radius: 20px; - padding: 12px 23px; } - .el-button.is-circle { - border-radius: 50%; - padding: 12px; } - .el-button--primary { - color: #FFFFFF; - background-color: #409EFF; - border-color: #409EFF; } - .el-button--primary:hover, .el-button--primary:focus { - background: #66b1ff; - border-color: #66b1ff; - color: #FFFFFF; } - .el-button--primary:active { - background: #3a8ee6; - border-color: #3a8ee6; - color: #FFFFFF; - outline: none; } - .el-button--primary.is-active { - background: #3a8ee6; - border-color: #3a8ee6; - color: #FFFFFF; } - .el-button--primary.is-disabled, .el-button--primary.is-disabled:hover, .el-button--primary.is-disabled:focus, .el-button--primary.is-disabled:active { - color: #FFFFFF; - background-color: #a0cfff; - border-color: #a0cfff; } - .el-button--primary.is-plain { - color: #409EFF; - background: #ecf5ff; - border-color: #b3d8ff; } - .el-button--primary.is-plain:hover, .el-button--primary.is-plain:focus { - background: #409EFF; - border-color: #409EFF; - color: #FFFFFF; } - .el-button--primary.is-plain:active { - background: #3a8ee6; - border-color: #3a8ee6; - color: #FFFFFF; - outline: none; } - .el-button--primary.is-plain.is-disabled, .el-button--primary.is-plain.is-disabled:hover, .el-button--primary.is-plain.is-disabled:focus, .el-button--primary.is-plain.is-disabled:active { - color: #8cc5ff; - background-color: #ecf5ff; - border-color: #d9ecff; } - .el-button--success { - color: #FFFFFF; - background-color: #67C23A; - border-color: #67C23A; } - .el-button--success:hover, .el-button--success:focus { - background: #85ce61; - border-color: #85ce61; - color: #FFFFFF; } - .el-button--success:active { - background: #5daf34; - border-color: #5daf34; - color: #FFFFFF; - outline: none; } - .el-button--success.is-active { - background: #5daf34; - border-color: #5daf34; - color: #FFFFFF; } - .el-button--success.is-disabled, .el-button--success.is-disabled:hover, .el-button--success.is-disabled:focus, .el-button--success.is-disabled:active { - color: #FFFFFF; - background-color: #b3e19d; - border-color: #b3e19d; } - .el-button--success.is-plain { - color: #67C23A; - background: #f0f9eb; - border-color: #c2e7b0; } - .el-button--success.is-plain:hover, .el-button--success.is-plain:focus { - background: #67C23A; - border-color: #67C23A; - color: #FFFFFF; } - .el-button--success.is-plain:active { - background: #5daf34; - border-color: #5daf34; - color: #FFFFFF; - outline: none; } - .el-button--success.is-plain.is-disabled, .el-button--success.is-plain.is-disabled:hover, .el-button--success.is-plain.is-disabled:focus, .el-button--success.is-plain.is-disabled:active { - color: #a4da89; - background-color: #f0f9eb; - border-color: #e1f3d8; } - .el-button--warning { - color: #FFFFFF; - background-color: #E6A23C; - border-color: #E6A23C; } - .el-button--warning:hover, .el-button--warning:focus { - background: #ebb563; - border-color: #ebb563; - color: #FFFFFF; } - .el-button--warning:active { - background: #cf9236; - border-color: #cf9236; - color: #FFFFFF; - outline: none; } - .el-button--warning.is-active { - background: #cf9236; - border-color: #cf9236; - color: #FFFFFF; } - .el-button--warning.is-disabled, .el-button--warning.is-disabled:hover, .el-button--warning.is-disabled:focus, .el-button--warning.is-disabled:active { - color: #FFFFFF; - background-color: #f3d19e; - border-color: #f3d19e; } - .el-button--warning.is-plain { - color: #E6A23C; - background: #fdf6ec; - border-color: #f5dab1; } - .el-button--warning.is-plain:hover, .el-button--warning.is-plain:focus { - background: #E6A23C; - border-color: #E6A23C; - color: #FFFFFF; } - .el-button--warning.is-plain:active { - background: #cf9236; - border-color: #cf9236; - color: #FFFFFF; - outline: none; } - .el-button--warning.is-plain.is-disabled, .el-button--warning.is-plain.is-disabled:hover, .el-button--warning.is-plain.is-disabled:focus, .el-button--warning.is-plain.is-disabled:active { - color: #f0c78a; - background-color: #fdf6ec; - border-color: #faecd8; } - .el-button--danger { - color: #FFFFFF; - background-color: #F56C6C; - border-color: #F56C6C; } - .el-button--danger:hover, .el-button--danger:focus { - background: #f78989; - border-color: #f78989; - color: #FFFFFF; } - .el-button--danger:active { - background: #dd6161; - border-color: #dd6161; - color: #FFFFFF; - outline: none; } - .el-button--danger.is-active { - background: #dd6161; - border-color: #dd6161; - color: #FFFFFF; } - .el-button--danger.is-disabled, .el-button--danger.is-disabled:hover, .el-button--danger.is-disabled:focus, .el-button--danger.is-disabled:active { - color: #FFFFFF; - background-color: #fab6b6; - border-color: #fab6b6; } - .el-button--danger.is-plain { - color: #F56C6C; - background: #fef0f0; - border-color: #fbc4c4; } - .el-button--danger.is-plain:hover, .el-button--danger.is-plain:focus { - background: #F56C6C; - border-color: #F56C6C; - color: #FFFFFF; } - .el-button--danger.is-plain:active { - background: #dd6161; - border-color: #dd6161; - color: #FFFFFF; - outline: none; } - .el-button--danger.is-plain.is-disabled, .el-button--danger.is-plain.is-disabled:hover, .el-button--danger.is-plain.is-disabled:focus, .el-button--danger.is-plain.is-disabled:active { - color: #f9a7a7; - background-color: #fef0f0; - border-color: #fde2e2; } - .el-button--info { - color: #FFFFFF; - background-color: #909399; - border-color: #909399; } - .el-button--info:hover, .el-button--info:focus { - background: #a6a9ad; - border-color: #a6a9ad; - color: #FFFFFF; } - .el-button--info:active { - background: #82848a; - border-color: #82848a; - color: #FFFFFF; - outline: none; } - .el-button--info.is-active { - background: #82848a; - border-color: #82848a; - color: #FFFFFF; } - .el-button--info.is-disabled, .el-button--info.is-disabled:hover, .el-button--info.is-disabled:focus, .el-button--info.is-disabled:active { - color: #FFFFFF; - background-color: #c8c9cc; - border-color: #c8c9cc; } - .el-button--info.is-plain { - color: #909399; - background: #f4f4f5; - border-color: #d3d4d6; } - .el-button--info.is-plain:hover, .el-button--info.is-plain:focus { - background: #909399; - border-color: #909399; - color: #FFFFFF; } - .el-button--info.is-plain:active { - background: #82848a; - border-color: #82848a; - color: #FFFFFF; - outline: none; } - .el-button--info.is-plain.is-disabled, .el-button--info.is-plain.is-disabled:hover, .el-button--info.is-plain.is-disabled:focus, .el-button--info.is-plain.is-disabled:active { - color: #bcbec2; - background-color: #f4f4f5; - border-color: #e9e9eb; } - .el-button--medium { - padding: 10px 20px; - font-size: 14px; - border-radius: 4px; } - .el-button--medium.is-round { - padding: 10px 20px; } - .el-button--medium.is-circle { - padding: 10px; } - .el-button--small { - padding: 9px 15px; - font-size: 12px; - border-radius: 3px; } - .el-button--small.is-round { - padding: 9px 15px; } - .el-button--small.is-circle { - padding: 9px; } - .el-button--mini { - padding: 7px 15px; - font-size: 12px; - border-radius: 3px; } - .el-button--mini.is-round { - padding: 7px 15px; } - .el-button--mini.is-circle { - padding: 7px; } - .el-button--text { - border-color: transparent; - color: #409EFF; - background: transparent; - padding-left: 0; - padding-right: 0; } - .el-button--text:hover, .el-button--text:focus { - color: #66b1ff; - border-color: transparent; - background-color: transparent; } - .el-button--text:active { - color: #3a8ee6; - border-color: transparent; - background-color: transparent; } - .el-button--text.is-disabled, .el-button--text.is-disabled:hover, .el-button--text.is-disabled:focus { - border-color: transparent; } - -.el-button-group { - display: inline-block; - vertical-align: middle; } - .el-button-group::before, - .el-button-group::after { - display: table; - content: ""; } - .el-button-group::after { - clear: both; } - .el-button-group > .el-button { - float: left; - position: relative; } - .el-button-group > .el-button + .el-button { - margin-left: 0; } - .el-button-group > .el-button.is-disabled { - z-index: 1; } - .el-button-group > .el-button:first-child { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-button-group > .el-button:last-child { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-button-group > .el-button:first-child:last-child { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; } - .el-button-group > .el-button:first-child:last-child.is-round { - border-radius: 20px; } - .el-button-group > .el-button:first-child:last-child.is-circle { - border-radius: 50%; } - .el-button-group > .el-button:not(:first-child):not(:last-child) { - border-radius: 0; } - .el-button-group > .el-button:not(:last-child) { - margin-right: -1px; } - .el-button-group > .el-button:hover, .el-button-group > .el-button:focus, .el-button-group > .el-button:active { - z-index: 1; } - .el-button-group > .el-button.is-active { - z-index: 1; } - .el-button-group > .el-dropdown > .el-button { - border-top-left-radius: 0; - border-bottom-left-radius: 0; - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--primary:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--primary:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--primary:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--success:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--success:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--success:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--warning:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--warning:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--warning:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--danger:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--danger:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--danger:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--info:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--info:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--info:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - -.el-calendar { - background-color: #fff; } - .el-calendar__header { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - padding: 12px 20px; - border-bottom: 1px solid #EBEEF5; } - .el-calendar__title { - color: #000000; - -ms-flex-item-align: center; - align-self: center; } - .el-calendar__body { - padding: 12px 20px 35px; } - -.el-calendar-table { - table-layout: fixed; - width: 100%; } - .el-calendar-table thead th { - padding: 12px 0; - color: #606266; - font-weight: normal; } - .el-calendar-table:not(.is-range) td.prev, - .el-calendar-table:not(.is-range) td.next { - color: #C0C4CC; } - .el-calendar-table td { - border-bottom: 1px solid #EBEEF5; - border-right: 1px solid #EBEEF5; - vertical-align: top; - -webkit-transition: background-color 0.2s ease; - transition: background-color 0.2s ease; } - .el-calendar-table td.is-selected { - background-color: #F2F8FE; } - .el-calendar-table td.is-today { - color: #409EFF; } - .el-calendar-table tr:first-child td { - border-top: 1px solid #EBEEF5; } - .el-calendar-table tr td:first-child { - border-left: 1px solid #EBEEF5; } - .el-calendar-table tr.el-calendar-table__row--hide-border td { - border-top: none; } - .el-calendar-table .el-calendar-day { - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding: 8px; - height: 85px; } - .el-calendar-table .el-calendar-day:hover { - cursor: pointer; - background-color: #F2F8FE; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-backtop { - position: fixed; - background-color: #FFFFFF; - width: 40px; - height: 40px; - border-radius: 50%; - color: #409EFF; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - font-size: 20px; - -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.12); - box-shadow: 0 0 6px rgba(0, 0, 0, 0.12); - cursor: pointer; - z-index: 5; } - .el-backtop:hover { - background-color: #F2F6FC; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-page-header { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - line-height: 24px; } - .el-page-header__left { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - cursor: pointer; - margin-right: 40px; - position: relative; } - .el-page-header__left::after { - content: ""; - position: absolute; - width: 1px; - height: 16px; - right: -20px; - top: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); - background-color: #DCDFE6; } - .el-page-header__left .el-icon-back { - font-size: 18px; - margin-right: 6px; - -ms-flex-item-align: center; - align-self: center; } - .el-page-header__title { - font-size: 14px; - font-weight: 500; } - .el-page-header__content { - font-size: 18px; - color: #303133; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-checkbox { - color: #606266; - font-weight: 500; - font-size: 14px; - position: relative; - cursor: pointer; - display: inline-block; - white-space: nowrap; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - margin-right: 30px; } - .el-checkbox.is-bordered { - padding: 9px 20px 9px 10px; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - line-height: normal; - height: 40px; } - .el-checkbox.is-bordered.is-checked { - border-color: #409EFF; } - .el-checkbox.is-bordered.is-disabled { - border-color: #EBEEF5; - cursor: not-allowed; } - .el-checkbox.is-bordered + .el-checkbox.is-bordered { - margin-left: 10px; } - .el-checkbox.is-bordered.el-checkbox--medium { - padding: 7px 20px 7px 10px; - border-radius: 4px; - height: 36px; } - .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label { - line-height: 17px; - font-size: 14px; } - .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner { - height: 14px; - width: 14px; } - .el-checkbox.is-bordered.el-checkbox--small { - padding: 5px 15px 5px 10px; - border-radius: 3px; - height: 32px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label { - line-height: 15px; - font-size: 12px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner { - height: 12px; - width: 12px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after { - height: 6px; - width: 2px; } - .el-checkbox.is-bordered.el-checkbox--mini { - padding: 3px 15px 3px 10px; - border-radius: 3px; - height: 28px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label { - line-height: 12px; - font-size: 12px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner { - height: 12px; - width: 12px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after { - height: 6px; - width: 2px; } - .el-checkbox__input { - white-space: nowrap; - cursor: pointer; - outline: none; - display: inline-block; - line-height: 1; - position: relative; - vertical-align: middle; } - .el-checkbox__input.is-disabled .el-checkbox__inner { - background-color: #edf2fc; - border-color: #DCDFE6; - cursor: not-allowed; } - .el-checkbox__input.is-disabled .el-checkbox__inner::after { - cursor: not-allowed; - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled .el-checkbox__inner + .el-checkbox__label { - cursor: not-allowed; } - .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { - background-color: #F2F6FC; - border-color: #DCDFE6; } - .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after { - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner { - background-color: #F2F6FC; - border-color: #DCDFE6; } - .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before { - background-color: #C0C4CC; - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled + span.el-checkbox__label { - color: #C0C4CC; - cursor: not-allowed; } - .el-checkbox__input.is-checked .el-checkbox__inner { - background-color: #409EFF; - border-color: #409EFF; } - .el-checkbox__input.is-checked .el-checkbox__inner::after { - -webkit-transform: rotate(45deg) scaleY(1); - transform: rotate(45deg) scaleY(1); } - .el-checkbox__input.is-checked + .el-checkbox__label { - color: #409EFF; } - .el-checkbox__input.is-focus { - /*focus时 视觉上区分*/ } - .el-checkbox__input.is-focus .el-checkbox__inner { - border-color: #409EFF; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner { - background-color: #409EFF; - border-color: #409EFF; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner::before { - content: ''; - position: absolute; - display: block; - background-color: #FFFFFF; - height: 2px; - -webkit-transform: scale(0.5); - transform: scale(0.5); - left: 0; - right: 0; - top: 5px; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner::after { - display: none; } - .el-checkbox__inner { - display: inline-block; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 2px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 14px; - height: 14px; - background-color: #FFFFFF; - z-index: 1; - -webkit-transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46), background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46); - transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46), background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46); } - .el-checkbox__inner:hover { - border-color: #409EFF; } - .el-checkbox__inner::after { - -webkit-box-sizing: content-box; - box-sizing: content-box; - content: ""; - border: 1px solid #FFFFFF; - border-left: 0; - border-top: 0; - height: 7px; - left: 4px; - position: absolute; - top: 1px; - -webkit-transform: rotate(45deg) scaleY(0); - transform: rotate(45deg) scaleY(0); - width: 3px; - -webkit-transition: -webkit-transform .15s ease-in .05s; - transition: -webkit-transform .15s ease-in .05s; - transition: transform .15s ease-in .05s; - transition: transform .15s ease-in .05s, -webkit-transform .15s ease-in .05s; - -webkit-transform-origin: center; - transform-origin: center; } - .el-checkbox__original { - opacity: 0; - outline: none; - position: absolute; - margin: 0; - width: 0; - height: 0; - z-index: -1; } - .el-checkbox__label { - display: inline-block; - padding-left: 10px; - line-height: 19px; - font-size: 14px; } - .el-checkbox:last-of-type { - margin-right: 0; } - -.el-checkbox-button { - position: relative; - display: inline-block; } - .el-checkbox-button__inner { - display: inline-block; - line-height: 1; - font-weight: 500; - white-space: nowrap; - vertical-align: middle; - cursor: pointer; - background: #FFFFFF; - border: 1px solid #DCDFE6; - border-left: 0; - color: #606266; - -webkit-appearance: none; - text-align: center; - -webkit-box-sizing: border-box; - box-sizing: border-box; - outline: none; - margin: 0; - position: relative; - -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - padding: 12px 20px; - font-size: 14px; - border-radius: 0; } - .el-checkbox-button__inner.is-round { - padding: 12px 20px; } - .el-checkbox-button__inner:hover { - color: #409EFF; } - .el-checkbox-button__inner [class*="el-icon-"] { - line-height: 0.9; } - .el-checkbox-button__inner [class*="el-icon-"] + span { - margin-left: 5px; } - .el-checkbox-button__original { - opacity: 0; - outline: none; - position: absolute; - margin: 0; - z-index: -1; } - .el-checkbox-button.is-checked .el-checkbox-button__inner { - color: #FFFFFF; - background-color: #409EFF; - border-color: #409EFF; - -webkit-box-shadow: -1px 0 0 0 #8cc5ff; - box-shadow: -1px 0 0 0 #8cc5ff; } - .el-checkbox-button.is-checked:first-child .el-checkbox-button__inner { - border-left-color: #409EFF; } - .el-checkbox-button.is-disabled .el-checkbox-button__inner { - color: #C0C4CC; - cursor: not-allowed; - background-image: none; - background-color: #FFFFFF; - border-color: #EBEEF5; - -webkit-box-shadow: none; - box-shadow: none; } - .el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner { - border-left-color: #EBEEF5; } - .el-checkbox-button:first-child .el-checkbox-button__inner { - border-left: 1px solid #DCDFE6; - border-radius: 4px 0 0 4px; - -webkit-box-shadow: none !important; - box-shadow: none !important; } - .el-checkbox-button.is-focus .el-checkbox-button__inner { - border-color: #409EFF; } - .el-checkbox-button:last-child .el-checkbox-button__inner { - border-radius: 0 4px 4px 0; } - .el-checkbox-button--medium .el-checkbox-button__inner { - padding: 10px 20px; - font-size: 14px; - border-radius: 0; } - .el-checkbox-button--medium .el-checkbox-button__inner.is-round { - padding: 10px 20px; } - .el-checkbox-button--small .el-checkbox-button__inner { - padding: 9px 15px; - font-size: 12px; - border-radius: 0; } - .el-checkbox-button--small .el-checkbox-button__inner.is-round { - padding: 9px 15px; } - .el-checkbox-button--mini .el-checkbox-button__inner { - padding: 7px 15px; - font-size: 12px; - border-radius: 0; } - .el-checkbox-button--mini .el-checkbox-button__inner.is-round { - padding: 7px 15px; } - -.el-checkbox-group { - font-size: 0; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-radio { - color: #606266; - font-weight: 500; - line-height: 1; - position: relative; - cursor: pointer; - display: inline-block; - white-space: nowrap; - outline: none; - font-size: 14px; - margin-right: 30px; - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; } - .el-radio.is-bordered { - padding: 12px 20px 0 10px; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - height: 40px; } - .el-radio.is-bordered.is-checked { - border-color: #409EFF; } - .el-radio.is-bordered.is-disabled { - cursor: not-allowed; - border-color: #EBEEF5; } - .el-radio.is-bordered + .el-radio.is-bordered { - margin-left: 10px; } - .el-radio--medium.is-bordered { - padding: 10px 20px 0 10px; - border-radius: 4px; - height: 36px; } - .el-radio--medium.is-bordered .el-radio__label { - font-size: 14px; } - .el-radio--medium.is-bordered .el-radio__inner { - height: 14px; - width: 14px; } - .el-radio--small.is-bordered { - padding: 8px 15px 0 10px; - border-radius: 3px; - height: 32px; } - .el-radio--small.is-bordered .el-radio__label { - font-size: 12px; } - .el-radio--small.is-bordered .el-radio__inner { - height: 12px; - width: 12px; } - .el-radio--mini.is-bordered { - padding: 6px 15px 0 10px; - border-radius: 3px; - height: 28px; } - .el-radio--mini.is-bordered .el-radio__label { - font-size: 12px; } - .el-radio--mini.is-bordered .el-radio__inner { - height: 12px; - width: 12px; } - .el-radio:last-child { - margin-right: 0; } - .el-radio__input { - white-space: nowrap; - cursor: pointer; - outline: none; - display: inline-block; - line-height: 1; - position: relative; - vertical-align: middle; } - .el-radio__input.is-disabled .el-radio__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - cursor: not-allowed; } - .el-radio__input.is-disabled .el-radio__inner::after { - cursor: not-allowed; - background-color: #F5F7FA; } - .el-radio__input.is-disabled .el-radio__inner + .el-radio__label { - cursor: not-allowed; } - .el-radio__input.is-disabled.is-checked .el-radio__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; } - .el-radio__input.is-disabled.is-checked .el-radio__inner::after { - background-color: #C0C4CC; } - .el-radio__input.is-disabled + span.el-radio__label { - color: #C0C4CC; - cursor: not-allowed; } - .el-radio__input.is-checked .el-radio__inner { - border-color: #409EFF; - background: #409EFF; } - .el-radio__input.is-checked .el-radio__inner::after { - -webkit-transform: translate(-50%, -50%) scale(1); - transform: translate(-50%, -50%) scale(1); } - .el-radio__input.is-checked + .el-radio__label { - color: #409EFF; } - .el-radio__input.is-focus .el-radio__inner { - border-color: #409EFF; } - .el-radio__inner { - border: 1px solid #DCDFE6; - border-radius: 100%; - width: 14px; - height: 14px; - background-color: #FFFFFF; - position: relative; - cursor: pointer; - display: inline-block; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-radio__inner:hover { - border-color: #409EFF; } - .el-radio__inner::after { - width: 4px; - height: 4px; - border-radius: 100%; - background-color: #FFFFFF; - content: ""; - position: absolute; - left: 50%; - top: 50%; - -webkit-transform: translate(-50%, -50%) scale(0); - transform: translate(-50%, -50%) scale(0); - -webkit-transition: -webkit-transform .15s ease-in; - transition: -webkit-transform .15s ease-in; - transition: transform .15s ease-in; - transition: transform .15s ease-in, -webkit-transform .15s ease-in; } - .el-radio__original { - opacity: 0; - outline: none; - position: absolute; - z-index: -1; - top: 0; - left: 0; - right: 0; - bottom: 0; - margin: 0; } - .el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) { - /*获得焦点时 样式提醒*/ } - .el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner { - -webkit-box-shadow: 0 0 2px 2px #409EFF; - box-shadow: 0 0 2px 2px #409EFF; } - .el-radio__label { - font-size: 14px; - padding-left: 10px; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-scrollbar { - overflow: hidden; - position: relative; } - .el-scrollbar:hover > .el-scrollbar__bar, .el-scrollbar:active > .el-scrollbar__bar, .el-scrollbar:focus > .el-scrollbar__bar { - opacity: 1; - -webkit-transition: opacity 340ms ease-out; - transition: opacity 340ms ease-out; } - .el-scrollbar__wrap { - overflow: scroll; - height: 100%; } - .el-scrollbar__wrap--hidden-default { - scrollbar-width: none; } - .el-scrollbar__wrap--hidden-default::-webkit-scrollbar { - width: 0; - height: 0; } - .el-scrollbar__thumb { - position: relative; - display: block; - width: 0; - height: 0; - cursor: pointer; - border-radius: inherit; - background-color: rgba(144, 147, 153, 0.3); - -webkit-transition: .3s background-color; - transition: .3s background-color; } - .el-scrollbar__thumb:hover { - background-color: rgba(144, 147, 153, 0.5); } - .el-scrollbar__bar { - position: absolute; - right: 2px; - bottom: 2px; - z-index: 1; - border-radius: 4px; - opacity: 0; - -webkit-transition: opacity 120ms ease-out; - transition: opacity 120ms ease-out; } - .el-scrollbar__bar.is-vertical { - width: 6px; - top: 2px; } - .el-scrollbar__bar.is-vertical > div { - width: 100%; } - .el-scrollbar__bar.is-horizontal { - height: 6px; - left: 2px; } - .el-scrollbar__bar.is-horizontal > div { - height: 100%; } - -.el-cascader-panel { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - border-radius: 4px; - font-size: 14px; } - .el-cascader-panel.is-bordered { - border: solid 1px #E4E7ED; - border-radius: 4px; } - -.el-cascader-menu { - min-width: 180px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: #606266; - border-right: solid 1px #E4E7ED; } - .el-cascader-menu:last-child { - border-right: none; } - .el-cascader-menu:last-child .el-cascader-node { - padding-right: 20px; } - .el-cascader-menu__wrap { - height: 204px; } - .el-cascader-menu__list { - position: relative; - min-height: 100%; - margin: 0; - padding: 6px 0; - list-style: none; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-cascader-menu__hover-zone { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - pointer-events: none; } - .el-cascader-menu__empty-text { - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); - text-align: center; - color: #C0C4CC; } - -.el-cascader-node { - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - padding: 0 30px 0 20px; - height: 34px; - line-height: 34px; - outline: none; } - .el-cascader-node.is-selectable.in-active-path { - color: #606266; } - .el-cascader-node.in-active-path, .el-cascader-node.is-selectable.in-checked-path, .el-cascader-node.is-active { - color: #409EFF; - font-weight: bold; } - .el-cascader-node:not(.is-disabled) { - cursor: pointer; } - .el-cascader-node:not(.is-disabled):hover, .el-cascader-node:not(.is-disabled):focus { - background: #F5F7FA; } - .el-cascader-node.is-disabled { - color: #C0C4CC; - cursor: not-allowed; } - .el-cascader-node__prefix { - position: absolute; - left: 10px; } - .el-cascader-node__postfix { - position: absolute; - right: 10px; } - .el-cascader-node__label { - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - padding: 0 10px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; } - .el-cascader-node > .el-radio { - margin-right: 0; } - .el-cascader-node > .el-radio .el-radio__label { - padding-left: 0; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-avatar { - display: inline-block; - -webkit-box-sizing: border-box; - box-sizing: border-box; - text-align: center; - overflow: hidden; - color: #fff; - background: #C0C4CC; - width: 40px; - height: 40px; - line-height: 40px; - font-size: 14px; } - .el-avatar > img { - display: block; - height: 100%; - vertical-align: middle; } - .el-avatar--circle { - border-radius: 50%; } - .el-avatar--square { - border-radius: 4px; } - .el-avatar--icon { - font-size: 18px; } - .el-avatar--large { - width: 40px; - height: 40px; - line-height: 40px; } - .el-avatar--medium { - width: 36px; - height: 36px; - line-height: 36px; } - .el-avatar--small { - width: 28px; - height: 28px; - line-height: 28px; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -@-webkit-keyframes el-drawer-fade-in { - 0% { - opacity: 0; } - 100% { - opacity: 1; } } -@keyframes el-drawer-fade-in { - 0% { - opacity: 0; } - 100% { - opacity: 1; } } - -@-webkit-keyframes rtl-drawer-in { - 0% { - -webkit-transform: translate(100%, 0px); - transform: translate(100%, 0px); } - 100% { - -webkit-transform: translate(0px, 0px); - transform: translate(0px, 0px); } } - -@keyframes rtl-drawer-in { - 0% { - -webkit-transform: translate(100%, 0px); - transform: translate(100%, 0px); } - 100% { - -webkit-transform: translate(0px, 0px); - transform: translate(0px, 0px); } } - -@-webkit-keyframes rtl-drawer-out { - 0% { - -webkit-transform: translate(0px, 0px); - transform: translate(0px, 0px); } - 100% { - -webkit-transform: translate(100%, 0px); - transform: translate(100%, 0px); } } - -@keyframes rtl-drawer-out { - 0% { - -webkit-transform: translate(0px, 0px); - transform: translate(0px, 0px); } - 100% { - -webkit-transform: translate(100%, 0px); - transform: translate(100%, 0px); } } - -@-webkit-keyframes ltr-drawer-in { - 0% { - -webkit-transform: translate(-100%, 0px); - transform: translate(-100%, 0px); } - 100% { - -webkit-transform: translate(0px, 0px); - transform: translate(0px, 0px); } } - -@keyframes ltr-drawer-in { - 0% { - -webkit-transform: translate(-100%, 0px); - transform: translate(-100%, 0px); } - 100% { - -webkit-transform: translate(0px, 0px); - transform: translate(0px, 0px); } } - -@-webkit-keyframes ltr-drawer-out { - 0% { - -webkit-transform: translate(0px, 0px); - transform: translate(0px, 0px); } - 100% { - -webkit-transform: translate(-100%, 0px); - transform: translate(-100%, 0px); } } - -@keyframes ltr-drawer-out { - 0% { - -webkit-transform: translate(0px, 0px); - transform: translate(0px, 0px); } - 100% { - -webkit-transform: translate(-100%, 0px); - transform: translate(-100%, 0px); } } - -@-webkit-keyframes ttb-drawer-in { - 0% { - -webkit-transform: translate(0px, -100%); - transform: translate(0px, -100%); } - 100% { - -webkit-transform: translate(0px, 0px); - transform: translate(0px, 0px); } } - -@keyframes ttb-drawer-in { - 0% { - -webkit-transform: translate(0px, -100%); - transform: translate(0px, -100%); } - 100% { - -webkit-transform: translate(0px, 0px); - transform: translate(0px, 0px); } } - -@-webkit-keyframes ttb-drawer-out { - 0% { - -webkit-transform: translate(0px, 0px); - transform: translate(0px, 0px); } - 100% { - -webkit-transform: translate(0px, -100%); - transform: translate(0px, -100%); } } - -@keyframes ttb-drawer-out { - 0% { - -webkit-transform: translate(0px, 0px); - transform: translate(0px, 0px); } - 100% { - -webkit-transform: translate(0px, -100%); - transform: translate(0px, -100%); } } - -@-webkit-keyframes btt-drawer-in { - 0% { - -webkit-transform: translate(0px, 100%); - transform: translate(0px, 100%); } - 100% { - -webkit-transform: translate(0px, 0px); - transform: translate(0px, 0px); } } - -@keyframes btt-drawer-in { - 0% { - -webkit-transform: translate(0px, 100%); - transform: translate(0px, 100%); } - 100% { - -webkit-transform: translate(0px, 0px); - transform: translate(0px, 0px); } } - -@-webkit-keyframes btt-drawer-out { - 0% { - -webkit-transform: translate(0px, 0); - transform: translate(0px, 0); } - 100% { - -webkit-transform: translate(0px, 100%); - transform: translate(0px, 100%); } } - -@keyframes btt-drawer-out { - 0% { - -webkit-transform: translate(0px, 0); - transform: translate(0px, 0); } - 100% { - -webkit-transform: translate(0px, 100%); - transform: translate(0px, 100%); } } - -.el-drawer { - position: absolute; - -webkit-box-sizing: border-box; - box-sizing: border-box; - background-color: #FFFFFF; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.2), 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12); - box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.2), 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12); - overflow: hidden; } - .el-drawer.rtl { - -webkit-animation: rtl-drawer-out 0.3s; - animation: rtl-drawer-out 0.3s; } - .el-drawer__open .el-drawer.rtl { - -webkit-animation: rtl-drawer-in 0.3s 1ms; - animation: rtl-drawer-in 0.3s 1ms; } - .el-drawer.ltr { - -webkit-animation: ltr-drawer-out 0.3s; - animation: ltr-drawer-out 0.3s; } - .el-drawer__open .el-drawer.ltr { - -webkit-animation: ltr-drawer-in 0.3s 1ms; - animation: ltr-drawer-in 0.3s 1ms; } - .el-drawer.ttb { - -webkit-animation: ttb-drawer-out 0.3s; - animation: ttb-drawer-out 0.3s; } - .el-drawer__open .el-drawer.ttb { - -webkit-animation: ttb-drawer-in 0.3s 1ms; - animation: ttb-drawer-in 0.3s 1ms; } - .el-drawer.btt { - -webkit-animation: btt-drawer-out 0.3s; - animation: btt-drawer-out 0.3s; } - .el-drawer__open .el-drawer.btt { - -webkit-animation: btt-drawer-in 0.3s 1ms; - animation: btt-drawer-in 0.3s 1ms; } - .el-drawer__wrapper { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - overflow: hidden; - margin: 0; } - .el-drawer__header { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - color: #72767b; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - margin-bottom: 32px; - padding: 20px; - padding-bottom: 0; } - .el-drawer__header > :first-child { - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; } - .el-drawer__title { - margin: 0; - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - line-height: inherit; - font-size: 1rem; } - .el-drawer__close-btn { - border: none; - cursor: pointer; - font-size: 20px; - color: inherit; - background-color: transparent; } - .el-drawer__body { - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; } - .el-drawer__body > * { - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-drawer.ltr, .el-drawer.rtl { - height: 100%; - top: 0; - bottom: 0; } - .el-drawer.ttb, .el-drawer.btt { - width: 100%; - left: 0; - right: 0; } - .el-drawer.ltr { - left: 0; } - .el-drawer.rtl { - right: 0; } - .el-drawer.ttb { - top: 0; } - .el-drawer.btt { - bottom: 0; } - -.el-drawer__container { - position: relative; - left: 0; - right: 0; - top: 0; - bottom: 0; - height: 100%; - width: 100%; } - -.el-drawer-fade-enter-active { - -webkit-animation: el-drawer-fade-in .3s; - animation: el-drawer-fade-in .3s; } - -.el-drawer-fade-leave-active { - animation: el-drawer-fade-in .3s reverse; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-popconfirm__main { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - -.el-popconfirm__icon { - margin-right: 5px; } - -.el-popconfirm__action { - text-align: right; - margin: 0; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/infinite-scroll.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/infinite-scroll.css deleted file mode 100644 index e69de29b..00000000 diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/infiniteScroll.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/infiniteScroll.css deleted file mode 100644 index e69de29b..00000000 diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/input-number.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/input-number.css deleted file mode 100644 index fc3fd524..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/input-number.css +++ /dev/null @@ -1,891 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-textarea { - position: relative; - display: inline-block; - width: 100%; - vertical-align: bottom; - font-size: 14px; } - .el-textarea__inner { - display: block; - resize: vertical; - padding: 5px 15px; - line-height: 1.5; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - font-size: inherit; - color: #606266; - background-color: #FFFFFF; - background-image: none; - border: 1px solid #DCDFE6; - border-radius: 4px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea__inner:hover { - border-color: #C0C4CC; } - .el-textarea__inner:focus { - outline: none; - border-color: #409EFF; } - .el-textarea .el-input__count { - color: #909399; - background: #FFFFFF; - position: absolute; - font-size: 12px; - bottom: 5px; - right: 10px; } - .el-textarea.is-disabled .el-textarea__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea.is-exceed .el-textarea__inner { - border-color: #F56C6C; } - .el-textarea.is-exceed .el-input__count { - color: #F56C6C; } - -.el-input { - position: relative; - font-size: 14px; - display: inline-block; - width: 100%; } - .el-input::-webkit-scrollbar { - z-index: 11; - width: 6px; } - .el-input::-webkit-scrollbar:horizontal { - height: 6px; } - .el-input::-webkit-scrollbar-thumb { - border-radius: 5px; - width: 6px; - background: #b4bccc; } - .el-input::-webkit-scrollbar-corner { - background: #fff; } - .el-input::-webkit-scrollbar-track { - background: #fff; } - .el-input::-webkit-scrollbar-track-piece { - background: #fff; - width: 6px; } - .el-input .el-input__clear { - color: #C0C4CC; - font-size: 14px; - cursor: pointer; - -webkit-transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-input .el-input__clear:hover { - color: #909399; } - .el-input .el-input__count { - height: 100%; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - color: #909399; - font-size: 12px; } - .el-input .el-input__count .el-input__count-inner { - background: #FFFFFF; - line-height: initial; - display: inline-block; - padding: 0 5px; } - .el-input__inner { - -webkit-appearance: none; - background-color: #FFFFFF; - background-image: none; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: #606266; - display: inline-block; - font-size: inherit; - height: 40px; - line-height: 40px; - outline: none; - padding: 0 15px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - width: 100%; } - .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input__inner:hover { - border-color: #C0C4CC; } - .el-input__inner:focus { - outline: none; - border-color: #409EFF; } - .el-input__suffix { - position: absolute; - height: 100%; - right: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; - pointer-events: none; } - .el-input__suffix-inner { - pointer-events: all; } - .el-input__prefix { - position: absolute; - height: 100%; - left: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; } - .el-input__icon { - height: 100%; - width: 25px; - text-align: center; - -webkit-transition: all .3s; - transition: all .3s; - line-height: 40px; } - .el-input__icon:after { - content: ''; - height: 100%; - width: 0; - display: inline-block; - vertical-align: middle; } - .el-input__validateIcon { - pointer-events: none; } - .el-input.is-active .el-input__inner { - outline: none; - border-color: #409EFF; } - .el-input.is-disabled .el-input__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-input.is-disabled .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__icon { - cursor: not-allowed; } - .el-input.is-exceed .el-input__inner { - border-color: #F56C6C; } - .el-input.is-exceed .el-input__suffix .el-input__count { - color: #F56C6C; } - .el-input--suffix .el-input__inner { - padding-right: 30px; } - .el-input--prefix .el-input__inner { - padding-left: 30px; } - .el-input--medium { - font-size: 14px; } - .el-input--medium .el-input__inner { - height: 36px; - line-height: 36px; } - .el-input--medium .el-input__icon { - line-height: 36px; } - .el-input--small { - font-size: 13px; } - .el-input--small .el-input__inner { - height: 32px; - line-height: 32px; } - .el-input--small .el-input__icon { - line-height: 32px; } - .el-input--mini { - font-size: 12px; } - .el-input--mini .el-input__inner { - height: 28px; - line-height: 28px; } - .el-input--mini .el-input__icon { - line-height: 28px; } - -.el-input-group { - line-height: normal; - display: inline-table; - width: 100%; - border-collapse: separate; - border-spacing: 0; } - .el-input-group > .el-input__inner { - vertical-align: middle; - display: table-cell; } - .el-input-group__append, .el-input-group__prepend { - background-color: #F5F7FA; - color: #909399; - vertical-align: middle; - display: table-cell; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 4px; - padding: 0 20px; - width: 1px; - white-space: nowrap; } - .el-input-group__append:focus, .el-input-group__prepend:focus { - outline: none; } - .el-input-group__append .el-select, - .el-input-group__append .el-button, .el-input-group__prepend .el-select, - .el-input-group__prepend .el-button { - display: inline-block; - margin: -10px -20px; } - .el-input-group__append button.el-button, - .el-input-group__append div.el-select .el-input__inner, - .el-input-group__append div.el-select:hover .el-input__inner, .el-input-group__prepend button.el-button, - .el-input-group__prepend div.el-select .el-input__inner, - .el-input-group__prepend div.el-select:hover .el-input__inner { - border-color: transparent; - background-color: transparent; - color: inherit; - border-top: 0; - border-bottom: 0; } - .el-input-group__append .el-button, - .el-input-group__append .el-input, .el-input-group__prepend .el-button, - .el-input-group__prepend .el-input { - font-size: inherit; } - .el-input-group__prepend { - border-right: 0; - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group__append { - border-left: 0; - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-input__inner { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - .el-input-group--append .el-input__inner { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group--append .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - -/** disalbe default clear on IE */ -.el-input__inner::-ms-clear { - display: none; - width: 0; - height: 0; } - -.el-input-number { - position: relative; - display: inline-block; - width: 180px; - line-height: 38px; } - .el-input-number .el-input { - display: block; } - .el-input-number .el-input__inner { - -webkit-appearance: none; - padding-left: 50px; - padding-right: 50px; - text-align: center; } - .el-input-number__increase, .el-input-number__decrease { - position: absolute; - z-index: 1; - top: 1px; - width: 40px; - height: auto; - text-align: center; - background: #F5F7FA; - color: #606266; - cursor: pointer; - font-size: 13px; } - .el-input-number__increase:hover, .el-input-number__decrease:hover { - color: #409EFF; } - .el-input-number__increase:hover:not(.is-disabled) ~ .el-input .el-input__inner:not(.is-disabled), .el-input-number__decrease:hover:not(.is-disabled) ~ .el-input .el-input__inner:not(.is-disabled) { - border-color: #409EFF; } - .el-input-number__increase.is-disabled, .el-input-number__decrease.is-disabled { - color: #C0C4CC; - cursor: not-allowed; } - .el-input-number__increase { - right: 1px; - border-radius: 0 4px 4px 0; - border-left: 1px solid #DCDFE6; } - .el-input-number__decrease { - left: 1px; - border-radius: 4px 0 0 4px; - border-right: 1px solid #DCDFE6; } - .el-input-number.is-disabled .el-input-number__increase, .el-input-number.is-disabled .el-input-number__decrease { - border-color: #E4E7ED; - color: #E4E7ED; } - .el-input-number.is-disabled .el-input-number__increase:hover, .el-input-number.is-disabled .el-input-number__decrease:hover { - color: #E4E7ED; - cursor: not-allowed; } - .el-input-number--medium { - width: 200px; - line-height: 34px; } - .el-input-number--medium .el-input-number__increase, .el-input-number--medium .el-input-number__decrease { - width: 36px; - font-size: 14px; } - .el-input-number--medium .el-input__inner { - padding-left: 43px; - padding-right: 43px; } - .el-input-number--small { - width: 130px; - line-height: 30px; } - .el-input-number--small .el-input-number__increase, .el-input-number--small .el-input-number__decrease { - width: 32px; - font-size: 13px; } - .el-input-number--small .el-input-number__increase [class*=el-icon], .el-input-number--small .el-input-number__decrease [class*=el-icon] { - -webkit-transform: scale(0.9); - transform: scale(0.9); } - .el-input-number--small .el-input__inner { - padding-left: 39px; - padding-right: 39px; } - .el-input-number--mini { - width: 130px; - line-height: 26px; } - .el-input-number--mini .el-input-number__increase, .el-input-number--mini .el-input-number__decrease { - width: 28px; - font-size: 12px; } - .el-input-number--mini .el-input-number__increase [class*=el-icon], .el-input-number--mini .el-input-number__decrease [class*=el-icon] { - -webkit-transform: scale(0.8); - transform: scale(0.8); } - .el-input-number--mini .el-input__inner { - padding-left: 35px; - padding-right: 35px; } - .el-input-number.is-without-controls .el-input__inner { - padding-left: 15px; - padding-right: 15px; } - .el-input-number.is-controls-right .el-input__inner { - padding-left: 15px; - padding-right: 50px; } - .el-input-number.is-controls-right .el-input-number__increase, .el-input-number.is-controls-right .el-input-number__decrease { - height: auto; - line-height: 19px; } - .el-input-number.is-controls-right .el-input-number__increase [class*=el-icon], .el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon] { - -webkit-transform: scale(0.8); - transform: scale(0.8); } - .el-input-number.is-controls-right .el-input-number__increase { - border-radius: 0 4px 0 0; - border-bottom: 1px solid #DCDFE6; } - .el-input-number.is-controls-right .el-input-number__decrease { - right: 1px; - bottom: 1px; - top: auto; - left: auto; - border-right: none; - border-left: 1px solid #DCDFE6; - border-radius: 0 0 4px 0; } - .el-input-number.is-controls-right[class*=medium] [class*=increase], .el-input-number.is-controls-right[class*=medium] [class*=decrease] { - line-height: 17px; } - .el-input-number.is-controls-right[class*=small] [class*=increase], .el-input-number.is-controls-right[class*=small] [class*=decrease] { - line-height: 15px; } - .el-input-number.is-controls-right[class*=mini] [class*=increase], .el-input-number.is-controls-right[class*=mini] [class*=decrease] { - line-height: 13px; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/input.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/input.css deleted file mode 100644 index 70bc38f3..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/input.css +++ /dev/null @@ -1,534 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-textarea { - position: relative; - display: inline-block; - width: 100%; - vertical-align: bottom; - font-size: 14px; } - .el-textarea__inner { - display: block; - resize: vertical; - padding: 5px 15px; - line-height: 1.5; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - font-size: inherit; - color: #606266; - background-color: #FFFFFF; - background-image: none; - border: 1px solid #DCDFE6; - border-radius: 4px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea__inner:hover { - border-color: #C0C4CC; } - .el-textarea__inner:focus { - outline: none; - border-color: #409EFF; } - .el-textarea .el-input__count { - color: #909399; - background: #FFFFFF; - position: absolute; - font-size: 12px; - bottom: 5px; - right: 10px; } - .el-textarea.is-disabled .el-textarea__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea.is-exceed .el-textarea__inner { - border-color: #F56C6C; } - .el-textarea.is-exceed .el-input__count { - color: #F56C6C; } - -.el-input { - position: relative; - font-size: 14px; - display: inline-block; - width: 100%; } - .el-input::-webkit-scrollbar { - z-index: 11; - width: 6px; } - .el-input::-webkit-scrollbar:horizontal { - height: 6px; } - .el-input::-webkit-scrollbar-thumb { - border-radius: 5px; - width: 6px; - background: #b4bccc; } - .el-input::-webkit-scrollbar-corner { - background: #fff; } - .el-input::-webkit-scrollbar-track { - background: #fff; } - .el-input::-webkit-scrollbar-track-piece { - background: #fff; - width: 6px; } - .el-input .el-input__clear { - color: #C0C4CC; - font-size: 14px; - cursor: pointer; - -webkit-transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-input .el-input__clear:hover { - color: #909399; } - .el-input .el-input__count { - height: 100%; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - color: #909399; - font-size: 12px; } - .el-input .el-input__count .el-input__count-inner { - background: #FFFFFF; - line-height: initial; - display: inline-block; - padding: 0 5px; } - .el-input__inner { - -webkit-appearance: none; - background-color: #FFFFFF; - background-image: none; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: #606266; - display: inline-block; - font-size: inherit; - height: 40px; - line-height: 40px; - outline: none; - padding: 0 15px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - width: 100%; } - .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input__inner:hover { - border-color: #C0C4CC; } - .el-input__inner:focus { - outline: none; - border-color: #409EFF; } - .el-input__suffix { - position: absolute; - height: 100%; - right: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; - pointer-events: none; } - .el-input__suffix-inner { - pointer-events: all; } - .el-input__prefix { - position: absolute; - height: 100%; - left: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; } - .el-input__icon { - height: 100%; - width: 25px; - text-align: center; - -webkit-transition: all .3s; - transition: all .3s; - line-height: 40px; } - .el-input__icon:after { - content: ''; - height: 100%; - width: 0; - display: inline-block; - vertical-align: middle; } - .el-input__validateIcon { - pointer-events: none; } - .el-input.is-active .el-input__inner { - outline: none; - border-color: #409EFF; } - .el-input.is-disabled .el-input__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-input.is-disabled .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__icon { - cursor: not-allowed; } - .el-input.is-exceed .el-input__inner { - border-color: #F56C6C; } - .el-input.is-exceed .el-input__suffix .el-input__count { - color: #F56C6C; } - .el-input--suffix .el-input__inner { - padding-right: 30px; } - .el-input--prefix .el-input__inner { - padding-left: 30px; } - .el-input--medium { - font-size: 14px; } - .el-input--medium .el-input__inner { - height: 36px; - line-height: 36px; } - .el-input--medium .el-input__icon { - line-height: 36px; } - .el-input--small { - font-size: 13px; } - .el-input--small .el-input__inner { - height: 32px; - line-height: 32px; } - .el-input--small .el-input__icon { - line-height: 32px; } - .el-input--mini { - font-size: 12px; } - .el-input--mini .el-input__inner { - height: 28px; - line-height: 28px; } - .el-input--mini .el-input__icon { - line-height: 28px; } - -.el-input-group { - line-height: normal; - display: inline-table; - width: 100%; - border-collapse: separate; - border-spacing: 0; } - .el-input-group > .el-input__inner { - vertical-align: middle; - display: table-cell; } - .el-input-group__append, .el-input-group__prepend { - background-color: #F5F7FA; - color: #909399; - vertical-align: middle; - display: table-cell; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 4px; - padding: 0 20px; - width: 1px; - white-space: nowrap; } - .el-input-group__append:focus, .el-input-group__prepend:focus { - outline: none; } - .el-input-group__append .el-select, - .el-input-group__append .el-button, .el-input-group__prepend .el-select, - .el-input-group__prepend .el-button { - display: inline-block; - margin: -10px -20px; } - .el-input-group__append button.el-button, - .el-input-group__append div.el-select .el-input__inner, - .el-input-group__append div.el-select:hover .el-input__inner, .el-input-group__prepend button.el-button, - .el-input-group__prepend div.el-select .el-input__inner, - .el-input-group__prepend div.el-select:hover .el-input__inner { - border-color: transparent; - background-color: transparent; - color: inherit; - border-top: 0; - border-bottom: 0; } - .el-input-group__append .el-button, - .el-input-group__append .el-input, .el-input-group__prepend .el-button, - .el-input-group__prepend .el-input { - font-size: inherit; } - .el-input-group__prepend { - border-right: 0; - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group__append { - border-left: 0; - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-input__inner { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - .el-input-group--append .el-input__inner { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group--append .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - -/** disalbe default clear on IE */ -.el-input__inner::-ms-clear { - display: none; - width: 0; - height: 0; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/link.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/link.css deleted file mode 100644 index 2e69c87c..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/link.css +++ /dev/null @@ -1,342 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-link { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - vertical-align: middle; - position: relative; - text-decoration: none; - outline: none; - cursor: pointer; - padding: 0; - font-size: 14px; - font-weight: 500; } - .el-link.is-underline:hover:after { - content: ""; - position: absolute; - left: 0; - right: 0; - height: 0; - bottom: 0; - border-bottom: 1px solid #409EFF; } - .el-link.is-disabled { - cursor: not-allowed; } - .el-link [class*="el-icon-"] + span { - margin-left: 5px; } - .el-link.el-link--default { - color: #606266; } - .el-link.el-link--default:hover { - color: #409EFF; } - .el-link.el-link--default:after { - border-color: #409EFF; } - .el-link.el-link--default.is-disabled { - color: #C0C4CC; } - .el-link.el-link--primary { - color: #409EFF; } - .el-link.el-link--primary:hover { - color: #66b1ff; } - .el-link.el-link--primary:after { - border-color: #409EFF; } - .el-link.el-link--primary.is-disabled { - color: #a0cfff; } - .el-link.el-link--primary.is-underline:hover:after { - border-color: #409EFF; } - .el-link.el-link--danger { - color: #F56C6C; } - .el-link.el-link--danger:hover { - color: #f78989; } - .el-link.el-link--danger:after { - border-color: #F56C6C; } - .el-link.el-link--danger.is-disabled { - color: #fab6b6; } - .el-link.el-link--danger.is-underline:hover:after { - border-color: #F56C6C; } - .el-link.el-link--success { - color: #67C23A; } - .el-link.el-link--success:hover { - color: #85ce61; } - .el-link.el-link--success:after { - border-color: #67C23A; } - .el-link.el-link--success.is-disabled { - color: #b3e19d; } - .el-link.el-link--success.is-underline:hover:after { - border-color: #67C23A; } - .el-link.el-link--warning { - color: #E6A23C; } - .el-link.el-link--warning:hover { - color: #ebb563; } - .el-link.el-link--warning:after { - border-color: #E6A23C; } - .el-link.el-link--warning.is-disabled { - color: #f3d19e; } - .el-link.el-link--warning.is-underline:hover:after { - border-color: #E6A23C; } - .el-link.el-link--info { - color: #909399; } - .el-link.el-link--info:hover { - color: #a6a9ad; } - .el-link.el-link--info:after { - border-color: #909399; } - .el-link.el-link--info.is-disabled { - color: #c8c9cc; } - .el-link.el-link--info.is-underline:hover:after { - border-color: #909399; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/loading.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/loading.css deleted file mode 100644 index 5d4f9dae..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/loading.css +++ /dev/null @@ -1,336 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-loading-parent--relative { - position: relative !important; } - -.el-loading-parent--hidden { - overflow: hidden !important; } - -.el-loading-mask { - position: absolute; - z-index: 2000; - background-color: rgba(255, 255, 255, 0.9); - margin: 0; - top: 0; - right: 0; - bottom: 0; - left: 0; - -webkit-transition: opacity 0.3s; - transition: opacity 0.3s; } - .el-loading-mask.is-fullscreen { - position: fixed; } - .el-loading-mask.is-fullscreen .el-loading-spinner { - margin-top: -25px; } - .el-loading-mask.is-fullscreen .el-loading-spinner .circular { - height: 50px; - width: 50px; } - -.el-loading-spinner { - top: 50%; - margin-top: -21px; - width: 100%; - text-align: center; - position: absolute; } - .el-loading-spinner .el-loading-text { - color: #409EFF; - margin: 3px 0; - font-size: 14px; } - .el-loading-spinner .circular { - height: 42px; - width: 42px; - -webkit-animation: loading-rotate 2s linear infinite; - animation: loading-rotate 2s linear infinite; } - .el-loading-spinner .path { - -webkit-animation: loading-dash 1.5s ease-in-out infinite; - animation: loading-dash 1.5s ease-in-out infinite; - stroke-dasharray: 90, 150; - stroke-dashoffset: 0; - stroke-width: 2; - stroke: #409EFF; - stroke-linecap: round; } - .el-loading-spinner i { - color: #409EFF; } - -.el-loading-fade-enter, -.el-loading-fade-leave-active { - opacity: 0; } - -@-webkit-keyframes loading-rotate { - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); } } - -@keyframes loading-rotate { - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); } } - -@-webkit-keyframes loading-dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; } - 50% { - stroke-dasharray: 90, 150; - stroke-dashoffset: -40px; } - 100% { - stroke-dasharray: 90, 150; - stroke-dashoffset: -120px; } } - -@keyframes loading-dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; } - 50% { - stroke-dasharray: 90, 150; - stroke-dashoffset: -40px; } - 100% { - stroke-dasharray: 90, 150; - stroke-dashoffset: -120px; } } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/main.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/main.css deleted file mode 100644 index c792e5aa..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/main.css +++ /dev/null @@ -1,261 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-main { - display: block; - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - -ms-flex-preferred-size: auto; - flex-basis: auto; - overflow: auto; - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding: 20px; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/menu-item-group.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/menu-item-group.css deleted file mode 100644 index e69de29b..00000000 diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/menu-item.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/menu-item.css deleted file mode 100644 index e69de29b..00000000 diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/menu.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/menu.css deleted file mode 100644 index 07fe584e..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/menu.css +++ /dev/null @@ -1,719 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.fade-in-linear-enter-active, -.fade-in-linear-leave-active { - -webkit-transition: opacity 200ms linear; - transition: opacity 200ms linear; } - -.fade-in-linear-enter, -.fade-in-linear-leave, -.fade-in-linear-leave-active { - opacity: 0; } - -.el-fade-in-linear-enter-active, -.el-fade-in-linear-leave-active { - -webkit-transition: opacity 200ms linear; - transition: opacity 200ms linear; } - -.el-fade-in-linear-enter, -.el-fade-in-linear-leave, -.el-fade-in-linear-leave-active { - opacity: 0; } - -.el-fade-in-enter-active, -.el-fade-in-leave-active { - -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-fade-in-enter, -.el-fade-in-leave-active { - opacity: 0; } - -.el-zoom-in-center-enter-active, -.el-zoom-in-center-leave-active { - -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-zoom-in-center-enter, -.el-zoom-in-center-leave-active { - opacity: 0; - -webkit-transform: scaleX(0); - transform: scaleX(0); } - -.el-zoom-in-top-enter-active, -.el-zoom-in-top-leave-active { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: center top; - transform-origin: center top; } - -.el-zoom-in-top-enter, -.el-zoom-in-top-leave-active { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0); } - -.el-zoom-in-bottom-enter-active, -.el-zoom-in-bottom-leave-active { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; } - -.el-zoom-in-bottom-enter, -.el-zoom-in-bottom-leave-active { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0); } - -.el-zoom-in-left-enter-active, -.el-zoom-in-left-leave-active { - opacity: 1; - -webkit-transform: scale(1, 1); - transform: scale(1, 1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: top left; - transform-origin: top left; } - -.el-zoom-in-left-enter, -.el-zoom-in-left-leave-active { - opacity: 0; - -webkit-transform: scale(0.45, 0.45); - transform: scale(0.45, 0.45); } - -.collapse-transition { - -webkit-transition: 0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out; - transition: 0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out; } - -.horizontal-collapse-transition { - -webkit-transition: 0.3s width ease-in-out, 0.3s padding-left ease-in-out, 0.3s padding-right ease-in-out; - transition: 0.3s width ease-in-out, 0.3s padding-left ease-in-out, 0.3s padding-right ease-in-out; } - -.el-list-enter-active, -.el-list-leave-active { - -webkit-transition: all 1s; - transition: all 1s; } - -.el-list-enter, .el-list-leave-active { - opacity: 0; - -webkit-transform: translateY(-30px); - transform: translateY(-30px); } - -.el-opacity-transition { - -webkit-transition: opacity 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: opacity 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-menu { - border-right: solid 1px #e6e6e6; - list-style: none; - position: relative; - margin: 0; - padding-left: 0; - background-color: #272C34; } - .el-menu::before, - .el-menu::after { - display: table; - content: ""; } - .el-menu::after { - clear: both; } - .el-menu.el-menu--horizontal { - border-bottom: solid 1px #e6e6e6; } - .el-menu--horizontal { - border-right: none; } - .el-menu--horizontal > .el-menu-item { - float: left; - height: 60px; - line-height: 60px; - margin: 0; - border-bottom: 2px solid transparent; - color: #909399; } - .el-menu--horizontal > .el-menu-item a, - .el-menu--horizontal > .el-menu-item a:hover { - color: inherit; } - .el-menu--horizontal > .el-menu-item:not(.is-disabled):hover, .el-menu--horizontal > .el-menu-item:not(.is-disabled):focus { - background-color: #fff; } - .el-menu--horizontal > .el-submenu { - float: left; } - .el-menu--horizontal > .el-submenu:focus, .el-menu--horizontal > .el-submenu:hover { - outline: none; } - .el-menu--horizontal > .el-submenu:focus .el-submenu__title, .el-menu--horizontal > .el-submenu:hover .el-submenu__title { - color: #303133; } - .el-menu--horizontal > .el-submenu.is-active .el-submenu__title { - border-bottom: 2px solid #409EFF; - color: #303133; } - .el-menu--horizontal > .el-submenu .el-submenu__title { - height: 60px; - line-height: 60px; - border-bottom: 2px solid transparent; - color: #909399; } - .el-menu--horizontal > .el-submenu .el-submenu__title:hover { - background-color: #fff; } - .el-menu--horizontal > .el-submenu .el-submenu__icon-arrow { - position: static; - vertical-align: middle; - margin-left: 8px; - margin-top: -3px; } - .el-menu--horizontal .el-menu .el-menu-item, - .el-menu--horizontal .el-menu .el-submenu__title { - background-color: #FFFFFF; - float: none; - height: 36px; - line-height: 36px; - padding: 0 10px; - color: #909399; } - .el-menu--horizontal .el-menu .el-menu-item.is-active, - .el-menu--horizontal .el-menu .el-submenu.is-active > .el-submenu__title { - color: #303133; } - .el-menu--horizontal .el-menu-item:not(.is-disabled):hover, - .el-menu--horizontal .el-menu-item:not(.is-disabled):focus { - outline: none; - color: #303133; } - .el-menu--horizontal > .el-menu-item.is-active { - border-bottom: 2px solid #409EFF; - color: #303133; } - .el-menu--collapse { - width: 64px; } - .el-menu--collapse > .el-menu-item [class^="el-icon-"], - .el-menu--collapse > .el-submenu > .el-submenu__title [class^="el-icon-"] { - margin: 0; - vertical-align: middle; - width: 24px; - text-align: center; } - .el-menu--collapse > .el-menu-item .el-submenu__icon-arrow, - .el-menu--collapse > .el-submenu > .el-submenu__title .el-submenu__icon-arrow { - display: none; } - .el-menu--collapse > .el-menu-item span, - .el-menu--collapse > .el-submenu > .el-submenu__title span { - height: 0; - width: 0; - overflow: hidden; - visibility: hidden; - display: inline-block; } - .el-menu--collapse > .el-menu-item.is-active i { - color: inherit; } - .el-menu--collapse .el-menu .el-submenu { - min-width: 200px; } - .el-menu--collapse .el-submenu { - position: relative; } - .el-menu--collapse .el-submenu .el-menu { - position: absolute; - margin-left: 5px; - top: 0; - left: 100%; - z-index: 10; - border: 1px solid #E4E7ED; - border-radius: 2px; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); } - .el-menu--collapse .el-submenu.is-opened > .el-submenu__title .el-submenu__icon-arrow { - -webkit-transform: none; - transform: none; } - .el-menu--popup { - z-index: 100; - min-width: 200px; - border: none; - padding: 5px 0; - border-radius: 2px; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); } - .el-menu--popup-bottom-start { - margin-top: 5px; } - .el-menu--popup-right-start { - margin-left: 5px; - margin-right: 5px; } - -.el-menu-item { - height: 56px; - line-height: 56px; - font-size: 14px; - color: #FFFFFF; - padding: 0 20px; - list-style: none; - cursor: pointer; - position: relative; - -webkit-transition: border-color .3s, background-color .3s, color .3s; - transition: border-color .3s, background-color .3s, color .3s; - -webkit-box-sizing: border-box; - box-sizing: border-box; - white-space: nowrap; } - .el-menu-item * { - vertical-align: middle; } - .el-menu-item i { - color: #909399; } - .el-menu-item:hover, .el-menu-item:focus { - outline: none; - background-color: #409EFF; } - .el-menu-item.is-disabled { - opacity: 0.25; - cursor: not-allowed; - background: none !important; } - .el-menu-item [class^="el-icon-"] { - margin-right: 5px; - width: 24px; - text-align: center; - font-size: 18px; - vertical-align: middle; } - .el-menu-item.is-active { - color: #409EFF; } - .el-menu-item.is-active i { - color: inherit; } - -.el-submenu { - list-style: none; - margin: 0; - padding-left: 0; } - .el-submenu__title { - height: 56px; - line-height: 56px; - font-size: 14px; - color: #FFFFFF; - padding: 0 20px; - list-style: none; - cursor: pointer; - position: relative; - -webkit-transition: border-color .3s, background-color .3s, color .3s; - transition: border-color .3s, background-color .3s, color .3s; - -webkit-box-sizing: border-box; - box-sizing: border-box; - white-space: nowrap; } - .el-submenu__title * { - vertical-align: middle; } - .el-submenu__title i { - color: #909399; } - .el-submenu__title:hover, .el-submenu__title:focus { - outline: none; - background-color: #409EFF; } - .el-submenu__title.is-disabled { - opacity: 0.25; - cursor: not-allowed; - background: none !important; } - .el-submenu__title:hover { - background-color: #409EFF; } - .el-submenu .el-menu { - border: none; } - .el-submenu .el-menu-item { - height: 50px; - line-height: 50px; - padding: 0 45px; - min-width: 200px; } - .el-submenu__icon-arrow { - position: absolute; - top: 50%; - right: 20px; - margin-top: -7px; - -webkit-transition: -webkit-transform .3s; - transition: -webkit-transform .3s; - transition: transform .3s; - transition: transform .3s, -webkit-transform .3s; - font-size: 12px; } - .el-submenu.is-active .el-submenu__title { - border-bottom-color: #409EFF; } - .el-submenu.is-opened > .el-submenu__title .el-submenu__icon-arrow { - -webkit-transform: rotateZ(180deg); - transform: rotateZ(180deg); } - .el-submenu.is-disabled .el-submenu__title, - .el-submenu.is-disabled .el-menu-item { - opacity: 0.25; - cursor: not-allowed; - background: none !important; } - .el-submenu [class^="el-icon-"] { - vertical-align: middle; - margin-right: 5px; - width: 24px; - text-align: center; - font-size: 18px; } - -.el-menu-item-group > ul { - padding: 0; } - -.el-menu-item-group__title { - padding: 7px 0 7px 20px; - line-height: normal; - font-size: 12px; - color: #909399; } - -.horizontal-collapse-transition .el-submenu__title .el-submenu__icon-arrow { - -webkit-transition: .2s; - transition: .2s; - opacity: 0; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/message-box.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/message-box.css deleted file mode 100644 index 65b237d3..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/message-box.css +++ /dev/null @@ -1,2018 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -.v-modal-enter { - -webkit-animation: v-modal-in .2s ease; - animation: v-modal-in .2s ease; } - -.v-modal-leave { - -webkit-animation: v-modal-out .2s ease forwards; - animation: v-modal-out .2s ease forwards; } - -@-webkit-keyframes v-modal-in { - 0% { - opacity: 0; } - 100% { } } - -@keyframes v-modal-in { - 0% { - opacity: 0; } - 100% { } } - -@-webkit-keyframes v-modal-out { - 0% { } - 100% { - opacity: 0; } } - -@keyframes v-modal-out { - 0% { } - 100% { - opacity: 0; } } - -.v-modal { - position: fixed; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0.5; - background: #000000; } - -.el-popup-parent--hidden { - overflow: hidden; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -.el-button { - display: inline-block; - line-height: 1; - white-space: nowrap; - cursor: pointer; - background: #FFFFFF; - border: 1px solid #DCDFE6; - border-color: #DCDFE6; - color: #606266; - -webkit-appearance: none; - text-align: center; - -webkit-box-sizing: border-box; - box-sizing: border-box; - outline: none; - margin: 0; - -webkit-transition: .1s; - transition: .1s; - font-weight: 500; - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - padding: 12px 20px; - font-size: 14px; - border-radius: 4px; } - .el-button + .el-button { - margin-left: 10px; } - .el-button.is-round { - padding: 12px 20px; } - .el-button:hover, .el-button:focus { - color: #409EFF; - border-color: #c6e2ff; - background-color: #ecf5ff; } - .el-button:active { - color: #3a8ee6; - border-color: #3a8ee6; - outline: none; } - .el-button::-moz-focus-inner { - border: 0; } - .el-button [class*="el-icon-"] + span { - margin-left: 5px; } - .el-button.is-plain:hover, .el-button.is-plain:focus { - background: #FFFFFF; - border-color: #409EFF; - color: #409EFF; } - .el-button.is-plain:active { - background: #FFFFFF; - border-color: #3a8ee6; - color: #3a8ee6; - outline: none; } - .el-button.is-active { - color: #3a8ee6; - border-color: #3a8ee6; } - .el-button.is-disabled, .el-button.is-disabled:hover, .el-button.is-disabled:focus { - color: #C0C4CC; - cursor: not-allowed; - background-image: none; - background-color: #FFFFFF; - border-color: #EBEEF5; } - .el-button.is-disabled.el-button--text { - background-color: transparent; } - .el-button.is-disabled.is-plain, .el-button.is-disabled.is-plain:hover, .el-button.is-disabled.is-plain:focus { - background-color: #FFFFFF; - border-color: #EBEEF5; - color: #C0C4CC; } - .el-button.is-loading { - position: relative; - pointer-events: none; } - .el-button.is-loading:before { - pointer-events: none; - content: ''; - position: absolute; - left: -1px; - top: -1px; - right: -1px; - bottom: -1px; - border-radius: inherit; - background-color: rgba(255, 255, 255, 0.35); } - .el-button.is-round { - border-radius: 20px; - padding: 12px 23px; } - .el-button.is-circle { - border-radius: 50%; - padding: 12px; } - .el-button--primary { - color: #FFFFFF; - background-color: #409EFF; - border-color: #409EFF; } - .el-button--primary:hover, .el-button--primary:focus { - background: #66b1ff; - border-color: #66b1ff; - color: #FFFFFF; } - .el-button--primary:active { - background: #3a8ee6; - border-color: #3a8ee6; - color: #FFFFFF; - outline: none; } - .el-button--primary.is-active { - background: #3a8ee6; - border-color: #3a8ee6; - color: #FFFFFF; } - .el-button--primary.is-disabled, .el-button--primary.is-disabled:hover, .el-button--primary.is-disabled:focus, .el-button--primary.is-disabled:active { - color: #FFFFFF; - background-color: #a0cfff; - border-color: #a0cfff; } - .el-button--primary.is-plain { - color: #409EFF; - background: #ecf5ff; - border-color: #b3d8ff; } - .el-button--primary.is-plain:hover, .el-button--primary.is-plain:focus { - background: #409EFF; - border-color: #409EFF; - color: #FFFFFF; } - .el-button--primary.is-plain:active { - background: #3a8ee6; - border-color: #3a8ee6; - color: #FFFFFF; - outline: none; } - .el-button--primary.is-plain.is-disabled, .el-button--primary.is-plain.is-disabled:hover, .el-button--primary.is-plain.is-disabled:focus, .el-button--primary.is-plain.is-disabled:active { - color: #8cc5ff; - background-color: #ecf5ff; - border-color: #d9ecff; } - .el-button--success { - color: #FFFFFF; - background-color: #67C23A; - border-color: #67C23A; } - .el-button--success:hover, .el-button--success:focus { - background: #85ce61; - border-color: #85ce61; - color: #FFFFFF; } - .el-button--success:active { - background: #5daf34; - border-color: #5daf34; - color: #FFFFFF; - outline: none; } - .el-button--success.is-active { - background: #5daf34; - border-color: #5daf34; - color: #FFFFFF; } - .el-button--success.is-disabled, .el-button--success.is-disabled:hover, .el-button--success.is-disabled:focus, .el-button--success.is-disabled:active { - color: #FFFFFF; - background-color: #b3e19d; - border-color: #b3e19d; } - .el-button--success.is-plain { - color: #67C23A; - background: #f0f9eb; - border-color: #c2e7b0; } - .el-button--success.is-plain:hover, .el-button--success.is-plain:focus { - background: #67C23A; - border-color: #67C23A; - color: #FFFFFF; } - .el-button--success.is-plain:active { - background: #5daf34; - border-color: #5daf34; - color: #FFFFFF; - outline: none; } - .el-button--success.is-plain.is-disabled, .el-button--success.is-plain.is-disabled:hover, .el-button--success.is-plain.is-disabled:focus, .el-button--success.is-plain.is-disabled:active { - color: #a4da89; - background-color: #f0f9eb; - border-color: #e1f3d8; } - .el-button--warning { - color: #FFFFFF; - background-color: #E6A23C; - border-color: #E6A23C; } - .el-button--warning:hover, .el-button--warning:focus { - background: #ebb563; - border-color: #ebb563; - color: #FFFFFF; } - .el-button--warning:active { - background: #cf9236; - border-color: #cf9236; - color: #FFFFFF; - outline: none; } - .el-button--warning.is-active { - background: #cf9236; - border-color: #cf9236; - color: #FFFFFF; } - .el-button--warning.is-disabled, .el-button--warning.is-disabled:hover, .el-button--warning.is-disabled:focus, .el-button--warning.is-disabled:active { - color: #FFFFFF; - background-color: #f3d19e; - border-color: #f3d19e; } - .el-button--warning.is-plain { - color: #E6A23C; - background: #fdf6ec; - border-color: #f5dab1; } - .el-button--warning.is-plain:hover, .el-button--warning.is-plain:focus { - background: #E6A23C; - border-color: #E6A23C; - color: #FFFFFF; } - .el-button--warning.is-plain:active { - background: #cf9236; - border-color: #cf9236; - color: #FFFFFF; - outline: none; } - .el-button--warning.is-plain.is-disabled, .el-button--warning.is-plain.is-disabled:hover, .el-button--warning.is-plain.is-disabled:focus, .el-button--warning.is-plain.is-disabled:active { - color: #f0c78a; - background-color: #fdf6ec; - border-color: #faecd8; } - .el-button--danger { - color: #FFFFFF; - background-color: #F56C6C; - border-color: #F56C6C; } - .el-button--danger:hover, .el-button--danger:focus { - background: #f78989; - border-color: #f78989; - color: #FFFFFF; } - .el-button--danger:active { - background: #dd6161; - border-color: #dd6161; - color: #FFFFFF; - outline: none; } - .el-button--danger.is-active { - background: #dd6161; - border-color: #dd6161; - color: #FFFFFF; } - .el-button--danger.is-disabled, .el-button--danger.is-disabled:hover, .el-button--danger.is-disabled:focus, .el-button--danger.is-disabled:active { - color: #FFFFFF; - background-color: #fab6b6; - border-color: #fab6b6; } - .el-button--danger.is-plain { - color: #F56C6C; - background: #fef0f0; - border-color: #fbc4c4; } - .el-button--danger.is-plain:hover, .el-button--danger.is-plain:focus { - background: #F56C6C; - border-color: #F56C6C; - color: #FFFFFF; } - .el-button--danger.is-plain:active { - background: #dd6161; - border-color: #dd6161; - color: #FFFFFF; - outline: none; } - .el-button--danger.is-plain.is-disabled, .el-button--danger.is-plain.is-disabled:hover, .el-button--danger.is-plain.is-disabled:focus, .el-button--danger.is-plain.is-disabled:active { - color: #f9a7a7; - background-color: #fef0f0; - border-color: #fde2e2; } - .el-button--info { - color: #FFFFFF; - background-color: #909399; - border-color: #909399; } - .el-button--info:hover, .el-button--info:focus { - background: #a6a9ad; - border-color: #a6a9ad; - color: #FFFFFF; } - .el-button--info:active { - background: #82848a; - border-color: #82848a; - color: #FFFFFF; - outline: none; } - .el-button--info.is-active { - background: #82848a; - border-color: #82848a; - color: #FFFFFF; } - .el-button--info.is-disabled, .el-button--info.is-disabled:hover, .el-button--info.is-disabled:focus, .el-button--info.is-disabled:active { - color: #FFFFFF; - background-color: #c8c9cc; - border-color: #c8c9cc; } - .el-button--info.is-plain { - color: #909399; - background: #f4f4f5; - border-color: #d3d4d6; } - .el-button--info.is-plain:hover, .el-button--info.is-plain:focus { - background: #909399; - border-color: #909399; - color: #FFFFFF; } - .el-button--info.is-plain:active { - background: #82848a; - border-color: #82848a; - color: #FFFFFF; - outline: none; } - .el-button--info.is-plain.is-disabled, .el-button--info.is-plain.is-disabled:hover, .el-button--info.is-plain.is-disabled:focus, .el-button--info.is-plain.is-disabled:active { - color: #bcbec2; - background-color: #f4f4f5; - border-color: #e9e9eb; } - .el-button--medium { - padding: 10px 20px; - font-size: 14px; - border-radius: 4px; } - .el-button--medium.is-round { - padding: 10px 20px; } - .el-button--medium.is-circle { - padding: 10px; } - .el-button--small { - padding: 9px 15px; - font-size: 12px; - border-radius: 3px; } - .el-button--small.is-round { - padding: 9px 15px; } - .el-button--small.is-circle { - padding: 9px; } - .el-button--mini { - padding: 7px 15px; - font-size: 12px; - border-radius: 3px; } - .el-button--mini.is-round { - padding: 7px 15px; } - .el-button--mini.is-circle { - padding: 7px; } - .el-button--text { - border-color: transparent; - color: #409EFF; - background: transparent; - padding-left: 0; - padding-right: 0; } - .el-button--text:hover, .el-button--text:focus { - color: #66b1ff; - border-color: transparent; - background-color: transparent; } - .el-button--text:active { - color: #3a8ee6; - border-color: transparent; - background-color: transparent; } - .el-button--text.is-disabled, .el-button--text.is-disabled:hover, .el-button--text.is-disabled:focus { - border-color: transparent; } - -.el-button-group { - display: inline-block; - vertical-align: middle; } - .el-button-group::before, - .el-button-group::after { - display: table; - content: ""; } - .el-button-group::after { - clear: both; } - .el-button-group > .el-button { - float: left; - position: relative; } - .el-button-group > .el-button + .el-button { - margin-left: 0; } - .el-button-group > .el-button.is-disabled { - z-index: 1; } - .el-button-group > .el-button:first-child { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-button-group > .el-button:last-child { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-button-group > .el-button:first-child:last-child { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; } - .el-button-group > .el-button:first-child:last-child.is-round { - border-radius: 20px; } - .el-button-group > .el-button:first-child:last-child.is-circle { - border-radius: 50%; } - .el-button-group > .el-button:not(:first-child):not(:last-child) { - border-radius: 0; } - .el-button-group > .el-button:not(:last-child) { - margin-right: -1px; } - .el-button-group > .el-button:hover, .el-button-group > .el-button:focus, .el-button-group > .el-button:active { - z-index: 1; } - .el-button-group > .el-button.is-active { - z-index: 1; } - .el-button-group > .el-dropdown > .el-button { - border-top-left-radius: 0; - border-bottom-left-radius: 0; - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--primary:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--primary:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--primary:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--success:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--success:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--success:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--warning:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--warning:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--warning:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--danger:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--danger:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--danger:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--info:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--info:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--info:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-textarea { - position: relative; - display: inline-block; - width: 100%; - vertical-align: bottom; - font-size: 14px; } - .el-textarea__inner { - display: block; - resize: vertical; - padding: 5px 15px; - line-height: 1.5; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - font-size: inherit; - color: #606266; - background-color: #FFFFFF; - background-image: none; - border: 1px solid #DCDFE6; - border-radius: 4px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea__inner:hover { - border-color: #C0C4CC; } - .el-textarea__inner:focus { - outline: none; - border-color: #409EFF; } - .el-textarea .el-input__count { - color: #909399; - background: #FFFFFF; - position: absolute; - font-size: 12px; - bottom: 5px; - right: 10px; } - .el-textarea.is-disabled .el-textarea__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea.is-exceed .el-textarea__inner { - border-color: #F56C6C; } - .el-textarea.is-exceed .el-input__count { - color: #F56C6C; } - -.el-input { - position: relative; - font-size: 14px; - display: inline-block; - width: 100%; } - .el-input::-webkit-scrollbar { - z-index: 11; - width: 6px; } - .el-input::-webkit-scrollbar:horizontal { - height: 6px; } - .el-input::-webkit-scrollbar-thumb { - border-radius: 5px; - width: 6px; - background: #b4bccc; } - .el-input::-webkit-scrollbar-corner { - background: #fff; } - .el-input::-webkit-scrollbar-track { - background: #fff; } - .el-input::-webkit-scrollbar-track-piece { - background: #fff; - width: 6px; } - .el-input .el-input__clear { - color: #C0C4CC; - font-size: 14px; - cursor: pointer; - -webkit-transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-input .el-input__clear:hover { - color: #909399; } - .el-input .el-input__count { - height: 100%; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - color: #909399; - font-size: 12px; } - .el-input .el-input__count .el-input__count-inner { - background: #FFFFFF; - line-height: initial; - display: inline-block; - padding: 0 5px; } - .el-input__inner { - -webkit-appearance: none; - background-color: #FFFFFF; - background-image: none; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: #606266; - display: inline-block; - font-size: inherit; - height: 40px; - line-height: 40px; - outline: none; - padding: 0 15px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - width: 100%; } - .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input__inner:hover { - border-color: #C0C4CC; } - .el-input__inner:focus { - outline: none; - border-color: #409EFF; } - .el-input__suffix { - position: absolute; - height: 100%; - right: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; - pointer-events: none; } - .el-input__suffix-inner { - pointer-events: all; } - .el-input__prefix { - position: absolute; - height: 100%; - left: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; } - .el-input__icon { - height: 100%; - width: 25px; - text-align: center; - -webkit-transition: all .3s; - transition: all .3s; - line-height: 40px; } - .el-input__icon:after { - content: ''; - height: 100%; - width: 0; - display: inline-block; - vertical-align: middle; } - .el-input__validateIcon { - pointer-events: none; } - .el-input.is-active .el-input__inner { - outline: none; - border-color: #409EFF; } - .el-input.is-disabled .el-input__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-input.is-disabled .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__icon { - cursor: not-allowed; } - .el-input.is-exceed .el-input__inner { - border-color: #F56C6C; } - .el-input.is-exceed .el-input__suffix .el-input__count { - color: #F56C6C; } - .el-input--suffix .el-input__inner { - padding-right: 30px; } - .el-input--prefix .el-input__inner { - padding-left: 30px; } - .el-input--medium { - font-size: 14px; } - .el-input--medium .el-input__inner { - height: 36px; - line-height: 36px; } - .el-input--medium .el-input__icon { - line-height: 36px; } - .el-input--small { - font-size: 13px; } - .el-input--small .el-input__inner { - height: 32px; - line-height: 32px; } - .el-input--small .el-input__icon { - line-height: 32px; } - .el-input--mini { - font-size: 12px; } - .el-input--mini .el-input__inner { - height: 28px; - line-height: 28px; } - .el-input--mini .el-input__icon { - line-height: 28px; } - -.el-input-group { - line-height: normal; - display: inline-table; - width: 100%; - border-collapse: separate; - border-spacing: 0; } - .el-input-group > .el-input__inner { - vertical-align: middle; - display: table-cell; } - .el-input-group__append, .el-input-group__prepend { - background-color: #F5F7FA; - color: #909399; - vertical-align: middle; - display: table-cell; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 4px; - padding: 0 20px; - width: 1px; - white-space: nowrap; } - .el-input-group__append:focus, .el-input-group__prepend:focus { - outline: none; } - .el-input-group__append .el-select, - .el-input-group__append .el-button, .el-input-group__prepend .el-select, - .el-input-group__prepend .el-button { - display: inline-block; - margin: -10px -20px; } - .el-input-group__append button.el-button, - .el-input-group__append div.el-select .el-input__inner, - .el-input-group__append div.el-select:hover .el-input__inner, .el-input-group__prepend button.el-button, - .el-input-group__prepend div.el-select .el-input__inner, - .el-input-group__prepend div.el-select:hover .el-input__inner { - border-color: transparent; - background-color: transparent; - color: inherit; - border-top: 0; - border-bottom: 0; } - .el-input-group__append .el-button, - .el-input-group__append .el-input, .el-input-group__prepend .el-button, - .el-input-group__prepend .el-input { - font-size: inherit; } - .el-input-group__prepend { - border-right: 0; - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group__append { - border-left: 0; - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-input__inner { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - .el-input-group--append .el-input__inner { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group--append .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - -/** disalbe default clear on IE */ -.el-input__inner::-ms-clear { - display: none; - width: 0; - height: 0; } - -.el-message-box { - display: inline-block; - width: 420px; - padding-bottom: 10px; - vertical-align: middle; - background-color: #FFFFFF; - border-radius: 4px; - border: 1px solid #EBEEF5; - font-size: 18px; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - text-align: left; - overflow: hidden; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; } - .el-message-box__wrapper { - position: fixed; - top: 0; - bottom: 0; - left: 0; - right: 0; - text-align: center; } - .el-message-box__wrapper::after { - content: ""; - display: inline-block; - height: 100%; - width: 0; - vertical-align: middle; } - .el-message-box__header { - position: relative; - padding: 15px; - padding-bottom: 10px; } - .el-message-box__title { - padding-left: 0; - margin-bottom: 0; - font-size: 18px; - line-height: 1; - color: #303133; } - .el-message-box__headerbtn { - position: absolute; - top: 15px; - right: 15px; - padding: 0; - border: none; - outline: none; - background: transparent; - font-size: 16px; - cursor: pointer; } - .el-message-box__headerbtn .el-message-box__close { - color: #909399; } - .el-message-box__headerbtn:focus .el-message-box__close, .el-message-box__headerbtn:hover .el-message-box__close { - color: #409EFF; } - .el-message-box__content { - padding: 10px 15px; - color: #606266; - font-size: 14px; } - .el-message-box__container { - position: relative; } - .el-message-box__input { - padding-top: 15px; } - .el-message-box__input input.invalid { - border-color: #F56C6C; } - .el-message-box__input input.invalid:focus { - border-color: #F56C6C; } - .el-message-box__status { - position: absolute; - top: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); - font-size: 24px !important; } - .el-message-box__status::before { - padding-left: 1px; } - .el-message-box__status + .el-message-box__message { - padding-left: 36px; - padding-right: 12px; } - .el-message-box__status.el-icon-success { - color: #67C23A; } - .el-message-box__status.el-icon-info { - color: #909399; } - .el-message-box__status.el-icon-warning { - color: #E6A23C; } - .el-message-box__status.el-icon-error { - color: #F56C6C; } - .el-message-box__message { - margin: 0; } - .el-message-box__message p { - margin: 0; - line-height: 24px; } - .el-message-box__errormsg { - color: #F56C6C; - font-size: 12px; - min-height: 18px; - margin-top: 2px; } - .el-message-box__btns { - padding: 5px 15px 0; - text-align: right; } - .el-message-box__btns button:nth-child(2) { - margin-left: 10px; } - .el-message-box__btns-reverse { - -webkit-box-orient: horizontal; - -webkit-box-direction: reverse; - -ms-flex-direction: row-reverse; - flex-direction: row-reverse; } - .el-message-box--center { - padding-bottom: 30px; } - .el-message-box--center .el-message-box__header { - padding-top: 30px; } - .el-message-box--center .el-message-box__title { - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; } - .el-message-box--center .el-message-box__status { - position: relative; - top: auto; - padding-right: 5px; - text-align: center; - -webkit-transform: translateY(-1px); - transform: translateY(-1px); } - .el-message-box--center .el-message-box__message { - margin-left: 0; } - .el-message-box--center .el-message-box__btns, .el-message-box--center .el-message-box__content { - text-align: center; } - .el-message-box--center .el-message-box__content { - padding-left: 27px; - padding-right: 27px; } - -.msgbox-fade-enter-active { - -webkit-animation: msgbox-fade-in .3s; - animation: msgbox-fade-in .3s; } - -.msgbox-fade-leave-active { - -webkit-animation: msgbox-fade-out .3s; - animation: msgbox-fade-out .3s; } - -@-webkit-keyframes msgbox-fade-in { - 0% { - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - opacity: 0; } - 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; } } - -@keyframes msgbox-fade-in { - 0% { - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - opacity: 0; } - 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; } } - -@-webkit-keyframes msgbox-fade-out { - 0% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; } - 100% { - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - opacity: 0; } } - -@keyframes msgbox-fade-out { - 0% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; } - 100% { - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - opacity: 0; } } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/message.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/message.css deleted file mode 100644 index 184ec4a3..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/message.css +++ /dev/null @@ -1,336 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-message { - min-width: 380px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - border-radius: 4px; - border-width: 1px; - border-style: solid; - border-color: #EBEEF5; - position: fixed; - left: 50%; - top: 20px; - -webkit-transform: translateX(-50%); - transform: translateX(-50%); - background-color: #edf2fc; - -webkit-transition: opacity 0.3s, top 0.4s, -webkit-transform .4s; - transition: opacity 0.3s, top 0.4s, -webkit-transform .4s; - transition: opacity 0.3s, transform .4s, top 0.4s; - transition: opacity 0.3s, transform .4s, top 0.4s, -webkit-transform .4s; - overflow: hidden; - padding: 15px 15px 15px 20px; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - .el-message.is-center { - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; } - .el-message.is-closable .el-message__content { - padding-right: 16px; } - .el-message p { - margin: 0; } - .el-message--info .el-message__content { - color: #909399; } - .el-message--success { - background-color: #f0f9eb; - border-color: #e1f3d8; } - .el-message--success .el-message__content { - color: #67C23A; } - .el-message--warning { - background-color: #fdf6ec; - border-color: #faecd8; } - .el-message--warning .el-message__content { - color: #E6A23C; } - .el-message--error { - background-color: #fef0f0; - border-color: #fde2e2; } - .el-message--error .el-message__content { - color: #F56C6C; } - .el-message__icon { - margin-right: 10px; } - .el-message__content { - padding: 0; - font-size: 14px; - line-height: 1; } - .el-message__content:focus { - outline-width: 0; } - .el-message__closeBtn { - position: absolute; - top: 50%; - right: 15px; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); - cursor: pointer; - color: #C0C4CC; - font-size: 16px; } - .el-message__closeBtn:focus { - outline-width: 0; } - .el-message__closeBtn:hover { - color: #909399; } - .el-message .el-icon-success { - color: #67C23A; } - .el-message .el-icon-error { - color: #F56C6C; } - .el-message .el-icon-info { - color: #909399; } - .el-message .el-icon-warning { - color: #E6A23C; } - -.el-message-fade-enter, -.el-message-fade-leave-active { - opacity: 0; - -webkit-transform: translate(-50%, -100%); - transform: translate(-50%, -100%); } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/notification.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/notification.css deleted file mode 100644 index eb914e4d..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/notification.css +++ /dev/null @@ -1,323 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-notification { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - width: 330px; - padding: 14px 26px 14px 13px; - border-radius: 8px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - border: 1px solid #EBEEF5; - position: fixed; - background-color: #FFFFFF; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - -webkit-transition: opacity .3s, left .3s, right .3s, top 0.4s, bottom .3s, -webkit-transform .3s; - transition: opacity .3s, left .3s, right .3s, top 0.4s, bottom .3s, -webkit-transform .3s; - transition: opacity .3s, transform .3s, left .3s, right .3s, top 0.4s, bottom .3s; - transition: opacity .3s, transform .3s, left .3s, right .3s, top 0.4s, bottom .3s, -webkit-transform .3s; - overflow: hidden; } - .el-notification.right { - right: 16px; } - .el-notification.left { - left: 16px; } - .el-notification__group { - margin-left: 13px; - margin-right: 8px; } - .el-notification__title { - font-weight: bold; - font-size: 16px; - color: #303133; - margin: 0; } - .el-notification__content { - font-size: 14px; - line-height: 21px; - margin: 6px 0 0 0; - color: #606266; - text-align: justify; } - .el-notification__content p { - margin: 0; } - .el-notification__icon { - height: 24px; - width: 24px; - font-size: 24px; } - .el-notification__closeBtn { - position: absolute; - top: 18px; - right: 15px; - cursor: pointer; - color: #909399; - font-size: 16px; } - .el-notification__closeBtn:hover { - color: #606266; } - .el-notification .el-icon-success { - color: #67C23A; } - .el-notification .el-icon-error { - color: #F56C6C; } - .el-notification .el-icon-info { - color: #909399; } - .el-notification .el-icon-warning { - color: #E6A23C; } - -.el-notification-fade-enter.right { - right: 0; - -webkit-transform: translateX(100%); - transform: translateX(100%); } - -.el-notification-fade-enter.left { - left: 0; - -webkit-transform: translateX(-100%); - transform: translateX(-100%); } - -.el-notification-fade-leave-active { - opacity: 0; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/option-group.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/option-group.css deleted file mode 100644 index ebbe7d4c..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/option-group.css +++ /dev/null @@ -1,276 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-select-group { - margin: 0; - padding: 0; } - .el-select-group__wrap { - position: relative; - list-style: none; - margin: 0; - padding: 0; } - .el-select-group__wrap:not(:last-of-type) { - padding-bottom: 24px; } - .el-select-group__wrap:not(:last-of-type)::after { - content: ''; - position: absolute; - display: block; - left: 20px; - right: 20px; - bottom: 12px; - height: 1px; - background: #E4E7ED; } - .el-select-group__title { - padding-left: 20px; - font-size: 12px; - color: #909399; - line-height: 30px; } - .el-select-group .el-select-dropdown__item { - padding-left: 20px; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/option.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/option.css deleted file mode 100644 index 7ea10207..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/option.css +++ /dev/null @@ -1,273 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-select-dropdown__item { - font-size: 14px; - padding: 0 20px; - position: relative; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - color: #606266; - height: 34px; - line-height: 34px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - cursor: pointer; } - .el-select-dropdown__item.is-disabled { - color: #C0C4CC; - cursor: not-allowed; } - .el-select-dropdown__item.is-disabled:hover { - background-color: #FFFFFF; } - .el-select-dropdown__item.hover, .el-select-dropdown__item:hover { - background-color: #F5F7FA; } - .el-select-dropdown__item.selected { - color: #409EFF; - font-weight: bold; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/page-header.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/page-header.css deleted file mode 100644 index f73ce3da..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/page-header.css +++ /dev/null @@ -1,283 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-page-header { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - line-height: 24px; } - .el-page-header__left { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - cursor: pointer; - margin-right: 40px; - position: relative; } - .el-page-header__left::after { - content: ""; - position: absolute; - width: 1px; - height: 16px; - right: -20px; - top: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); - background-color: #DCDFE6; } - .el-page-header__left .el-icon-back { - font-size: 18px; - margin-right: 6px; - -ms-flex-item-align: center; - align-self: center; } - .el-page-header__title { - font-size: 14px; - font-weight: 500; } - .el-page-header__content { - font-size: 18px; - color: #303133; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/pagination.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/pagination.css deleted file mode 100644 index 2c612471..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/pagination.css +++ /dev/null @@ -1,3275 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-popper .popper__arrow, -.el-popper .popper__arrow::after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; } - -.el-popper .popper__arrow { - border-width: 6px; - -webkit-filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); - filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); } - -.el-popper .popper__arrow::after { - content: " "; - border-width: 6px; } - -.el-popper[x-placement^="top"] { - margin-bottom: 12px; } - -.el-popper[x-placement^="top"] .popper__arrow { - bottom: -6px; - left: 50%; - margin-right: 3px; - border-top-color: #EBEEF5; - border-bottom-width: 0; } - .el-popper[x-placement^="top"] .popper__arrow::after { - bottom: 1px; - margin-left: -6px; - border-top-color: #FFFFFF; - border-bottom-width: 0; } - -.el-popper[x-placement^="bottom"] { - margin-top: 12px; } - -.el-popper[x-placement^="bottom"] .popper__arrow { - top: -6px; - left: 50%; - margin-right: 3px; - border-top-width: 0; - border-bottom-color: #EBEEF5; } - .el-popper[x-placement^="bottom"] .popper__arrow::after { - top: 1px; - margin-left: -6px; - border-top-width: 0; - border-bottom-color: #FFFFFF; } - -.el-popper[x-placement^="right"] { - margin-left: 12px; } - -.el-popper[x-placement^="right"] .popper__arrow { - top: 50%; - left: -6px; - margin-bottom: 3px; - border-right-color: #EBEEF5; - border-left-width: 0; } - .el-popper[x-placement^="right"] .popper__arrow::after { - bottom: -6px; - left: 1px; - border-right-color: #FFFFFF; - border-left-width: 0; } - -.el-popper[x-placement^="left"] { - margin-right: 12px; } - -.el-popper[x-placement^="left"] .popper__arrow { - top: 50%; - right: -6px; - margin-bottom: 3px; - border-right-width: 0; - border-left-color: #EBEEF5; } - .el-popper[x-placement^="left"] .popper__arrow::after { - right: 1px; - bottom: -6px; - margin-left: -6px; - border-right-width: 0; - border-left-color: #FFFFFF; } - -.el-select-dropdown { - position: absolute; - z-index: 1001; - border: solid 1px #E4E7ED; - border-radius: 4px; - background-color: #FFFFFF; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - -webkit-box-sizing: border-box; - box-sizing: border-box; - margin: 5px 0; } - .el-select-dropdown.is-multiple .el-select-dropdown__item.selected { - color: #409EFF; - background-color: #FFFFFF; } - .el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover { - background-color: #F5F7FA; } - .el-select-dropdown.is-multiple .el-select-dropdown__item.selected::after { - position: absolute; - right: 20px; - font-family: 'element-icons'; - content: "\e6da"; - font-size: 12px; - font-weight: bold; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; } - .el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list { - padding: 0; } - -.el-select-dropdown__empty { - padding: 10px 0; - margin: 0; - text-align: center; - color: #999; - font-size: 14px; } - -.el-select-dropdown__wrap { - max-height: 274px; } - -.el-select-dropdown__list { - list-style: none; - padding: 6px 0; - margin: 0; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-textarea { - position: relative; - display: inline-block; - width: 100%; - vertical-align: bottom; - font-size: 14px; } - .el-textarea__inner { - display: block; - resize: vertical; - padding: 5px 15px; - line-height: 1.5; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - font-size: inherit; - color: #606266; - background-color: #FFFFFF; - background-image: none; - border: 1px solid #DCDFE6; - border-radius: 4px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea__inner:hover { - border-color: #C0C4CC; } - .el-textarea__inner:focus { - outline: none; - border-color: #409EFF; } - .el-textarea .el-input__count { - color: #909399; - background: #FFFFFF; - position: absolute; - font-size: 12px; - bottom: 5px; - right: 10px; } - .el-textarea.is-disabled .el-textarea__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea.is-exceed .el-textarea__inner { - border-color: #F56C6C; } - .el-textarea.is-exceed .el-input__count { - color: #F56C6C; } - -.el-input { - position: relative; - font-size: 14px; - display: inline-block; - width: 100%; } - .el-input::-webkit-scrollbar { - z-index: 11; - width: 6px; } - .el-input::-webkit-scrollbar:horizontal { - height: 6px; } - .el-input::-webkit-scrollbar-thumb { - border-radius: 5px; - width: 6px; - background: #b4bccc; } - .el-input::-webkit-scrollbar-corner { - background: #fff; } - .el-input::-webkit-scrollbar-track { - background: #fff; } - .el-input::-webkit-scrollbar-track-piece { - background: #fff; - width: 6px; } - .el-input .el-input__clear { - color: #C0C4CC; - font-size: 14px; - cursor: pointer; - -webkit-transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-input .el-input__clear:hover { - color: #909399; } - .el-input .el-input__count { - height: 100%; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - color: #909399; - font-size: 12px; } - .el-input .el-input__count .el-input__count-inner { - background: #FFFFFF; - line-height: initial; - display: inline-block; - padding: 0 5px; } - .el-input__inner { - -webkit-appearance: none; - background-color: #FFFFFF; - background-image: none; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: #606266; - display: inline-block; - font-size: inherit; - height: 40px; - line-height: 40px; - outline: none; - padding: 0 15px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - width: 100%; } - .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input__inner:hover { - border-color: #C0C4CC; } - .el-input__inner:focus { - outline: none; - border-color: #409EFF; } - .el-input__suffix { - position: absolute; - height: 100%; - right: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; - pointer-events: none; } - .el-input__suffix-inner { - pointer-events: all; } - .el-input__prefix { - position: absolute; - height: 100%; - left: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; } - .el-input__icon { - height: 100%; - width: 25px; - text-align: center; - -webkit-transition: all .3s; - transition: all .3s; - line-height: 40px; } - .el-input__icon:after { - content: ''; - height: 100%; - width: 0; - display: inline-block; - vertical-align: middle; } - .el-input__validateIcon { - pointer-events: none; } - .el-input.is-active .el-input__inner { - outline: none; - border-color: #409EFF; } - .el-input.is-disabled .el-input__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-input.is-disabled .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__icon { - cursor: not-allowed; } - .el-input.is-exceed .el-input__inner { - border-color: #F56C6C; } - .el-input.is-exceed .el-input__suffix .el-input__count { - color: #F56C6C; } - .el-input--suffix .el-input__inner { - padding-right: 30px; } - .el-input--prefix .el-input__inner { - padding-left: 30px; } - .el-input--medium { - font-size: 14px; } - .el-input--medium .el-input__inner { - height: 36px; - line-height: 36px; } - .el-input--medium .el-input__icon { - line-height: 36px; } - .el-input--small { - font-size: 13px; } - .el-input--small .el-input__inner { - height: 32px; - line-height: 32px; } - .el-input--small .el-input__icon { - line-height: 32px; } - .el-input--mini { - font-size: 12px; } - .el-input--mini .el-input__inner { - height: 28px; - line-height: 28px; } - .el-input--mini .el-input__icon { - line-height: 28px; } - -.el-input-group { - line-height: normal; - display: inline-table; - width: 100%; - border-collapse: separate; - border-spacing: 0; } - .el-input-group > .el-input__inner { - vertical-align: middle; - display: table-cell; } - .el-input-group__append, .el-input-group__prepend { - background-color: #F5F7FA; - color: #909399; - vertical-align: middle; - display: table-cell; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 4px; - padding: 0 20px; - width: 1px; - white-space: nowrap; } - .el-input-group__append:focus, .el-input-group__prepend:focus { - outline: none; } - .el-input-group__append .el-select, - .el-input-group__append .el-button, .el-input-group__prepend .el-select, - .el-input-group__prepend .el-button { - display: inline-block; - margin: -10px -20px; } - .el-input-group__append button.el-button, - .el-input-group__append div.el-select .el-input__inner, - .el-input-group__append div.el-select:hover .el-input__inner, .el-input-group__prepend button.el-button, - .el-input-group__prepend div.el-select .el-input__inner, - .el-input-group__prepend div.el-select:hover .el-input__inner { - border-color: transparent; - background-color: transparent; - color: inherit; - border-top: 0; - border-bottom: 0; } - .el-input-group__append .el-button, - .el-input-group__append .el-input, .el-input-group__prepend .el-button, - .el-input-group__prepend .el-input { - font-size: inherit; } - .el-input-group__prepend { - border-right: 0; - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group__append { - border-left: 0; - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-input__inner { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - .el-input-group--append .el-input__inner { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group--append .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - -/** disalbe default clear on IE */ -.el-input__inner::-ms-clear { - display: none; - width: 0; - height: 0; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-tag { - background-color: #ecf5ff; - border-color: #d9ecff; - color: #409eff; - display: inline-block; - height: 32px; - padding: 0 10px; - line-height: 30px; - font-size: 12px; - color: #409EFF; - border-width: 1px; - border-style: solid; - border-radius: 4px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - white-space: nowrap; } - .el-tag.is-hit { - border-color: #409EFF; } - .el-tag .el-tag__close { - color: #409eff; } - .el-tag .el-tag__close:hover { - color: #FFFFFF; - background-color: #409eff; } - .el-tag.el-tag--info { - background-color: #f4f4f5; - border-color: #e9e9eb; - color: #909399; } - .el-tag.el-tag--info.is-hit { - border-color: #909399; } - .el-tag.el-tag--info .el-tag__close { - color: #909399; } - .el-tag.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #909399; } - .el-tag.el-tag--success { - background-color: #f0f9eb; - border-color: #e1f3d8; - color: #67c23a; } - .el-tag.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag.el-tag--success .el-tag__close { - color: #67c23a; } - .el-tag.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #67c23a; } - .el-tag.el-tag--warning { - background-color: #fdf6ec; - border-color: #faecd8; - color: #e6a23c; } - .el-tag.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag.el-tag--warning .el-tag__close { - color: #e6a23c; } - .el-tag.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #e6a23c; } - .el-tag.el-tag--danger { - background-color: #fef0f0; - border-color: #fde2e2; - color: #f56c6c; } - .el-tag.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag.el-tag--danger .el-tag__close { - color: #f56c6c; } - .el-tag.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f56c6c; } - .el-tag .el-icon-close { - border-radius: 50%; - text-align: center; - position: relative; - cursor: pointer; - font-size: 12px; - height: 16px; - width: 16px; - line-height: 16px; - vertical-align: middle; - top: -1px; - right: -5px; } - .el-tag .el-icon-close::before { - display: block; } - .el-tag--dark { - background-color: #409eff; - border-color: #409eff; - color: white; } - .el-tag--dark.is-hit { - border-color: #409EFF; } - .el-tag--dark .el-tag__close { - color: white; } - .el-tag--dark .el-tag__close:hover { - color: #FFFFFF; - background-color: #66b1ff; } - .el-tag--dark.el-tag--info { - background-color: #909399; - border-color: #909399; - color: white; } - .el-tag--dark.el-tag--info.is-hit { - border-color: #909399; } - .el-tag--dark.el-tag--info .el-tag__close { - color: white; } - .el-tag--dark.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #a6a9ad; } - .el-tag--dark.el-tag--success { - background-color: #67c23a; - border-color: #67c23a; - color: white; } - .el-tag--dark.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag--dark.el-tag--success .el-tag__close { - color: white; } - .el-tag--dark.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #85ce61; } - .el-tag--dark.el-tag--warning { - background-color: #e6a23c; - border-color: #e6a23c; - color: white; } - .el-tag--dark.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag--dark.el-tag--warning .el-tag__close { - color: white; } - .el-tag--dark.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #ebb563; } - .el-tag--dark.el-tag--danger { - background-color: #f56c6c; - border-color: #f56c6c; - color: white; } - .el-tag--dark.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag--dark.el-tag--danger .el-tag__close { - color: white; } - .el-tag--dark.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f78989; } - .el-tag--plain { - background-color: white; - border-color: #b3d8ff; - color: #409eff; } - .el-tag--plain.is-hit { - border-color: #409EFF; } - .el-tag--plain .el-tag__close { - color: #409eff; } - .el-tag--plain .el-tag__close:hover { - color: #FFFFFF; - background-color: #409eff; } - .el-tag--plain.el-tag--info { - background-color: white; - border-color: #d3d4d6; - color: #909399; } - .el-tag--plain.el-tag--info.is-hit { - border-color: #909399; } - .el-tag--plain.el-tag--info .el-tag__close { - color: #909399; } - .el-tag--plain.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #909399; } - .el-tag--plain.el-tag--success { - background-color: white; - border-color: #c2e7b0; - color: #67c23a; } - .el-tag--plain.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag--plain.el-tag--success .el-tag__close { - color: #67c23a; } - .el-tag--plain.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #67c23a; } - .el-tag--plain.el-tag--warning { - background-color: white; - border-color: #f5dab1; - color: #e6a23c; } - .el-tag--plain.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag--plain.el-tag--warning .el-tag__close { - color: #e6a23c; } - .el-tag--plain.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #e6a23c; } - .el-tag--plain.el-tag--danger { - background-color: white; - border-color: #fbc4c4; - color: #f56c6c; } - .el-tag--plain.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag--plain.el-tag--danger .el-tag__close { - color: #f56c6c; } - .el-tag--plain.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f56c6c; } - .el-tag--medium { - height: 28px; - line-height: 26px; } - .el-tag--medium .el-icon-close { - -webkit-transform: scale(0.8); - transform: scale(0.8); } - .el-tag--small { - height: 24px; - padding: 0 8px; - line-height: 22px; } - .el-tag--small .el-icon-close { - -webkit-transform: scale(0.8); - transform: scale(0.8); } - .el-tag--mini { - height: 20px; - padding: 0 5px; - line-height: 19px; } - .el-tag--mini .el-icon-close { - margin-left: -3px; - -webkit-transform: scale(0.7); - transform: scale(0.7); } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-select-dropdown__item { - font-size: 14px; - padding: 0 20px; - position: relative; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - color: #606266; - height: 34px; - line-height: 34px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - cursor: pointer; } - .el-select-dropdown__item.is-disabled { - color: #C0C4CC; - cursor: not-allowed; } - .el-select-dropdown__item.is-disabled:hover { - background-color: #FFFFFF; } - .el-select-dropdown__item.hover, .el-select-dropdown__item:hover { - background-color: #F5F7FA; } - .el-select-dropdown__item.selected { - color: #409EFF; - font-weight: bold; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-select-group { - margin: 0; - padding: 0; } - .el-select-group__wrap { - position: relative; - list-style: none; - margin: 0; - padding: 0; } - .el-select-group__wrap:not(:last-of-type) { - padding-bottom: 24px; } - .el-select-group__wrap:not(:last-of-type)::after { - content: ''; - position: absolute; - display: block; - left: 20px; - right: 20px; - bottom: 12px; - height: 1px; - background: #E4E7ED; } - .el-select-group__title { - padding-left: 20px; - font-size: 12px; - color: #909399; - line-height: 30px; } - .el-select-group .el-select-dropdown__item { - padding-left: 20px; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-scrollbar { - overflow: hidden; - position: relative; } - .el-scrollbar:hover > .el-scrollbar__bar, .el-scrollbar:active > .el-scrollbar__bar, .el-scrollbar:focus > .el-scrollbar__bar { - opacity: 1; - -webkit-transition: opacity 340ms ease-out; - transition: opacity 340ms ease-out; } - .el-scrollbar__wrap { - overflow: scroll; - height: 100%; } - .el-scrollbar__wrap--hidden-default { - scrollbar-width: none; } - .el-scrollbar__wrap--hidden-default::-webkit-scrollbar { - width: 0; - height: 0; } - .el-scrollbar__thumb { - position: relative; - display: block; - width: 0; - height: 0; - cursor: pointer; - border-radius: inherit; - background-color: rgba(144, 147, 153, 0.3); - -webkit-transition: .3s background-color; - transition: .3s background-color; } - .el-scrollbar__thumb:hover { - background-color: rgba(144, 147, 153, 0.5); } - .el-scrollbar__bar { - position: absolute; - right: 2px; - bottom: 2px; - z-index: 1; - border-radius: 4px; - opacity: 0; - -webkit-transition: opacity 120ms ease-out; - transition: opacity 120ms ease-out; } - .el-scrollbar__bar.is-vertical { - width: 6px; - top: 2px; } - .el-scrollbar__bar.is-vertical > div { - width: 100%; } - .el-scrollbar__bar.is-horizontal { - height: 6px; - left: 2px; } - .el-scrollbar__bar.is-horizontal > div { - height: 100%; } - -.el-select { - display: inline-block; - position: relative; } - .el-select .el-select__tags -> span { - display: contents; } - .el-select:hover .el-input__inner { - border-color: #C0C4CC; } - .el-select .el-input__inner { - cursor: pointer; - padding-right: 35px; } - .el-select .el-input__inner:focus { - border-color: #409EFF; } - .el-select .el-input .el-select__caret { - color: #C0C4CC; - font-size: 14px; - -webkit-transition: -webkit-transform .3s; - transition: -webkit-transform .3s; - transition: transform .3s; - transition: transform .3s, -webkit-transform .3s; - -webkit-transform: rotateZ(180deg); - transform: rotateZ(180deg); - cursor: pointer; } - .el-select .el-input .el-select__caret.is-reverse { - -webkit-transform: rotateZ(0deg); - transform: rotateZ(0deg); } - .el-select .el-input .el-select__caret.is-show-close { - font-size: 14px; - text-align: center; - -webkit-transform: rotateZ(180deg); - transform: rotateZ(180deg); - border-radius: 100%; - color: #C0C4CC; - -webkit-transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-select .el-input .el-select__caret.is-show-close:hover { - color: #909399; } - .el-select .el-input.is-disabled .el-input__inner { - cursor: not-allowed; } - .el-select .el-input.is-disabled .el-input__inner:hover { - border-color: #E4E7ED; } - .el-select .el-input.is-focus .el-input__inner { - border-color: #409EFF; } - .el-select > .el-input { - display: block; } - .el-select__input { - border: none; - outline: none; - padding: 0; - margin-left: 15px; - color: #666; - font-size: 14px; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - height: 28px; - background-color: transparent; } - .el-select__input.is-mini { - height: 14px; } - .el-select__close { - cursor: pointer; - position: absolute; - top: 8px; - z-index: 1000; - right: 25px; - color: #C0C4CC; - line-height: 18px; - font-size: 14px; } - .el-select__close:hover { - color: #909399; } - .el-select__tags { - position: absolute; - line-height: normal; - white-space: normal; - z-index: 1; - top: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -ms-flex-wrap: wrap; - flex-wrap: wrap; } - .el-select .el-tag__close { - margin-top: -2px; } - .el-select .el-tag { - -webkit-box-sizing: border-box; - box-sizing: border-box; - border-color: transparent; - margin: 2px 0 2px 6px; - background-color: #f0f2f5; } - .el-select .el-tag__close.el-icon-close { - background-color: #C0C4CC; - right: -7px; - top: 0; - color: #FFFFFF; } - .el-select .el-tag__close.el-icon-close:hover { - background-color: #909399; } - .el-select .el-tag__close.el-icon-close::before { - display: block; - -webkit-transform: translate(0, 0.5px); - transform: translate(0, 0.5px); } - -.el-pagination { - white-space: nowrap; - padding: 2px 5px; - color: #303133; - font-weight: bold; } - .el-pagination::before, - .el-pagination::after { - display: table; - content: ""; } - .el-pagination::after { - clear: both; } - .el-pagination span:not([class*=suffix]), - .el-pagination button { - display: inline-block; - font-size: 13px; - min-width: 35.5px; - height: 28px; - line-height: 28px; - vertical-align: top; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-pagination .el-input__inner { - text-align: center; - -moz-appearance: textfield; - line-height: normal; } - .el-pagination .el-input__suffix { - right: 0; - -webkit-transform: scale(0.8); - transform: scale(0.8); } - .el-pagination .el-select .el-input { - width: 100px; - margin: 0 5px; } - .el-pagination .el-select .el-input .el-input__inner { - padding-right: 25px; - border-radius: 3px; } - .el-pagination button { - border: none; - padding: 0 6px; - background: transparent; } - .el-pagination button:focus { - outline: none; } - .el-pagination button:hover { - color: #409EFF; } - .el-pagination button:disabled { - color: #C0C4CC; - background-color: #FFFFFF; - cursor: not-allowed; } - .el-pagination .btn-prev, - .el-pagination .btn-next { - background: center center no-repeat; - background-size: 16px; - background-color: #FFFFFF; - cursor: pointer; - margin: 0; - color: #303133; } - .el-pagination .btn-prev .el-icon, - .el-pagination .btn-next .el-icon { - display: block; - font-size: 12px; - font-weight: bold; } - .el-pagination .btn-prev { - padding-right: 12px; } - .el-pagination .btn-next { - padding-left: 12px; } - .el-pagination .el-pager li.disabled { - color: #C0C4CC; - cursor: not-allowed; } - .el-pagination--small .btn-prev, - .el-pagination--small .btn-next, - .el-pagination--small .el-pager li, - .el-pagination--small .el-pager li.btn-quicknext, - .el-pagination--small .el-pager li.btn-quickprev, - .el-pagination--small .el-pager li:last-child { - border-color: transparent; - font-size: 12px; - line-height: 22px; - height: 22px; - min-width: 22px; } - .el-pagination--small .arrow.disabled { - visibility: hidden; } - .el-pagination--small .more::before, - .el-pagination--small li.more::before { - line-height: 24px; } - .el-pagination--small span:not([class*=suffix]), - .el-pagination--small button { - height: 22px; - line-height: 22px; } - .el-pagination--small .el-pagination__editor { - height: 22px; } - .el-pagination--small .el-pagination__editor.el-input .el-input__inner { - height: 22px; } - .el-pagination__sizes { - margin: 0 10px 0 0; - font-weight: normal; - color: #606266; } - .el-pagination__sizes .el-input .el-input__inner { - font-size: 13px; - padding-left: 8px; } - .el-pagination__sizes .el-input .el-input__inner:hover { - border-color: #409EFF; } - .el-pagination__total { - margin-right: 10px; - font-weight: normal; - color: #606266; } - .el-pagination__jump { - margin-left: 24px; - font-weight: normal; - color: #606266; } - .el-pagination__jump .el-input__inner { - padding: 0 3px; } - .el-pagination__rightwrapper { - float: right; } - .el-pagination__editor { - line-height: 18px; - padding: 0 2px; - height: 28px; - text-align: center; - margin: 0 2px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - border-radius: 3px; } - .el-pagination__editor.el-input { - width: 50px; } - .el-pagination__editor.el-input .el-input__inner { - height: 28px; } - .el-pagination__editor .el-input__inner::-webkit-inner-spin-button, - .el-pagination__editor .el-input__inner::-webkit-outer-spin-button { - -webkit-appearance: none; - margin: 0; } - .el-pagination.is-background .btn-prev, - .el-pagination.is-background .btn-next, - .el-pagination.is-background .el-pager li { - margin: 0 5px; - background-color: #f4f4f5; - color: #606266; - min-width: 30px; - border-radius: 2px; } - .el-pagination.is-background .btn-prev.disabled, - .el-pagination.is-background .btn-next.disabled, - .el-pagination.is-background .el-pager li.disabled { - color: #C0C4CC; } - .el-pagination.is-background .btn-prev, .el-pagination.is-background .btn-next { - padding: 0; } - .el-pagination.is-background .btn-prev:disabled, .el-pagination.is-background .btn-next:disabled { - color: #C0C4CC; } - .el-pagination.is-background .el-pager li:not(.disabled):hover { - color: #409EFF; } - .el-pagination.is-background .el-pager li:not(.disabled).active { - background-color: #409EFF; - color: #FFFFFF; } - .el-pagination.is-background.el-pagination--small .btn-prev, - .el-pagination.is-background.el-pagination--small .btn-next, - .el-pagination.is-background.el-pagination--small .el-pager li { - margin: 0 3px; - min-width: 22px; } - -.el-pager { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - list-style: none; - display: inline-block; - vertical-align: top; - font-size: 0; - padding: 0; - margin: 0; } - .el-pager .more::before { - line-height: 30px; } - .el-pager li { - padding: 0 4px; - background: #FFFFFF; - vertical-align: top; - display: inline-block; - font-size: 13px; - min-width: 35.5px; - height: 28px; - line-height: 28px; - cursor: pointer; - -webkit-box-sizing: border-box; - box-sizing: border-box; - text-align: center; - margin: 0; } - .el-pager li.btn-quicknext, .el-pager li.btn-quickprev { - line-height: 28px; - color: #303133; } - .el-pager li.btn-quicknext.disabled, .el-pager li.btn-quickprev.disabled { - color: #C0C4CC; } - .el-pager li.btn-quickprev:hover { - cursor: pointer; } - .el-pager li.btn-quicknext:hover { - cursor: pointer; } - .el-pager li.active + li { - border-left: 0; } - .el-pager li:hover { - color: #409EFF; } - .el-pager li.active { - color: #409EFF; - cursor: default; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/popconfirm.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/popconfirm.css deleted file mode 100644 index 709445cd..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/popconfirm.css +++ /dev/null @@ -1,264 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-popconfirm__main { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - -.el-popconfirm__icon { - margin-right: 5px; } - -.el-popconfirm__action { - text-align: right; - margin: 0; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/popover.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/popover.css deleted file mode 100644 index 75610a0a..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/popover.css +++ /dev/null @@ -1,605 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-popper .popper__arrow, -.el-popper .popper__arrow::after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; } - -.el-popper .popper__arrow { - border-width: 6px; - -webkit-filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); - filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); } - -.el-popper .popper__arrow::after { - content: " "; - border-width: 6px; } - -.el-popper[x-placement^="top"] { - margin-bottom: 12px; } - -.el-popper[x-placement^="top"] .popper__arrow { - bottom: -6px; - left: 50%; - margin-right: 3px; - border-top-color: #EBEEF5; - border-bottom-width: 0; } - .el-popper[x-placement^="top"] .popper__arrow::after { - bottom: 1px; - margin-left: -6px; - border-top-color: #FFFFFF; - border-bottom-width: 0; } - -.el-popper[x-placement^="bottom"] { - margin-top: 12px; } - -.el-popper[x-placement^="bottom"] .popper__arrow { - top: -6px; - left: 50%; - margin-right: 3px; - border-top-width: 0; - border-bottom-color: #EBEEF5; } - .el-popper[x-placement^="bottom"] .popper__arrow::after { - top: 1px; - margin-left: -6px; - border-top-width: 0; - border-bottom-color: #FFFFFF; } - -.el-popper[x-placement^="right"] { - margin-left: 12px; } - -.el-popper[x-placement^="right"] .popper__arrow { - top: 50%; - left: -6px; - margin-bottom: 3px; - border-right-color: #EBEEF5; - border-left-width: 0; } - .el-popper[x-placement^="right"] .popper__arrow::after { - bottom: -6px; - left: 1px; - border-right-color: #FFFFFF; - border-left-width: 0; } - -.el-popper[x-placement^="left"] { - margin-right: 12px; } - -.el-popper[x-placement^="left"] .popper__arrow { - top: 50%; - right: -6px; - margin-bottom: 3px; - border-right-width: 0; - border-left-color: #EBEEF5; } - .el-popper[x-placement^="left"] .popper__arrow::after { - right: 1px; - bottom: -6px; - margin-left: -6px; - border-right-width: 0; - border-left-color: #FFFFFF; } - -.el-popover { - position: absolute; - background: #FFFFFF; - min-width: 150px; - border-radius: 4px; - border: 1px solid #EBEEF5; - padding: 12px; - z-index: 2000; - color: #606266; - line-height: 1.4; - text-align: justify; - font-size: 14px; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - word-break: break-all; } - .el-popover--plain { - padding: 18px 20px; } - .el-popover__title { - color: #303133; - font-size: 16px; - line-height: 1; - margin-bottom: 12px; } - .el-popover__reference:focus:not(.focusing), .el-popover__reference:focus:hover { - outline-width: 0; } - .el-popover:focus:active, .el-popover:focus { - outline-width: 0; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/popper.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/popper.css deleted file mode 100644 index 52a7e32f..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/popper.css +++ /dev/null @@ -1,328 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-popper .popper__arrow, -.el-popper .popper__arrow::after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; } - -.el-popper .popper__arrow { - border-width: 6px; - -webkit-filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); - filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); } - -.el-popper .popper__arrow::after { - content: " "; - border-width: 6px; } - -.el-popper[x-placement^="top"] { - margin-bottom: 12px; } - -.el-popper[x-placement^="top"] .popper__arrow { - bottom: -6px; - left: 50%; - margin-right: 3px; - border-top-color: #EBEEF5; - border-bottom-width: 0; } - .el-popper[x-placement^="top"] .popper__arrow::after { - bottom: 1px; - margin-left: -6px; - border-top-color: #FFFFFF; - border-bottom-width: 0; } - -.el-popper[x-placement^="bottom"] { - margin-top: 12px; } - -.el-popper[x-placement^="bottom"] .popper__arrow { - top: -6px; - left: 50%; - margin-right: 3px; - border-top-width: 0; - border-bottom-color: #EBEEF5; } - .el-popper[x-placement^="bottom"] .popper__arrow::after { - top: 1px; - margin-left: -6px; - border-top-width: 0; - border-bottom-color: #FFFFFF; } - -.el-popper[x-placement^="right"] { - margin-left: 12px; } - -.el-popper[x-placement^="right"] .popper__arrow { - top: 50%; - left: -6px; - margin-bottom: 3px; - border-right-color: #EBEEF5; - border-left-width: 0; } - .el-popper[x-placement^="right"] .popper__arrow::after { - bottom: -6px; - left: 1px; - border-right-color: #FFFFFF; - border-left-width: 0; } - -.el-popper[x-placement^="left"] { - margin-right: 12px; } - -.el-popper[x-placement^="left"] .popper__arrow { - top: 50%; - right: -6px; - margin-bottom: 3px; - border-right-width: 0; - border-left-color: #EBEEF5; } - .el-popper[x-placement^="left"] .popper__arrow::after { - right: 1px; - bottom: -6px; - margin-left: -6px; - border-right-width: 0; - border-left-color: #FFFFFF; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/progress.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/progress.css deleted file mode 100644 index 18649262..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/progress.css +++ /dev/null @@ -1,349 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-progress { - position: relative; - line-height: 1; } - .el-progress__text { - font-size: 14px; - color: #606266; - display: inline-block; - vertical-align: middle; - margin-left: 10px; - line-height: 1; } - .el-progress__text i { - vertical-align: middle; - display: block; } - .el-progress--circle, .el-progress--dashboard { - display: inline-block; } - .el-progress--circle .el-progress__text, .el-progress--dashboard .el-progress__text { - position: absolute; - top: 50%; - left: 0; - width: 100%; - text-align: center; - margin: 0; - -webkit-transform: translate(0, -50%); - transform: translate(0, -50%); } - .el-progress--circle .el-progress__text i, .el-progress--dashboard .el-progress__text i { - vertical-align: middle; - display: inline-block; } - .el-progress--without-text .el-progress__text { - display: none; } - .el-progress--without-text .el-progress-bar { - padding-right: 0; - margin-right: 0; - display: block; } - .el-progress--text-inside .el-progress-bar { - padding-right: 0; - margin-right: 0; } - .el-progress.is-success .el-progress-bar__inner { - background-color: #67C23A; } - .el-progress.is-success .el-progress__text { - color: #67C23A; } - .el-progress.is-warning .el-progress-bar__inner { - background-color: #E6A23C; } - .el-progress.is-warning .el-progress__text { - color: #E6A23C; } - .el-progress.is-exception .el-progress-bar__inner { - background-color: #F56C6C; } - .el-progress.is-exception .el-progress__text { - color: #F56C6C; } - -.el-progress-bar { - padding-right: 50px; - display: inline-block; - vertical-align: middle; - width: 100%; - margin-right: -55px; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-progress-bar__outer { - height: 6px; - border-radius: 100px; - background-color: #EBEEF5; - overflow: hidden; - position: relative; - vertical-align: middle; } - .el-progress-bar__inner { - position: absolute; - left: 0; - top: 0; - height: 100%; - background-color: #409EFF; - text-align: right; - border-radius: 100px; - line-height: 1; - white-space: nowrap; - -webkit-transition: width 0.6s ease; - transition: width 0.6s ease; } - .el-progress-bar__inner::after { - display: inline-block; - content: ""; - height: 100%; - vertical-align: middle; } - .el-progress-bar__innerText { - display: inline-block; - vertical-align: middle; - color: #FFFFFF; - font-size: 12px; - margin: 0 5px; } - -@-webkit-keyframes progress { - 0% { - background-position: 0 0; } - 100% { - background-position: 32px 0; } } - -@keyframes progress { - 0% { - background-position: 0 0; } - 100% { - background-position: 32px 0; } } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/radio-button.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/radio-button.css deleted file mode 100644 index 26afe478..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/radio-button.css +++ /dev/null @@ -1,458 +0,0 @@ -@charset "UTF-8"; -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-radio-button { - position: relative; - display: inline-block; - outline: none; } - .el-radio-button__inner { - display: inline-block; - line-height: 1; - white-space: nowrap; - vertical-align: middle; - background: #FFFFFF; - border: 1px solid #DCDFE6; - font-weight: 500; - border-left: 0; - color: #606266; - -webkit-appearance: none; - text-align: center; - -webkit-box-sizing: border-box; - box-sizing: border-box; - outline: none; - margin: 0; - position: relative; - cursor: pointer; - -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - padding: 12px 20px; - font-size: 14px; - border-radius: 0; } - .el-radio-button__inner.is-round { - padding: 12px 20px; } - .el-radio-button__inner:hover { - color: #409EFF; } - .el-radio-button__inner [class*="el-icon-"] { - line-height: 0.9; } - .el-radio-button__inner [class*="el-icon-"] + span { - margin-left: 5px; } - .el-radio-button:first-child .el-radio-button__inner { - border-left: 1px solid #DCDFE6; - border-radius: 4px 0 0 4px; - -webkit-box-shadow: none !important; - box-shadow: none !important; } - .el-radio-button__orig-radio { - opacity: 0; - outline: none; - position: absolute; - z-index: -1; } - .el-radio-button__orig-radio:checked + .el-radio-button__inner { - color: #FFFFFF; - background-color: #409EFF; - border-color: #409EFF; - -webkit-box-shadow: -1px 0 0 0 #409EFF; - box-shadow: -1px 0 0 0 #409EFF; } - .el-radio-button__orig-radio:disabled + .el-radio-button__inner { - color: #C0C4CC; - cursor: not-allowed; - background-image: none; - background-color: #FFFFFF; - border-color: #EBEEF5; - -webkit-box-shadow: none; - box-shadow: none; } - .el-radio-button__orig-radio:disabled:checked + .el-radio-button__inner { - background-color: #F2F6FC; } - .el-radio-button:last-child .el-radio-button__inner { - border-radius: 0 4px 4px 0; } - .el-radio-button:first-child:last-child .el-radio-button__inner { - border-radius: 4px; } - .el-radio-button--medium .el-radio-button__inner { - padding: 10px 20px; - font-size: 14px; - border-radius: 0; } - .el-radio-button--medium .el-radio-button__inner.is-round { - padding: 10px 20px; } - .el-radio-button--small .el-radio-button__inner { - padding: 9px 15px; - font-size: 12px; - border-radius: 0; } - .el-radio-button--small .el-radio-button__inner.is-round { - padding: 9px 15px; } - .el-radio-button--mini .el-radio-button__inner { - padding: 7px 15px; - font-size: 12px; - border-radius: 0; } - .el-radio-button--mini .el-radio-button__inner.is-round { - padding: 7px 15px; } - .el-radio-button:focus:not(.is-focus):not(:active):not(.is-disabled) { - /*获得焦点时 样式提醒*/ - -webkit-box-shadow: 0 0 2px 2px #409EFF; - box-shadow: 0 0 2px 2px #409EFF; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/radio-group.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/radio-group.css deleted file mode 100644 index f492eac0..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/radio-group.css +++ /dev/null @@ -1,255 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-radio-group { - display: inline-block; - line-height: 1; - vertical-align: middle; - font-size: 0; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/radio.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/radio.css deleted file mode 100644 index 06fa228c..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/radio.css +++ /dev/null @@ -1,509 +0,0 @@ -@charset "UTF-8"; -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-radio { - color: #606266; - font-weight: 500; - line-height: 1; - position: relative; - cursor: pointer; - display: inline-block; - white-space: nowrap; - outline: none; - font-size: 14px; - margin-right: 30px; - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; } - .el-radio.is-bordered { - padding: 12px 20px 0 10px; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - height: 40px; } - .el-radio.is-bordered.is-checked { - border-color: #409EFF; } - .el-radio.is-bordered.is-disabled { - cursor: not-allowed; - border-color: #EBEEF5; } - .el-radio.is-bordered + .el-radio.is-bordered { - margin-left: 10px; } - .el-radio--medium.is-bordered { - padding: 10px 20px 0 10px; - border-radius: 4px; - height: 36px; } - .el-radio--medium.is-bordered .el-radio__label { - font-size: 14px; } - .el-radio--medium.is-bordered .el-radio__inner { - height: 14px; - width: 14px; } - .el-radio--small.is-bordered { - padding: 8px 15px 0 10px; - border-radius: 3px; - height: 32px; } - .el-radio--small.is-bordered .el-radio__label { - font-size: 12px; } - .el-radio--small.is-bordered .el-radio__inner { - height: 12px; - width: 12px; } - .el-radio--mini.is-bordered { - padding: 6px 15px 0 10px; - border-radius: 3px; - height: 28px; } - .el-radio--mini.is-bordered .el-radio__label { - font-size: 12px; } - .el-radio--mini.is-bordered .el-radio__inner { - height: 12px; - width: 12px; } - .el-radio:last-child { - margin-right: 0; } - .el-radio__input { - white-space: nowrap; - cursor: pointer; - outline: none; - display: inline-block; - line-height: 1; - position: relative; - vertical-align: middle; } - .el-radio__input.is-disabled .el-radio__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - cursor: not-allowed; } - .el-radio__input.is-disabled .el-radio__inner::after { - cursor: not-allowed; - background-color: #F5F7FA; } - .el-radio__input.is-disabled .el-radio__inner + .el-radio__label { - cursor: not-allowed; } - .el-radio__input.is-disabled.is-checked .el-radio__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; } - .el-radio__input.is-disabled.is-checked .el-radio__inner::after { - background-color: #C0C4CC; } - .el-radio__input.is-disabled + span.el-radio__label { - color: #C0C4CC; - cursor: not-allowed; } - .el-radio__input.is-checked .el-radio__inner { - border-color: #409EFF; - background: #409EFF; } - .el-radio__input.is-checked .el-radio__inner::after { - -webkit-transform: translate(-50%, -50%) scale(1); - transform: translate(-50%, -50%) scale(1); } - .el-radio__input.is-checked + .el-radio__label { - color: #409EFF; } - .el-radio__input.is-focus .el-radio__inner { - border-color: #409EFF; } - .el-radio__inner { - border: 1px solid #DCDFE6; - border-radius: 100%; - width: 14px; - height: 14px; - background-color: #FFFFFF; - position: relative; - cursor: pointer; - display: inline-block; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-radio__inner:hover { - border-color: #409EFF; } - .el-radio__inner::after { - width: 4px; - height: 4px; - border-radius: 100%; - background-color: #FFFFFF; - content: ""; - position: absolute; - left: 50%; - top: 50%; - -webkit-transform: translate(-50%, -50%) scale(0); - transform: translate(-50%, -50%) scale(0); - -webkit-transition: -webkit-transform .15s ease-in; - transition: -webkit-transform .15s ease-in; - transition: transform .15s ease-in; - transition: transform .15s ease-in, -webkit-transform .15s ease-in; } - .el-radio__original { - opacity: 0; - outline: none; - position: absolute; - z-index: -1; - top: 0; - left: 0; - right: 0; - bottom: 0; - margin: 0; } - .el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) { - /*获得焦点时 样式提醒*/ } - .el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner { - -webkit-box-shadow: 0 0 2px 2px #409EFF; - box-shadow: 0 0 2px 2px #409EFF; } - .el-radio__label { - font-size: 14px; - padding-left: 10px; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/rate.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/rate.css deleted file mode 100644 index 8129949b..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/rate.css +++ /dev/null @@ -1,284 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-rate { - height: 20px; - line-height: 1; } - .el-rate:focus, .el-rate:active { - outline-width: 0; } - .el-rate__item { - display: inline-block; - position: relative; - font-size: 0; - vertical-align: middle; } - .el-rate__icon { - position: relative; - display: inline-block; - font-size: 18px; - margin-right: 6px; - color: #C0C4CC; - -webkit-transition: .3s; - transition: .3s; } - .el-rate__icon.hover { - -webkit-transform: scale(1.15); - transform: scale(1.15); } - .el-rate__icon .path2 { - position: absolute; - left: 0; - top: 0; } - .el-rate__decimal { - position: absolute; - top: 0; - left: 0; - display: inline-block; - overflow: hidden; } - .el-rate__text { - font-size: 14px; - vertical-align: middle; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/reset.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/reset.css deleted file mode 100644 index e3e1b15f..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/reset.css +++ /dev/null @@ -1,174 +0,0 @@ -@charset "UTF-8"; -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -body { - font-family: "Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif; - font-weight: 400; - font-size: 14px; - color: #000000; - -webkit-font-smoothing: antialiased; } - -a { - color: #409EFF; - text-decoration: none; } - a:hover, a:focus { - color: #66b1ff; } - a:active { - color: #3a8ee6; } - -h1, h2, h3, h4, h5, h6 { - color: #606266; - font-weight: inherit; } - h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child { - margin-top: 0; } - h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child { - margin-bottom: 0; } - -h1 { - font-size: 20px; } - -h2 { - font-size: 18px; } - -h3 { - font-size: 16px; } - -h4, h5, h6, p { - font-size: inherit; } - -p { - line-height: 1.8; } - p:first-child { - margin-top: 0; } - p:last-child { - margin-bottom: 0; } - -sup, sub { - font-size: 13px; } - -small { - font-size: 12px; } - -hr { - margin-top: 20px; - margin-bottom: 20px; - border: 0; - border-top: 1px solid #eeeeee; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/row.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/row.css deleted file mode 100644 index 6818788b..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/row.css +++ /dev/null @@ -1,289 +0,0 @@ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -.el-row { - position: relative; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-row::before, - .el-row::after { - display: table; - content: ""; } - .el-row::after { - clear: both; } - .el-row--flex { - display: -webkit-box; - display: -ms-flexbox; - display: flex; } - .el-row--flex:before, .el-row--flex:after { - display: none; } - .el-row--flex.is-justify-center { - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; } - .el-row--flex.is-justify-end { - -webkit-box-pack: end; - -ms-flex-pack: end; - justify-content: flex-end; } - .el-row--flex.is-justify-space-between { - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; } - .el-row--flex.is-justify-space-around { - -ms-flex-pack: distribute; - justify-content: space-around; } - .el-row--flex.is-align-middle { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - .el-row--flex.is-align-bottom { - -webkit-box-align: end; - -ms-flex-align: end; - align-items: flex-end; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/scrollbar.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/scrollbar.css deleted file mode 100644 index f73b67ef..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/scrollbar.css +++ /dev/null @@ -1,296 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-scrollbar { - overflow: hidden; - position: relative; } - .el-scrollbar:hover > .el-scrollbar__bar, .el-scrollbar:active > .el-scrollbar__bar, .el-scrollbar:focus > .el-scrollbar__bar { - opacity: 1; - -webkit-transition: opacity 340ms ease-out; - transition: opacity 340ms ease-out; } - .el-scrollbar__wrap { - overflow: scroll; - height: 100%; } - .el-scrollbar__wrap--hidden-default { - scrollbar-width: none; } - .el-scrollbar__wrap--hidden-default::-webkit-scrollbar { - width: 0; - height: 0; } - .el-scrollbar__thumb { - position: relative; - display: block; - width: 0; - height: 0; - cursor: pointer; - border-radius: inherit; - background-color: rgba(144, 147, 153, 0.3); - -webkit-transition: .3s background-color; - transition: .3s background-color; } - .el-scrollbar__thumb:hover { - background-color: rgba(144, 147, 153, 0.5); } - .el-scrollbar__bar { - position: absolute; - right: 2px; - bottom: 2px; - z-index: 1; - border-radius: 4px; - opacity: 0; - -webkit-transition: opacity 120ms ease-out; - transition: opacity 120ms ease-out; } - .el-scrollbar__bar.is-vertical { - width: 6px; - top: 2px; } - .el-scrollbar__bar.is-vertical > div { - width: 100%; } - .el-scrollbar__bar.is-horizontal { - height: 6px; - left: 2px; } - .el-scrollbar__bar.is-horizontal > div { - height: 100%; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/select-dropdown.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/select-dropdown.css deleted file mode 100644 index 50a907da..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/select-dropdown.css +++ /dev/null @@ -1,623 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-popper .popper__arrow, -.el-popper .popper__arrow::after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; } - -.el-popper .popper__arrow { - border-width: 6px; - -webkit-filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); - filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); } - -.el-popper .popper__arrow::after { - content: " "; - border-width: 6px; } - -.el-popper[x-placement^="top"] { - margin-bottom: 12px; } - -.el-popper[x-placement^="top"] .popper__arrow { - bottom: -6px; - left: 50%; - margin-right: 3px; - border-top-color: #EBEEF5; - border-bottom-width: 0; } - .el-popper[x-placement^="top"] .popper__arrow::after { - bottom: 1px; - margin-left: -6px; - border-top-color: #FFFFFF; - border-bottom-width: 0; } - -.el-popper[x-placement^="bottom"] { - margin-top: 12px; } - -.el-popper[x-placement^="bottom"] .popper__arrow { - top: -6px; - left: 50%; - margin-right: 3px; - border-top-width: 0; - border-bottom-color: #EBEEF5; } - .el-popper[x-placement^="bottom"] .popper__arrow::after { - top: 1px; - margin-left: -6px; - border-top-width: 0; - border-bottom-color: #FFFFFF; } - -.el-popper[x-placement^="right"] { - margin-left: 12px; } - -.el-popper[x-placement^="right"] .popper__arrow { - top: 50%; - left: -6px; - margin-bottom: 3px; - border-right-color: #EBEEF5; - border-left-width: 0; } - .el-popper[x-placement^="right"] .popper__arrow::after { - bottom: -6px; - left: 1px; - border-right-color: #FFFFFF; - border-left-width: 0; } - -.el-popper[x-placement^="left"] { - margin-right: 12px; } - -.el-popper[x-placement^="left"] .popper__arrow { - top: 50%; - right: -6px; - margin-bottom: 3px; - border-right-width: 0; - border-left-color: #EBEEF5; } - .el-popper[x-placement^="left"] .popper__arrow::after { - right: 1px; - bottom: -6px; - margin-left: -6px; - border-right-width: 0; - border-left-color: #FFFFFF; } - -.el-select-dropdown { - position: absolute; - z-index: 1001; - border: solid 1px #E4E7ED; - border-radius: 4px; - background-color: #FFFFFF; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - -webkit-box-sizing: border-box; - box-sizing: border-box; - margin: 5px 0; } - .el-select-dropdown.is-multiple .el-select-dropdown__item.selected { - color: #409EFF; - background-color: #FFFFFF; } - .el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover { - background-color: #F5F7FA; } - .el-select-dropdown.is-multiple .el-select-dropdown__item.selected::after { - position: absolute; - right: 20px; - font-family: 'element-icons'; - content: "\e6da"; - font-size: 12px; - font-weight: bold; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; } - .el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list { - padding: 0; } - -.el-select-dropdown__empty { - padding: 10px 0; - margin: 0; - text-align: center; - color: #999; - font-size: 14px; } - -.el-select-dropdown__wrap { - max-height: 274px; } - -.el-select-dropdown__list { - list-style: none; - padding: 6px 0; - margin: 0; - -webkit-box-sizing: border-box; - box-sizing: border-box; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/select.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/select.css deleted file mode 100644 index 58a426d7..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/select.css +++ /dev/null @@ -1,2825 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-popper .popper__arrow, -.el-popper .popper__arrow::after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; } - -.el-popper .popper__arrow { - border-width: 6px; - -webkit-filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); - filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); } - -.el-popper .popper__arrow::after { - content: " "; - border-width: 6px; } - -.el-popper[x-placement^="top"] { - margin-bottom: 12px; } - -.el-popper[x-placement^="top"] .popper__arrow { - bottom: -6px; - left: 50%; - margin-right: 3px; - border-top-color: #EBEEF5; - border-bottom-width: 0; } - .el-popper[x-placement^="top"] .popper__arrow::after { - bottom: 1px; - margin-left: -6px; - border-top-color: #FFFFFF; - border-bottom-width: 0; } - -.el-popper[x-placement^="bottom"] { - margin-top: 12px; } - -.el-popper[x-placement^="bottom"] .popper__arrow { - top: -6px; - left: 50%; - margin-right: 3px; - border-top-width: 0; - border-bottom-color: #EBEEF5; } - .el-popper[x-placement^="bottom"] .popper__arrow::after { - top: 1px; - margin-left: -6px; - border-top-width: 0; - border-bottom-color: #FFFFFF; } - -.el-popper[x-placement^="right"] { - margin-left: 12px; } - -.el-popper[x-placement^="right"] .popper__arrow { - top: 50%; - left: -6px; - margin-bottom: 3px; - border-right-color: #EBEEF5; - border-left-width: 0; } - .el-popper[x-placement^="right"] .popper__arrow::after { - bottom: -6px; - left: 1px; - border-right-color: #FFFFFF; - border-left-width: 0; } - -.el-popper[x-placement^="left"] { - margin-right: 12px; } - -.el-popper[x-placement^="left"] .popper__arrow { - top: 50%; - right: -6px; - margin-bottom: 3px; - border-right-width: 0; - border-left-color: #EBEEF5; } - .el-popper[x-placement^="left"] .popper__arrow::after { - right: 1px; - bottom: -6px; - margin-left: -6px; - border-right-width: 0; - border-left-color: #FFFFFF; } - -.el-select-dropdown { - position: absolute; - z-index: 1001; - border: solid 1px #E4E7ED; - border-radius: 4px; - background-color: #FFFFFF; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - -webkit-box-sizing: border-box; - box-sizing: border-box; - margin: 5px 0; } - .el-select-dropdown.is-multiple .el-select-dropdown__item.selected { - color: #409EFF; - background-color: #FFFFFF; } - .el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover { - background-color: #F5F7FA; } - .el-select-dropdown.is-multiple .el-select-dropdown__item.selected::after { - position: absolute; - right: 20px; - font-family: 'element-icons'; - content: "\e6da"; - font-size: 12px; - font-weight: bold; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; } - .el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list { - padding: 0; } - -.el-select-dropdown__empty { - padding: 10px 0; - margin: 0; - text-align: center; - color: #999; - font-size: 14px; } - -.el-select-dropdown__wrap { - max-height: 274px; } - -.el-select-dropdown__list { - list-style: none; - padding: 6px 0; - margin: 0; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-textarea { - position: relative; - display: inline-block; - width: 100%; - vertical-align: bottom; - font-size: 14px; } - .el-textarea__inner { - display: block; - resize: vertical; - padding: 5px 15px; - line-height: 1.5; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - font-size: inherit; - color: #606266; - background-color: #FFFFFF; - background-image: none; - border: 1px solid #DCDFE6; - border-radius: 4px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea__inner:hover { - border-color: #C0C4CC; } - .el-textarea__inner:focus { - outline: none; - border-color: #409EFF; } - .el-textarea .el-input__count { - color: #909399; - background: #FFFFFF; - position: absolute; - font-size: 12px; - bottom: 5px; - right: 10px; } - .el-textarea.is-disabled .el-textarea__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea.is-exceed .el-textarea__inner { - border-color: #F56C6C; } - .el-textarea.is-exceed .el-input__count { - color: #F56C6C; } - -.el-input { - position: relative; - font-size: 14px; - display: inline-block; - width: 100%; } - .el-input::-webkit-scrollbar { - z-index: 11; - width: 6px; } - .el-input::-webkit-scrollbar:horizontal { - height: 6px; } - .el-input::-webkit-scrollbar-thumb { - border-radius: 5px; - width: 6px; - background: #b4bccc; } - .el-input::-webkit-scrollbar-corner { - background: #fff; } - .el-input::-webkit-scrollbar-track { - background: #fff; } - .el-input::-webkit-scrollbar-track-piece { - background: #fff; - width: 6px; } - .el-input .el-input__clear { - color: #C0C4CC; - font-size: 14px; - cursor: pointer; - -webkit-transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-input .el-input__clear:hover { - color: #909399; } - .el-input .el-input__count { - height: 100%; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - color: #909399; - font-size: 12px; } - .el-input .el-input__count .el-input__count-inner { - background: #FFFFFF; - line-height: initial; - display: inline-block; - padding: 0 5px; } - .el-input__inner { - -webkit-appearance: none; - background-color: #FFFFFF; - background-image: none; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: #606266; - display: inline-block; - font-size: inherit; - height: 40px; - line-height: 40px; - outline: none; - padding: 0 15px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - width: 100%; } - .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input__inner:hover { - border-color: #C0C4CC; } - .el-input__inner:focus { - outline: none; - border-color: #409EFF; } - .el-input__suffix { - position: absolute; - height: 100%; - right: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; - pointer-events: none; } - .el-input__suffix-inner { - pointer-events: all; } - .el-input__prefix { - position: absolute; - height: 100%; - left: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; } - .el-input__icon { - height: 100%; - width: 25px; - text-align: center; - -webkit-transition: all .3s; - transition: all .3s; - line-height: 40px; } - .el-input__icon:after { - content: ''; - height: 100%; - width: 0; - display: inline-block; - vertical-align: middle; } - .el-input__validateIcon { - pointer-events: none; } - .el-input.is-active .el-input__inner { - outline: none; - border-color: #409EFF; } - .el-input.is-disabled .el-input__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-input.is-disabled .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__icon { - cursor: not-allowed; } - .el-input.is-exceed .el-input__inner { - border-color: #F56C6C; } - .el-input.is-exceed .el-input__suffix .el-input__count { - color: #F56C6C; } - .el-input--suffix .el-input__inner { - padding-right: 30px; } - .el-input--prefix .el-input__inner { - padding-left: 30px; } - .el-input--medium { - font-size: 14px; } - .el-input--medium .el-input__inner { - height: 36px; - line-height: 36px; } - .el-input--medium .el-input__icon { - line-height: 36px; } - .el-input--small { - font-size: 13px; } - .el-input--small .el-input__inner { - height: 32px; - line-height: 32px; } - .el-input--small .el-input__icon { - line-height: 32px; } - .el-input--mini { - font-size: 12px; } - .el-input--mini .el-input__inner { - height: 28px; - line-height: 28px; } - .el-input--mini .el-input__icon { - line-height: 28px; } - -.el-input-group { - line-height: normal; - display: inline-table; - width: 100%; - border-collapse: separate; - border-spacing: 0; } - .el-input-group > .el-input__inner { - vertical-align: middle; - display: table-cell; } - .el-input-group__append, .el-input-group__prepend { - background-color: #F5F7FA; - color: #909399; - vertical-align: middle; - display: table-cell; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 4px; - padding: 0 20px; - width: 1px; - white-space: nowrap; } - .el-input-group__append:focus, .el-input-group__prepend:focus { - outline: none; } - .el-input-group__append .el-select, - .el-input-group__append .el-button, .el-input-group__prepend .el-select, - .el-input-group__prepend .el-button { - display: inline-block; - margin: -10px -20px; } - .el-input-group__append button.el-button, - .el-input-group__append div.el-select .el-input__inner, - .el-input-group__append div.el-select:hover .el-input__inner, .el-input-group__prepend button.el-button, - .el-input-group__prepend div.el-select .el-input__inner, - .el-input-group__prepend div.el-select:hover .el-input__inner { - border-color: transparent; - background-color: transparent; - color: inherit; - border-top: 0; - border-bottom: 0; } - .el-input-group__append .el-button, - .el-input-group__append .el-input, .el-input-group__prepend .el-button, - .el-input-group__prepend .el-input { - font-size: inherit; } - .el-input-group__prepend { - border-right: 0; - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group__append { - border-left: 0; - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-input__inner { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - .el-input-group--append .el-input__inner { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group--append .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - -/** disalbe default clear on IE */ -.el-input__inner::-ms-clear { - display: none; - width: 0; - height: 0; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-tag { - background-color: #ecf5ff; - border-color: #d9ecff; - color: #409eff; - display: inline-block; - height: 32px; - padding: 0 10px; - line-height: 30px; - font-size: 12px; - color: #409EFF; - border-width: 1px; - border-style: solid; - border-radius: 4px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - white-space: nowrap; } - .el-tag.is-hit { - border-color: #409EFF; } - .el-tag .el-tag__close { - color: #409eff; } - .el-tag .el-tag__close:hover { - color: #FFFFFF; - background-color: #409eff; } - .el-tag.el-tag--info { - background-color: #f4f4f5; - border-color: #e9e9eb; - color: #909399; } - .el-tag.el-tag--info.is-hit { - border-color: #909399; } - .el-tag.el-tag--info .el-tag__close { - color: #909399; } - .el-tag.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #909399; } - .el-tag.el-tag--success { - background-color: #f0f9eb; - border-color: #e1f3d8; - color: #67c23a; } - .el-tag.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag.el-tag--success .el-tag__close { - color: #67c23a; } - .el-tag.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #67c23a; } - .el-tag.el-tag--warning { - background-color: #fdf6ec; - border-color: #faecd8; - color: #e6a23c; } - .el-tag.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag.el-tag--warning .el-tag__close { - color: #e6a23c; } - .el-tag.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #e6a23c; } - .el-tag.el-tag--danger { - background-color: #fef0f0; - border-color: #fde2e2; - color: #f56c6c; } - .el-tag.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag.el-tag--danger .el-tag__close { - color: #f56c6c; } - .el-tag.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f56c6c; } - .el-tag .el-icon-close { - border-radius: 50%; - text-align: center; - position: relative; - cursor: pointer; - font-size: 12px; - height: 16px; - width: 16px; - line-height: 16px; - vertical-align: middle; - top: -1px; - right: -5px; } - .el-tag .el-icon-close::before { - display: block; } - .el-tag--dark { - background-color: #409eff; - border-color: #409eff; - color: white; } - .el-tag--dark.is-hit { - border-color: #409EFF; } - .el-tag--dark .el-tag__close { - color: white; } - .el-tag--dark .el-tag__close:hover { - color: #FFFFFF; - background-color: #66b1ff; } - .el-tag--dark.el-tag--info { - background-color: #909399; - border-color: #909399; - color: white; } - .el-tag--dark.el-tag--info.is-hit { - border-color: #909399; } - .el-tag--dark.el-tag--info .el-tag__close { - color: white; } - .el-tag--dark.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #a6a9ad; } - .el-tag--dark.el-tag--success { - background-color: #67c23a; - border-color: #67c23a; - color: white; } - .el-tag--dark.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag--dark.el-tag--success .el-tag__close { - color: white; } - .el-tag--dark.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #85ce61; } - .el-tag--dark.el-tag--warning { - background-color: #e6a23c; - border-color: #e6a23c; - color: white; } - .el-tag--dark.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag--dark.el-tag--warning .el-tag__close { - color: white; } - .el-tag--dark.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #ebb563; } - .el-tag--dark.el-tag--danger { - background-color: #f56c6c; - border-color: #f56c6c; - color: white; } - .el-tag--dark.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag--dark.el-tag--danger .el-tag__close { - color: white; } - .el-tag--dark.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f78989; } - .el-tag--plain { - background-color: white; - border-color: #b3d8ff; - color: #409eff; } - .el-tag--plain.is-hit { - border-color: #409EFF; } - .el-tag--plain .el-tag__close { - color: #409eff; } - .el-tag--plain .el-tag__close:hover { - color: #FFFFFF; - background-color: #409eff; } - .el-tag--plain.el-tag--info { - background-color: white; - border-color: #d3d4d6; - color: #909399; } - .el-tag--plain.el-tag--info.is-hit { - border-color: #909399; } - .el-tag--plain.el-tag--info .el-tag__close { - color: #909399; } - .el-tag--plain.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #909399; } - .el-tag--plain.el-tag--success { - background-color: white; - border-color: #c2e7b0; - color: #67c23a; } - .el-tag--plain.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag--plain.el-tag--success .el-tag__close { - color: #67c23a; } - .el-tag--plain.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #67c23a; } - .el-tag--plain.el-tag--warning { - background-color: white; - border-color: #f5dab1; - color: #e6a23c; } - .el-tag--plain.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag--plain.el-tag--warning .el-tag__close { - color: #e6a23c; } - .el-tag--plain.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #e6a23c; } - .el-tag--plain.el-tag--danger { - background-color: white; - border-color: #fbc4c4; - color: #f56c6c; } - .el-tag--plain.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag--plain.el-tag--danger .el-tag__close { - color: #f56c6c; } - .el-tag--plain.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f56c6c; } - .el-tag--medium { - height: 28px; - line-height: 26px; } - .el-tag--medium .el-icon-close { - -webkit-transform: scale(0.8); - transform: scale(0.8); } - .el-tag--small { - height: 24px; - padding: 0 8px; - line-height: 22px; } - .el-tag--small .el-icon-close { - -webkit-transform: scale(0.8); - transform: scale(0.8); } - .el-tag--mini { - height: 20px; - padding: 0 5px; - line-height: 19px; } - .el-tag--mini .el-icon-close { - margin-left: -3px; - -webkit-transform: scale(0.7); - transform: scale(0.7); } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-select-dropdown__item { - font-size: 14px; - padding: 0 20px; - position: relative; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - color: #606266; - height: 34px; - line-height: 34px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - cursor: pointer; } - .el-select-dropdown__item.is-disabled { - color: #C0C4CC; - cursor: not-allowed; } - .el-select-dropdown__item.is-disabled:hover { - background-color: #FFFFFF; } - .el-select-dropdown__item.hover, .el-select-dropdown__item:hover { - background-color: #F5F7FA; } - .el-select-dropdown__item.selected { - color: #409EFF; - font-weight: bold; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-select-group { - margin: 0; - padding: 0; } - .el-select-group__wrap { - position: relative; - list-style: none; - margin: 0; - padding: 0; } - .el-select-group__wrap:not(:last-of-type) { - padding-bottom: 24px; } - .el-select-group__wrap:not(:last-of-type)::after { - content: ''; - position: absolute; - display: block; - left: 20px; - right: 20px; - bottom: 12px; - height: 1px; - background: #E4E7ED; } - .el-select-group__title { - padding-left: 20px; - font-size: 12px; - color: #909399; - line-height: 30px; } - .el-select-group .el-select-dropdown__item { - padding-left: 20px; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-scrollbar { - overflow: hidden; - position: relative; } - .el-scrollbar:hover > .el-scrollbar__bar, .el-scrollbar:active > .el-scrollbar__bar, .el-scrollbar:focus > .el-scrollbar__bar { - opacity: 1; - -webkit-transition: opacity 340ms ease-out; - transition: opacity 340ms ease-out; } - .el-scrollbar__wrap { - overflow: scroll; - height: 100%; } - .el-scrollbar__wrap--hidden-default { - scrollbar-width: none; } - .el-scrollbar__wrap--hidden-default::-webkit-scrollbar { - width: 0; - height: 0; } - .el-scrollbar__thumb { - position: relative; - display: block; - width: 0; - height: 0; - cursor: pointer; - border-radius: inherit; - background-color: rgba(144, 147, 153, 0.3); - -webkit-transition: .3s background-color; - transition: .3s background-color; } - .el-scrollbar__thumb:hover { - background-color: rgba(144, 147, 153, 0.5); } - .el-scrollbar__bar { - position: absolute; - right: 2px; - bottom: 2px; - z-index: 1; - border-radius: 4px; - opacity: 0; - -webkit-transition: opacity 120ms ease-out; - transition: opacity 120ms ease-out; } - .el-scrollbar__bar.is-vertical { - width: 6px; - top: 2px; } - .el-scrollbar__bar.is-vertical > div { - width: 100%; } - .el-scrollbar__bar.is-horizontal { - height: 6px; - left: 2px; } - .el-scrollbar__bar.is-horizontal > div { - height: 100%; } - -.el-select { - display: inline-block; - position: relative; } - .el-select .el-select__tags -> span { - display: contents; } - .el-select:hover .el-input__inner { - border-color: #C0C4CC; } - .el-select .el-input__inner { - cursor: pointer; - padding-right: 35px; } - .el-select .el-input__inner:focus { - border-color: #409EFF; } - .el-select .el-input .el-select__caret { - color: #C0C4CC; - font-size: 14px; - -webkit-transition: -webkit-transform .3s; - transition: -webkit-transform .3s; - transition: transform .3s; - transition: transform .3s, -webkit-transform .3s; - -webkit-transform: rotateZ(180deg); - transform: rotateZ(180deg); - cursor: pointer; } - .el-select .el-input .el-select__caret.is-reverse { - -webkit-transform: rotateZ(0deg); - transform: rotateZ(0deg); } - .el-select .el-input .el-select__caret.is-show-close { - font-size: 14px; - text-align: center; - -webkit-transform: rotateZ(180deg); - transform: rotateZ(180deg); - border-radius: 100%; - color: #C0C4CC; - -webkit-transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-select .el-input .el-select__caret.is-show-close:hover { - color: #909399; } - .el-select .el-input.is-disabled .el-input__inner { - cursor: not-allowed; } - .el-select .el-input.is-disabled .el-input__inner:hover { - border-color: #E4E7ED; } - .el-select .el-input.is-focus .el-input__inner { - border-color: #409EFF; } - .el-select > .el-input { - display: block; } - .el-select__input { - border: none; - outline: none; - padding: 0; - margin-left: 15px; - color: #666; - font-size: 14px; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - height: 28px; - background-color: transparent; } - .el-select__input.is-mini { - height: 14px; } - .el-select__close { - cursor: pointer; - position: absolute; - top: 8px; - z-index: 1000; - right: 25px; - color: #C0C4CC; - line-height: 18px; - font-size: 14px; } - .el-select__close:hover { - color: #909399; } - .el-select__tags { - position: absolute; - line-height: normal; - white-space: normal; - z-index: 1; - top: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -ms-flex-wrap: wrap; - flex-wrap: wrap; } - .el-select .el-tag__close { - margin-top: -2px; } - .el-select .el-tag { - -webkit-box-sizing: border-box; - box-sizing: border-box; - border-color: transparent; - margin: 2px 0 2px 6px; - background-color: #f0f2f5; } - .el-select .el-tag__close.el-icon-close { - background-color: #C0C4CC; - right: -7px; - top: 0; - color: #FFFFFF; } - .el-select .el-tag__close.el-icon-close:hover { - background-color: #909399; } - .el-select .el-tag__close.el-icon-close::before { - display: block; - -webkit-transform: translate(0, 0.5px); - transform: translate(0, 0.5px); } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/slider.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/slider.css deleted file mode 100644 index 2f30e55a..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/slider.css +++ /dev/null @@ -1,1677 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-textarea { - position: relative; - display: inline-block; - width: 100%; - vertical-align: bottom; - font-size: 14px; } - .el-textarea__inner { - display: block; - resize: vertical; - padding: 5px 15px; - line-height: 1.5; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - font-size: inherit; - color: #606266; - background-color: #FFFFFF; - background-image: none; - border: 1px solid #DCDFE6; - border-radius: 4px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea__inner:hover { - border-color: #C0C4CC; } - .el-textarea__inner:focus { - outline: none; - border-color: #409EFF; } - .el-textarea .el-input__count { - color: #909399; - background: #FFFFFF; - position: absolute; - font-size: 12px; - bottom: 5px; - right: 10px; } - .el-textarea.is-disabled .el-textarea__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea.is-exceed .el-textarea__inner { - border-color: #F56C6C; } - .el-textarea.is-exceed .el-input__count { - color: #F56C6C; } - -.el-input { - position: relative; - font-size: 14px; - display: inline-block; - width: 100%; } - .el-input::-webkit-scrollbar { - z-index: 11; - width: 6px; } - .el-input::-webkit-scrollbar:horizontal { - height: 6px; } - .el-input::-webkit-scrollbar-thumb { - border-radius: 5px; - width: 6px; - background: #b4bccc; } - .el-input::-webkit-scrollbar-corner { - background: #fff; } - .el-input::-webkit-scrollbar-track { - background: #fff; } - .el-input::-webkit-scrollbar-track-piece { - background: #fff; - width: 6px; } - .el-input .el-input__clear { - color: #C0C4CC; - font-size: 14px; - cursor: pointer; - -webkit-transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-input .el-input__clear:hover { - color: #909399; } - .el-input .el-input__count { - height: 100%; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - color: #909399; - font-size: 12px; } - .el-input .el-input__count .el-input__count-inner { - background: #FFFFFF; - line-height: initial; - display: inline-block; - padding: 0 5px; } - .el-input__inner { - -webkit-appearance: none; - background-color: #FFFFFF; - background-image: none; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: #606266; - display: inline-block; - font-size: inherit; - height: 40px; - line-height: 40px; - outline: none; - padding: 0 15px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - width: 100%; } - .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input__inner:hover { - border-color: #C0C4CC; } - .el-input__inner:focus { - outline: none; - border-color: #409EFF; } - .el-input__suffix { - position: absolute; - height: 100%; - right: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; - pointer-events: none; } - .el-input__suffix-inner { - pointer-events: all; } - .el-input__prefix { - position: absolute; - height: 100%; - left: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; } - .el-input__icon { - height: 100%; - width: 25px; - text-align: center; - -webkit-transition: all .3s; - transition: all .3s; - line-height: 40px; } - .el-input__icon:after { - content: ''; - height: 100%; - width: 0; - display: inline-block; - vertical-align: middle; } - .el-input__validateIcon { - pointer-events: none; } - .el-input.is-active .el-input__inner { - outline: none; - border-color: #409EFF; } - .el-input.is-disabled .el-input__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-input.is-disabled .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__icon { - cursor: not-allowed; } - .el-input.is-exceed .el-input__inner { - border-color: #F56C6C; } - .el-input.is-exceed .el-input__suffix .el-input__count { - color: #F56C6C; } - .el-input--suffix .el-input__inner { - padding-right: 30px; } - .el-input--prefix .el-input__inner { - padding-left: 30px; } - .el-input--medium { - font-size: 14px; } - .el-input--medium .el-input__inner { - height: 36px; - line-height: 36px; } - .el-input--medium .el-input__icon { - line-height: 36px; } - .el-input--small { - font-size: 13px; } - .el-input--small .el-input__inner { - height: 32px; - line-height: 32px; } - .el-input--small .el-input__icon { - line-height: 32px; } - .el-input--mini { - font-size: 12px; } - .el-input--mini .el-input__inner { - height: 28px; - line-height: 28px; } - .el-input--mini .el-input__icon { - line-height: 28px; } - -.el-input-group { - line-height: normal; - display: inline-table; - width: 100%; - border-collapse: separate; - border-spacing: 0; } - .el-input-group > .el-input__inner { - vertical-align: middle; - display: table-cell; } - .el-input-group__append, .el-input-group__prepend { - background-color: #F5F7FA; - color: #909399; - vertical-align: middle; - display: table-cell; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 4px; - padding: 0 20px; - width: 1px; - white-space: nowrap; } - .el-input-group__append:focus, .el-input-group__prepend:focus { - outline: none; } - .el-input-group__append .el-select, - .el-input-group__append .el-button, .el-input-group__prepend .el-select, - .el-input-group__prepend .el-button { - display: inline-block; - margin: -10px -20px; } - .el-input-group__append button.el-button, - .el-input-group__append div.el-select .el-input__inner, - .el-input-group__append div.el-select:hover .el-input__inner, .el-input-group__prepend button.el-button, - .el-input-group__prepend div.el-select .el-input__inner, - .el-input-group__prepend div.el-select:hover .el-input__inner { - border-color: transparent; - background-color: transparent; - color: inherit; - border-top: 0; - border-bottom: 0; } - .el-input-group__append .el-button, - .el-input-group__append .el-input, .el-input-group__prepend .el-button, - .el-input-group__prepend .el-input { - font-size: inherit; } - .el-input-group__prepend { - border-right: 0; - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group__append { - border-left: 0; - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-input__inner { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - .el-input-group--append .el-input__inner { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group--append .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - -/** disalbe default clear on IE */ -.el-input__inner::-ms-clear { - display: none; - width: 0; - height: 0; } - -.el-input-number { - position: relative; - display: inline-block; - width: 180px; - line-height: 38px; } - .el-input-number .el-input { - display: block; } - .el-input-number .el-input__inner { - -webkit-appearance: none; - padding-left: 50px; - padding-right: 50px; - text-align: center; } - .el-input-number__increase, .el-input-number__decrease { - position: absolute; - z-index: 1; - top: 1px; - width: 40px; - height: auto; - text-align: center; - background: #F5F7FA; - color: #606266; - cursor: pointer; - font-size: 13px; } - .el-input-number__increase:hover, .el-input-number__decrease:hover { - color: #409EFF; } - .el-input-number__increase:hover:not(.is-disabled) ~ .el-input .el-input__inner:not(.is-disabled), .el-input-number__decrease:hover:not(.is-disabled) ~ .el-input .el-input__inner:not(.is-disabled) { - border-color: #409EFF; } - .el-input-number__increase.is-disabled, .el-input-number__decrease.is-disabled { - color: #C0C4CC; - cursor: not-allowed; } - .el-input-number__increase { - right: 1px; - border-radius: 0 4px 4px 0; - border-left: 1px solid #DCDFE6; } - .el-input-number__decrease { - left: 1px; - border-radius: 4px 0 0 4px; - border-right: 1px solid #DCDFE6; } - .el-input-number.is-disabled .el-input-number__increase, .el-input-number.is-disabled .el-input-number__decrease { - border-color: #E4E7ED; - color: #E4E7ED; } - .el-input-number.is-disabled .el-input-number__increase:hover, .el-input-number.is-disabled .el-input-number__decrease:hover { - color: #E4E7ED; - cursor: not-allowed; } - .el-input-number--medium { - width: 200px; - line-height: 34px; } - .el-input-number--medium .el-input-number__increase, .el-input-number--medium .el-input-number__decrease { - width: 36px; - font-size: 14px; } - .el-input-number--medium .el-input__inner { - padding-left: 43px; - padding-right: 43px; } - .el-input-number--small { - width: 130px; - line-height: 30px; } - .el-input-number--small .el-input-number__increase, .el-input-number--small .el-input-number__decrease { - width: 32px; - font-size: 13px; } - .el-input-number--small .el-input-number__increase [class*=el-icon], .el-input-number--small .el-input-number__decrease [class*=el-icon] { - -webkit-transform: scale(0.9); - transform: scale(0.9); } - .el-input-number--small .el-input__inner { - padding-left: 39px; - padding-right: 39px; } - .el-input-number--mini { - width: 130px; - line-height: 26px; } - .el-input-number--mini .el-input-number__increase, .el-input-number--mini .el-input-number__decrease { - width: 28px; - font-size: 12px; } - .el-input-number--mini .el-input-number__increase [class*=el-icon], .el-input-number--mini .el-input-number__decrease [class*=el-icon] { - -webkit-transform: scale(0.8); - transform: scale(0.8); } - .el-input-number--mini .el-input__inner { - padding-left: 35px; - padding-right: 35px; } - .el-input-number.is-without-controls .el-input__inner { - padding-left: 15px; - padding-right: 15px; } - .el-input-number.is-controls-right .el-input__inner { - padding-left: 15px; - padding-right: 50px; } - .el-input-number.is-controls-right .el-input-number__increase, .el-input-number.is-controls-right .el-input-number__decrease { - height: auto; - line-height: 19px; } - .el-input-number.is-controls-right .el-input-number__increase [class*=el-icon], .el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon] { - -webkit-transform: scale(0.8); - transform: scale(0.8); } - .el-input-number.is-controls-right .el-input-number__increase { - border-radius: 0 4px 0 0; - border-bottom: 1px solid #DCDFE6; } - .el-input-number.is-controls-right .el-input-number__decrease { - right: 1px; - bottom: 1px; - top: auto; - left: auto; - border-right: none; - border-left: 1px solid #DCDFE6; - border-radius: 0 0 4px 0; } - .el-input-number.is-controls-right[class*=medium] [class*=increase], .el-input-number.is-controls-right[class*=medium] [class*=decrease] { - line-height: 17px; } - .el-input-number.is-controls-right[class*=small] [class*=increase], .el-input-number.is-controls-right[class*=small] [class*=decrease] { - line-height: 15px; } - .el-input-number.is-controls-right[class*=mini] [class*=increase], .el-input-number.is-controls-right[class*=mini] [class*=decrease] { - line-height: 13px; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-tooltip:focus:not(.focusing), .el-tooltip:focus:hover { - outline-width: 0; } - -.el-tooltip__popper { - position: absolute; - border-radius: 4px; - padding: 10px; - z-index: 2000; - font-size: 12px; - line-height: 1.2; - min-width: 10px; - word-wrap: break-word; } - .el-tooltip__popper .popper__arrow, - .el-tooltip__popper .popper__arrow::after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; } - .el-tooltip__popper .popper__arrow { - border-width: 6px; } - .el-tooltip__popper .popper__arrow::after { - content: " "; - border-width: 5px; } - .el-tooltip__popper[x-placement^="top"] { - margin-bottom: 12px; } - .el-tooltip__popper[x-placement^="top"] .popper__arrow { - bottom: -6px; - border-top-color: #303133; - border-bottom-width: 0; } - .el-tooltip__popper[x-placement^="top"] .popper__arrow::after { - bottom: 1px; - margin-left: -5px; - border-top-color: #303133; - border-bottom-width: 0; } - .el-tooltip__popper[x-placement^="bottom"] { - margin-top: 12px; } - .el-tooltip__popper[x-placement^="bottom"] .popper__arrow { - top: -6px; - border-top-width: 0; - border-bottom-color: #303133; } - .el-tooltip__popper[x-placement^="bottom"] .popper__arrow::after { - top: 1px; - margin-left: -5px; - border-top-width: 0; - border-bottom-color: #303133; } - .el-tooltip__popper[x-placement^="right"] { - margin-left: 12px; } - .el-tooltip__popper[x-placement^="right"] .popper__arrow { - left: -6px; - border-right-color: #303133; - border-left-width: 0; } - .el-tooltip__popper[x-placement^="right"] .popper__arrow::after { - bottom: -5px; - left: 1px; - border-right-color: #303133; - border-left-width: 0; } - .el-tooltip__popper[x-placement^="left"] { - margin-right: 12px; } - .el-tooltip__popper[x-placement^="left"] .popper__arrow { - right: -6px; - border-right-width: 0; - border-left-color: #303133; } - .el-tooltip__popper[x-placement^="left"] .popper__arrow::after { - right: 1px; - bottom: -5px; - margin-left: -5px; - border-right-width: 0; - border-left-color: #303133; } - .el-tooltip__popper.is-dark { - background: #303133; - color: #FFFFFF; } - .el-tooltip__popper.is-light { - background: #FFFFFF; - border: 1px solid #303133; } - .el-tooltip__popper.is-light[x-placement^="top"] .popper__arrow { - border-top-color: #303133; } - .el-tooltip__popper.is-light[x-placement^="top"] .popper__arrow::after { - border-top-color: #FFFFFF; } - .el-tooltip__popper.is-light[x-placement^="bottom"] .popper__arrow { - border-bottom-color: #303133; } - .el-tooltip__popper.is-light[x-placement^="bottom"] .popper__arrow::after { - border-bottom-color: #FFFFFF; } - .el-tooltip__popper.is-light[x-placement^="left"] .popper__arrow { - border-left-color: #303133; } - .el-tooltip__popper.is-light[x-placement^="left"] .popper__arrow::after { - border-left-color: #FFFFFF; } - .el-tooltip__popper.is-light[x-placement^="right"] .popper__arrow { - border-right-color: #303133; } - .el-tooltip__popper.is-light[x-placement^="right"] .popper__arrow::after { - border-right-color: #FFFFFF; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-slider::before, -.el-slider::after { - display: table; - content: ""; } - -.el-slider::after { - clear: both; } - -.el-slider__runway { - width: 100%; - height: 6px; - margin: 16px 0; - background-color: #E4E7ED; - border-radius: 3px; - position: relative; - cursor: pointer; - vertical-align: middle; } - .el-slider__runway.show-input { - margin-right: 160px; - width: auto; } - .el-slider__runway.disabled { - cursor: default; } - .el-slider__runway.disabled .el-slider__bar { - background-color: #C0C4CC; } - .el-slider__runway.disabled .el-slider__button { - border-color: #C0C4CC; } - .el-slider__runway.disabled .el-slider__button-wrapper:hover, .el-slider__runway.disabled .el-slider__button-wrapper.hover { - cursor: not-allowed; } - .el-slider__runway.disabled .el-slider__button-wrapper.dragging { - cursor: not-allowed; } - .el-slider__runway.disabled .el-slider__button:hover, .el-slider__runway.disabled .el-slider__button.hover, .el-slider__runway.disabled .el-slider__button.dragging { - -webkit-transform: scale(1); - transform: scale(1); } - .el-slider__runway.disabled .el-slider__button:hover, .el-slider__runway.disabled .el-slider__button.hover { - cursor: not-allowed; } - .el-slider__runway.disabled .el-slider__button.dragging { - cursor: not-allowed; } - -.el-slider__input { - float: right; - margin-top: 3px; - width: 130px; } - .el-slider__input.el-input-number--mini { - margin-top: 5px; } - .el-slider__input.el-input-number--medium { - margin-top: 0; } - .el-slider__input.el-input-number--large { - margin-top: -2px; } - -.el-slider__bar { - height: 6px; - background-color: #409EFF; - border-top-left-radius: 3px; - border-bottom-left-radius: 3px; - position: absolute; } - -.el-slider__button-wrapper { - height: 36px; - width: 36px; - position: absolute; - z-index: 1001; - top: -15px; - -webkit-transform: translateX(-50%); - transform: translateX(-50%); - background-color: transparent; - text-align: center; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - line-height: normal; } - .el-slider__button-wrapper::after { - display: inline-block; - content: ""; - height: 100%; - vertical-align: middle; } - .el-slider__button-wrapper .el-tooltip { - vertical-align: middle; - display: inline-block; } - .el-slider__button-wrapper:hover, .el-slider__button-wrapper.hover { - cursor: -webkit-grab; - cursor: grab; } - .el-slider__button-wrapper.dragging { - cursor: -webkit-grabbing; - cursor: grabbing; } - -.el-slider__button { - width: 16px; - height: 16px; - border: solid 2px #409EFF; - background-color: #FFFFFF; - border-radius: 50%; - -webkit-transition: .2s; - transition: .2s; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; } - .el-slider__button:hover, .el-slider__button.hover, .el-slider__button.dragging { - -webkit-transform: scale(1.2); - transform: scale(1.2); } - .el-slider__button:hover, .el-slider__button.hover { - cursor: -webkit-grab; - cursor: grab; } - .el-slider__button.dragging { - cursor: -webkit-grabbing; - cursor: grabbing; } - -.el-slider__stop { - position: absolute; - height: 6px; - width: 6px; - border-radius: 100%; - background-color: #FFFFFF; - -webkit-transform: translateX(-50%); - transform: translateX(-50%); } - -.el-slider__marks { - top: 0; - left: 12px; - width: 18px; - height: 100%; } - .el-slider__marks-text { - position: absolute; - -webkit-transform: translateX(-50%); - transform: translateX(-50%); - font-size: 14px; - color: #909399; - margin-top: 15px; } - -.el-slider.is-vertical { - position: relative; } - .el-slider.is-vertical .el-slider__runway { - width: 6px; - height: 100%; - margin: 0 16px; } - .el-slider.is-vertical .el-slider__bar { - width: 6px; - height: auto; - border-radius: 0 0 3px 3px; } - .el-slider.is-vertical .el-slider__button-wrapper { - top: auto; - left: -15px; - -webkit-transform: translateY(50%); - transform: translateY(50%); } - .el-slider.is-vertical .el-slider__stop { - -webkit-transform: translateY(50%); - transform: translateY(50%); } - .el-slider.is-vertical.el-slider--with-input { - padding-bottom: 58px; } - .el-slider.is-vertical.el-slider--with-input .el-slider__input { - overflow: visible; - float: none; - position: absolute; - bottom: 22px; - width: 36px; - margin-top: 15px; } - .el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input__inner { - text-align: center; - padding-left: 5px; - padding-right: 5px; } - .el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease, - .el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase { - top: 32px; - margin-top: -1px; - border: 1px solid #DCDFE6; - line-height: 20px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease { - width: 18px; - right: 18px; - border-bottom-left-radius: 4px; } - .el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase { - width: 19px; - border-bottom-right-radius: 4px; } - .el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase ~ .el-input .el-input__inner { - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; } - .el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__decrease, - .el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__increase { - border-color: #C0C4CC; } - .el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__decrease, - .el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__increase { - border-color: #409EFF; } - .el-slider.is-vertical .el-slider__marks-text { - margin-top: 0; - left: 15px; - -webkit-transform: translateY(50%); - transform: translateY(50%); } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/spinner.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/spinner.css deleted file mode 100644 index c8567104..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/spinner.css +++ /dev/null @@ -1,180 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -.el-time-spinner { - width: 100%; - white-space: nowrap; } - -.el-spinner { - display: inline-block; - vertical-align: middle; } - -.el-spinner-inner { - -webkit-animation: rotate 2s linear infinite; - animation: rotate 2s linear infinite; - width: 50px; - height: 50px; } - .el-spinner-inner .path { - stroke: #ececec; - stroke-linecap: round; - -webkit-animation: dash 1.5s ease-in-out infinite; - animation: dash 1.5s ease-in-out infinite; } - -@-webkit-keyframes rotate { - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); } } - -@keyframes rotate { - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); } } - -@-webkit-keyframes dash { - 0% { - stroke-dasharray: 1, 150; - stroke-dashoffset: 0; } - 50% { - stroke-dasharray: 90, 150; - stroke-dashoffset: -35; } - 100% { - stroke-dasharray: 90, 150; - stroke-dashoffset: -124; } } - -@keyframes dash { - 0% { - stroke-dasharray: 1, 150; - stroke-dashoffset: 0; } - 50% { - stroke-dasharray: 90, 150; - stroke-dashoffset: -35; } - 100% { - stroke-dasharray: 90, 150; - stroke-dashoffset: -124; } } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/step.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/step.css deleted file mode 100644 index c154e2f4..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/step.css +++ /dev/null @@ -1,485 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-step { - position: relative; - -ms-flex-negative: 1; - flex-shrink: 1; } - .el-step:last-of-type .el-step__line { - display: none; } - .el-step:last-of-type.is-flex { - -ms-flex-preferred-size: auto !important; - flex-basis: auto !important; - -ms-flex-negative: 0; - flex-shrink: 0; - -webkit-box-flex: 0; - -ms-flex-positive: 0; - flex-grow: 0; } - .el-step:last-of-type .el-step__main, .el-step:last-of-type .el-step__description { - padding-right: 0; } - .el-step__head { - position: relative; - width: 100%; } - .el-step__head.is-process { - color: #303133; - border-color: #303133; } - .el-step__head.is-wait { - color: #C0C4CC; - border-color: #C0C4CC; } - .el-step__head.is-success { - color: #67C23A; - border-color: #67C23A; } - .el-step__head.is-error { - color: #F56C6C; - border-color: #F56C6C; } - .el-step__head.is-finish { - color: #409EFF; - border-color: #409EFF; } - .el-step__icon { - position: relative; - z-index: 1; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - width: 24px; - height: 24px; - font-size: 14px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - background: #FFFFFF; - -webkit-transition: .15s ease-out; - transition: .15s ease-out; } - .el-step__icon.is-text { - border-radius: 50%; - border: 2px solid; - border-color: inherit; } - .el-step__icon.is-icon { - width: 40px; } - .el-step__icon-inner { - display: inline-block; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - text-align: center; - font-weight: bold; - line-height: 1; - color: inherit; } - .el-step__icon-inner[class*=el-icon]:not(.is-status) { - font-size: 25px; - font-weight: normal; } - .el-step__icon-inner.is-status { - -webkit-transform: translateY(1px); - transform: translateY(1px); } - .el-step__line { - position: absolute; - border-color: inherit; - background-color: #C0C4CC; } - .el-step__line-inner { - display: block; - border-width: 1px; - border-style: solid; - border-color: inherit; - -webkit-transition: .15s ease-out; - transition: .15s ease-out; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 0; - height: 0; } - .el-step__main { - white-space: normal; - text-align: left; } - .el-step__title { - font-size: 16px; - line-height: 38px; } - .el-step__title.is-process { - font-weight: bold; - color: #303133; } - .el-step__title.is-wait { - color: #C0C4CC; } - .el-step__title.is-success { - color: #67C23A; } - .el-step__title.is-error { - color: #F56C6C; } - .el-step__title.is-finish { - color: #409EFF; } - .el-step__description { - padding-right: 10%; - margin-top: -5px; - font-size: 12px; - line-height: 20px; - font-weight: normal; } - .el-step__description.is-process { - color: #303133; } - .el-step__description.is-wait { - color: #C0C4CC; } - .el-step__description.is-success { - color: #67C23A; } - .el-step__description.is-error { - color: #F56C6C; } - .el-step__description.is-finish { - color: #409EFF; } - .el-step.is-horizontal { - display: inline-block; } - .el-step.is-horizontal .el-step__line { - height: 2px; - top: 11px; - left: 0; - right: 0; } - .el-step.is-vertical { - display: -webkit-box; - display: -ms-flexbox; - display: flex; } - .el-step.is-vertical .el-step__head { - -webkit-box-flex: 0; - -ms-flex-positive: 0; - flex-grow: 0; - width: 24px; } - .el-step.is-vertical .el-step__main { - padding-left: 10px; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; } - .el-step.is-vertical .el-step__title { - line-height: 24px; - padding-bottom: 8px; } - .el-step.is-vertical .el-step__line { - width: 2px; - top: 0; - bottom: 0; - left: 11px; } - .el-step.is-vertical .el-step__icon.is-icon { - width: 24px; } - .el-step.is-center .el-step__head { - text-align: center; } - .el-step.is-center .el-step__main { - text-align: center; } - .el-step.is-center .el-step__description { - padding-left: 20%; - padding-right: 20%; } - .el-step.is-center .el-step__line { - left: 50%; - right: -50%; } - .el-step.is-simple { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - .el-step.is-simple .el-step__head { - width: auto; - font-size: 0; - padding-right: 10px; } - .el-step.is-simple .el-step__icon { - background: transparent; - width: 16px; - height: 16px; - font-size: 12px; } - .el-step.is-simple .el-step__icon-inner[class*=el-icon]:not(.is-status) { - font-size: 18px; } - .el-step.is-simple .el-step__icon-inner.is-status { - -webkit-transform: scale(0.8) translateY(1px); - transform: scale(0.8) translateY(1px); } - .el-step.is-simple .el-step__main { - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: stretch; - -ms-flex-align: stretch; - align-items: stretch; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; } - .el-step.is-simple .el-step__title { - font-size: 16px; - line-height: 20px; } - .el-step.is-simple:not(:last-of-type) .el-step__title { - max-width: 50%; - word-break: break-all; } - .el-step.is-simple .el-step__arrow { - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; } - .el-step.is-simple .el-step__arrow::before, .el-step.is-simple .el-step__arrow::after { - content: ''; - display: inline-block; - position: absolute; - height: 15px; - width: 1px; - background: #C0C4CC; } - .el-step.is-simple .el-step__arrow::before { - -webkit-transform: rotate(-45deg) translateY(-4px); - transform: rotate(-45deg) translateY(-4px); - -webkit-transform-origin: 0 0; - transform-origin: 0 0; } - .el-step.is-simple .el-step__arrow::after { - -webkit-transform: rotate(45deg) translateY(4px); - transform: rotate(45deg) translateY(4px); - -webkit-transform-origin: 100% 100%; - transform-origin: 100% 100%; } - .el-step.is-simple:last-of-type .el-step__arrow { - display: none; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/steps.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/steps.css deleted file mode 100644 index 85c0bb55..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/steps.css +++ /dev/null @@ -1,146 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -.el-steps { - display: -webkit-box; - display: -ms-flexbox; - display: flex; } - .el-steps--simple { - padding: 13px 8%; - border-radius: 4px; - background: #F5F7FA; } - .el-steps--horizontal { - white-space: nowrap; } - .el-steps--vertical { - height: 100%; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column; - flex-flow: column; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/submenu.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/submenu.css deleted file mode 100644 index e69de29b..00000000 diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/switch.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/switch.css deleted file mode 100644 index e52e42d5..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/switch.css +++ /dev/null @@ -1,333 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-switch { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - position: relative; - font-size: 14px; - line-height: 20px; - height: 20px; - vertical-align: middle; } - .el-switch.is-disabled .el-switch__core, - .el-switch.is-disabled .el-switch__label { - cursor: not-allowed; } - .el-switch__label { - -webkit-transition: .2s; - transition: .2s; - height: 20px; - display: inline-block; - font-size: 14px; - font-weight: 500; - cursor: pointer; - vertical-align: middle; - color: #303133; } - .el-switch__label.is-active { - color: #409EFF; } - .el-switch__label--left { - margin-right: 10px; } - .el-switch__label--right { - margin-left: 10px; } - .el-switch__label * { - line-height: 1; - font-size: 14px; - display: inline-block; } - .el-switch__input { - position: absolute; - width: 0; - height: 0; - opacity: 0; - margin: 0; } - .el-switch__core { - margin: 0; - display: inline-block; - position: relative; - width: 40px; - height: 20px; - border: 1px solid #DCDFE6; - outline: none; - border-radius: 10px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - background: #DCDFE6; - cursor: pointer; - -webkit-transition: border-color .3s, background-color .3s; - transition: border-color .3s, background-color .3s; - vertical-align: middle; } - .el-switch__core:after { - content: ""; - position: absolute; - top: 1px; - left: 1px; - border-radius: 100%; - -webkit-transition: all .3s; - transition: all .3s; - width: 16px; - height: 16px; - background-color: #FFFFFF; } - .el-switch.is-checked .el-switch__core { - border-color: #409EFF; - background-color: #409EFF; } - .el-switch.is-checked .el-switch__core::after { - left: 100%; - margin-left: -17px; } - .el-switch.is-disabled { - opacity: 0.6; } - .el-switch--wide .el-switch__label.el-switch__label--left span { - left: 10px; } - .el-switch--wide .el-switch__label.el-switch__label--right span { - right: 10px; } - .el-switch .label-fade-enter, - .el-switch .label-fade-leave-active { - opacity: 0; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/tab-pane.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/tab-pane.css deleted file mode 100644 index e69de29b..00000000 diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/table-column.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/table-column.css deleted file mode 100644 index d1d98ede..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/table-column.css +++ /dev/null @@ -1,1410 +0,0 @@ -@charset "UTF-8"; -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-checkbox { - color: #606266; - font-weight: 500; - font-size: 14px; - position: relative; - cursor: pointer; - display: inline-block; - white-space: nowrap; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - margin-right: 30px; } - .el-checkbox.is-bordered { - padding: 9px 20px 9px 10px; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - line-height: normal; - height: 40px; } - .el-checkbox.is-bordered.is-checked { - border-color: #409EFF; } - .el-checkbox.is-bordered.is-disabled { - border-color: #EBEEF5; - cursor: not-allowed; } - .el-checkbox.is-bordered + .el-checkbox.is-bordered { - margin-left: 10px; } - .el-checkbox.is-bordered.el-checkbox--medium { - padding: 7px 20px 7px 10px; - border-radius: 4px; - height: 36px; } - .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label { - line-height: 17px; - font-size: 14px; } - .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner { - height: 14px; - width: 14px; } - .el-checkbox.is-bordered.el-checkbox--small { - padding: 5px 15px 5px 10px; - border-radius: 3px; - height: 32px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label { - line-height: 15px; - font-size: 12px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner { - height: 12px; - width: 12px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after { - height: 6px; - width: 2px; } - .el-checkbox.is-bordered.el-checkbox--mini { - padding: 3px 15px 3px 10px; - border-radius: 3px; - height: 28px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label { - line-height: 12px; - font-size: 12px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner { - height: 12px; - width: 12px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after { - height: 6px; - width: 2px; } - .el-checkbox__input { - white-space: nowrap; - cursor: pointer; - outline: none; - display: inline-block; - line-height: 1; - position: relative; - vertical-align: middle; } - .el-checkbox__input.is-disabled .el-checkbox__inner { - background-color: #edf2fc; - border-color: #DCDFE6; - cursor: not-allowed; } - .el-checkbox__input.is-disabled .el-checkbox__inner::after { - cursor: not-allowed; - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled .el-checkbox__inner + .el-checkbox__label { - cursor: not-allowed; } - .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { - background-color: #F2F6FC; - border-color: #DCDFE6; } - .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after { - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner { - background-color: #F2F6FC; - border-color: #DCDFE6; } - .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before { - background-color: #C0C4CC; - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled + span.el-checkbox__label { - color: #C0C4CC; - cursor: not-allowed; } - .el-checkbox__input.is-checked .el-checkbox__inner { - background-color: #409EFF; - border-color: #409EFF; } - .el-checkbox__input.is-checked .el-checkbox__inner::after { - -webkit-transform: rotate(45deg) scaleY(1); - transform: rotate(45deg) scaleY(1); } - .el-checkbox__input.is-checked + .el-checkbox__label { - color: #409EFF; } - .el-checkbox__input.is-focus { - /*focus时 视觉上区分*/ } - .el-checkbox__input.is-focus .el-checkbox__inner { - border-color: #409EFF; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner { - background-color: #409EFF; - border-color: #409EFF; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner::before { - content: ''; - position: absolute; - display: block; - background-color: #FFFFFF; - height: 2px; - -webkit-transform: scale(0.5); - transform: scale(0.5); - left: 0; - right: 0; - top: 5px; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner::after { - display: none; } - .el-checkbox__inner { - display: inline-block; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 2px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 14px; - height: 14px; - background-color: #FFFFFF; - z-index: 1; - -webkit-transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46), background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46); - transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46), background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46); } - .el-checkbox__inner:hover { - border-color: #409EFF; } - .el-checkbox__inner::after { - -webkit-box-sizing: content-box; - box-sizing: content-box; - content: ""; - border: 1px solid #FFFFFF; - border-left: 0; - border-top: 0; - height: 7px; - left: 4px; - position: absolute; - top: 1px; - -webkit-transform: rotate(45deg) scaleY(0); - transform: rotate(45deg) scaleY(0); - width: 3px; - -webkit-transition: -webkit-transform .15s ease-in .05s; - transition: -webkit-transform .15s ease-in .05s; - transition: transform .15s ease-in .05s; - transition: transform .15s ease-in .05s, -webkit-transform .15s ease-in .05s; - -webkit-transform-origin: center; - transform-origin: center; } - .el-checkbox__original { - opacity: 0; - outline: none; - position: absolute; - margin: 0; - width: 0; - height: 0; - z-index: -1; } - .el-checkbox__label { - display: inline-block; - padding-left: 10px; - line-height: 19px; - font-size: 14px; } - .el-checkbox:last-of-type { - margin-right: 0; } - -.el-checkbox-button { - position: relative; - display: inline-block; } - .el-checkbox-button__inner { - display: inline-block; - line-height: 1; - font-weight: 500; - white-space: nowrap; - vertical-align: middle; - cursor: pointer; - background: #FFFFFF; - border: 1px solid #DCDFE6; - border-left: 0; - color: #606266; - -webkit-appearance: none; - text-align: center; - -webkit-box-sizing: border-box; - box-sizing: border-box; - outline: none; - margin: 0; - position: relative; - -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - padding: 12px 20px; - font-size: 14px; - border-radius: 0; } - .el-checkbox-button__inner.is-round { - padding: 12px 20px; } - .el-checkbox-button__inner:hover { - color: #409EFF; } - .el-checkbox-button__inner [class*="el-icon-"] { - line-height: 0.9; } - .el-checkbox-button__inner [class*="el-icon-"] + span { - margin-left: 5px; } - .el-checkbox-button__original { - opacity: 0; - outline: none; - position: absolute; - margin: 0; - z-index: -1; } - .el-checkbox-button.is-checked .el-checkbox-button__inner { - color: #FFFFFF; - background-color: #409EFF; - border-color: #409EFF; - -webkit-box-shadow: -1px 0 0 0 #8cc5ff; - box-shadow: -1px 0 0 0 #8cc5ff; } - .el-checkbox-button.is-checked:first-child .el-checkbox-button__inner { - border-left-color: #409EFF; } - .el-checkbox-button.is-disabled .el-checkbox-button__inner { - color: #C0C4CC; - cursor: not-allowed; - background-image: none; - background-color: #FFFFFF; - border-color: #EBEEF5; - -webkit-box-shadow: none; - box-shadow: none; } - .el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner { - border-left-color: #EBEEF5; } - .el-checkbox-button:first-child .el-checkbox-button__inner { - border-left: 1px solid #DCDFE6; - border-radius: 4px 0 0 4px; - -webkit-box-shadow: none !important; - box-shadow: none !important; } - .el-checkbox-button.is-focus .el-checkbox-button__inner { - border-color: #409EFF; } - .el-checkbox-button:last-child .el-checkbox-button__inner { - border-radius: 0 4px 4px 0; } - .el-checkbox-button--medium .el-checkbox-button__inner { - padding: 10px 20px; - font-size: 14px; - border-radius: 0; } - .el-checkbox-button--medium .el-checkbox-button__inner.is-round { - padding: 10px 20px; } - .el-checkbox-button--small .el-checkbox-button__inner { - padding: 9px 15px; - font-size: 12px; - border-radius: 0; } - .el-checkbox-button--small .el-checkbox-button__inner.is-round { - padding: 9px 15px; } - .el-checkbox-button--mini .el-checkbox-button__inner { - padding: 7px 15px; - font-size: 12px; - border-radius: 0; } - .el-checkbox-button--mini .el-checkbox-button__inner.is-round { - padding: 7px 15px; } - -.el-checkbox-group { - font-size: 0; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-tag { - background-color: #ecf5ff; - border-color: #d9ecff; - color: #409eff; - display: inline-block; - height: 32px; - padding: 0 10px; - line-height: 30px; - font-size: 12px; - color: #409EFF; - border-width: 1px; - border-style: solid; - border-radius: 4px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - white-space: nowrap; } - .el-tag.is-hit { - border-color: #409EFF; } - .el-tag .el-tag__close { - color: #409eff; } - .el-tag .el-tag__close:hover { - color: #FFFFFF; - background-color: #409eff; } - .el-tag.el-tag--info { - background-color: #f4f4f5; - border-color: #e9e9eb; - color: #909399; } - .el-tag.el-tag--info.is-hit { - border-color: #909399; } - .el-tag.el-tag--info .el-tag__close { - color: #909399; } - .el-tag.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #909399; } - .el-tag.el-tag--success { - background-color: #f0f9eb; - border-color: #e1f3d8; - color: #67c23a; } - .el-tag.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag.el-tag--success .el-tag__close { - color: #67c23a; } - .el-tag.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #67c23a; } - .el-tag.el-tag--warning { - background-color: #fdf6ec; - border-color: #faecd8; - color: #e6a23c; } - .el-tag.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag.el-tag--warning .el-tag__close { - color: #e6a23c; } - .el-tag.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #e6a23c; } - .el-tag.el-tag--danger { - background-color: #fef0f0; - border-color: #fde2e2; - color: #f56c6c; } - .el-tag.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag.el-tag--danger .el-tag__close { - color: #f56c6c; } - .el-tag.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f56c6c; } - .el-tag .el-icon-close { - border-radius: 50%; - text-align: center; - position: relative; - cursor: pointer; - font-size: 12px; - height: 16px; - width: 16px; - line-height: 16px; - vertical-align: middle; - top: -1px; - right: -5px; } - .el-tag .el-icon-close::before { - display: block; } - .el-tag--dark { - background-color: #409eff; - border-color: #409eff; - color: white; } - .el-tag--dark.is-hit { - border-color: #409EFF; } - .el-tag--dark .el-tag__close { - color: white; } - .el-tag--dark .el-tag__close:hover { - color: #FFFFFF; - background-color: #66b1ff; } - .el-tag--dark.el-tag--info { - background-color: #909399; - border-color: #909399; - color: white; } - .el-tag--dark.el-tag--info.is-hit { - border-color: #909399; } - .el-tag--dark.el-tag--info .el-tag__close { - color: white; } - .el-tag--dark.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #a6a9ad; } - .el-tag--dark.el-tag--success { - background-color: #67c23a; - border-color: #67c23a; - color: white; } - .el-tag--dark.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag--dark.el-tag--success .el-tag__close { - color: white; } - .el-tag--dark.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #85ce61; } - .el-tag--dark.el-tag--warning { - background-color: #e6a23c; - border-color: #e6a23c; - color: white; } - .el-tag--dark.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag--dark.el-tag--warning .el-tag__close { - color: white; } - .el-tag--dark.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #ebb563; } - .el-tag--dark.el-tag--danger { - background-color: #f56c6c; - border-color: #f56c6c; - color: white; } - .el-tag--dark.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag--dark.el-tag--danger .el-tag__close { - color: white; } - .el-tag--dark.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f78989; } - .el-tag--plain { - background-color: white; - border-color: #b3d8ff; - color: #409eff; } - .el-tag--plain.is-hit { - border-color: #409EFF; } - .el-tag--plain .el-tag__close { - color: #409eff; } - .el-tag--plain .el-tag__close:hover { - color: #FFFFFF; - background-color: #409eff; } - .el-tag--plain.el-tag--info { - background-color: white; - border-color: #d3d4d6; - color: #909399; } - .el-tag--plain.el-tag--info.is-hit { - border-color: #909399; } - .el-tag--plain.el-tag--info .el-tag__close { - color: #909399; } - .el-tag--plain.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #909399; } - .el-tag--plain.el-tag--success { - background-color: white; - border-color: #c2e7b0; - color: #67c23a; } - .el-tag--plain.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag--plain.el-tag--success .el-tag__close { - color: #67c23a; } - .el-tag--plain.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #67c23a; } - .el-tag--plain.el-tag--warning { - background-color: white; - border-color: #f5dab1; - color: #e6a23c; } - .el-tag--plain.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag--plain.el-tag--warning .el-tag__close { - color: #e6a23c; } - .el-tag--plain.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #e6a23c; } - .el-tag--plain.el-tag--danger { - background-color: white; - border-color: #fbc4c4; - color: #f56c6c; } - .el-tag--plain.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag--plain.el-tag--danger .el-tag__close { - color: #f56c6c; } - .el-tag--plain.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f56c6c; } - .el-tag--medium { - height: 28px; - line-height: 26px; } - .el-tag--medium .el-icon-close { - -webkit-transform: scale(0.8); - transform: scale(0.8); } - .el-tag--small { - height: 24px; - padding: 0 8px; - line-height: 22px; } - .el-tag--small .el-icon-close { - -webkit-transform: scale(0.8); - transform: scale(0.8); } - .el-tag--mini { - height: 20px; - padding: 0 5px; - line-height: 19px; } - .el-tag--mini .el-icon-close { - margin-left: -3px; - -webkit-transform: scale(0.7); - transform: scale(0.7); } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-table-column--selection .cell { - padding-left: 14px; - padding-right: 14px; } - -.el-table-filter { - border: solid 1px #EBEEF5; - border-radius: 2px; - background-color: #FFFFFF; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - -webkit-box-sizing: border-box; - box-sizing: border-box; - margin: 2px 0; - /** used for dropdown mode */ } - .el-table-filter__list { - padding: 5px 0; - margin: 0; - list-style: none; - min-width: 100px; } - .el-table-filter__list-item { - line-height: 36px; - padding: 0 10px; - cursor: pointer; - font-size: 14px; } - .el-table-filter__list-item:hover { - background-color: #409EFF; - color: #FFFFFF; } - .el-table-filter__list-item.is-active { - background-color: #409EFF; - color: #FFFFFF; } - .el-table-filter__content { - min-width: 100px; } - .el-table-filter__bottom { - border-top: 1px solid #EBEEF5; - padding: 8px; } - .el-table-filter__bottom button { - background: transparent; - border: none; - color: #606266; - cursor: pointer; - font-size: 13px; - padding: 0 3px; } - .el-table-filter__bottom button:hover { - color: #409EFF; } - .el-table-filter__bottom button:focus { - outline: none; } - .el-table-filter__bottom button.is-disabled { - color: #C0C4CC; - cursor: not-allowed; } - .el-table-filter__wrap { - max-height: 280px; } - .el-table-filter__checkbox-group { - padding: 10px; } - .el-table-filter__checkbox-group label.el-checkbox { - display: block; - margin-right: 5px; - margin-bottom: 8px; - margin-left: 5px; } - .el-table-filter__checkbox-group .el-checkbox:last-child { - margin-bottom: 0; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/table.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/table.css deleted file mode 100644 index 71ca3219..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/table.css +++ /dev/null @@ -1,2047 +0,0 @@ -@charset "UTF-8"; -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-checkbox { - color: #606266; - font-weight: 500; - font-size: 14px; - position: relative; - cursor: pointer; - display: inline-block; - white-space: nowrap; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - margin-right: 30px; } - .el-checkbox.is-bordered { - padding: 9px 20px 9px 10px; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - line-height: normal; - height: 40px; } - .el-checkbox.is-bordered.is-checked { - border-color: #409EFF; } - .el-checkbox.is-bordered.is-disabled { - border-color: #EBEEF5; - cursor: not-allowed; } - .el-checkbox.is-bordered + .el-checkbox.is-bordered { - margin-left: 10px; } - .el-checkbox.is-bordered.el-checkbox--medium { - padding: 7px 20px 7px 10px; - border-radius: 4px; - height: 36px; } - .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label { - line-height: 17px; - font-size: 14px; } - .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner { - height: 14px; - width: 14px; } - .el-checkbox.is-bordered.el-checkbox--small { - padding: 5px 15px 5px 10px; - border-radius: 3px; - height: 32px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label { - line-height: 15px; - font-size: 12px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner { - height: 12px; - width: 12px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after { - height: 6px; - width: 2px; } - .el-checkbox.is-bordered.el-checkbox--mini { - padding: 3px 15px 3px 10px; - border-radius: 3px; - height: 28px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label { - line-height: 12px; - font-size: 12px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner { - height: 12px; - width: 12px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after { - height: 6px; - width: 2px; } - .el-checkbox__input { - white-space: nowrap; - cursor: pointer; - outline: none; - display: inline-block; - line-height: 1; - position: relative; - vertical-align: middle; } - .el-checkbox__input.is-disabled .el-checkbox__inner { - background-color: #edf2fc; - border-color: #DCDFE6; - cursor: not-allowed; } - .el-checkbox__input.is-disabled .el-checkbox__inner::after { - cursor: not-allowed; - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled .el-checkbox__inner + .el-checkbox__label { - cursor: not-allowed; } - .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { - background-color: #F2F6FC; - border-color: #DCDFE6; } - .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after { - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner { - background-color: #F2F6FC; - border-color: #DCDFE6; } - .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before { - background-color: #C0C4CC; - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled + span.el-checkbox__label { - color: #C0C4CC; - cursor: not-allowed; } - .el-checkbox__input.is-checked .el-checkbox__inner { - background-color: #409EFF; - border-color: #409EFF; } - .el-checkbox__input.is-checked .el-checkbox__inner::after { - -webkit-transform: rotate(45deg) scaleY(1); - transform: rotate(45deg) scaleY(1); } - .el-checkbox__input.is-checked + .el-checkbox__label { - color: #409EFF; } - .el-checkbox__input.is-focus { - /*focus时 视觉上区分*/ } - .el-checkbox__input.is-focus .el-checkbox__inner { - border-color: #409EFF; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner { - background-color: #409EFF; - border-color: #409EFF; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner::before { - content: ''; - position: absolute; - display: block; - background-color: #FFFFFF; - height: 2px; - -webkit-transform: scale(0.5); - transform: scale(0.5); - left: 0; - right: 0; - top: 5px; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner::after { - display: none; } - .el-checkbox__inner { - display: inline-block; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 2px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 14px; - height: 14px; - background-color: #FFFFFF; - z-index: 1; - -webkit-transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46), background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46); - transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46), background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46); } - .el-checkbox__inner:hover { - border-color: #409EFF; } - .el-checkbox__inner::after { - -webkit-box-sizing: content-box; - box-sizing: content-box; - content: ""; - border: 1px solid #FFFFFF; - border-left: 0; - border-top: 0; - height: 7px; - left: 4px; - position: absolute; - top: 1px; - -webkit-transform: rotate(45deg) scaleY(0); - transform: rotate(45deg) scaleY(0); - width: 3px; - -webkit-transition: -webkit-transform .15s ease-in .05s; - transition: -webkit-transform .15s ease-in .05s; - transition: transform .15s ease-in .05s; - transition: transform .15s ease-in .05s, -webkit-transform .15s ease-in .05s; - -webkit-transform-origin: center; - transform-origin: center; } - .el-checkbox__original { - opacity: 0; - outline: none; - position: absolute; - margin: 0; - width: 0; - height: 0; - z-index: -1; } - .el-checkbox__label { - display: inline-block; - padding-left: 10px; - line-height: 19px; - font-size: 14px; } - .el-checkbox:last-of-type { - margin-right: 0; } - -.el-checkbox-button { - position: relative; - display: inline-block; } - .el-checkbox-button__inner { - display: inline-block; - line-height: 1; - font-weight: 500; - white-space: nowrap; - vertical-align: middle; - cursor: pointer; - background: #FFFFFF; - border: 1px solid #DCDFE6; - border-left: 0; - color: #606266; - -webkit-appearance: none; - text-align: center; - -webkit-box-sizing: border-box; - box-sizing: border-box; - outline: none; - margin: 0; - position: relative; - -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - padding: 12px 20px; - font-size: 14px; - border-radius: 0; } - .el-checkbox-button__inner.is-round { - padding: 12px 20px; } - .el-checkbox-button__inner:hover { - color: #409EFF; } - .el-checkbox-button__inner [class*="el-icon-"] { - line-height: 0.9; } - .el-checkbox-button__inner [class*="el-icon-"] + span { - margin-left: 5px; } - .el-checkbox-button__original { - opacity: 0; - outline: none; - position: absolute; - margin: 0; - z-index: -1; } - .el-checkbox-button.is-checked .el-checkbox-button__inner { - color: #FFFFFF; - background-color: #409EFF; - border-color: #409EFF; - -webkit-box-shadow: -1px 0 0 0 #8cc5ff; - box-shadow: -1px 0 0 0 #8cc5ff; } - .el-checkbox-button.is-checked:first-child .el-checkbox-button__inner { - border-left-color: #409EFF; } - .el-checkbox-button.is-disabled .el-checkbox-button__inner { - color: #C0C4CC; - cursor: not-allowed; - background-image: none; - background-color: #FFFFFF; - border-color: #EBEEF5; - -webkit-box-shadow: none; - box-shadow: none; } - .el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner { - border-left-color: #EBEEF5; } - .el-checkbox-button:first-child .el-checkbox-button__inner { - border-left: 1px solid #DCDFE6; - border-radius: 4px 0 0 4px; - -webkit-box-shadow: none !important; - box-shadow: none !important; } - .el-checkbox-button.is-focus .el-checkbox-button__inner { - border-color: #409EFF; } - .el-checkbox-button:last-child .el-checkbox-button__inner { - border-radius: 0 4px 4px 0; } - .el-checkbox-button--medium .el-checkbox-button__inner { - padding: 10px 20px; - font-size: 14px; - border-radius: 0; } - .el-checkbox-button--medium .el-checkbox-button__inner.is-round { - padding: 10px 20px; } - .el-checkbox-button--small .el-checkbox-button__inner { - padding: 9px 15px; - font-size: 12px; - border-radius: 0; } - .el-checkbox-button--small .el-checkbox-button__inner.is-round { - padding: 9px 15px; } - .el-checkbox-button--mini .el-checkbox-button__inner { - padding: 7px 15px; - font-size: 12px; - border-radius: 0; } - .el-checkbox-button--mini .el-checkbox-button__inner.is-round { - padding: 7px 15px; } - -.el-checkbox-group { - font-size: 0; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-tag { - background-color: #ecf5ff; - border-color: #d9ecff; - color: #409eff; - display: inline-block; - height: 32px; - padding: 0 10px; - line-height: 30px; - font-size: 12px; - color: #409EFF; - border-width: 1px; - border-style: solid; - border-radius: 4px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - white-space: nowrap; } - .el-tag.is-hit { - border-color: #409EFF; } - .el-tag .el-tag__close { - color: #409eff; } - .el-tag .el-tag__close:hover { - color: #FFFFFF; - background-color: #409eff; } - .el-tag.el-tag--info { - background-color: #f4f4f5; - border-color: #e9e9eb; - color: #909399; } - .el-tag.el-tag--info.is-hit { - border-color: #909399; } - .el-tag.el-tag--info .el-tag__close { - color: #909399; } - .el-tag.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #909399; } - .el-tag.el-tag--success { - background-color: #f0f9eb; - border-color: #e1f3d8; - color: #67c23a; } - .el-tag.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag.el-tag--success .el-tag__close { - color: #67c23a; } - .el-tag.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #67c23a; } - .el-tag.el-tag--warning { - background-color: #fdf6ec; - border-color: #faecd8; - color: #e6a23c; } - .el-tag.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag.el-tag--warning .el-tag__close { - color: #e6a23c; } - .el-tag.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #e6a23c; } - .el-tag.el-tag--danger { - background-color: #fef0f0; - border-color: #fde2e2; - color: #f56c6c; } - .el-tag.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag.el-tag--danger .el-tag__close { - color: #f56c6c; } - .el-tag.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f56c6c; } - .el-tag .el-icon-close { - border-radius: 50%; - text-align: center; - position: relative; - cursor: pointer; - font-size: 12px; - height: 16px; - width: 16px; - line-height: 16px; - vertical-align: middle; - top: -1px; - right: -5px; } - .el-tag .el-icon-close::before { - display: block; } - .el-tag--dark { - background-color: #409eff; - border-color: #409eff; - color: white; } - .el-tag--dark.is-hit { - border-color: #409EFF; } - .el-tag--dark .el-tag__close { - color: white; } - .el-tag--dark .el-tag__close:hover { - color: #FFFFFF; - background-color: #66b1ff; } - .el-tag--dark.el-tag--info { - background-color: #909399; - border-color: #909399; - color: white; } - .el-tag--dark.el-tag--info.is-hit { - border-color: #909399; } - .el-tag--dark.el-tag--info .el-tag__close { - color: white; } - .el-tag--dark.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #a6a9ad; } - .el-tag--dark.el-tag--success { - background-color: #67c23a; - border-color: #67c23a; - color: white; } - .el-tag--dark.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag--dark.el-tag--success .el-tag__close { - color: white; } - .el-tag--dark.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #85ce61; } - .el-tag--dark.el-tag--warning { - background-color: #e6a23c; - border-color: #e6a23c; - color: white; } - .el-tag--dark.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag--dark.el-tag--warning .el-tag__close { - color: white; } - .el-tag--dark.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #ebb563; } - .el-tag--dark.el-tag--danger { - background-color: #f56c6c; - border-color: #f56c6c; - color: white; } - .el-tag--dark.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag--dark.el-tag--danger .el-tag__close { - color: white; } - .el-tag--dark.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f78989; } - .el-tag--plain { - background-color: white; - border-color: #b3d8ff; - color: #409eff; } - .el-tag--plain.is-hit { - border-color: #409EFF; } - .el-tag--plain .el-tag__close { - color: #409eff; } - .el-tag--plain .el-tag__close:hover { - color: #FFFFFF; - background-color: #409eff; } - .el-tag--plain.el-tag--info { - background-color: white; - border-color: #d3d4d6; - color: #909399; } - .el-tag--plain.el-tag--info.is-hit { - border-color: #909399; } - .el-tag--plain.el-tag--info .el-tag__close { - color: #909399; } - .el-tag--plain.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #909399; } - .el-tag--plain.el-tag--success { - background-color: white; - border-color: #c2e7b0; - color: #67c23a; } - .el-tag--plain.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag--plain.el-tag--success .el-tag__close { - color: #67c23a; } - .el-tag--plain.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #67c23a; } - .el-tag--plain.el-tag--warning { - background-color: white; - border-color: #f5dab1; - color: #e6a23c; } - .el-tag--plain.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag--plain.el-tag--warning .el-tag__close { - color: #e6a23c; } - .el-tag--plain.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #e6a23c; } - .el-tag--plain.el-tag--danger { - background-color: white; - border-color: #fbc4c4; - color: #f56c6c; } - .el-tag--plain.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag--plain.el-tag--danger .el-tag__close { - color: #f56c6c; } - .el-tag--plain.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f56c6c; } - .el-tag--medium { - height: 28px; - line-height: 26px; } - .el-tag--medium .el-icon-close { - -webkit-transform: scale(0.8); - transform: scale(0.8); } - .el-tag--small { - height: 24px; - padding: 0 8px; - line-height: 22px; } - .el-tag--small .el-icon-close { - -webkit-transform: scale(0.8); - transform: scale(0.8); } - .el-tag--mini { - height: 20px; - padding: 0 5px; - line-height: 19px; } - .el-tag--mini .el-icon-close { - margin-left: -3px; - -webkit-transform: scale(0.7); - transform: scale(0.7); } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-tooltip:focus:not(.focusing), .el-tooltip:focus:hover { - outline-width: 0; } - -.el-tooltip__popper { - position: absolute; - border-radius: 4px; - padding: 10px; - z-index: 2000; - font-size: 12px; - line-height: 1.2; - min-width: 10px; - word-wrap: break-word; } - .el-tooltip__popper .popper__arrow, - .el-tooltip__popper .popper__arrow::after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; } - .el-tooltip__popper .popper__arrow { - border-width: 6px; } - .el-tooltip__popper .popper__arrow::after { - content: " "; - border-width: 5px; } - .el-tooltip__popper[x-placement^="top"] { - margin-bottom: 12px; } - .el-tooltip__popper[x-placement^="top"] .popper__arrow { - bottom: -6px; - border-top-color: #303133; - border-bottom-width: 0; } - .el-tooltip__popper[x-placement^="top"] .popper__arrow::after { - bottom: 1px; - margin-left: -5px; - border-top-color: #303133; - border-bottom-width: 0; } - .el-tooltip__popper[x-placement^="bottom"] { - margin-top: 12px; } - .el-tooltip__popper[x-placement^="bottom"] .popper__arrow { - top: -6px; - border-top-width: 0; - border-bottom-color: #303133; } - .el-tooltip__popper[x-placement^="bottom"] .popper__arrow::after { - top: 1px; - margin-left: -5px; - border-top-width: 0; - border-bottom-color: #303133; } - .el-tooltip__popper[x-placement^="right"] { - margin-left: 12px; } - .el-tooltip__popper[x-placement^="right"] .popper__arrow { - left: -6px; - border-right-color: #303133; - border-left-width: 0; } - .el-tooltip__popper[x-placement^="right"] .popper__arrow::after { - bottom: -5px; - left: 1px; - border-right-color: #303133; - border-left-width: 0; } - .el-tooltip__popper[x-placement^="left"] { - margin-right: 12px; } - .el-tooltip__popper[x-placement^="left"] .popper__arrow { - right: -6px; - border-right-width: 0; - border-left-color: #303133; } - .el-tooltip__popper[x-placement^="left"] .popper__arrow::after { - right: 1px; - bottom: -5px; - margin-left: -5px; - border-right-width: 0; - border-left-color: #303133; } - .el-tooltip__popper.is-dark { - background: #303133; - color: #FFFFFF; } - .el-tooltip__popper.is-light { - background: #FFFFFF; - border: 1px solid #303133; } - .el-tooltip__popper.is-light[x-placement^="top"] .popper__arrow { - border-top-color: #303133; } - .el-tooltip__popper.is-light[x-placement^="top"] .popper__arrow::after { - border-top-color: #FFFFFF; } - .el-tooltip__popper.is-light[x-placement^="bottom"] .popper__arrow { - border-bottom-color: #303133; } - .el-tooltip__popper.is-light[x-placement^="bottom"] .popper__arrow::after { - border-bottom-color: #FFFFFF; } - .el-tooltip__popper.is-light[x-placement^="left"] .popper__arrow { - border-left-color: #303133; } - .el-tooltip__popper.is-light[x-placement^="left"] .popper__arrow::after { - border-left-color: #FFFFFF; } - .el-tooltip__popper.is-light[x-placement^="right"] .popper__arrow { - border-right-color: #303133; } - .el-tooltip__popper.is-light[x-placement^="right"] .popper__arrow::after { - border-right-color: #FFFFFF; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-table { - position: relative; - overflow: hidden; - -webkit-box-sizing: border-box; - box-sizing: border-box; - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - width: 100%; - max-width: 100%; - background-color: #FFFFFF; - font-size: 14px; - color: #606266; } - .el-table__empty-block { - min-height: 60px; - text-align: center; - width: 100%; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - .el-table__empty-text { - line-height: 60px; - width: 50%; - color: #909399; } - .el-table__expand-column .cell { - padding: 0; - text-align: center; } - .el-table__expand-icon { - position: relative; - cursor: pointer; - color: #666; - font-size: 12px; - -webkit-transition: -webkit-transform 0.2s ease-in-out; - transition: -webkit-transform 0.2s ease-in-out; - transition: transform 0.2s ease-in-out; - transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out; - height: 20px; } - .el-table__expand-icon--expanded { - -webkit-transform: rotate(90deg); - transform: rotate(90deg); } - .el-table__expand-icon > .el-icon { - position: absolute; - left: 50%; - top: 50%; - margin-left: -5px; - margin-top: -5px; } - .el-table__expanded-cell { - background-color: #FFFFFF; } - .el-table__expanded-cell[class*=cell] { - padding: 20px 50px; } - .el-table__expanded-cell:hover { - background-color: transparent !important; } - .el-table__placeholder { - display: inline-block; - width: 20px; } - .el-table__append-wrapper { - overflow: hidden; } - .el-table--fit { - border-right: 0; - border-bottom: 0; } - .el-table--fit th.gutter, .el-table--fit td.gutter { - border-right-width: 1px; } - .el-table--scrollable-x .el-table__body-wrapper { - overflow-x: auto; } - .el-table--scrollable-y .el-table__body-wrapper { - overflow-y: auto; } - .el-table thead { - color: #909399; - font-weight: 500; } - .el-table thead.is-group th { - background: #F5F7FA; } - .el-table th, .el-table td { - padding: 12px 0; - min-width: 0; - -webkit-box-sizing: border-box; - box-sizing: border-box; - text-overflow: ellipsis; - vertical-align: middle; - position: relative; - text-align: left; } - .el-table th.is-center, .el-table td.is-center { - text-align: center; } - .el-table th.is-right, .el-table td.is-right { - text-align: right; } - .el-table th.gutter, .el-table td.gutter { - width: 15px; - border-right-width: 0; - border-bottom-width: 0; - padding: 0; } - .el-table th.is-hidden > *, .el-table td.is-hidden > * { - visibility: hidden; } - .el-table--medium th, .el-table--medium td { - padding: 10px 0; } - .el-table--small { - font-size: 12px; } - .el-table--small th, .el-table--small td { - padding: 8px 0; } - .el-table--mini { - font-size: 12px; } - .el-table--mini th, .el-table--mini td { - padding: 6px 0; } - .el-table tr { - background-color: #FFFFFF; } - .el-table tr input[type="checkbox"] { - margin: 0; } - .el-table th.is-leaf, .el-table td { - border-bottom: 1px solid #EBEEF5; } - .el-table th.is-sortable { - cursor: pointer; } - .el-table th { - overflow: hidden; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background-color: #FFFFFF; } - .el-table th > .cell { - display: inline-block; - -webkit-box-sizing: border-box; - box-sizing: border-box; - position: relative; - vertical-align: middle; - padding-left: 10px; - padding-right: 10px; - width: 100%; } - .el-table th > .cell.highlight { - color: #409EFF; } - .el-table th.required > div::before { - display: inline-block; - content: ""; - width: 8px; - height: 8px; - border-radius: 50%; - background: #ff4d51; - margin-right: 5px; - vertical-align: middle; } - .el-table td div { - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-table td.gutter { - width: 0; } - .el-table .cell { - -webkit-box-sizing: border-box; - box-sizing: border-box; - overflow: hidden; - text-overflow: ellipsis; - white-space: normal; - word-break: break-all; - line-height: 23px; - padding-left: 10px; - padding-right: 10px; } - .el-table .cell.el-tooltip { - white-space: nowrap; - min-width: 50px; } - .el-table--group, .el-table--border { - border: 1px solid #EBEEF5; } - .el-table--group::after, .el-table--border::after, .el-table::before { - content: ''; - position: absolute; - background-color: #EBEEF5; - z-index: 1; } - .el-table--group::after, .el-table--border::after { - top: 0; - right: 0; - width: 1px; - height: 100%; } - .el-table::before { - left: 0; - bottom: 0; - width: 100%; - height: 1px; } - .el-table--border { - border-right: none; - border-bottom: none; } - .el-table--border.el-loading-parent--relative { - border-color: transparent; } - .el-table--border th, .el-table--border td { - border-right: 1px solid #EBEEF5; } - .el-table--border th:first-child .cell, .el-table--border td:first-child .cell { - padding-left: 10px; } - .el-table--border th.gutter:last-of-type { - border-bottom: 1px solid #EBEEF5; - border-bottom-width: 1px; } - .el-table--border th { - border-bottom: 1px solid #EBEEF5; } - .el-table--hidden { - visibility: hidden; } - .el-table__fixed, .el-table__fixed-right { - position: absolute; - top: 0; - left: 0; - overflow-x: hidden; - overflow-y: hidden; - -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.12); - box-shadow: 0 0 10px rgba(0, 0, 0, 0.12); } - .el-table__fixed::before, .el-table__fixed-right::before { - content: ''; - position: absolute; - left: 0; - bottom: 0; - width: 100%; - height: 1px; - background-color: #EBEEF5; - z-index: 4; } - .el-table__fixed-right-patch { - position: absolute; - top: -1px; - right: 0; - background-color: #FFFFFF; - border-bottom: 1px solid #EBEEF5; } - .el-table__fixed-right { - top: 0; - left: auto; - right: 0; } - .el-table__fixed-right .el-table__fixed-header-wrapper, - .el-table__fixed-right .el-table__fixed-body-wrapper, - .el-table__fixed-right .el-table__fixed-footer-wrapper { - left: auto; - right: 0; } - .el-table__fixed-header-wrapper { - position: absolute; - left: 0; - top: 0; - z-index: 3; } - .el-table__fixed-footer-wrapper { - position: absolute; - left: 0; - bottom: 0; - z-index: 3; } - .el-table__fixed-footer-wrapper tbody td { - border-top: 1px solid #EBEEF5; - background-color: #F5F7FA; - color: #606266; } - .el-table__fixed-body-wrapper { - position: absolute; - left: 0; - top: 37px; - overflow: hidden; - z-index: 3; } - .el-table__header-wrapper, .el-table__body-wrapper, .el-table__footer-wrapper { - width: 100%; } - .el-table__footer-wrapper { - margin-top: -1px; } - .el-table__footer-wrapper td { - border-top: 1px solid #EBEEF5; } - .el-table__header, .el-table__body, .el-table__footer { - table-layout: fixed; - border-collapse: separate; } - .el-table__header-wrapper, .el-table__footer-wrapper { - overflow: hidden; } - .el-table__header-wrapper tbody td, .el-table__footer-wrapper tbody td { - background-color: #F5F7FA; - color: #606266; } - .el-table__body-wrapper { - overflow: hidden; - position: relative; } - .el-table__body-wrapper.is-scrolling-none ~ .el-table__fixed, - .el-table__body-wrapper.is-scrolling-none ~ .el-table__fixed-right { - -webkit-box-shadow: none; - box-shadow: none; } - .el-table__body-wrapper.is-scrolling-left ~ .el-table__fixed { - -webkit-box-shadow: none; - box-shadow: none; } - .el-table__body-wrapper.is-scrolling-right ~ .el-table__fixed-right { - -webkit-box-shadow: none; - box-shadow: none; } - .el-table__body-wrapper .el-table--border.is-scrolling-right ~ .el-table__fixed-right { - border-left: 1px solid #EBEEF5; } - .el-table__body-wrapper .el-table--border.is-scrolling-left ~ .el-table__fixed { - border-right: 1px solid #EBEEF5; } - .el-table .caret-wrapper { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - height: 34px; - width: 24px; - vertical-align: middle; - cursor: pointer; - overflow: initial; - position: relative; } - .el-table .sort-caret { - width: 0; - height: 0; - border: solid 5px transparent; - position: absolute; - left: 7px; } - .el-table .sort-caret.ascending { - border-bottom-color: #C0C4CC; - top: 5px; } - .el-table .sort-caret.descending { - border-top-color: #C0C4CC; - bottom: 7px; } - .el-table .ascending .sort-caret.ascending { - border-bottom-color: #409EFF; } - .el-table .descending .sort-caret.descending { - border-top-color: #409EFF; } - .el-table .hidden-columns { - visibility: hidden; - position: absolute; - z-index: -1; } - .el-table--striped .el-table__body tr.el-table__row--striped td { - background: #FAFAFA; } - .el-table--striped .el-table__body tr.el-table__row--striped.current-row td { - background-color: #ecf5ff; } - .el-table__body tr.hover-row > td, .el-table__body tr.hover-row.current-row > td, .el-table__body tr.hover-row.el-table__row--striped > td, .el-table__body tr.hover-row.el-table__row--striped.current-row > td { - background-color: #F5F7FA; } - .el-table__body tr.current-row > td { - background-color: #ecf5ff; } - .el-table__column-resize-proxy { - position: absolute; - left: 200px; - top: 0; - bottom: 0; - width: 0; - border-left: 1px solid #EBEEF5; - z-index: 10; } - .el-table__column-filter-trigger { - display: inline-block; - line-height: 34px; - cursor: pointer; } - .el-table__column-filter-trigger i { - color: #909399; - font-size: 12px; - -webkit-transform: scale(0.75); - transform: scale(0.75); } - .el-table--enable-row-transition .el-table__body td { - -webkit-transition: background-color .25s ease; - transition: background-color .25s ease; } - .el-table--enable-row-hover .el-table__body tr:hover > td { - background-color: #F5F7FA; } - .el-table--fluid-height .el-table__fixed, - .el-table--fluid-height .el-table__fixed-right { - bottom: 0; - overflow: hidden; } - .el-table [class*=el-table__row--level] .el-table__expand-icon { - display: inline-block; - width: 20px; - line-height: 20px; - height: 20px; - text-align: center; - margin-right: 3px; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/tabs.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/tabs.css deleted file mode 100644 index 32b99d6c..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/tabs.css +++ /dev/null @@ -1,831 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-tabs__header { - padding: 0; - position: relative; - margin: 0 0 15px; } - -.el-tabs__active-bar { - position: absolute; - bottom: 0; - left: 0; - height: 2px; - background-color: #409EFF; - z-index: 1; - -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - list-style: none; } - -.el-tabs__new-tab { - float: right; - border: 1px solid #d3dce6; - height: 18px; - width: 18px; - line-height: 18px; - margin: 12px 0 9px 10px; - border-radius: 3px; - text-align: center; - font-size: 12px; - color: #d3dce6; - cursor: pointer; - -webkit-transition: all .15s; - transition: all .15s; } - .el-tabs__new-tab .el-icon-plus { - -webkit-transform: scale(0.8, 0.8); - transform: scale(0.8, 0.8); } - .el-tabs__new-tab:hover { - color: #409EFF; } - -.el-tabs__nav-wrap { - overflow: hidden; - margin-bottom: -1px; - position: relative; } - .el-tabs__nav-wrap::after { - content: ""; - position: absolute; - left: 0; - bottom: 0; - width: 100%; - height: 2px; - background-color: #E4E7ED; - z-index: 1; } - .el-tabs__nav-wrap.is-scrollable { - padding: 0 20px; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - -.el-tabs__nav-scroll { - overflow: hidden; } - -.el-tabs__nav-next, .el-tabs__nav-prev { - position: absolute; - cursor: pointer; - line-height: 44px; - font-size: 12px; - color: #909399; } - -.el-tabs__nav-next { - right: 0; } - -.el-tabs__nav-prev { - left: 0; } - -.el-tabs__nav { - white-space: nowrap; - position: relative; - -webkit-transition: -webkit-transform .3s; - transition: -webkit-transform .3s; - transition: transform .3s; - transition: transform .3s, -webkit-transform .3s; - float: left; - z-index: 2; } - .el-tabs__nav.is-stretch { - min-width: 100%; - display: -webkit-box; - display: -ms-flexbox; - display: flex; } - .el-tabs__nav.is-stretch > * { - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - text-align: center; } - -.el-tabs__item { - padding: 0 20px; - height: 40px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - line-height: 40px; - display: inline-block; - list-style: none; - font-size: 14px; - font-weight: 500; - color: #303133; - position: relative; } - .el-tabs__item:focus, .el-tabs__item:focus:active { - outline: none; } - .el-tabs__item:focus.is-active.is-focus:not(:active) { - -webkit-box-shadow: 0 0 2px 2px #409EFF inset; - box-shadow: 0 0 2px 2px #409EFF inset; - border-radius: 3px; } - .el-tabs__item .el-icon-close { - border-radius: 50%; - text-align: center; - -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - margin-left: 5px; } - .el-tabs__item .el-icon-close:before { - -webkit-transform: scale(0.9); - transform: scale(0.9); - display: inline-block; } - .el-tabs__item .el-icon-close:hover { - background-color: #C0C4CC; - color: #FFFFFF; } - .el-tabs__item.is-active { - color: #409EFF; } - .el-tabs__item:hover { - color: #409EFF; - cursor: pointer; } - .el-tabs__item.is-disabled { - color: #C0C4CC; - cursor: default; } - -.el-tabs__content { - overflow: hidden; - position: relative; } - -.el-tabs--card > .el-tabs__header { - border-bottom: 1px solid #E4E7ED; } - -.el-tabs--card > .el-tabs__header .el-tabs__nav-wrap::after { - content: none; } - -.el-tabs--card > .el-tabs__header .el-tabs__nav { - border: 1px solid #E4E7ED; - border-bottom: none; - border-radius: 4px 4px 0 0; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - -.el-tabs--card > .el-tabs__header .el-tabs__active-bar { - display: none; } - -.el-tabs--card > .el-tabs__header .el-tabs__item .el-icon-close { - position: relative; - font-size: 12px; - width: 0; - height: 14px; - vertical-align: middle; - line-height: 15px; - overflow: hidden; - top: -1px; - right: -2px; - -webkit-transform-origin: 100% 50%; - transform-origin: 100% 50%; } - -.el-tabs--card > .el-tabs__header .el-tabs__item { - border-bottom: 1px solid transparent; - border-left: 1px solid #E4E7ED; - -webkit-transition: color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), padding 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), padding 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-tabs--card > .el-tabs__header .el-tabs__item:first-child { - border-left: none; } - .el-tabs--card > .el-tabs__header .el-tabs__item.is-closable:hover { - padding-left: 13px; - padding-right: 13px; } - .el-tabs--card > .el-tabs__header .el-tabs__item.is-closable:hover .el-icon-close { - width: 14px; } - .el-tabs--card > .el-tabs__header .el-tabs__item.is-active { - border-bottom-color: #FFFFFF; } - .el-tabs--card > .el-tabs__header .el-tabs__item.is-active.is-closable { - padding-left: 20px; - padding-right: 20px; } - .el-tabs--card > .el-tabs__header .el-tabs__item.is-active.is-closable .el-icon-close { - width: 14px; } - -.el-tabs--border-card { - background: #FFFFFF; - border: 1px solid #DCDFE6; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), 0 0 6px 0 rgba(0, 0, 0, 0.04); - box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), 0 0 6px 0 rgba(0, 0, 0, 0.04); } - .el-tabs--border-card > .el-tabs__content { - padding: 15px; } - .el-tabs--border-card > .el-tabs__header { - background-color: #F5F7FA; - border-bottom: 1px solid #E4E7ED; - margin: 0; } - .el-tabs--border-card > .el-tabs__header .el-tabs__nav-wrap::after { - content: none; } - .el-tabs--border-card > .el-tabs__header .el-tabs__item { - -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - border: 1px solid transparent; - margin-top: -1px; - color: #909399; } - .el-tabs--border-card > .el-tabs__header .el-tabs__item:first-child { - margin-left: -1px; } - .el-tabs--border-card > .el-tabs__header .el-tabs__item + .el-tabs__item { - margin-left: -1px; } - .el-tabs--border-card > .el-tabs__header .el-tabs__item.is-active { - color: #409EFF; - background-color: #FFFFFF; - border-right-color: #DCDFE6; - border-left-color: #DCDFE6; } - .el-tabs--border-card > .el-tabs__header .el-tabs__item:not(.is-disabled):hover { - color: #409EFF; } - .el-tabs--border-card > .el-tabs__header .el-tabs__item.is-disabled { - color: #C0C4CC; } - .el-tabs--border-card > .el-tabs__header .is-scrollable .el-tabs__item:first-child { - margin-left: 0; } - -.el-tabs--top .el-tabs__item.is-top:nth-child(2), -.el-tabs--top .el-tabs__item.is-bottom:nth-child(2), .el-tabs--bottom .el-tabs__item.is-top:nth-child(2), -.el-tabs--bottom .el-tabs__item.is-bottom:nth-child(2) { - padding-left: 0; } - -.el-tabs--top .el-tabs__item.is-top:last-child, -.el-tabs--top .el-tabs__item.is-bottom:last-child, .el-tabs--bottom .el-tabs__item.is-top:last-child, -.el-tabs--bottom .el-tabs__item.is-bottom:last-child { - padding-right: 0; } - -.el-tabs--top.el-tabs--border-card > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--top.el-tabs--card > .el-tabs__header .el-tabs__item:nth-child(2), -.el-tabs--top .el-tabs--left > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--top .el-tabs--right > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--bottom.el-tabs--border-card > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--bottom.el-tabs--card > .el-tabs__header .el-tabs__item:nth-child(2), -.el-tabs--bottom .el-tabs--left > .el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--bottom .el-tabs--right > .el-tabs__header .el-tabs__item:nth-child(2) { - padding-left: 20px; } - -.el-tabs--top.el-tabs--border-card > .el-tabs__header .el-tabs__item:last-child, .el-tabs--top.el-tabs--card > .el-tabs__header .el-tabs__item:last-child, -.el-tabs--top .el-tabs--left > .el-tabs__header .el-tabs__item:last-child, .el-tabs--top .el-tabs--right > .el-tabs__header .el-tabs__item:last-child, .el-tabs--bottom.el-tabs--border-card > .el-tabs__header .el-tabs__item:last-child, .el-tabs--bottom.el-tabs--card > .el-tabs__header .el-tabs__item:last-child, -.el-tabs--bottom .el-tabs--left > .el-tabs__header .el-tabs__item:last-child, .el-tabs--bottom .el-tabs--right > .el-tabs__header .el-tabs__item:last-child { - padding-right: 20px; } - -.el-tabs--bottom .el-tabs__header.is-bottom { - margin-bottom: 0; - margin-top: 10px; } - -.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom { - border-bottom: 0; - border-top: 1px solid #DCDFE6; } - -.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom { - margin-top: -1px; - margin-bottom: 0; } - -.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active) { - border: 1px solid transparent; } - -.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom { - margin: 0 -1px -1px -1px; } - -.el-tabs--left, .el-tabs--right { - overflow: hidden; } - .el-tabs--left .el-tabs__header.is-left, - .el-tabs--left .el-tabs__header.is-right, - .el-tabs--left .el-tabs__nav-wrap.is-left, - .el-tabs--left .el-tabs__nav-wrap.is-right, - .el-tabs--left .el-tabs__nav-scroll, .el-tabs--right .el-tabs__header.is-left, - .el-tabs--right .el-tabs__header.is-right, - .el-tabs--right .el-tabs__nav-wrap.is-left, - .el-tabs--right .el-tabs__nav-wrap.is-right, - .el-tabs--right .el-tabs__nav-scroll { - height: 100%; } - .el-tabs--left .el-tabs__active-bar.is-left, - .el-tabs--left .el-tabs__active-bar.is-right, .el-tabs--right .el-tabs__active-bar.is-left, - .el-tabs--right .el-tabs__active-bar.is-right { - top: 0; - bottom: auto; - width: 2px; - height: auto; } - .el-tabs--left .el-tabs__nav-wrap.is-left, - .el-tabs--left .el-tabs__nav-wrap.is-right, .el-tabs--right .el-tabs__nav-wrap.is-left, - .el-tabs--right .el-tabs__nav-wrap.is-right { - margin-bottom: 0; } - .el-tabs--left .el-tabs__nav-wrap.is-left > .el-tabs__nav-prev, - .el-tabs--left .el-tabs__nav-wrap.is-left > .el-tabs__nav-next, - .el-tabs--left .el-tabs__nav-wrap.is-right > .el-tabs__nav-prev, - .el-tabs--left .el-tabs__nav-wrap.is-right > .el-tabs__nav-next, .el-tabs--right .el-tabs__nav-wrap.is-left > .el-tabs__nav-prev, - .el-tabs--right .el-tabs__nav-wrap.is-left > .el-tabs__nav-next, - .el-tabs--right .el-tabs__nav-wrap.is-right > .el-tabs__nav-prev, - .el-tabs--right .el-tabs__nav-wrap.is-right > .el-tabs__nav-next { - height: 30px; - line-height: 30px; - width: 100%; - text-align: center; - cursor: pointer; } - .el-tabs--left .el-tabs__nav-wrap.is-left > .el-tabs__nav-prev i, - .el-tabs--left .el-tabs__nav-wrap.is-left > .el-tabs__nav-next i, - .el-tabs--left .el-tabs__nav-wrap.is-right > .el-tabs__nav-prev i, - .el-tabs--left .el-tabs__nav-wrap.is-right > .el-tabs__nav-next i, .el-tabs--right .el-tabs__nav-wrap.is-left > .el-tabs__nav-prev i, - .el-tabs--right .el-tabs__nav-wrap.is-left > .el-tabs__nav-next i, - .el-tabs--right .el-tabs__nav-wrap.is-right > .el-tabs__nav-prev i, - .el-tabs--right .el-tabs__nav-wrap.is-right > .el-tabs__nav-next i { - -webkit-transform: rotateZ(90deg); - transform: rotateZ(90deg); } - .el-tabs--left .el-tabs__nav-wrap.is-left > .el-tabs__nav-prev, - .el-tabs--left .el-tabs__nav-wrap.is-right > .el-tabs__nav-prev, .el-tabs--right .el-tabs__nav-wrap.is-left > .el-tabs__nav-prev, - .el-tabs--right .el-tabs__nav-wrap.is-right > .el-tabs__nav-prev { - left: auto; - top: 0; } - .el-tabs--left .el-tabs__nav-wrap.is-left > .el-tabs__nav-next, - .el-tabs--left .el-tabs__nav-wrap.is-right > .el-tabs__nav-next, .el-tabs--right .el-tabs__nav-wrap.is-left > .el-tabs__nav-next, - .el-tabs--right .el-tabs__nav-wrap.is-right > .el-tabs__nav-next { - right: auto; - bottom: 0; } - .el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable, - .el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable, .el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable, - .el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable { - padding: 30px 0; } - .el-tabs--left .el-tabs__nav-wrap.is-left::after, - .el-tabs--left .el-tabs__nav-wrap.is-right::after, .el-tabs--right .el-tabs__nav-wrap.is-left::after, - .el-tabs--right .el-tabs__nav-wrap.is-right::after { - height: 100%; - width: 2px; - bottom: auto; - top: 0; } - .el-tabs--left .el-tabs__nav.is-left, - .el-tabs--left .el-tabs__nav.is-right, .el-tabs--right .el-tabs__nav.is-left, - .el-tabs--right .el-tabs__nav.is-right { - float: none; } - .el-tabs--left .el-tabs__item.is-left, - .el-tabs--left .el-tabs__item.is-right, .el-tabs--right .el-tabs__item.is-left, - .el-tabs--right .el-tabs__item.is-right { - display: block; } - -.el-tabs--left .el-tabs__header.is-left { - float: left; - margin-bottom: 0; - margin-right: 10px; } - -.el-tabs--left .el-tabs__nav-wrap.is-left { - margin-right: -1px; } - .el-tabs--left .el-tabs__nav-wrap.is-left::after { - left: auto; - right: 0; } - -.el-tabs--left .el-tabs__active-bar.is-left { - right: 0; - left: auto; } - -.el-tabs--left .el-tabs__item.is-left { - text-align: right; } - -.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left { - display: none; } - -.el-tabs--left.el-tabs--card .el-tabs__item.is-left { - border-left: none; - border-right: 1px solid #E4E7ED; - border-bottom: none; - border-top: 1px solid #E4E7ED; - text-align: left; } - -.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child { - border-right: 1px solid #E4E7ED; - border-top: none; } - -.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active { - border: 1px solid #E4E7ED; - border-right-color: #fff; - border-left: none; - border-bottom: none; } - .el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child { - border-top: none; } - .el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child { - border-bottom: none; } - -.el-tabs--left.el-tabs--card .el-tabs__nav { - border-radius: 4px 0 0 4px; - border-bottom: 1px solid #E4E7ED; - border-right: none; } - -.el-tabs--left.el-tabs--card .el-tabs__new-tab { - float: none; } - -.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left { - border-right: 1px solid #dfe4ed; } - -.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left { - border: 1px solid transparent; - margin: -1px 0 -1px -1px; } - .el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active { - border-color: transparent; - border-top-color: #d1dbe5; - border-bottom-color: #d1dbe5; } - -.el-tabs--right .el-tabs__header.is-right { - float: right; - margin-bottom: 0; - margin-left: 10px; } - -.el-tabs--right .el-tabs__nav-wrap.is-right { - margin-left: -1px; } - .el-tabs--right .el-tabs__nav-wrap.is-right::after { - left: 0; - right: auto; } - -.el-tabs--right .el-tabs__active-bar.is-right { - left: 0; } - -.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right { - display: none; } - -.el-tabs--right.el-tabs--card .el-tabs__item.is-right { - border-bottom: none; - border-top: 1px solid #E4E7ED; } - -.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child { - border-left: 1px solid #E4E7ED; - border-top: none; } - -.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active { - border: 1px solid #E4E7ED; - border-left-color: #fff; - border-right: none; - border-bottom: none; } - .el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child { - border-top: none; } - .el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child { - border-bottom: none; } - -.el-tabs--right.el-tabs--card .el-tabs__nav { - border-radius: 0 4px 4px 0; - border-bottom: 1px solid #E4E7ED; - border-left: none; } - -.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right { - border-left: 1px solid #dfe4ed; } - -.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right { - border: 1px solid transparent; - margin: -1px -1px -1px 0; } - .el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active { - border-color: transparent; - border-top-color: #d1dbe5; - border-bottom-color: #d1dbe5; } - -.slideInRight-transition, -.slideInLeft-transition { - display: inline-block; } - -.slideInRight-enter { - -webkit-animation: slideInRight-enter .3s; - animation: slideInRight-enter .3s; } - -.slideInRight-leave { - position: absolute; - left: 0; - right: 0; - -webkit-animation: slideInRight-leave .3s; - animation: slideInRight-leave .3s; } - -.slideInLeft-enter { - -webkit-animation: slideInLeft-enter .3s; - animation: slideInLeft-enter .3s; } - -.slideInLeft-leave { - position: absolute; - left: 0; - right: 0; - -webkit-animation: slideInLeft-leave .3s; - animation: slideInLeft-leave .3s; } - -@-webkit-keyframes slideInRight-enter { - 0% { - opacity: 0; - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - -webkit-transform: translateX(100%); - transform: translateX(100%); } - to { - opacity: 1; - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - -webkit-transform: translateX(0); - transform: translateX(0); } } - -@keyframes slideInRight-enter { - 0% { - opacity: 0; - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - -webkit-transform: translateX(100%); - transform: translateX(100%); } - to { - opacity: 1; - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - -webkit-transform: translateX(0); - transform: translateX(0); } } - -@-webkit-keyframes slideInRight-leave { - 0% { - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - -webkit-transform: translateX(0); - transform: translateX(0); - opacity: 1; } - 100% { - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - -webkit-transform: translateX(100%); - transform: translateX(100%); - opacity: 0; } } - -@keyframes slideInRight-leave { - 0% { - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - -webkit-transform: translateX(0); - transform: translateX(0); - opacity: 1; } - 100% { - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - -webkit-transform: translateX(100%); - transform: translateX(100%); - opacity: 0; } } - -@-webkit-keyframes slideInLeft-enter { - 0% { - opacity: 0; - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - -webkit-transform: translateX(-100%); - transform: translateX(-100%); } - to { - opacity: 1; - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - -webkit-transform: translateX(0); - transform: translateX(0); } } - -@keyframes slideInLeft-enter { - 0% { - opacity: 0; - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - -webkit-transform: translateX(-100%); - transform: translateX(-100%); } - to { - opacity: 1; - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - -webkit-transform: translateX(0); - transform: translateX(0); } } - -@-webkit-keyframes slideInLeft-leave { - 0% { - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - -webkit-transform: translateX(0); - transform: translateX(0); - opacity: 1; } - 100% { - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - -webkit-transform: translateX(-100%); - transform: translateX(-100%); - opacity: 0; } } - -@keyframes slideInLeft-leave { - 0% { - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - -webkit-transform: translateX(0); - transform: translateX(0); - opacity: 1; } - 100% { - -webkit-transform-origin: 0 0; - transform-origin: 0 0; - -webkit-transform: translateX(-100%); - transform: translateX(-100%); - opacity: 0; } } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/tag.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/tag.css deleted file mode 100644 index b037ffab..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/tag.css +++ /dev/null @@ -1,462 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-tag { - background-color: #ecf5ff; - border-color: #d9ecff; - color: #409eff; - display: inline-block; - height: 32px; - padding: 0 10px; - line-height: 30px; - font-size: 12px; - color: #409EFF; - border-width: 1px; - border-style: solid; - border-radius: 4px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - white-space: nowrap; } - .el-tag.is-hit { - border-color: #409EFF; } - .el-tag .el-tag__close { - color: #409eff; } - .el-tag .el-tag__close:hover { - color: #FFFFFF; - background-color: #409eff; } - .el-tag.el-tag--info { - background-color: #f4f4f5; - border-color: #e9e9eb; - color: #909399; } - .el-tag.el-tag--info.is-hit { - border-color: #909399; } - .el-tag.el-tag--info .el-tag__close { - color: #909399; } - .el-tag.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #909399; } - .el-tag.el-tag--success { - background-color: #f0f9eb; - border-color: #e1f3d8; - color: #67c23a; } - .el-tag.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag.el-tag--success .el-tag__close { - color: #67c23a; } - .el-tag.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #67c23a; } - .el-tag.el-tag--warning { - background-color: #fdf6ec; - border-color: #faecd8; - color: #e6a23c; } - .el-tag.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag.el-tag--warning .el-tag__close { - color: #e6a23c; } - .el-tag.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #e6a23c; } - .el-tag.el-tag--danger { - background-color: #fef0f0; - border-color: #fde2e2; - color: #f56c6c; } - .el-tag.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag.el-tag--danger .el-tag__close { - color: #f56c6c; } - .el-tag.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f56c6c; } - .el-tag .el-icon-close { - border-radius: 50%; - text-align: center; - position: relative; - cursor: pointer; - font-size: 12px; - height: 16px; - width: 16px; - line-height: 16px; - vertical-align: middle; - top: -1px; - right: -5px; } - .el-tag .el-icon-close::before { - display: block; } - .el-tag--dark { - background-color: #409eff; - border-color: #409eff; - color: white; } - .el-tag--dark.is-hit { - border-color: #409EFF; } - .el-tag--dark .el-tag__close { - color: white; } - .el-tag--dark .el-tag__close:hover { - color: #FFFFFF; - background-color: #66b1ff; } - .el-tag--dark.el-tag--info { - background-color: #909399; - border-color: #909399; - color: white; } - .el-tag--dark.el-tag--info.is-hit { - border-color: #909399; } - .el-tag--dark.el-tag--info .el-tag__close { - color: white; } - .el-tag--dark.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #a6a9ad; } - .el-tag--dark.el-tag--success { - background-color: #67c23a; - border-color: #67c23a; - color: white; } - .el-tag--dark.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag--dark.el-tag--success .el-tag__close { - color: white; } - .el-tag--dark.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #85ce61; } - .el-tag--dark.el-tag--warning { - background-color: #e6a23c; - border-color: #e6a23c; - color: white; } - .el-tag--dark.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag--dark.el-tag--warning .el-tag__close { - color: white; } - .el-tag--dark.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #ebb563; } - .el-tag--dark.el-tag--danger { - background-color: #f56c6c; - border-color: #f56c6c; - color: white; } - .el-tag--dark.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag--dark.el-tag--danger .el-tag__close { - color: white; } - .el-tag--dark.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f78989; } - .el-tag--plain { - background-color: white; - border-color: #b3d8ff; - color: #409eff; } - .el-tag--plain.is-hit { - border-color: #409EFF; } - .el-tag--plain .el-tag__close { - color: #409eff; } - .el-tag--plain .el-tag__close:hover { - color: #FFFFFF; - background-color: #409eff; } - .el-tag--plain.el-tag--info { - background-color: white; - border-color: #d3d4d6; - color: #909399; } - .el-tag--plain.el-tag--info.is-hit { - border-color: #909399; } - .el-tag--plain.el-tag--info .el-tag__close { - color: #909399; } - .el-tag--plain.el-tag--info .el-tag__close:hover { - color: #FFFFFF; - background-color: #909399; } - .el-tag--plain.el-tag--success { - background-color: white; - border-color: #c2e7b0; - color: #67c23a; } - .el-tag--plain.el-tag--success.is-hit { - border-color: #67C23A; } - .el-tag--plain.el-tag--success .el-tag__close { - color: #67c23a; } - .el-tag--plain.el-tag--success .el-tag__close:hover { - color: #FFFFFF; - background-color: #67c23a; } - .el-tag--plain.el-tag--warning { - background-color: white; - border-color: #f5dab1; - color: #e6a23c; } - .el-tag--plain.el-tag--warning.is-hit { - border-color: #E6A23C; } - .el-tag--plain.el-tag--warning .el-tag__close { - color: #e6a23c; } - .el-tag--plain.el-tag--warning .el-tag__close:hover { - color: #FFFFFF; - background-color: #e6a23c; } - .el-tag--plain.el-tag--danger { - background-color: white; - border-color: #fbc4c4; - color: #f56c6c; } - .el-tag--plain.el-tag--danger.is-hit { - border-color: #F56C6C; } - .el-tag--plain.el-tag--danger .el-tag__close { - color: #f56c6c; } - .el-tag--plain.el-tag--danger .el-tag__close:hover { - color: #FFFFFF; - background-color: #f56c6c; } - .el-tag--medium { - height: 28px; - line-height: 26px; } - .el-tag--medium .el-icon-close { - -webkit-transform: scale(0.8); - transform: scale(0.8); } - .el-tag--small { - height: 24px; - padding: 0 8px; - line-height: 22px; } - .el-tag--small .el-icon-close { - -webkit-transform: scale(0.8); - transform: scale(0.8); } - .el-tag--mini { - height: 20px; - padding: 0 5px; - line-height: 19px; } - .el-tag--mini .el-icon-close { - margin-left: -3px; - -webkit-transform: scale(0.7); - transform: scale(0.7); } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/time-picker.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/time-picker.css deleted file mode 100644 index e5c85a0d..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/time-picker.css +++ /dev/null @@ -1,2523 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.fade-in-linear-enter-active, -.fade-in-linear-leave-active { - -webkit-transition: opacity 200ms linear; - transition: opacity 200ms linear; } - -.fade-in-linear-enter, -.fade-in-linear-leave, -.fade-in-linear-leave-active { - opacity: 0; } - -.el-fade-in-linear-enter-active, -.el-fade-in-linear-leave-active { - -webkit-transition: opacity 200ms linear; - transition: opacity 200ms linear; } - -.el-fade-in-linear-enter, -.el-fade-in-linear-leave, -.el-fade-in-linear-leave-active { - opacity: 0; } - -.el-fade-in-enter-active, -.el-fade-in-leave-active { - -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-fade-in-enter, -.el-fade-in-leave-active { - opacity: 0; } - -.el-zoom-in-center-enter-active, -.el-zoom-in-center-leave-active { - -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-zoom-in-center-enter, -.el-zoom-in-center-leave-active { - opacity: 0; - -webkit-transform: scaleX(0); - transform: scaleX(0); } - -.el-zoom-in-top-enter-active, -.el-zoom-in-top-leave-active { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: center top; - transform-origin: center top; } - -.el-zoom-in-top-enter, -.el-zoom-in-top-leave-active { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0); } - -.el-zoom-in-bottom-enter-active, -.el-zoom-in-bottom-leave-active { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; } - -.el-zoom-in-bottom-enter, -.el-zoom-in-bottom-leave-active { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0); } - -.el-zoom-in-left-enter-active, -.el-zoom-in-left-leave-active { - opacity: 1; - -webkit-transform: scale(1, 1); - transform: scale(1, 1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: top left; - transform-origin: top left; } - -.el-zoom-in-left-enter, -.el-zoom-in-left-leave-active { - opacity: 0; - -webkit-transform: scale(0.45, 0.45); - transform: scale(0.45, 0.45); } - -.collapse-transition { - -webkit-transition: 0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out; - transition: 0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out; } - -.horizontal-collapse-transition { - -webkit-transition: 0.3s width ease-in-out, 0.3s padding-left ease-in-out, 0.3s padding-right ease-in-out; - transition: 0.3s width ease-in-out, 0.3s padding-left ease-in-out, 0.3s padding-right ease-in-out; } - -.el-list-enter-active, -.el-list-leave-active { - -webkit-transition: all 1s; - transition: all 1s; } - -.el-list-enter, .el-list-leave-active { - opacity: 0; - -webkit-transform: translateY(-30px); - transform: translateY(-30px); } - -.el-opacity-transition { - -webkit-transition: opacity 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: opacity 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-date-editor { - position: relative; - display: inline-block; - text-align: left; } - .el-date-editor.el-input, .el-date-editor.el-input__inner { - width: 220px; } - .el-date-editor--monthrange.el-input, .el-date-editor--monthrange.el-input__inner { - width: 300px; } - .el-date-editor--daterange.el-input, .el-date-editor--daterange.el-input__inner, .el-date-editor--timerange.el-input, .el-date-editor--timerange.el-input__inner { - width: 350px; } - .el-date-editor--datetimerange.el-input, .el-date-editor--datetimerange.el-input__inner { - width: 400px; } - .el-date-editor--dates .el-input__inner { - text-overflow: ellipsis; - white-space: nowrap; } - .el-date-editor .el-icon-circle-close { - cursor: pointer; } - .el-date-editor .el-range__icon { - font-size: 14px; - margin-left: -5px; - color: #C0C4CC; - float: left; - line-height: 32px; } - .el-date-editor .el-range-input { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - border: none; - outline: none; - display: inline-block; - height: 100%; - margin: 0; - padding: 0; - width: 39%; - text-align: center; - font-size: 14px; - color: #606266; } - .el-date-editor .el-range-input::-webkit-input-placeholder { - color: #C0C4CC; } - .el-date-editor .el-range-input::-moz-placeholder { - color: #C0C4CC; } - .el-date-editor .el-range-input::-ms-input-placeholder { - color: #C0C4CC; } - .el-date-editor .el-range-input::placeholder { - color: #C0C4CC; } - .el-date-editor .el-range-separator { - display: inline-block; - height: 100%; - padding: 0 5px; - margin: 0; - text-align: center; - line-height: 32px; - font-size: 14px; - width: 5%; - color: #303133; } - .el-date-editor .el-range__close-icon { - font-size: 14px; - color: #C0C4CC; - width: 25px; - display: inline-block; - float: right; - line-height: 32px; } - -.el-range-editor.el-input__inner { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - padding: 3px 10px; } - -.el-range-editor .el-range-input { - line-height: 1; } - -.el-range-editor.is-active { - border-color: #409EFF; } - .el-range-editor.is-active:hover { - border-color: #409EFF; } - -.el-range-editor--medium.el-input__inner { - height: 36px; } - -.el-range-editor--medium .el-range-separator { - line-height: 28px; - font-size: 14px; } - -.el-range-editor--medium .el-range-input { - font-size: 14px; } - -.el-range-editor--medium .el-range__icon, -.el-range-editor--medium .el-range__close-icon { - line-height: 28px; } - -.el-range-editor--small.el-input__inner { - height: 32px; } - -.el-range-editor--small .el-range-separator { - line-height: 24px; - font-size: 13px; } - -.el-range-editor--small .el-range-input { - font-size: 13px; } - -.el-range-editor--small .el-range__icon, -.el-range-editor--small .el-range__close-icon { - line-height: 24px; } - -.el-range-editor--mini.el-input__inner { - height: 28px; } - -.el-range-editor--mini .el-range-separator { - line-height: 20px; - font-size: 12px; } - -.el-range-editor--mini .el-range-input { - font-size: 12px; } - -.el-range-editor--mini .el-range__icon, -.el-range-editor--mini .el-range__close-icon { - line-height: 20px; } - -.el-range-editor.is-disabled { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-range-editor.is-disabled:hover, .el-range-editor.is-disabled:focus { - border-color: #E4E7ED; } - .el-range-editor.is-disabled input { - background-color: #F5F7FA; - color: #C0C4CC; - cursor: not-allowed; } - .el-range-editor.is-disabled input::-webkit-input-placeholder { - color: #C0C4CC; } - .el-range-editor.is-disabled input::-moz-placeholder { - color: #C0C4CC; } - .el-range-editor.is-disabled input::-ms-input-placeholder { - color: #C0C4CC; } - .el-range-editor.is-disabled input::placeholder { - color: #C0C4CC; } - .el-range-editor.is-disabled .el-range-separator { - color: #C0C4CC; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-picker-panel { - color: #606266; - border: 1px solid #E4E7ED; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - background: #FFFFFF; - border-radius: 4px; - line-height: 30px; - margin: 5px 0; } - .el-picker-panel__body::after, .el-picker-panel__body-wrapper::after { - content: ""; - display: table; - clear: both; } - .el-picker-panel__content { - position: relative; - margin: 15px; } - .el-picker-panel__footer { - border-top: 1px solid #e4e4e4; - padding: 4px; - text-align: right; - background-color: #FFFFFF; - position: relative; - font-size: 0; } - .el-picker-panel__shortcut { - display: block; - width: 100%; - border: 0; - background-color: transparent; - line-height: 28px; - font-size: 14px; - color: #606266; - padding-left: 12px; - text-align: left; - outline: none; - cursor: pointer; } - .el-picker-panel__shortcut:hover { - color: #409EFF; } - .el-picker-panel__shortcut.active { - background-color: #e6f1fe; - color: #409EFF; } - .el-picker-panel__btn { - border: 1px solid #dcdcdc; - color: #333; - line-height: 24px; - border-radius: 2px; - padding: 0 20px; - cursor: pointer; - background-color: transparent; - outline: none; - font-size: 12px; } - .el-picker-panel__btn[disabled] { - color: #cccccc; - cursor: not-allowed; } - .el-picker-panel__icon-btn { - font-size: 12px; - color: #303133; - border: 0; - background: transparent; - cursor: pointer; - outline: none; - margin-top: 8px; } - .el-picker-panel__icon-btn:hover { - color: #409EFF; } - .el-picker-panel__icon-btn.is-disabled { - color: #bbb; } - .el-picker-panel__icon-btn.is-disabled:hover { - cursor: not-allowed; } - .el-picker-panel__link-btn { - vertical-align: middle; } - -.el-picker-panel *[slot=sidebar], -.el-picker-panel__sidebar { - position: absolute; - top: 0; - bottom: 0; - width: 110px; - border-right: 1px solid #e4e4e4; - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding-top: 6px; - background-color: #FFFFFF; - overflow: auto; } - -.el-picker-panel *[slot=sidebar] + .el-picker-panel__body, -.el-picker-panel__sidebar + .el-picker-panel__body { - margin-left: 110px; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-time-spinner.has-seconds .el-time-spinner__wrapper { - width: 33.3%; } - -.el-time-spinner__wrapper { - max-height: 190px; - overflow: auto; - display: inline-block; - width: 50%; - vertical-align: top; - position: relative; } - .el-time-spinner__wrapper .el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default) { - padding-bottom: 15px; } - .el-time-spinner__wrapper.is-arrow { - -webkit-box-sizing: border-box; - box-sizing: border-box; - text-align: center; - overflow: hidden; } - .el-time-spinner__wrapper.is-arrow .el-time-spinner__list { - -webkit-transform: translateY(-32px); - transform: translateY(-32px); } - .el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.disabled):not(.active) { - background: #FFFFFF; - cursor: default; } - -.el-time-spinner__arrow { - font-size: 12px; - color: #909399; - position: absolute; - left: 0; - width: 100%; - z-index: 1; - text-align: center; - height: 30px; - line-height: 30px; - cursor: pointer; } - .el-time-spinner__arrow:hover { - color: #409EFF; } - .el-time-spinner__arrow.el-icon-arrow-up { - top: 10px; } - .el-time-spinner__arrow.el-icon-arrow-down { - bottom: 10px; } - -.el-time-spinner__input.el-input { - width: 70%; } - .el-time-spinner__input.el-input .el-input__inner { - padding: 0; - text-align: center; } - -.el-time-spinner__list { - padding: 0; - margin: 0; - list-style: none; - text-align: center; } - .el-time-spinner__list::after, .el-time-spinner__list::before { - content: ''; - display: block; - width: 100%; - height: 80px; } - -.el-time-spinner__item { - height: 32px; - line-height: 32px; - font-size: 12px; - color: #606266; } - .el-time-spinner__item:hover:not(.disabled):not(.active) { - background: #F5F7FA; - cursor: pointer; } - .el-time-spinner__item.active:not(.disabled) { - color: #303133; - font-weight: bold; } - .el-time-spinner__item.disabled { - color: #C0C4CC; - cursor: not-allowed; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-time-panel { - margin: 5px 0; - border: solid 1px #E4E7ED; - background-color: #FFFFFF; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - border-radius: 2px; - position: absolute; - width: 180px; - left: 0; - z-index: 1000; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - -webkit-box-sizing: content-box; - box-sizing: content-box; } - .el-time-panel__content { - font-size: 0; - position: relative; - overflow: hidden; } - .el-time-panel__content::after, .el-time-panel__content::before { - content: ""; - top: 50%; - position: absolute; - margin-top: -15px; - height: 32px; - z-index: -1; - left: 0; - right: 0; - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding-top: 6px; - text-align: left; - border-top: 1px solid #E4E7ED; - border-bottom: 1px solid #E4E7ED; } - .el-time-panel__content::after { - left: 50%; - margin-left: 12%; - margin-right: 12%; } - .el-time-panel__content::before { - padding-left: 50%; - margin-right: 12%; - margin-left: 12%; } - .el-time-panel__content.has-seconds::after { - left: calc(100% / 3 * 2); } - .el-time-panel__content.has-seconds::before { - padding-left: calc(100% / 3); } - .el-time-panel__footer { - border-top: 1px solid #e4e4e4; - padding: 4px; - height: 36px; - line-height: 25px; - text-align: right; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-time-panel__btn { - border: none; - line-height: 28px; - padding: 0 5px; - margin: 0 5px; - cursor: pointer; - background-color: transparent; - outline: none; - font-size: 12px; - color: #303133; } - .el-time-panel__btn.confirm { - font-weight: 800; - color: #409EFF; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-time-range-picker { - width: 354px; - overflow: visible; } - .el-time-range-picker__content { - position: relative; - text-align: center; - padding: 10px; } - .el-time-range-picker__cell { - -webkit-box-sizing: border-box; - box-sizing: border-box; - margin: 0; - padding: 4px 7px 7px; - width: 50%; - display: inline-block; } - .el-time-range-picker__header { - margin-bottom: 5px; - text-align: center; - font-size: 14px; } - .el-time-range-picker__body { - border-radius: 2px; - border: 1px solid #E4E7ED; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-textarea { - position: relative; - display: inline-block; - width: 100%; - vertical-align: bottom; - font-size: 14px; } - .el-textarea__inner { - display: block; - resize: vertical; - padding: 5px 15px; - line-height: 1.5; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - font-size: inherit; - color: #606266; - background-color: #FFFFFF; - background-image: none; - border: 1px solid #DCDFE6; - border-radius: 4px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea__inner:hover { - border-color: #C0C4CC; } - .el-textarea__inner:focus { - outline: none; - border-color: #409EFF; } - .el-textarea .el-input__count { - color: #909399; - background: #FFFFFF; - position: absolute; - font-size: 12px; - bottom: 5px; - right: 10px; } - .el-textarea.is-disabled .el-textarea__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea.is-exceed .el-textarea__inner { - border-color: #F56C6C; } - .el-textarea.is-exceed .el-input__count { - color: #F56C6C; } - -.el-input { - position: relative; - font-size: 14px; - display: inline-block; - width: 100%; } - .el-input::-webkit-scrollbar { - z-index: 11; - width: 6px; } - .el-input::-webkit-scrollbar:horizontal { - height: 6px; } - .el-input::-webkit-scrollbar-thumb { - border-radius: 5px; - width: 6px; - background: #b4bccc; } - .el-input::-webkit-scrollbar-corner { - background: #fff; } - .el-input::-webkit-scrollbar-track { - background: #fff; } - .el-input::-webkit-scrollbar-track-piece { - background: #fff; - width: 6px; } - .el-input .el-input__clear { - color: #C0C4CC; - font-size: 14px; - cursor: pointer; - -webkit-transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-input .el-input__clear:hover { - color: #909399; } - .el-input .el-input__count { - height: 100%; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - color: #909399; - font-size: 12px; } - .el-input .el-input__count .el-input__count-inner { - background: #FFFFFF; - line-height: initial; - display: inline-block; - padding: 0 5px; } - .el-input__inner { - -webkit-appearance: none; - background-color: #FFFFFF; - background-image: none; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: #606266; - display: inline-block; - font-size: inherit; - height: 40px; - line-height: 40px; - outline: none; - padding: 0 15px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - width: 100%; } - .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input__inner:hover { - border-color: #C0C4CC; } - .el-input__inner:focus { - outline: none; - border-color: #409EFF; } - .el-input__suffix { - position: absolute; - height: 100%; - right: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; - pointer-events: none; } - .el-input__suffix-inner { - pointer-events: all; } - .el-input__prefix { - position: absolute; - height: 100%; - left: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; } - .el-input__icon { - height: 100%; - width: 25px; - text-align: center; - -webkit-transition: all .3s; - transition: all .3s; - line-height: 40px; } - .el-input__icon:after { - content: ''; - height: 100%; - width: 0; - display: inline-block; - vertical-align: middle; } - .el-input__validateIcon { - pointer-events: none; } - .el-input.is-active .el-input__inner { - outline: none; - border-color: #409EFF; } - .el-input.is-disabled .el-input__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-input.is-disabled .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__icon { - cursor: not-allowed; } - .el-input.is-exceed .el-input__inner { - border-color: #F56C6C; } - .el-input.is-exceed .el-input__suffix .el-input__count { - color: #F56C6C; } - .el-input--suffix .el-input__inner { - padding-right: 30px; } - .el-input--prefix .el-input__inner { - padding-left: 30px; } - .el-input--medium { - font-size: 14px; } - .el-input--medium .el-input__inner { - height: 36px; - line-height: 36px; } - .el-input--medium .el-input__icon { - line-height: 36px; } - .el-input--small { - font-size: 13px; } - .el-input--small .el-input__inner { - height: 32px; - line-height: 32px; } - .el-input--small .el-input__icon { - line-height: 32px; } - .el-input--mini { - font-size: 12px; } - .el-input--mini .el-input__inner { - height: 28px; - line-height: 28px; } - .el-input--mini .el-input__icon { - line-height: 28px; } - -.el-input-group { - line-height: normal; - display: inline-table; - width: 100%; - border-collapse: separate; - border-spacing: 0; } - .el-input-group > .el-input__inner { - vertical-align: middle; - display: table-cell; } - .el-input-group__append, .el-input-group__prepend { - background-color: #F5F7FA; - color: #909399; - vertical-align: middle; - display: table-cell; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 4px; - padding: 0 20px; - width: 1px; - white-space: nowrap; } - .el-input-group__append:focus, .el-input-group__prepend:focus { - outline: none; } - .el-input-group__append .el-select, - .el-input-group__append .el-button, .el-input-group__prepend .el-select, - .el-input-group__prepend .el-button { - display: inline-block; - margin: -10px -20px; } - .el-input-group__append button.el-button, - .el-input-group__append div.el-select .el-input__inner, - .el-input-group__append div.el-select:hover .el-input__inner, .el-input-group__prepend button.el-button, - .el-input-group__prepend div.el-select .el-input__inner, - .el-input-group__prepend div.el-select:hover .el-input__inner { - border-color: transparent; - background-color: transparent; - color: inherit; - border-top: 0; - border-bottom: 0; } - .el-input-group__append .el-button, - .el-input-group__append .el-input, .el-input-group__prepend .el-button, - .el-input-group__prepend .el-input { - font-size: inherit; } - .el-input-group__prepend { - border-right: 0; - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group__append { - border-left: 0; - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-input__inner { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - .el-input-group--append .el-input__inner { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group--append .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - -/** disalbe default clear on IE */ -.el-input__inner::-ms-clear { - display: none; - width: 0; - height: 0; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-scrollbar { - overflow: hidden; - position: relative; } - .el-scrollbar:hover > .el-scrollbar__bar, .el-scrollbar:active > .el-scrollbar__bar, .el-scrollbar:focus > .el-scrollbar__bar { - opacity: 1; - -webkit-transition: opacity 340ms ease-out; - transition: opacity 340ms ease-out; } - .el-scrollbar__wrap { - overflow: scroll; - height: 100%; } - .el-scrollbar__wrap--hidden-default { - scrollbar-width: none; } - .el-scrollbar__wrap--hidden-default::-webkit-scrollbar { - width: 0; - height: 0; } - .el-scrollbar__thumb { - position: relative; - display: block; - width: 0; - height: 0; - cursor: pointer; - border-radius: inherit; - background-color: rgba(144, 147, 153, 0.3); - -webkit-transition: .3s background-color; - transition: .3s background-color; } - .el-scrollbar__thumb:hover { - background-color: rgba(144, 147, 153, 0.5); } - .el-scrollbar__bar { - position: absolute; - right: 2px; - bottom: 2px; - z-index: 1; - border-radius: 4px; - opacity: 0; - -webkit-transition: opacity 120ms ease-out; - transition: opacity 120ms ease-out; } - .el-scrollbar__bar.is-vertical { - width: 6px; - top: 2px; } - .el-scrollbar__bar.is-vertical > div { - width: 100%; } - .el-scrollbar__bar.is-horizontal { - height: 6px; - left: 2px; } - .el-scrollbar__bar.is-horizontal > div { - height: 100%; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-popper .popper__arrow, -.el-popper .popper__arrow::after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; } - -.el-popper .popper__arrow { - border-width: 6px; - -webkit-filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); - filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); } - -.el-popper .popper__arrow::after { - content: " "; - border-width: 6px; } - -.el-popper[x-placement^="top"] { - margin-bottom: 12px; } - -.el-popper[x-placement^="top"] .popper__arrow { - bottom: -6px; - left: 50%; - margin-right: 3px; - border-top-color: #EBEEF5; - border-bottom-width: 0; } - .el-popper[x-placement^="top"] .popper__arrow::after { - bottom: 1px; - margin-left: -6px; - border-top-color: #FFFFFF; - border-bottom-width: 0; } - -.el-popper[x-placement^="bottom"] { - margin-top: 12px; } - -.el-popper[x-placement^="bottom"] .popper__arrow { - top: -6px; - left: 50%; - margin-right: 3px; - border-top-width: 0; - border-bottom-color: #EBEEF5; } - .el-popper[x-placement^="bottom"] .popper__arrow::after { - top: 1px; - margin-left: -6px; - border-top-width: 0; - border-bottom-color: #FFFFFF; } - -.el-popper[x-placement^="right"] { - margin-left: 12px; } - -.el-popper[x-placement^="right"] .popper__arrow { - top: 50%; - left: -6px; - margin-bottom: 3px; - border-right-color: #EBEEF5; - border-left-width: 0; } - .el-popper[x-placement^="right"] .popper__arrow::after { - bottom: -6px; - left: 1px; - border-right-color: #FFFFFF; - border-left-width: 0; } - -.el-popper[x-placement^="left"] { - margin-right: 12px; } - -.el-popper[x-placement^="left"] .popper__arrow { - top: 50%; - right: -6px; - margin-bottom: 3px; - border-right-width: 0; - border-left-color: #EBEEF5; } - .el-popper[x-placement^="left"] .popper__arrow::after { - right: 1px; - bottom: -6px; - margin-left: -6px; - border-right-width: 0; - border-left-color: #FFFFFF; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/time-select.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/time-select.css deleted file mode 100644 index c80f5c05..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/time-select.css +++ /dev/null @@ -1,1918 +0,0 @@ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.fade-in-linear-enter-active, -.fade-in-linear-leave-active { - -webkit-transition: opacity 200ms linear; - transition: opacity 200ms linear; } - -.fade-in-linear-enter, -.fade-in-linear-leave, -.fade-in-linear-leave-active { - opacity: 0; } - -.el-fade-in-linear-enter-active, -.el-fade-in-linear-leave-active { - -webkit-transition: opacity 200ms linear; - transition: opacity 200ms linear; } - -.el-fade-in-linear-enter, -.el-fade-in-linear-leave, -.el-fade-in-linear-leave-active { - opacity: 0; } - -.el-fade-in-enter-active, -.el-fade-in-leave-active { - -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-fade-in-enter, -.el-fade-in-leave-active { - opacity: 0; } - -.el-zoom-in-center-enter-active, -.el-zoom-in-center-leave-active { - -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-zoom-in-center-enter, -.el-zoom-in-center-leave-active { - opacity: 0; - -webkit-transform: scaleX(0); - transform: scaleX(0); } - -.el-zoom-in-top-enter-active, -.el-zoom-in-top-leave-active { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: center top; - transform-origin: center top; } - -.el-zoom-in-top-enter, -.el-zoom-in-top-leave-active { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0); } - -.el-zoom-in-bottom-enter-active, -.el-zoom-in-bottom-leave-active { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; } - -.el-zoom-in-bottom-enter, -.el-zoom-in-bottom-leave-active { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0); } - -.el-zoom-in-left-enter-active, -.el-zoom-in-left-leave-active { - opacity: 1; - -webkit-transform: scale(1, 1); - transform: scale(1, 1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: top left; - transform-origin: top left; } - -.el-zoom-in-left-enter, -.el-zoom-in-left-leave-active { - opacity: 0; - -webkit-transform: scale(0.45, 0.45); - transform: scale(0.45, 0.45); } - -.collapse-transition { - -webkit-transition: 0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out; - transition: 0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out; } - -.horizontal-collapse-transition { - -webkit-transition: 0.3s width ease-in-out, 0.3s padding-left ease-in-out, 0.3s padding-right ease-in-out; - transition: 0.3s width ease-in-out, 0.3s padding-left ease-in-out, 0.3s padding-right ease-in-out; } - -.el-list-enter-active, -.el-list-leave-active { - -webkit-transition: all 1s; - transition: all 1s; } - -.el-list-enter, .el-list-leave-active { - opacity: 0; - -webkit-transform: translateY(-30px); - transform: translateY(-30px); } - -.el-opacity-transition { - -webkit-transition: opacity 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: opacity 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-date-editor { - position: relative; - display: inline-block; - text-align: left; } - .el-date-editor.el-input, .el-date-editor.el-input__inner { - width: 220px; } - .el-date-editor--monthrange.el-input, .el-date-editor--monthrange.el-input__inner { - width: 300px; } - .el-date-editor--daterange.el-input, .el-date-editor--daterange.el-input__inner, .el-date-editor--timerange.el-input, .el-date-editor--timerange.el-input__inner { - width: 350px; } - .el-date-editor--datetimerange.el-input, .el-date-editor--datetimerange.el-input__inner { - width: 400px; } - .el-date-editor--dates .el-input__inner { - text-overflow: ellipsis; - white-space: nowrap; } - .el-date-editor .el-icon-circle-close { - cursor: pointer; } - .el-date-editor .el-range__icon { - font-size: 14px; - margin-left: -5px; - color: #C0C4CC; - float: left; - line-height: 32px; } - .el-date-editor .el-range-input { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - border: none; - outline: none; - display: inline-block; - height: 100%; - margin: 0; - padding: 0; - width: 39%; - text-align: center; - font-size: 14px; - color: #606266; } - .el-date-editor .el-range-input::-webkit-input-placeholder { - color: #C0C4CC; } - .el-date-editor .el-range-input::-moz-placeholder { - color: #C0C4CC; } - .el-date-editor .el-range-input::-ms-input-placeholder { - color: #C0C4CC; } - .el-date-editor .el-range-input::placeholder { - color: #C0C4CC; } - .el-date-editor .el-range-separator { - display: inline-block; - height: 100%; - padding: 0 5px; - margin: 0; - text-align: center; - line-height: 32px; - font-size: 14px; - width: 5%; - color: #303133; } - .el-date-editor .el-range__close-icon { - font-size: 14px; - color: #C0C4CC; - width: 25px; - display: inline-block; - float: right; - line-height: 32px; } - -.el-range-editor.el-input__inner { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - padding: 3px 10px; } - -.el-range-editor .el-range-input { - line-height: 1; } - -.el-range-editor.is-active { - border-color: #409EFF; } - .el-range-editor.is-active:hover { - border-color: #409EFF; } - -.el-range-editor--medium.el-input__inner { - height: 36px; } - -.el-range-editor--medium .el-range-separator { - line-height: 28px; - font-size: 14px; } - -.el-range-editor--medium .el-range-input { - font-size: 14px; } - -.el-range-editor--medium .el-range__icon, -.el-range-editor--medium .el-range__close-icon { - line-height: 28px; } - -.el-range-editor--small.el-input__inner { - height: 32px; } - -.el-range-editor--small .el-range-separator { - line-height: 24px; - font-size: 13px; } - -.el-range-editor--small .el-range-input { - font-size: 13px; } - -.el-range-editor--small .el-range__icon, -.el-range-editor--small .el-range__close-icon { - line-height: 24px; } - -.el-range-editor--mini.el-input__inner { - height: 28px; } - -.el-range-editor--mini .el-range-separator { - line-height: 20px; - font-size: 12px; } - -.el-range-editor--mini .el-range-input { - font-size: 12px; } - -.el-range-editor--mini .el-range__icon, -.el-range-editor--mini .el-range__close-icon { - line-height: 20px; } - -.el-range-editor.is-disabled { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-range-editor.is-disabled:hover, .el-range-editor.is-disabled:focus { - border-color: #E4E7ED; } - .el-range-editor.is-disabled input { - background-color: #F5F7FA; - color: #C0C4CC; - cursor: not-allowed; } - .el-range-editor.is-disabled input::-webkit-input-placeholder { - color: #C0C4CC; } - .el-range-editor.is-disabled input::-moz-placeholder { - color: #C0C4CC; } - .el-range-editor.is-disabled input::-ms-input-placeholder { - color: #C0C4CC; } - .el-range-editor.is-disabled input::placeholder { - color: #C0C4CC; } - .el-range-editor.is-disabled .el-range-separator { - color: #C0C4CC; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-picker-panel { - color: #606266; - border: 1px solid #E4E7ED; - -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); - background: #FFFFFF; - border-radius: 4px; - line-height: 30px; - margin: 5px 0; } - .el-picker-panel__body::after, .el-picker-panel__body-wrapper::after { - content: ""; - display: table; - clear: both; } - .el-picker-panel__content { - position: relative; - margin: 15px; } - .el-picker-panel__footer { - border-top: 1px solid #e4e4e4; - padding: 4px; - text-align: right; - background-color: #FFFFFF; - position: relative; - font-size: 0; } - .el-picker-panel__shortcut { - display: block; - width: 100%; - border: 0; - background-color: transparent; - line-height: 28px; - font-size: 14px; - color: #606266; - padding-left: 12px; - text-align: left; - outline: none; - cursor: pointer; } - .el-picker-panel__shortcut:hover { - color: #409EFF; } - .el-picker-panel__shortcut.active { - background-color: #e6f1fe; - color: #409EFF; } - .el-picker-panel__btn { - border: 1px solid #dcdcdc; - color: #333; - line-height: 24px; - border-radius: 2px; - padding: 0 20px; - cursor: pointer; - background-color: transparent; - outline: none; - font-size: 12px; } - .el-picker-panel__btn[disabled] { - color: #cccccc; - cursor: not-allowed; } - .el-picker-panel__icon-btn { - font-size: 12px; - color: #303133; - border: 0; - background: transparent; - cursor: pointer; - outline: none; - margin-top: 8px; } - .el-picker-panel__icon-btn:hover { - color: #409EFF; } - .el-picker-panel__icon-btn.is-disabled { - color: #bbb; } - .el-picker-panel__icon-btn.is-disabled:hover { - cursor: not-allowed; } - .el-picker-panel__link-btn { - vertical-align: middle; } - -.el-picker-panel *[slot=sidebar], -.el-picker-panel__sidebar { - position: absolute; - top: 0; - bottom: 0; - width: 110px; - border-right: 1px solid #e4e4e4; - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding-top: 6px; - background-color: #FFFFFF; - overflow: auto; } - -.el-picker-panel *[slot=sidebar] + .el-picker-panel__body, -.el-picker-panel__sidebar + .el-picker-panel__body { - margin-left: 110px; } - -.el-date-picker { - width: 322px; } - .el-date-picker.has-sidebar.has-time { - width: 434px; } - .el-date-picker.has-sidebar { - width: 438px; } - .el-date-picker.has-time .el-picker-panel__body-wrapper { - position: relative; } - .el-date-picker .el-picker-panel__content { - width: 292px; } - .el-date-picker table { - table-layout: fixed; - width: 100%; } - .el-date-picker__editor-wrap { - position: relative; - display: table-cell; - padding: 0 5px; } - .el-date-picker__time-header { - position: relative; - border-bottom: 1px solid #e4e4e4; - font-size: 12px; - padding: 8px 5px 5px 5px; - display: table; - width: 100%; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-date-picker__header { - margin: 12px; - text-align: center; } - .el-date-picker__header--bordered { - margin-bottom: 0; - padding-bottom: 12px; - border-bottom: solid 1px #EBEEF5; } - .el-date-picker__header--bordered + .el-picker-panel__content { - margin-top: 0; } - .el-date-picker__header-label { - font-size: 16px; - font-weight: 500; - padding: 0 5px; - line-height: 22px; - text-align: center; - cursor: pointer; - color: #606266; } - .el-date-picker__header-label:hover { - color: #409EFF; } - .el-date-picker__header-label.active { - color: #409EFF; } - .el-date-picker__prev-btn { - float: left; } - .el-date-picker__next-btn { - float: right; } - .el-date-picker__time-wrap { - padding: 10px; - text-align: center; } - .el-date-picker__time-label { - float: left; - cursor: pointer; - line-height: 30px; - margin-left: 10px; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-scrollbar { - overflow: hidden; - position: relative; } - .el-scrollbar:hover > .el-scrollbar__bar, .el-scrollbar:active > .el-scrollbar__bar, .el-scrollbar:focus > .el-scrollbar__bar { - opacity: 1; - -webkit-transition: opacity 340ms ease-out; - transition: opacity 340ms ease-out; } - .el-scrollbar__wrap { - overflow: scroll; - height: 100%; } - .el-scrollbar__wrap--hidden-default { - scrollbar-width: none; } - .el-scrollbar__wrap--hidden-default::-webkit-scrollbar { - width: 0; - height: 0; } - .el-scrollbar__thumb { - position: relative; - display: block; - width: 0; - height: 0; - cursor: pointer; - border-radius: inherit; - background-color: rgba(144, 147, 153, 0.3); - -webkit-transition: .3s background-color; - transition: .3s background-color; } - .el-scrollbar__thumb:hover { - background-color: rgba(144, 147, 153, 0.5); } - .el-scrollbar__bar { - position: absolute; - right: 2px; - bottom: 2px; - z-index: 1; - border-radius: 4px; - opacity: 0; - -webkit-transition: opacity 120ms ease-out; - transition: opacity 120ms ease-out; } - .el-scrollbar__bar.is-vertical { - width: 6px; - top: 2px; } - .el-scrollbar__bar.is-vertical > div { - width: 100%; } - .el-scrollbar__bar.is-horizontal { - height: 6px; - left: 2px; } - .el-scrollbar__bar.is-horizontal > div { - height: 100%; } - -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-popper .popper__arrow, -.el-popper .popper__arrow::after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; } - -.el-popper .popper__arrow { - border-width: 6px; - -webkit-filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); - filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); } - -.el-popper .popper__arrow::after { - content: " "; - border-width: 6px; } - -.el-popper[x-placement^="top"] { - margin-bottom: 12px; } - -.el-popper[x-placement^="top"] .popper__arrow { - bottom: -6px; - left: 50%; - margin-right: 3px; - border-top-color: #EBEEF5; - border-bottom-width: 0; } - .el-popper[x-placement^="top"] .popper__arrow::after { - bottom: 1px; - margin-left: -6px; - border-top-color: #FFFFFF; - border-bottom-width: 0; } - -.el-popper[x-placement^="bottom"] { - margin-top: 12px; } - -.el-popper[x-placement^="bottom"] .popper__arrow { - top: -6px; - left: 50%; - margin-right: 3px; - border-top-width: 0; - border-bottom-color: #EBEEF5; } - .el-popper[x-placement^="bottom"] .popper__arrow::after { - top: 1px; - margin-left: -6px; - border-top-width: 0; - border-bottom-color: #FFFFFF; } - -.el-popper[x-placement^="right"] { - margin-left: 12px; } - -.el-popper[x-placement^="right"] .popper__arrow { - top: 50%; - left: -6px; - margin-bottom: 3px; - border-right-color: #EBEEF5; - border-left-width: 0; } - .el-popper[x-placement^="right"] .popper__arrow::after { - bottom: -6px; - left: 1px; - border-right-color: #FFFFFF; - border-left-width: 0; } - -.el-popper[x-placement^="left"] { - margin-right: 12px; } - -.el-popper[x-placement^="left"] .popper__arrow { - top: 50%; - right: -6px; - margin-bottom: 3px; - border-right-width: 0; - border-left-color: #EBEEF5; } - .el-popper[x-placement^="left"] .popper__arrow::after { - right: 1px; - bottom: -6px; - margin-left: -6px; - border-right-width: 0; - border-left-color: #FFFFFF; } - -.time-select { - margin: 5px 0; - min-width: 0; } - -.time-select .el-picker-panel__content { - max-height: 200px; - margin: 0; } - -.time-select-item { - padding: 8px 10px; - font-size: 14px; - line-height: 20px; } - -.time-select-item.selected:not(.disabled) { - color: #409EFF; - font-weight: bold; } - -.time-select-item.disabled { - color: #E4E7ED; - cursor: not-allowed; } - -.time-select-item:hover { - background-color: #F5F7FA; - font-weight: bold; - cursor: pointer; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/timeline-item.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/timeline-item.css deleted file mode 100644 index 5a52cd66..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/timeline-item.css +++ /dev/null @@ -1,318 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-timeline-item { - position: relative; - padding-bottom: 20px; } - .el-timeline-item__wrapper { - position: relative; - padding-left: 28px; - top: -3px; } - .el-timeline-item__tail { - position: absolute; - left: 4px; - height: 100%; - border-left: 2px solid #E4E7ED; } - .el-timeline-item__icon { - color: #FFFFFF; - font-size: 13px; } - .el-timeline-item__node { - position: absolute; - background-color: #E4E7ED; - border-radius: 50%; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - .el-timeline-item__node--normal { - left: -1px; - width: 12px; - height: 12px; } - .el-timeline-item__node--large { - left: -2px; - width: 14px; - height: 14px; } - .el-timeline-item__node--primary { - background-color: #409EFF; } - .el-timeline-item__node--success { - background-color: #67C23A; } - .el-timeline-item__node--warning { - background-color: #E6A23C; } - .el-timeline-item__node--danger { - background-color: #F56C6C; } - .el-timeline-item__node--info { - background-color: #909399; } - .el-timeline-item__dot { - position: absolute; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - .el-timeline-item__content { - color: #303133; } - .el-timeline-item__timestamp { - color: #909399; - line-height: 1; - font-size: 13px; } - .el-timeline-item__timestamp.is-top { - margin-bottom: 8px; - padding-top: 4px; } - .el-timeline-item__timestamp.is-bottom { - margin-top: 8px; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/timeline.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/timeline.css deleted file mode 100644 index 0456b063..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/timeline.css +++ /dev/null @@ -1,256 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-timeline { - margin: 0; - font-size: 14px; - list-style: none; } - .el-timeline .el-timeline-item:last-child .el-timeline-item__tail { - display: none; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/tooltip.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/tooltip.css deleted file mode 100644 index 876f42ed..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/tooltip.css +++ /dev/null @@ -1,342 +0,0 @@ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-tooltip:focus:not(.focusing), .el-tooltip:focus:hover { - outline-width: 0; } - -.el-tooltip__popper { - position: absolute; - border-radius: 4px; - padding: 10px; - z-index: 2000; - font-size: 12px; - line-height: 1.2; - min-width: 10px; - word-wrap: break-word; } - .el-tooltip__popper .popper__arrow, - .el-tooltip__popper .popper__arrow::after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; } - .el-tooltip__popper .popper__arrow { - border-width: 6px; } - .el-tooltip__popper .popper__arrow::after { - content: " "; - border-width: 5px; } - .el-tooltip__popper[x-placement^="top"] { - margin-bottom: 12px; } - .el-tooltip__popper[x-placement^="top"] .popper__arrow { - bottom: -6px; - border-top-color: #303133; - border-bottom-width: 0; } - .el-tooltip__popper[x-placement^="top"] .popper__arrow::after { - bottom: 1px; - margin-left: -5px; - border-top-color: #303133; - border-bottom-width: 0; } - .el-tooltip__popper[x-placement^="bottom"] { - margin-top: 12px; } - .el-tooltip__popper[x-placement^="bottom"] .popper__arrow { - top: -6px; - border-top-width: 0; - border-bottom-color: #303133; } - .el-tooltip__popper[x-placement^="bottom"] .popper__arrow::after { - top: 1px; - margin-left: -5px; - border-top-width: 0; - border-bottom-color: #303133; } - .el-tooltip__popper[x-placement^="right"] { - margin-left: 12px; } - .el-tooltip__popper[x-placement^="right"] .popper__arrow { - left: -6px; - border-right-color: #303133; - border-left-width: 0; } - .el-tooltip__popper[x-placement^="right"] .popper__arrow::after { - bottom: -5px; - left: 1px; - border-right-color: #303133; - border-left-width: 0; } - .el-tooltip__popper[x-placement^="left"] { - margin-right: 12px; } - .el-tooltip__popper[x-placement^="left"] .popper__arrow { - right: -6px; - border-right-width: 0; - border-left-color: #303133; } - .el-tooltip__popper[x-placement^="left"] .popper__arrow::after { - right: 1px; - bottom: -5px; - margin-left: -5px; - border-right-width: 0; - border-left-color: #303133; } - .el-tooltip__popper.is-dark { - background: #303133; - color: #FFFFFF; } - .el-tooltip__popper.is-light { - background: #FFFFFF; - border: 1px solid #303133; } - .el-tooltip__popper.is-light[x-placement^="top"] .popper__arrow { - border-top-color: #303133; } - .el-tooltip__popper.is-light[x-placement^="top"] .popper__arrow::after { - border-top-color: #FFFFFF; } - .el-tooltip__popper.is-light[x-placement^="bottom"] .popper__arrow { - border-bottom-color: #303133; } - .el-tooltip__popper.is-light[x-placement^="bottom"] .popper__arrow::after { - border-bottom-color: #FFFFFF; } - .el-tooltip__popper.is-light[x-placement^="left"] .popper__arrow { - border-left-color: #303133; } - .el-tooltip__popper.is-light[x-placement^="left"] .popper__arrow::after { - border-left-color: #FFFFFF; } - .el-tooltip__popper.is-light[x-placement^="right"] .popper__arrow { - border-right-color: #303133; } - .el-tooltip__popper.is-light[x-placement^="right"] .popper__arrow::after { - border-right-color: #FFFFFF; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/transfer.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/transfer.css deleted file mode 100644 index 458fde82..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/transfer.css +++ /dev/null @@ -1,2349 +0,0 @@ -@charset "UTF-8"; -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-textarea { - position: relative; - display: inline-block; - width: 100%; - vertical-align: bottom; - font-size: 14px; } - .el-textarea__inner { - display: block; - resize: vertical; - padding: 5px 15px; - line-height: 1.5; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - font-size: inherit; - color: #606266; - background-color: #FFFFFF; - background-image: none; - border: 1px solid #DCDFE6; - border-radius: 4px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea__inner:hover { - border-color: #C0C4CC; } - .el-textarea__inner:focus { - outline: none; - border-color: #409EFF; } - .el-textarea .el-input__count { - color: #909399; - background: #FFFFFF; - position: absolute; - font-size: 12px; - bottom: 5px; - right: 10px; } - .el-textarea.is-disabled .el-textarea__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-moz-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-textarea.is-disabled .el-textarea__inner::placeholder { - color: #C0C4CC; } - .el-textarea.is-exceed .el-textarea__inner { - border-color: #F56C6C; } - .el-textarea.is-exceed .el-input__count { - color: #F56C6C; } - -.el-input { - position: relative; - font-size: 14px; - display: inline-block; - width: 100%; } - .el-input::-webkit-scrollbar { - z-index: 11; - width: 6px; } - .el-input::-webkit-scrollbar:horizontal { - height: 6px; } - .el-input::-webkit-scrollbar-thumb { - border-radius: 5px; - width: 6px; - background: #b4bccc; } - .el-input::-webkit-scrollbar-corner { - background: #fff; } - .el-input::-webkit-scrollbar-track { - background: #fff; } - .el-input::-webkit-scrollbar-track-piece { - background: #fff; - width: 6px; } - .el-input .el-input__clear { - color: #C0C4CC; - font-size: 14px; - cursor: pointer; - -webkit-transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); } - .el-input .el-input__clear:hover { - color: #909399; } - .el-input .el-input__count { - height: 100%; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - color: #909399; - font-size: 12px; } - .el-input .el-input__count .el-input__count-inner { - background: #FFFFFF; - line-height: initial; - display: inline-block; - padding: 0 5px; } - .el-input__inner { - -webkit-appearance: none; - background-color: #FFFFFF; - background-image: none; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: #606266; - display: inline-block; - font-size: inherit; - height: 40px; - line-height: 40px; - outline: none; - padding: 0 15px; - -webkit-transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); - width: 100%; } - .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input__inner:hover { - border-color: #C0C4CC; } - .el-input__inner:focus { - outline: none; - border-color: #409EFF; } - .el-input__suffix { - position: absolute; - height: 100%; - right: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; - pointer-events: none; } - .el-input__suffix-inner { - pointer-events: all; } - .el-input__prefix { - position: absolute; - height: 100%; - left: 5px; - top: 0; - text-align: center; - color: #C0C4CC; - -webkit-transition: all .3s; - transition: all .3s; } - .el-input__icon { - height: 100%; - width: 25px; - text-align: center; - -webkit-transition: all .3s; - transition: all .3s; - line-height: 40px; } - .el-input__icon:after { - content: ''; - height: 100%; - width: 0; - display: inline-block; - vertical-align: middle; } - .el-input__validateIcon { - pointer-events: none; } - .el-input.is-active .el-input__inner { - outline: none; - border-color: #409EFF; } - .el-input.is-disabled .el-input__inner { - background-color: #F5F7FA; - border-color: #E4E7ED; - color: #C0C4CC; - cursor: not-allowed; } - .el-input.is-disabled .el-input__inner::-webkit-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-moz-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::-ms-input-placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__inner::placeholder { - color: #C0C4CC; } - .el-input.is-disabled .el-input__icon { - cursor: not-allowed; } - .el-input.is-exceed .el-input__inner { - border-color: #F56C6C; } - .el-input.is-exceed .el-input__suffix .el-input__count { - color: #F56C6C; } - .el-input--suffix .el-input__inner { - padding-right: 30px; } - .el-input--prefix .el-input__inner { - padding-left: 30px; } - .el-input--medium { - font-size: 14px; } - .el-input--medium .el-input__inner { - height: 36px; - line-height: 36px; } - .el-input--medium .el-input__icon { - line-height: 36px; } - .el-input--small { - font-size: 13px; } - .el-input--small .el-input__inner { - height: 32px; - line-height: 32px; } - .el-input--small .el-input__icon { - line-height: 32px; } - .el-input--mini { - font-size: 12px; } - .el-input--mini .el-input__inner { - height: 28px; - line-height: 28px; } - .el-input--mini .el-input__icon { - line-height: 28px; } - -.el-input-group { - line-height: normal; - display: inline-table; - width: 100%; - border-collapse: separate; - border-spacing: 0; } - .el-input-group > .el-input__inner { - vertical-align: middle; - display: table-cell; } - .el-input-group__append, .el-input-group__prepend { - background-color: #F5F7FA; - color: #909399; - vertical-align: middle; - display: table-cell; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 4px; - padding: 0 20px; - width: 1px; - white-space: nowrap; } - .el-input-group__append:focus, .el-input-group__prepend:focus { - outline: none; } - .el-input-group__append .el-select, - .el-input-group__append .el-button, .el-input-group__prepend .el-select, - .el-input-group__prepend .el-button { - display: inline-block; - margin: -10px -20px; } - .el-input-group__append button.el-button, - .el-input-group__append div.el-select .el-input__inner, - .el-input-group__append div.el-select:hover .el-input__inner, .el-input-group__prepend button.el-button, - .el-input-group__prepend div.el-select .el-input__inner, - .el-input-group__prepend div.el-select:hover .el-input__inner { - border-color: transparent; - background-color: transparent; - color: inherit; - border-top: 0; - border-bottom: 0; } - .el-input-group__append .el-button, - .el-input-group__append .el-input, .el-input-group__prepend .el-button, - .el-input-group__prepend .el-input { - font-size: inherit; } - .el-input-group__prepend { - border-right: 0; - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group__append { - border-left: 0; - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-input__inner { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-input-group--prepend .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - .el-input-group--append .el-input__inner { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-input-group--append .el-select .el-input.is-focus .el-input__inner { - border-color: transparent; } - -/** disalbe default clear on IE */ -.el-input__inner::-ms-clear { - display: none; - width: 0; - height: 0; } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -.el-button { - display: inline-block; - line-height: 1; - white-space: nowrap; - cursor: pointer; - background: #FFFFFF; - border: 1px solid #DCDFE6; - border-color: #DCDFE6; - color: #606266; - -webkit-appearance: none; - text-align: center; - -webkit-box-sizing: border-box; - box-sizing: border-box; - outline: none; - margin: 0; - -webkit-transition: .1s; - transition: .1s; - font-weight: 500; - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - padding: 12px 20px; - font-size: 14px; - border-radius: 4px; } - .el-button + .el-button { - margin-left: 10px; } - .el-button.is-round { - padding: 12px 20px; } - .el-button:hover, .el-button:focus { - color: #409EFF; - border-color: #c6e2ff; - background-color: #ecf5ff; } - .el-button:active { - color: #3a8ee6; - border-color: #3a8ee6; - outline: none; } - .el-button::-moz-focus-inner { - border: 0; } - .el-button [class*="el-icon-"] + span { - margin-left: 5px; } - .el-button.is-plain:hover, .el-button.is-plain:focus { - background: #FFFFFF; - border-color: #409EFF; - color: #409EFF; } - .el-button.is-plain:active { - background: #FFFFFF; - border-color: #3a8ee6; - color: #3a8ee6; - outline: none; } - .el-button.is-active { - color: #3a8ee6; - border-color: #3a8ee6; } - .el-button.is-disabled, .el-button.is-disabled:hover, .el-button.is-disabled:focus { - color: #C0C4CC; - cursor: not-allowed; - background-image: none; - background-color: #FFFFFF; - border-color: #EBEEF5; } - .el-button.is-disabled.el-button--text { - background-color: transparent; } - .el-button.is-disabled.is-plain, .el-button.is-disabled.is-plain:hover, .el-button.is-disabled.is-plain:focus { - background-color: #FFFFFF; - border-color: #EBEEF5; - color: #C0C4CC; } - .el-button.is-loading { - position: relative; - pointer-events: none; } - .el-button.is-loading:before { - pointer-events: none; - content: ''; - position: absolute; - left: -1px; - top: -1px; - right: -1px; - bottom: -1px; - border-radius: inherit; - background-color: rgba(255, 255, 255, 0.35); } - .el-button.is-round { - border-radius: 20px; - padding: 12px 23px; } - .el-button.is-circle { - border-radius: 50%; - padding: 12px; } - .el-button--primary { - color: #FFFFFF; - background-color: #409EFF; - border-color: #409EFF; } - .el-button--primary:hover, .el-button--primary:focus { - background: #66b1ff; - border-color: #66b1ff; - color: #FFFFFF; } - .el-button--primary:active { - background: #3a8ee6; - border-color: #3a8ee6; - color: #FFFFFF; - outline: none; } - .el-button--primary.is-active { - background: #3a8ee6; - border-color: #3a8ee6; - color: #FFFFFF; } - .el-button--primary.is-disabled, .el-button--primary.is-disabled:hover, .el-button--primary.is-disabled:focus, .el-button--primary.is-disabled:active { - color: #FFFFFF; - background-color: #a0cfff; - border-color: #a0cfff; } - .el-button--primary.is-plain { - color: #409EFF; - background: #ecf5ff; - border-color: #b3d8ff; } - .el-button--primary.is-plain:hover, .el-button--primary.is-plain:focus { - background: #409EFF; - border-color: #409EFF; - color: #FFFFFF; } - .el-button--primary.is-plain:active { - background: #3a8ee6; - border-color: #3a8ee6; - color: #FFFFFF; - outline: none; } - .el-button--primary.is-plain.is-disabled, .el-button--primary.is-plain.is-disabled:hover, .el-button--primary.is-plain.is-disabled:focus, .el-button--primary.is-plain.is-disabled:active { - color: #8cc5ff; - background-color: #ecf5ff; - border-color: #d9ecff; } - .el-button--success { - color: #FFFFFF; - background-color: #67C23A; - border-color: #67C23A; } - .el-button--success:hover, .el-button--success:focus { - background: #85ce61; - border-color: #85ce61; - color: #FFFFFF; } - .el-button--success:active { - background: #5daf34; - border-color: #5daf34; - color: #FFFFFF; - outline: none; } - .el-button--success.is-active { - background: #5daf34; - border-color: #5daf34; - color: #FFFFFF; } - .el-button--success.is-disabled, .el-button--success.is-disabled:hover, .el-button--success.is-disabled:focus, .el-button--success.is-disabled:active { - color: #FFFFFF; - background-color: #b3e19d; - border-color: #b3e19d; } - .el-button--success.is-plain { - color: #67C23A; - background: #f0f9eb; - border-color: #c2e7b0; } - .el-button--success.is-plain:hover, .el-button--success.is-plain:focus { - background: #67C23A; - border-color: #67C23A; - color: #FFFFFF; } - .el-button--success.is-plain:active { - background: #5daf34; - border-color: #5daf34; - color: #FFFFFF; - outline: none; } - .el-button--success.is-plain.is-disabled, .el-button--success.is-plain.is-disabled:hover, .el-button--success.is-plain.is-disabled:focus, .el-button--success.is-plain.is-disabled:active { - color: #a4da89; - background-color: #f0f9eb; - border-color: #e1f3d8; } - .el-button--warning { - color: #FFFFFF; - background-color: #E6A23C; - border-color: #E6A23C; } - .el-button--warning:hover, .el-button--warning:focus { - background: #ebb563; - border-color: #ebb563; - color: #FFFFFF; } - .el-button--warning:active { - background: #cf9236; - border-color: #cf9236; - color: #FFFFFF; - outline: none; } - .el-button--warning.is-active { - background: #cf9236; - border-color: #cf9236; - color: #FFFFFF; } - .el-button--warning.is-disabled, .el-button--warning.is-disabled:hover, .el-button--warning.is-disabled:focus, .el-button--warning.is-disabled:active { - color: #FFFFFF; - background-color: #f3d19e; - border-color: #f3d19e; } - .el-button--warning.is-plain { - color: #E6A23C; - background: #fdf6ec; - border-color: #f5dab1; } - .el-button--warning.is-plain:hover, .el-button--warning.is-plain:focus { - background: #E6A23C; - border-color: #E6A23C; - color: #FFFFFF; } - .el-button--warning.is-plain:active { - background: #cf9236; - border-color: #cf9236; - color: #FFFFFF; - outline: none; } - .el-button--warning.is-plain.is-disabled, .el-button--warning.is-plain.is-disabled:hover, .el-button--warning.is-plain.is-disabled:focus, .el-button--warning.is-plain.is-disabled:active { - color: #f0c78a; - background-color: #fdf6ec; - border-color: #faecd8; } - .el-button--danger { - color: #FFFFFF; - background-color: #F56C6C; - border-color: #F56C6C; } - .el-button--danger:hover, .el-button--danger:focus { - background: #f78989; - border-color: #f78989; - color: #FFFFFF; } - .el-button--danger:active { - background: #dd6161; - border-color: #dd6161; - color: #FFFFFF; - outline: none; } - .el-button--danger.is-active { - background: #dd6161; - border-color: #dd6161; - color: #FFFFFF; } - .el-button--danger.is-disabled, .el-button--danger.is-disabled:hover, .el-button--danger.is-disabled:focus, .el-button--danger.is-disabled:active { - color: #FFFFFF; - background-color: #fab6b6; - border-color: #fab6b6; } - .el-button--danger.is-plain { - color: #F56C6C; - background: #fef0f0; - border-color: #fbc4c4; } - .el-button--danger.is-plain:hover, .el-button--danger.is-plain:focus { - background: #F56C6C; - border-color: #F56C6C; - color: #FFFFFF; } - .el-button--danger.is-plain:active { - background: #dd6161; - border-color: #dd6161; - color: #FFFFFF; - outline: none; } - .el-button--danger.is-plain.is-disabled, .el-button--danger.is-plain.is-disabled:hover, .el-button--danger.is-plain.is-disabled:focus, .el-button--danger.is-plain.is-disabled:active { - color: #f9a7a7; - background-color: #fef0f0; - border-color: #fde2e2; } - .el-button--info { - color: #FFFFFF; - background-color: #909399; - border-color: #909399; } - .el-button--info:hover, .el-button--info:focus { - background: #a6a9ad; - border-color: #a6a9ad; - color: #FFFFFF; } - .el-button--info:active { - background: #82848a; - border-color: #82848a; - color: #FFFFFF; - outline: none; } - .el-button--info.is-active { - background: #82848a; - border-color: #82848a; - color: #FFFFFF; } - .el-button--info.is-disabled, .el-button--info.is-disabled:hover, .el-button--info.is-disabled:focus, .el-button--info.is-disabled:active { - color: #FFFFFF; - background-color: #c8c9cc; - border-color: #c8c9cc; } - .el-button--info.is-plain { - color: #909399; - background: #f4f4f5; - border-color: #d3d4d6; } - .el-button--info.is-plain:hover, .el-button--info.is-plain:focus { - background: #909399; - border-color: #909399; - color: #FFFFFF; } - .el-button--info.is-plain:active { - background: #82848a; - border-color: #82848a; - color: #FFFFFF; - outline: none; } - .el-button--info.is-plain.is-disabled, .el-button--info.is-plain.is-disabled:hover, .el-button--info.is-plain.is-disabled:focus, .el-button--info.is-plain.is-disabled:active { - color: #bcbec2; - background-color: #f4f4f5; - border-color: #e9e9eb; } - .el-button--medium { - padding: 10px 20px; - font-size: 14px; - border-radius: 4px; } - .el-button--medium.is-round { - padding: 10px 20px; } - .el-button--medium.is-circle { - padding: 10px; } - .el-button--small { - padding: 9px 15px; - font-size: 12px; - border-radius: 3px; } - .el-button--small.is-round { - padding: 9px 15px; } - .el-button--small.is-circle { - padding: 9px; } - .el-button--mini { - padding: 7px 15px; - font-size: 12px; - border-radius: 3px; } - .el-button--mini.is-round { - padding: 7px 15px; } - .el-button--mini.is-circle { - padding: 7px; } - .el-button--text { - border-color: transparent; - color: #409EFF; - background: transparent; - padding-left: 0; - padding-right: 0; } - .el-button--text:hover, .el-button--text:focus { - color: #66b1ff; - border-color: transparent; - background-color: transparent; } - .el-button--text:active { - color: #3a8ee6; - border-color: transparent; - background-color: transparent; } - .el-button--text.is-disabled, .el-button--text.is-disabled:hover, .el-button--text.is-disabled:focus { - border-color: transparent; } - -.el-button-group { - display: inline-block; - vertical-align: middle; } - .el-button-group::before, - .el-button-group::after { - display: table; - content: ""; } - .el-button-group::after { - clear: both; } - .el-button-group > .el-button { - float: left; - position: relative; } - .el-button-group > .el-button + .el-button { - margin-left: 0; } - .el-button-group > .el-button.is-disabled { - z-index: 1; } - .el-button-group > .el-button:first-child { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .el-button-group > .el-button:last-child { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .el-button-group > .el-button:first-child:last-child { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; } - .el-button-group > .el-button:first-child:last-child.is-round { - border-radius: 20px; } - .el-button-group > .el-button:first-child:last-child.is-circle { - border-radius: 50%; } - .el-button-group > .el-button:not(:first-child):not(:last-child) { - border-radius: 0; } - .el-button-group > .el-button:not(:last-child) { - margin-right: -1px; } - .el-button-group > .el-button:hover, .el-button-group > .el-button:focus, .el-button-group > .el-button:active { - z-index: 1; } - .el-button-group > .el-button.is-active { - z-index: 1; } - .el-button-group > .el-dropdown > .el-button { - border-top-left-radius: 0; - border-bottom-left-radius: 0; - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--primary:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--primary:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--primary:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--success:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--success:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--success:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--warning:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--warning:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--warning:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--danger:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--danger:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--danger:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--info:first-child { - border-right-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--info:last-child { - border-left-color: rgba(255, 255, 255, 0.5); } - .el-button-group .el-button--info:not(:first-child):not(:last-child) { - border-left-color: rgba(255, 255, 255, 0.5); - border-right-color: rgba(255, 255, 255, 0.5); } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-checkbox { - color: #606266; - font-weight: 500; - font-size: 14px; - position: relative; - cursor: pointer; - display: inline-block; - white-space: nowrap; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - margin-right: 30px; } - .el-checkbox.is-bordered { - padding: 9px 20px 9px 10px; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - line-height: normal; - height: 40px; } - .el-checkbox.is-bordered.is-checked { - border-color: #409EFF; } - .el-checkbox.is-bordered.is-disabled { - border-color: #EBEEF5; - cursor: not-allowed; } - .el-checkbox.is-bordered + .el-checkbox.is-bordered { - margin-left: 10px; } - .el-checkbox.is-bordered.el-checkbox--medium { - padding: 7px 20px 7px 10px; - border-radius: 4px; - height: 36px; } - .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label { - line-height: 17px; - font-size: 14px; } - .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner { - height: 14px; - width: 14px; } - .el-checkbox.is-bordered.el-checkbox--small { - padding: 5px 15px 5px 10px; - border-radius: 3px; - height: 32px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label { - line-height: 15px; - font-size: 12px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner { - height: 12px; - width: 12px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after { - height: 6px; - width: 2px; } - .el-checkbox.is-bordered.el-checkbox--mini { - padding: 3px 15px 3px 10px; - border-radius: 3px; - height: 28px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label { - line-height: 12px; - font-size: 12px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner { - height: 12px; - width: 12px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after { - height: 6px; - width: 2px; } - .el-checkbox__input { - white-space: nowrap; - cursor: pointer; - outline: none; - display: inline-block; - line-height: 1; - position: relative; - vertical-align: middle; } - .el-checkbox__input.is-disabled .el-checkbox__inner { - background-color: #edf2fc; - border-color: #DCDFE6; - cursor: not-allowed; } - .el-checkbox__input.is-disabled .el-checkbox__inner::after { - cursor: not-allowed; - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled .el-checkbox__inner + .el-checkbox__label { - cursor: not-allowed; } - .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { - background-color: #F2F6FC; - border-color: #DCDFE6; } - .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after { - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner { - background-color: #F2F6FC; - border-color: #DCDFE6; } - .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before { - background-color: #C0C4CC; - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled + span.el-checkbox__label { - color: #C0C4CC; - cursor: not-allowed; } - .el-checkbox__input.is-checked .el-checkbox__inner { - background-color: #409EFF; - border-color: #409EFF; } - .el-checkbox__input.is-checked .el-checkbox__inner::after { - -webkit-transform: rotate(45deg) scaleY(1); - transform: rotate(45deg) scaleY(1); } - .el-checkbox__input.is-checked + .el-checkbox__label { - color: #409EFF; } - .el-checkbox__input.is-focus { - /*focus时 视觉上区分*/ } - .el-checkbox__input.is-focus .el-checkbox__inner { - border-color: #409EFF; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner { - background-color: #409EFF; - border-color: #409EFF; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner::before { - content: ''; - position: absolute; - display: block; - background-color: #FFFFFF; - height: 2px; - -webkit-transform: scale(0.5); - transform: scale(0.5); - left: 0; - right: 0; - top: 5px; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner::after { - display: none; } - .el-checkbox__inner { - display: inline-block; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 2px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 14px; - height: 14px; - background-color: #FFFFFF; - z-index: 1; - -webkit-transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46), background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46); - transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46), background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46); } - .el-checkbox__inner:hover { - border-color: #409EFF; } - .el-checkbox__inner::after { - -webkit-box-sizing: content-box; - box-sizing: content-box; - content: ""; - border: 1px solid #FFFFFF; - border-left: 0; - border-top: 0; - height: 7px; - left: 4px; - position: absolute; - top: 1px; - -webkit-transform: rotate(45deg) scaleY(0); - transform: rotate(45deg) scaleY(0); - width: 3px; - -webkit-transition: -webkit-transform .15s ease-in .05s; - transition: -webkit-transform .15s ease-in .05s; - transition: transform .15s ease-in .05s; - transition: transform .15s ease-in .05s, -webkit-transform .15s ease-in .05s; - -webkit-transform-origin: center; - transform-origin: center; } - .el-checkbox__original { - opacity: 0; - outline: none; - position: absolute; - margin: 0; - width: 0; - height: 0; - z-index: -1; } - .el-checkbox__label { - display: inline-block; - padding-left: 10px; - line-height: 19px; - font-size: 14px; } - .el-checkbox:last-of-type { - margin-right: 0; } - -.el-checkbox-button { - position: relative; - display: inline-block; } - .el-checkbox-button__inner { - display: inline-block; - line-height: 1; - font-weight: 500; - white-space: nowrap; - vertical-align: middle; - cursor: pointer; - background: #FFFFFF; - border: 1px solid #DCDFE6; - border-left: 0; - color: #606266; - -webkit-appearance: none; - text-align: center; - -webkit-box-sizing: border-box; - box-sizing: border-box; - outline: none; - margin: 0; - position: relative; - -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - padding: 12px 20px; - font-size: 14px; - border-radius: 0; } - .el-checkbox-button__inner.is-round { - padding: 12px 20px; } - .el-checkbox-button__inner:hover { - color: #409EFF; } - .el-checkbox-button__inner [class*="el-icon-"] { - line-height: 0.9; } - .el-checkbox-button__inner [class*="el-icon-"] + span { - margin-left: 5px; } - .el-checkbox-button__original { - opacity: 0; - outline: none; - position: absolute; - margin: 0; - z-index: -1; } - .el-checkbox-button.is-checked .el-checkbox-button__inner { - color: #FFFFFF; - background-color: #409EFF; - border-color: #409EFF; - -webkit-box-shadow: -1px 0 0 0 #8cc5ff; - box-shadow: -1px 0 0 0 #8cc5ff; } - .el-checkbox-button.is-checked:first-child .el-checkbox-button__inner { - border-left-color: #409EFF; } - .el-checkbox-button.is-disabled .el-checkbox-button__inner { - color: #C0C4CC; - cursor: not-allowed; - background-image: none; - background-color: #FFFFFF; - border-color: #EBEEF5; - -webkit-box-shadow: none; - box-shadow: none; } - .el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner { - border-left-color: #EBEEF5; } - .el-checkbox-button:first-child .el-checkbox-button__inner { - border-left: 1px solid #DCDFE6; - border-radius: 4px 0 0 4px; - -webkit-box-shadow: none !important; - box-shadow: none !important; } - .el-checkbox-button.is-focus .el-checkbox-button__inner { - border-color: #409EFF; } - .el-checkbox-button:last-child .el-checkbox-button__inner { - border-radius: 0 4px 4px 0; } - .el-checkbox-button--medium .el-checkbox-button__inner { - padding: 10px 20px; - font-size: 14px; - border-radius: 0; } - .el-checkbox-button--medium .el-checkbox-button__inner.is-round { - padding: 10px 20px; } - .el-checkbox-button--small .el-checkbox-button__inner { - padding: 9px 15px; - font-size: 12px; - border-radius: 0; } - .el-checkbox-button--small .el-checkbox-button__inner.is-round { - padding: 9px 15px; } - .el-checkbox-button--mini .el-checkbox-button__inner { - padding: 7px 15px; - font-size: 12px; - border-radius: 0; } - .el-checkbox-button--mini .el-checkbox-button__inner.is-round { - padding: 7px 15px; } - -.el-checkbox-group { - font-size: 0; } - -.el-transfer { - font-size: 14px; } - .el-transfer__buttons { - display: inline-block; - vertical-align: middle; - padding: 0 30px; } - .el-transfer__button { - display: block; - margin: 0 auto; - padding: 10px; - border-radius: 50%; - color: #FFFFFF; - background-color: #409EFF; - font-size: 0; } - .el-transfer__button.is-with-texts { - border-radius: 4px; } - .el-transfer__button.is-disabled { - border: 1px solid #DCDFE6; - background-color: #F5F7FA; - color: #C0C4CC; } - .el-transfer__button.is-disabled:hover { - border: 1px solid #DCDFE6; - background-color: #F5F7FA; - color: #C0C4CC; } - .el-transfer__button:first-child { - margin-bottom: 10px; } - .el-transfer__button:nth-child(2) { - margin: 0; } - .el-transfer__button i, .el-transfer__button span { - font-size: 14px; } - .el-transfer__button [class*="el-icon-"] + span { - margin-left: 0; } - -.el-transfer-panel { - border: 1px solid #EBEEF5; - border-radius: 4px; - overflow: hidden; - background: #FFFFFF; - display: inline-block; - vertical-align: middle; - width: 200px; - max-height: 100%; - -webkit-box-sizing: border-box; - box-sizing: border-box; - position: relative; } - .el-transfer-panel__body { - height: 246px; } - .el-transfer-panel__body.is-with-footer { - padding-bottom: 40px; } - .el-transfer-panel__list { - margin: 0; - padding: 6px 0; - list-style: none; - height: 246px; - overflow: auto; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-transfer-panel__list.is-filterable { - height: 194px; - padding-top: 0; } - .el-transfer-panel__item { - height: 30px; - line-height: 30px; - padding-left: 15px; - display: block !important; } - .el-transfer-panel__item + .el-transfer-panel__item { - margin-left: 0; } - .el-transfer-panel__item.el-checkbox { - color: #606266; } - .el-transfer-panel__item:hover { - color: #409EFF; } - .el-transfer-panel__item.el-checkbox .el-checkbox__label { - width: 100%; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - display: block; - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding-left: 24px; - line-height: 30px; } - .el-transfer-panel__item .el-checkbox__input { - position: absolute; - top: 8px; } - .el-transfer-panel__filter { - text-align: center; - margin: 15px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - display: block; - width: auto; } - .el-transfer-panel__filter .el-input__inner { - height: 32px; - width: 100%; - font-size: 12px; - display: inline-block; - -webkit-box-sizing: border-box; - box-sizing: border-box; - border-radius: 16px; - padding-right: 10px; - padding-left: 30px; } - .el-transfer-panel__filter .el-input__icon { - margin-left: 5px; } - .el-transfer-panel__filter .el-icon-circle-close { - cursor: pointer; } - .el-transfer-panel .el-transfer-panel__header { - height: 40px; - line-height: 40px; - background: #F5F7FA; - margin: 0; - padding-left: 15px; - border-bottom: 1px solid #EBEEF5; - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: #000000; } - .el-transfer-panel .el-transfer-panel__header .el-checkbox { - display: block; - line-height: 40px; } - .el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label { - font-size: 16px; - color: #303133; - font-weight: normal; } - .el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label span { - position: absolute; - right: 15px; - color: #909399; - font-size: 12px; - font-weight: normal; } - .el-transfer-panel .el-transfer-panel__footer { - height: 40px; - background: #FFFFFF; - margin: 0; - padding: 0; - border-top: 1px solid #EBEEF5; - position: absolute; - bottom: 0; - left: 0; - width: 100%; - z-index: 1; } - .el-transfer-panel .el-transfer-panel__footer::after { - display: inline-block; - content: ""; - height: 100%; - vertical-align: middle; } - .el-transfer-panel .el-transfer-panel__footer .el-checkbox { - padding-left: 20px; - color: #606266; } - .el-transfer-panel .el-transfer-panel__empty { - margin: 0; - height: 30px; - line-height: 30px; - padding: 6px 15px 0; - color: #909399; - text-align: center; } - .el-transfer-panel .el-checkbox__label { - padding-left: 8px; } - .el-transfer-panel .el-checkbox__inner { - height: 14px; - width: 14px; - border-radius: 3px; } - .el-transfer-panel .el-checkbox__inner::after { - height: 6px; - width: 3px; - left: 4px; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/tree.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/tree.css deleted file mode 100644 index e1885014..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/tree.css +++ /dev/null @@ -1,1210 +0,0 @@ -@charset "UTF-8"; -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.fade-in-linear-enter-active, -.fade-in-linear-leave-active { - -webkit-transition: opacity 200ms linear; - transition: opacity 200ms linear; } - -.fade-in-linear-enter, -.fade-in-linear-leave, -.fade-in-linear-leave-active { - opacity: 0; } - -.el-fade-in-linear-enter-active, -.el-fade-in-linear-leave-active { - -webkit-transition: opacity 200ms linear; - transition: opacity 200ms linear; } - -.el-fade-in-linear-enter, -.el-fade-in-linear-leave, -.el-fade-in-linear-leave-active { - opacity: 0; } - -.el-fade-in-enter-active, -.el-fade-in-leave-active { - -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-fade-in-enter, -.el-fade-in-leave-active { - opacity: 0; } - -.el-zoom-in-center-enter-active, -.el-zoom-in-center-leave-active { - -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -.el-zoom-in-center-enter, -.el-zoom-in-center-leave-active { - opacity: 0; - -webkit-transform: scaleX(0); - transform: scaleX(0); } - -.el-zoom-in-top-enter-active, -.el-zoom-in-top-leave-active { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: center top; - transform-origin: center top; } - -.el-zoom-in-top-enter, -.el-zoom-in-top-leave-active { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0); } - -.el-zoom-in-bottom-enter-active, -.el-zoom-in-bottom-leave-active { - opacity: 1; - -webkit-transform: scaleY(1); - transform: scaleY(1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; } - -.el-zoom-in-bottom-enter, -.el-zoom-in-bottom-leave-active { - opacity: 0; - -webkit-transform: scaleY(0); - transform: scaleY(0); } - -.el-zoom-in-left-enter-active, -.el-zoom-in-left-leave-active { - opacity: 1; - -webkit-transform: scale(1, 1); - transform: scale(1, 1); - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - -webkit-transform-origin: top left; - transform-origin: top left; } - -.el-zoom-in-left-enter, -.el-zoom-in-left-leave-active { - opacity: 0; - -webkit-transform: scale(0.45, 0.45); - transform: scale(0.45, 0.45); } - -.collapse-transition { - -webkit-transition: 0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out; - transition: 0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out; } - -.horizontal-collapse-transition { - -webkit-transition: 0.3s width ease-in-out, 0.3s padding-left ease-in-out, 0.3s padding-right ease-in-out; - transition: 0.3s width ease-in-out, 0.3s padding-left ease-in-out, 0.3s padding-right ease-in-out; } - -.el-list-enter-active, -.el-list-leave-active { - -webkit-transition: all 1s; - transition: all 1s; } - -.el-list-enter, .el-list-leave-active { - opacity: 0; - -webkit-transform: translateY(-30px); - transform: translateY(-30px); } - -.el-opacity-transition { - -webkit-transition: opacity 0.3s cubic-bezier(0.55, 0, 0.1, 1); - transition: opacity 0.3s cubic-bezier(0.55, 0, 0.1, 1); } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-checkbox { - color: #606266; - font-weight: 500; - font-size: 14px; - position: relative; - cursor: pointer; - display: inline-block; - white-space: nowrap; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - margin-right: 30px; } - .el-checkbox.is-bordered { - padding: 9px 20px 9px 10px; - border-radius: 4px; - border: 1px solid #DCDFE6; - -webkit-box-sizing: border-box; - box-sizing: border-box; - line-height: normal; - height: 40px; } - .el-checkbox.is-bordered.is-checked { - border-color: #409EFF; } - .el-checkbox.is-bordered.is-disabled { - border-color: #EBEEF5; - cursor: not-allowed; } - .el-checkbox.is-bordered + .el-checkbox.is-bordered { - margin-left: 10px; } - .el-checkbox.is-bordered.el-checkbox--medium { - padding: 7px 20px 7px 10px; - border-radius: 4px; - height: 36px; } - .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label { - line-height: 17px; - font-size: 14px; } - .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner { - height: 14px; - width: 14px; } - .el-checkbox.is-bordered.el-checkbox--small { - padding: 5px 15px 5px 10px; - border-radius: 3px; - height: 32px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label { - line-height: 15px; - font-size: 12px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner { - height: 12px; - width: 12px; } - .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after { - height: 6px; - width: 2px; } - .el-checkbox.is-bordered.el-checkbox--mini { - padding: 3px 15px 3px 10px; - border-radius: 3px; - height: 28px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label { - line-height: 12px; - font-size: 12px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner { - height: 12px; - width: 12px; } - .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after { - height: 6px; - width: 2px; } - .el-checkbox__input { - white-space: nowrap; - cursor: pointer; - outline: none; - display: inline-block; - line-height: 1; - position: relative; - vertical-align: middle; } - .el-checkbox__input.is-disabled .el-checkbox__inner { - background-color: #edf2fc; - border-color: #DCDFE6; - cursor: not-allowed; } - .el-checkbox__input.is-disabled .el-checkbox__inner::after { - cursor: not-allowed; - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled .el-checkbox__inner + .el-checkbox__label { - cursor: not-allowed; } - .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { - background-color: #F2F6FC; - border-color: #DCDFE6; } - .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after { - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner { - background-color: #F2F6FC; - border-color: #DCDFE6; } - .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before { - background-color: #C0C4CC; - border-color: #C0C4CC; } - .el-checkbox__input.is-disabled + span.el-checkbox__label { - color: #C0C4CC; - cursor: not-allowed; } - .el-checkbox__input.is-checked .el-checkbox__inner { - background-color: #409EFF; - border-color: #409EFF; } - .el-checkbox__input.is-checked .el-checkbox__inner::after { - -webkit-transform: rotate(45deg) scaleY(1); - transform: rotate(45deg) scaleY(1); } - .el-checkbox__input.is-checked + .el-checkbox__label { - color: #409EFF; } - .el-checkbox__input.is-focus { - /*focus时 视觉上区分*/ } - .el-checkbox__input.is-focus .el-checkbox__inner { - border-color: #409EFF; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner { - background-color: #409EFF; - border-color: #409EFF; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner::before { - content: ''; - position: absolute; - display: block; - background-color: #FFFFFF; - height: 2px; - -webkit-transform: scale(0.5); - transform: scale(0.5); - left: 0; - right: 0; - top: 5px; } - .el-checkbox__input.is-indeterminate .el-checkbox__inner::after { - display: none; } - .el-checkbox__inner { - display: inline-block; - position: relative; - border: 1px solid #DCDFE6; - border-radius: 2px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 14px; - height: 14px; - background-color: #FFFFFF; - z-index: 1; - -webkit-transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46), background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46); - transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46), background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46); } - .el-checkbox__inner:hover { - border-color: #409EFF; } - .el-checkbox__inner::after { - -webkit-box-sizing: content-box; - box-sizing: content-box; - content: ""; - border: 1px solid #FFFFFF; - border-left: 0; - border-top: 0; - height: 7px; - left: 4px; - position: absolute; - top: 1px; - -webkit-transform: rotate(45deg) scaleY(0); - transform: rotate(45deg) scaleY(0); - width: 3px; - -webkit-transition: -webkit-transform .15s ease-in .05s; - transition: -webkit-transform .15s ease-in .05s; - transition: transform .15s ease-in .05s; - transition: transform .15s ease-in .05s, -webkit-transform .15s ease-in .05s; - -webkit-transform-origin: center; - transform-origin: center; } - .el-checkbox__original { - opacity: 0; - outline: none; - position: absolute; - margin: 0; - width: 0; - height: 0; - z-index: -1; } - .el-checkbox__label { - display: inline-block; - padding-left: 10px; - line-height: 19px; - font-size: 14px; } - .el-checkbox:last-of-type { - margin-right: 0; } - -.el-checkbox-button { - position: relative; - display: inline-block; } - .el-checkbox-button__inner { - display: inline-block; - line-height: 1; - font-weight: 500; - white-space: nowrap; - vertical-align: middle; - cursor: pointer; - background: #FFFFFF; - border: 1px solid #DCDFE6; - border-left: 0; - color: #606266; - -webkit-appearance: none; - text-align: center; - -webkit-box-sizing: border-box; - box-sizing: border-box; - outline: none; - margin: 0; - position: relative; - -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - padding: 12px 20px; - font-size: 14px; - border-radius: 0; } - .el-checkbox-button__inner.is-round { - padding: 12px 20px; } - .el-checkbox-button__inner:hover { - color: #409EFF; } - .el-checkbox-button__inner [class*="el-icon-"] { - line-height: 0.9; } - .el-checkbox-button__inner [class*="el-icon-"] + span { - margin-left: 5px; } - .el-checkbox-button__original { - opacity: 0; - outline: none; - position: absolute; - margin: 0; - z-index: -1; } - .el-checkbox-button.is-checked .el-checkbox-button__inner { - color: #FFFFFF; - background-color: #409EFF; - border-color: #409EFF; - -webkit-box-shadow: -1px 0 0 0 #8cc5ff; - box-shadow: -1px 0 0 0 #8cc5ff; } - .el-checkbox-button.is-checked:first-child .el-checkbox-button__inner { - border-left-color: #409EFF; } - .el-checkbox-button.is-disabled .el-checkbox-button__inner { - color: #C0C4CC; - cursor: not-allowed; - background-image: none; - background-color: #FFFFFF; - border-color: #EBEEF5; - -webkit-box-shadow: none; - box-shadow: none; } - .el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner { - border-left-color: #EBEEF5; } - .el-checkbox-button:first-child .el-checkbox-button__inner { - border-left: 1px solid #DCDFE6; - border-radius: 4px 0 0 4px; - -webkit-box-shadow: none !important; - box-shadow: none !important; } - .el-checkbox-button.is-focus .el-checkbox-button__inner { - border-color: #409EFF; } - .el-checkbox-button:last-child .el-checkbox-button__inner { - border-radius: 0 4px 4px 0; } - .el-checkbox-button--medium .el-checkbox-button__inner { - padding: 10px 20px; - font-size: 14px; - border-radius: 0; } - .el-checkbox-button--medium .el-checkbox-button__inner.is-round { - padding: 10px 20px; } - .el-checkbox-button--small .el-checkbox-button__inner { - padding: 9px 15px; - font-size: 12px; - border-radius: 0; } - .el-checkbox-button--small .el-checkbox-button__inner.is-round { - padding: 9px 15px; } - .el-checkbox-button--mini .el-checkbox-button__inner { - padding: 7px 15px; - font-size: 12px; - border-radius: 0; } - .el-checkbox-button--mini .el-checkbox-button__inner.is-round { - padding: 7px 15px; } - -.el-checkbox-group { - font-size: 0; } - -.el-tree { - position: relative; - cursor: default; - background: #FFFFFF; - color: #606266; } - .el-tree__empty-block { - position: relative; - min-height: 60px; - text-align: center; - width: 100%; - height: 100%; } - .el-tree__empty-text { - position: absolute; - left: 50%; - top: 50%; - -webkit-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); - color: #909399; - font-size: 14px; } - .el-tree__drop-indicator { - position: absolute; - left: 0; - right: 0; - height: 1px; - background-color: #409EFF; } - -.el-tree-node { - white-space: nowrap; - outline: none; } - .el-tree-node:focus { - /* focus */ } - .el-tree-node:focus > .el-tree-node__content { - background-color: #F5F7FA; } - .el-tree-node.is-drop-inner > .el-tree-node__content .el-tree-node__label { - background-color: #409EFF; - color: #fff; } - .el-tree-node__content { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - height: 26px; - cursor: pointer; } - .el-tree-node__content > .el-tree-node__expand-icon { - padding: 6px; } - .el-tree-node__content > label.el-checkbox { - margin-right: 8px; } - .el-tree-node__content:hover { - background-color: #F5F7FA; } - .el-tree.is-dragging .el-tree-node__content { - cursor: move; } - .el-tree.is-dragging .el-tree-node__content * { - pointer-events: none; } - .el-tree.is-dragging.is-drop-not-allow .el-tree-node__content { - cursor: not-allowed; } - .el-tree-node__expand-icon { - cursor: pointer; - color: #C0C4CC; - font-size: 12px; - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - -webkit-transition: -webkit-transform 0.3s ease-in-out; - transition: -webkit-transform 0.3s ease-in-out; - transition: transform 0.3s ease-in-out; - transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out; } - .el-tree-node__expand-icon.expanded { - -webkit-transform: rotate(90deg); - transform: rotate(90deg); } - .el-tree-node__expand-icon.is-leaf { - color: transparent; - cursor: default; } - .el-tree-node__label { - font-size: 14px; } - .el-tree-node__loading-icon { - margin-right: 8px; - font-size: 14px; - color: #C0C4CC; } - .el-tree-node > .el-tree-node__children { - overflow: hidden; - background-color: transparent; } - .el-tree-node.is-expanded > .el-tree-node__children { - display: block; } - -.el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content { - background-color: #f0f7ff; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/upload.css b/orange-demo-multi/orange-demo-multi-web/src/assets/theme/upload.css deleted file mode 100644 index a0e29ae0..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/assets/theme/upload.css +++ /dev/null @@ -1,1045 +0,0 @@ -@charset "UTF-8"; -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* BEM support Func - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -/* Break-points - -------------------------- */ -/* Scrollbar - -------------------------- */ -/* Placeholder - -------------------------- */ -/* BEM - -------------------------- */ -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-progress { - position: relative; - line-height: 1; } - .el-progress__text { - font-size: 14px; - color: #606266; - display: inline-block; - vertical-align: middle; - margin-left: 10px; - line-height: 1; } - .el-progress__text i { - vertical-align: middle; - display: block; } - .el-progress--circle, .el-progress--dashboard { - display: inline-block; } - .el-progress--circle .el-progress__text, .el-progress--dashboard .el-progress__text { - position: absolute; - top: 50%; - left: 0; - width: 100%; - text-align: center; - margin: 0; - -webkit-transform: translate(0, -50%); - transform: translate(0, -50%); } - .el-progress--circle .el-progress__text i, .el-progress--dashboard .el-progress__text i { - vertical-align: middle; - display: inline-block; } - .el-progress--without-text .el-progress__text { - display: none; } - .el-progress--without-text .el-progress-bar { - padding-right: 0; - margin-right: 0; - display: block; } - .el-progress--text-inside .el-progress-bar { - padding-right: 0; - margin-right: 0; } - .el-progress.is-success .el-progress-bar__inner { - background-color: #67C23A; } - .el-progress.is-success .el-progress__text { - color: #67C23A; } - .el-progress.is-warning .el-progress-bar__inner { - background-color: #E6A23C; } - .el-progress.is-warning .el-progress__text { - color: #E6A23C; } - .el-progress.is-exception .el-progress-bar__inner { - background-color: #F56C6C; } - .el-progress.is-exception .el-progress__text { - color: #F56C6C; } - -.el-progress-bar { - padding-right: 50px; - display: inline-block; - vertical-align: middle; - width: 100%; - margin-right: -55px; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - .el-progress-bar__outer { - height: 6px; - border-radius: 100px; - background-color: #EBEEF5; - overflow: hidden; - position: relative; - vertical-align: middle; } - .el-progress-bar__inner { - position: absolute; - left: 0; - top: 0; - height: 100%; - background-color: #409EFF; - text-align: right; - border-radius: 100px; - line-height: 1; - white-space: nowrap; - -webkit-transition: width 0.6s ease; - transition: width 0.6s ease; } - .el-progress-bar__inner::after { - display: inline-block; - content: ""; - height: 100%; - vertical-align: middle; } - .el-progress-bar__innerText { - display: inline-block; - vertical-align: middle; - color: #FFFFFF; - font-size: 12px; - margin: 0 5px; } - -@-webkit-keyframes progress { - 0% { - background-position: 0 0; } - 100% { - background-position: 32px 0; } } - -@keyframes progress { - 0% { - background-position: 0 0; } - 100% { - background-position: 32px 0; } } - -/* Element Chalk Variables */ -/* Transition --------------------------- */ -/* Color --------------------------- */ -/* 53a8ff */ -/* 66b1ff */ -/* 79bbff */ -/* 8cc5ff */ -/* a0cfff */ -/* b3d8ff */ -/* c6e2ff */ -/* d9ecff */ -/* ecf5ff */ -/* Link --------------------------- */ -/* Border --------------------------- */ -/* Fill --------------------------- */ -/* Typography --------------------------- */ -/* Size --------------------------- */ -/* z-index --------------------------- */ -/* Disable base --------------------------- */ -/* Icon --------------------------- */ -/* Checkbox --------------------------- */ -/* Radio --------------------------- */ -/* Select --------------------------- */ -/* Alert --------------------------- */ -/* MessageBox --------------------------- */ -/* Message --------------------------- */ -/* Notification --------------------------- */ -/* Input --------------------------- */ -/* Cascader --------------------------- */ -/* Group --------------------------- */ -/* Tab --------------------------- */ -/* Button --------------------------- */ -/* cascader --------------------------- */ -/* Switch --------------------------- */ -/* Dialog --------------------------- */ -/* Table --------------------------- */ -/* Pagination --------------------------- */ -/* Popup --------------------------- */ -/* Popover --------------------------- */ -/* Tooltip --------------------------- */ -/* Tag --------------------------- */ -/* Tree --------------------------- */ -/* Dropdown --------------------------- */ -/* Badge --------------------------- */ -/* Card ---------------------------*/ -/* Slider ---------------------------*/ -/* Steps ---------------------------*/ -/* Menu ---------------------------*/ -/* Rate ---------------------------*/ -/* DatePicker ---------------------------*/ -/* Loading ---------------------------*/ -/* Scrollbar ---------------------------*/ -/* Carousel ---------------------------*/ -/* Collapse ---------------------------*/ -/* Transfer ---------------------------*/ -/* Header - --------------------------*/ -/* Footer ---------------------------*/ -/* Main ---------------------------*/ -/* Timeline ---------------------------*/ -/* Backtop ---------------------------*/ -/* Link ---------------------------*/ -/* Calendar ---------------------------*/ -/* Form --------------------------- */ -/* Avatar ---------------------------*/ -/* Break-point ---------------------------*/ -.el-upload { - display: inline-block; - text-align: center; - cursor: pointer; - outline: none; - /* 照片墙模式 */ } - .el-upload__input { - display: none; } - .el-upload__tip { - font-size: 12px; - color: #606266; - margin-top: 7px; } - .el-upload iframe { - position: absolute; - z-index: -1; - top: 0; - left: 0; - opacity: 0; - filter: alpha(opacity=0); } - .el-upload--picture-card { - background-color: #fbfdff; - border: 1px dashed #c0ccda; - border-radius: 6px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 148px; - height: 148px; - cursor: pointer; - line-height: 146px; - vertical-align: top; } - .el-upload--picture-card i { - font-size: 28px; - color: #8c939d; } - .el-upload--picture-card:hover { - border-color: #409EFF; - color: #409EFF; } - .el-upload:focus { - border-color: #409EFF; - color: #409EFF; } - .el-upload:focus .el-upload-dragger { - border-color: #409EFF; } - -.el-upload-dragger { - background-color: #fff; - border: 1px dashed #d9d9d9; - border-radius: 6px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 360px; - height: 180px; - text-align: center; - cursor: pointer; - position: relative; - overflow: hidden; } - .el-upload-dragger .el-icon-upload { - font-size: 67px; - color: #C0C4CC; - margin: 40px 0 16px; - line-height: 50px; } - .el-upload-dragger + .el-upload__tip { - text-align: center; } - .el-upload-dragger ~ .el-upload__files { - border-top: 1px solid #DCDFE6; - margin-top: 7px; - padding-top: 5px; } - .el-upload-dragger .el-upload__text { - color: #606266; - font-size: 14px; - text-align: center; } - .el-upload-dragger .el-upload__text em { - color: #409EFF; - font-style: normal; } - .el-upload-dragger:hover { - border-color: #409EFF; } - .el-upload-dragger.is-dragover { - background-color: rgba(32, 159, 255, 0.06); - border: 2px dashed #409EFF; } - -.el-upload-list { - margin: 0; - padding: 0; - list-style: none; } - .el-upload-list__item { - -webkit-transition: all 0.5s cubic-bezier(0.55, 0, 0.1, 1); - transition: all 0.5s cubic-bezier(0.55, 0, 0.1, 1); - font-size: 14px; - color: #606266; - line-height: 1.8; - margin-top: 5px; - position: relative; - -webkit-box-sizing: border-box; - box-sizing: border-box; - border-radius: 4px; - width: 100%; } - .el-upload-list__item .el-progress { - position: absolute; - top: 20px; - width: 100%; } - .el-upload-list__item .el-progress__text { - position: absolute; - right: 0; - top: -13px; } - .el-upload-list__item .el-progress-bar { - margin-right: 0; - padding-right: 0; } - .el-upload-list__item:first-child { - margin-top: 10px; } - .el-upload-list__item .el-icon-upload-success { - color: #67C23A; } - .el-upload-list__item .el-icon-close { - display: none; - position: absolute; - top: 5px; - right: 5px; - cursor: pointer; - opacity: .75; - color: #606266; } - .el-upload-list__item .el-icon-close:hover { - opacity: 1; } - .el-upload-list__item .el-icon-close-tip { - display: none; - position: absolute; - top: 5px; - right: 5px; - font-size: 12px; - cursor: pointer; - opacity: 1; - color: #409EFF; } - .el-upload-list__item:hover { - background-color: #F5F7FA; } - .el-upload-list__item:hover .el-icon-close { - display: inline-block; } - .el-upload-list__item:hover .el-progress__text { - display: none; } - .el-upload-list__item.is-success .el-upload-list__item-status-label { - display: block; } - .el-upload-list__item.is-success .el-upload-list__item-name:hover, .el-upload-list__item.is-success .el-upload-list__item-name:focus { - color: #409EFF; - cursor: pointer; } - .el-upload-list__item.is-success:focus:not(:hover) { - /* 键盘focus */ } - .el-upload-list__item.is-success:focus:not(:hover) .el-icon-close-tip { - display: inline-block; } - .el-upload-list__item.is-success:not(.focusing):focus, .el-upload-list__item.is-success:active { - /* click时 */ - outline-width: 0; } - .el-upload-list__item.is-success:not(.focusing):focus .el-icon-close-tip, .el-upload-list__item.is-success:active .el-icon-close-tip { - display: none; } - .el-upload-list__item.is-success:hover .el-upload-list__item-status-label, .el-upload-list__item.is-success:focus .el-upload-list__item-status-label { - display: none; } - .el-upload-list.is-disabled .el-upload-list__item:hover .el-upload-list__item-status-label { - display: block; } - .el-upload-list__item-name { - color: #606266; - display: block; - margin-right: 40px; - overflow: hidden; - padding-left: 4px; - text-overflow: ellipsis; - -webkit-transition: color .3s; - transition: color .3s; - white-space: nowrap; } - .el-upload-list__item-name [class^="el-icon"] { - height: 100%; - margin-right: 7px; - color: #909399; - line-height: inherit; } - .el-upload-list__item-status-label { - position: absolute; - right: 5px; - top: 0; - line-height: inherit; - display: none; } - .el-upload-list__item-delete { - position: absolute; - right: 10px; - top: 0; - font-size: 12px; - color: #606266; - display: none; } - .el-upload-list__item-delete:hover { - color: #409EFF; } - .el-upload-list--picture-card { - margin: 0; - display: inline; - vertical-align: top; } - .el-upload-list--picture-card .el-upload-list__item { - overflow: hidden; - background-color: #fff; - border: 1px solid #c0ccda; - border-radius: 6px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 148px; - height: 148px; - margin: 0 8px 8px 0; - display: inline-block; } - .el-upload-list--picture-card .el-upload-list__item .el-icon-check, - .el-upload-list--picture-card .el-upload-list__item .el-icon-circle-check { - color: #FFFFFF; } - .el-upload-list--picture-card .el-upload-list__item .el-icon-close { - display: none; } - .el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label { - display: none; } - .el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text { - display: block; } - .el-upload-list--picture-card .el-upload-list__item-name { - display: none; } - .el-upload-list--picture-card .el-upload-list__item-thumbnail { - width: 100%; - height: 100%; } - .el-upload-list--picture-card .el-upload-list__item-status-label { - position: absolute; - right: -15px; - top: -6px; - width: 40px; - height: 24px; - background: #13ce66; - text-align: center; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - -webkit-box-shadow: 0 0 1pc 1px rgba(0, 0, 0, 0.2); - box-shadow: 0 0 1pc 1px rgba(0, 0, 0, 0.2); } - .el-upload-list--picture-card .el-upload-list__item-status-label i { - font-size: 12px; - margin-top: 11px; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); } - .el-upload-list--picture-card .el-upload-list__item-actions { - position: absolute; - width: 100%; - height: 100%; - left: 0; - top: 0; - cursor: default; - text-align: center; - color: #fff; - opacity: 0; - font-size: 20px; - background-color: rgba(0, 0, 0, 0.5); - -webkit-transition: opacity .3s; - transition: opacity .3s; } - .el-upload-list--picture-card .el-upload-list__item-actions::after { - display: inline-block; - content: ""; - height: 100%; - vertical-align: middle; } - .el-upload-list--picture-card .el-upload-list__item-actions span { - display: none; - cursor: pointer; } - .el-upload-list--picture-card .el-upload-list__item-actions span + span { - margin-left: 15px; } - .el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete { - position: static; - font-size: inherit; - color: inherit; } - .el-upload-list--picture-card .el-upload-list__item-actions:hover { - opacity: 1; } - .el-upload-list--picture-card .el-upload-list__item-actions:hover span { - display: inline-block; } - .el-upload-list--picture-card .el-progress { - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); - bottom: auto; - width: 126px; } - .el-upload-list--picture-card .el-progress .el-progress__text { - top: 50%; } - .el-upload-list--picture .el-upload-list__item { - overflow: hidden; - z-index: 0; - background-color: #fff; - border: 1px solid #c0ccda; - border-radius: 6px; - -webkit-box-sizing: border-box; - box-sizing: border-box; - margin-top: 10px; - padding: 10px 10px 10px 90px; - height: 92px; } - .el-upload-list--picture .el-upload-list__item .el-icon-check, - .el-upload-list--picture .el-upload-list__item .el-icon-circle-check { - color: #FFFFFF; } - .el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label { - background: transparent; - -webkit-box-shadow: none; - box-shadow: none; - top: -2px; - right: -12px; } - .el-upload-list--picture .el-upload-list__item:hover .el-progress__text { - display: block; } - .el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name { - line-height: 70px; - margin-top: 0; } - .el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i { - display: none; } - .el-upload-list--picture .el-upload-list__item-thumbnail { - vertical-align: middle; - display: inline-block; - width: 70px; - height: 70px; - float: left; - position: relative; - z-index: 1; - margin-left: -80px; - background-color: #FFFFFF; } - .el-upload-list--picture .el-upload-list__item-name { - display: block; - margin-top: 20px; } - .el-upload-list--picture .el-upload-list__item-name i { - font-size: 70px; - line-height: 1; - position: absolute; - left: 9px; - top: 10px; } - .el-upload-list--picture .el-upload-list__item-status-label { - position: absolute; - right: -17px; - top: -7px; - width: 46px; - height: 26px; - background: #13ce66; - text-align: center; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - -webkit-box-shadow: 0 1px 1px #ccc; - box-shadow: 0 1px 1px #ccc; } - .el-upload-list--picture .el-upload-list__item-status-label i { - font-size: 12px; - margin-top: 12px; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); } - .el-upload-list--picture .el-progress { - position: relative; - top: -7px; } - -.el-upload-cover { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - overflow: hidden; - z-index: 10; - cursor: default; } - .el-upload-cover::after { - display: inline-block; - content: ""; - height: 100%; - vertical-align: middle; } - .el-upload-cover img { - display: block; - width: 100%; - height: 100%; } - .el-upload-cover__label { - position: absolute; - right: -15px; - top: -6px; - width: 40px; - height: 24px; - background: #13ce66; - text-align: center; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - -webkit-box-shadow: 0 0 1pc 1px rgba(0, 0, 0, 0.2); - box-shadow: 0 0 1pc 1px rgba(0, 0, 0, 0.2); } - .el-upload-cover__label i { - font-size: 12px; - margin-top: 11px; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - color: #fff; } - .el-upload-cover__progress { - display: inline-block; - vertical-align: middle; - position: static; - width: 243px; } - .el-upload-cover__progress + .el-upload__inner { - opacity: 0; } - .el-upload-cover__content { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; } - .el-upload-cover__interact { - position: absolute; - bottom: 0; - left: 0; - width: 100%; - height: 100%; - background-color: rgba(0, 0, 0, 0.72); - text-align: center; } - .el-upload-cover__interact .btn { - display: inline-block; - color: #FFFFFF; - font-size: 14px; - cursor: pointer; - vertical-align: middle; - -webkit-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1); - transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 300ms cubic-bezier(0.23, 1, 0.32, 1); - margin-top: 60px; } - .el-upload-cover__interact .btn i { - margin-top: 0; } - .el-upload-cover__interact .btn span { - opacity: 0; - -webkit-transition: opacity .15s linear; - transition: opacity .15s linear; } - .el-upload-cover__interact .btn:not(:first-child) { - margin-left: 35px; } - .el-upload-cover__interact .btn:hover { - -webkit-transform: translateY(-13px); - transform: translateY(-13px); } - .el-upload-cover__interact .btn:hover span { - opacity: 1; } - .el-upload-cover__interact .btn i { - color: #FFFFFF; - display: block; - font-size: 24px; - line-height: inherit; - margin: 0 auto 5px; } - .el-upload-cover__title { - position: absolute; - bottom: 0; - left: 0; - background-color: #FFFFFF; - height: 36px; - width: 100%; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - font-weight: normal; - text-align: left; - padding: 0 10px; - margin: 0; - line-height: 36px; - font-size: 14px; - color: #303133; } - .el-upload-cover + .el-upload__inner { - opacity: 0; - position: relative; - z-index: 1; } diff --git a/orange-demo-multi/orange-demo-multi-web/src/components/DateRange/index.vue b/orange-demo-multi/orange-demo-multi-web/src/components/DateRange/index.vue deleted file mode 100644 index f4dd2c0b..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/components/DateRange/index.vue +++ /dev/null @@ -1,305 +0,0 @@ - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/components/Dialog/index.js b/orange-demo-multi/orange-demo-multi-web/src/components/Dialog/index.js deleted file mode 100644 index 5118d7a6..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/components/Dialog/index.js +++ /dev/null @@ -1,77 +0,0 @@ -import $ from 'jquery'; -import Vue from 'vue'; -import router from '@/router'; -import store from '@/store'; - -window.jQuery = $; -const layer = require('layui-layer'); - -class Dialog { - /** - * 关闭弹窗 - * @param {*} index 要关闭的弹窗的index - */ - static close (index) { - layer.close(index); - } - /** - * 关闭所有弹窗 - */ - static closeAll () { - layer.closeAll(); - } - /** - * 打开弹窗 - * @param {*} title 弹窗标题 - * @param {*} component 弹窗内容的组件 - * @param {*} options 弹窗设置(详情请见layui官网) - * @param {*} params 弹窗组件参数 - */ - static show (title, component, options, params) { - return new Promise((resolve, reject) => { - let layerOptions = { - title: title, - type: 1, - skin: 'layer-dialog', - resize: false, - offset: 'auto', - zIndex: 1000, - index: 0, - contentDom: null - }; - - layerOptions = {...layerOptions, ...options}; - layerOptions.end = () => { - if (layerOptions.contentDom) document.body.removeChild(layerOptions.contentDom); - } - - let observer = { - cancel: function (isSuccess = false, data = undefined) { - layer.close(this.index); - if (isSuccess) { - resolve(data); - } else { - reject(); - } - }, - index: -1 - } - layerOptions.cancel = () => { - reject(); - } - let dom = document.createElement('div'); - document.body.appendChild(dom); - let Content = Vue.extend(component); - let vueObj = new Content({router: router, store: store, propsData: params}); - vueObj.observer = observer; - vueObj.$mount(dom); - layerOptions.contentDom = vueObj.$el; - layerOptions.content = $(layerOptions.contentDom); - observer.index = layer.open(layerOptions); - }); - } -} - -Vue.prototype.$dialog = Dialog; - -export default Dialog; diff --git a/orange-demo-multi/orange-demo-multi-web/src/components/FilterBox/index.vue b/orange-demo-multi/orange-demo-multi-web/src/components/FilterBox/index.vue deleted file mode 100644 index d7350358..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/components/FilterBox/index.vue +++ /dev/null @@ -1,134 +0,0 @@ - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/components/Hamburger/index.vue b/orange-demo-multi/orange-demo-multi-web/src/components/Hamburger/index.vue deleted file mode 100644 index 6df80299..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/components/Hamburger/index.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/components/IconSelect/icon.json b/orange-demo-multi/orange-demo-multi-web/src/components/IconSelect/icon.json deleted file mode 100644 index 13f2f58b..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/components/IconSelect/icon.json +++ /dev/null @@ -1,280 +0,0 @@ -[ - "el-icon-delete-solid", - "el-icon-delete", - "el-icon-s-tools", - "el-icon-setting", - "el-icon-user-solid", - "el-icon-user", - "el-icon-phone", - "el-icon-phone-outline", - "el-icon-more", - "el-icon-more-outline", - "el-icon-star-on", - "el-icon-star-off", - "el-icon-s-goods", - "el-icon-goods", - "el-icon-warning", - "el-icon-warning-outline", - "el-icon-question", - "el-icon-info", - "el-icon-remove", - "el-icon-circle-plus", - "el-icon-success", - "el-icon-error", - "el-icon-zoom-in", - "el-icon-zoom-out", - "el-icon-remove-outline", - "el-icon-circle-plus-outline", - "el-icon-circle-check", - "el-icon-circle-close", - "el-icon-s-help", - "el-icon-help", - "el-icon-minus", - "el-icon-plus", - "el-icon-check", - "el-icon-close", - "el-icon-picture", - "el-icon-picture-outline", - "el-icon-picture-outline-round", - "el-icon-upload", - "el-icon-upload2", - "el-icon-download", - "el-icon-camera-solid", - "el-icon-camera", - "el-icon-video-camera-solid", - "el-icon-video-camera", - "el-icon-message-solid", - "el-icon-bell", - "el-icon-s-cooperation", - "el-icon-s-order", - "el-icon-s-platform", - "el-icon-s-fold", - "el-icon-s-unfold", - "el-icon-s-operation", - "el-icon-s-promotion", - "el-icon-s-home", - "el-icon-s-release", - "el-icon-s-ticket", - "el-icon-s-management", - "el-icon-s-open", - "el-icon-s-shop", - "el-icon-s-marketing", - "el-icon-s-flag", - "el-icon-s-comment", - "el-icon-s-finance", - "el-icon-s-claim", - "el-icon-s-custom", - "el-icon-s-opportunity", - "el-icon-s-data", - "el-icon-s-check", - "el-icon-s-grid", - "el-icon-menu", - "el-icon-share", - "el-icon-d-caret", - "el-icon-caret-left", - "el-icon-caret-right", - "el-icon-caret-bottom", - "el-icon-caret-top", - "el-icon-bottom-left", - "el-icon-bottom-right", - "el-icon-back", - "el-icon-right", - "el-icon-bottom", - "el-icon-top", - "el-icon-top-left", - "el-icon-top-right", - "el-icon-arrow-left", - "el-icon-arrow-right", - "el-icon-arrow-down", - "el-icon-arrow-up", - "el-icon-d-arrow-left", - "el-icon-d-arrow-right", - "el-icon-video-pause", - "el-icon-video-play", - "el-icon-refresh", - "el-icon-refresh-right", - "el-icon-refresh-left", - "el-icon-finished", - "el-icon-sort", - "el-icon-sort-up", - "el-icon-sort-down", - "el-icon-rank", - "el-icon-loading", - "el-icon-view", - "el-icon-c-scale-to-original", - "el-icon-date", - "el-icon-edit", - "el-icon-edit-outline", - "el-icon-folder", - "el-icon-folder-opened", - "el-icon-folder-add", - "el-icon-folder-remove", - "el-icon-folder-delete", - "el-icon-folder-checked", - "el-icon-tickets", - "el-icon-document-remove", - "el-icon-document-delete", - "el-icon-document-copy", - "el-icon-document-checked", - "el-icon-document", - "el-icon-document-add", - "el-icon-printer", - "el-icon-paperclip", - "el-icon-takeaway-box", - "el-icon-search", - "el-icon-monitor", - "el-icon-attract", - "el-icon-mobile", - "el-icon-scissors", - "el-icon-umbrella", - "el-icon-headset", - "el-icon-brush", - "el-icon-mouse", - "el-icon-coordinate", - "el-icon-magic-stick", - "el-icon-reading", - "el-icon-data-line", - "el-icon-data-board", - "el-icon-pie-chart", - "el-icon-data-analysis", - "el-icon-collection-tag", - "el-icon-film", - "el-icon-suitcase", - "el-icon-suitcase-1", - "el-icon-receiving", - "el-icon-collection", - "el-icon-files", - "el-icon-notebook-1", - "el-icon-notebook-2", - "el-icon-toilet-paper", - "el-icon-office-building", - "el-icon-school", - "el-icon-table-lamp", - "el-icon-house", - "el-icon-no-smoking", - "el-icon-smoking", - "el-icon-shopping-cart-full", - "el-icon-shopping-cart-1", - "el-icon-shopping-cart-2", - "el-icon-shopping-bag-1", - "el-icon-shopping-bag-2", - "el-icon-sold-out", - "el-icon-sell", - "el-icon-present", - "el-icon-box", - "el-icon-bank-card", - "el-icon-money", - "el-icon-coin", - "el-icon-wallet", - "el-icon-discount", - "el-icon-price-tag", - "el-icon-news", - "el-icon-guide", - "el-icon-male", - "el-icon-female", - "el-icon-thumb", - "el-icon-cpu", - "el-icon-link", - "el-icon-connection", - "el-icon-open", - "el-icon-turn-off", - "el-icon-set-up", - "el-icon-chat-round", - "el-icon-chat-line-round", - "el-icon-chat-square", - "el-icon-chat-dot-round", - "el-icon-chat-dot-square", - "el-icon-chat-line-square", - "el-icon-message", - "el-icon-postcard", - "el-icon-position", - "el-icon-turn-off-microphone", - "el-icon-microphone", - "el-icon-close-notification", - "el-icon-bangzhu", - "el-icon-time", - "el-icon-odometer", - "el-icon-crop", - "el-icon-aim", - "el-icon-switch-button", - "el-icon-full-screen", - "el-icon-copy-document", - "el-icon-mic", - "el-icon-stopwatch", - "el-icon-medal-1", - "el-icon-medal", - "el-icon-trophy", - "el-icon-trophy-1", - "el-icon-first-aid-kit", - "el-icon-discover", - "el-icon-place", - "el-icon-location", - "el-icon-location-outline", - "el-icon-location-information", - "el-icon-add-location", - "el-icon-delete-location", - "el-icon-map-location", - "el-icon-alarm-clock", - "el-icon-timer", - "el-icon-watch-1", - "el-icon-watch", - "el-icon-lock", - "el-icon-unlock", - "el-icon-key", - "el-icon-service", - "el-icon-mobile-phone", - "el-icon-bicycle", - "el-icon-truck", - "el-icon-ship", - "el-icon-basketball", - "el-icon-football", - "el-icon-soccer", - "el-icon-baseball", - "el-icon-wind-power", - "el-icon-light-rain", - "el-icon-lightning", - "el-icon-heavy-rain", - "el-icon-sunrise", - "el-icon-sunrise-1", - "el-icon-sunset", - "el-icon-sunny", - "el-icon-cloudy", - "el-icon-partly-cloudy", - "el-icon-cloudy-and-sunny", - "el-icon-moon", - "el-icon-moon-night", - "el-icon-dish", - "el-icon-dish-1", - "el-icon-food", - "el-icon-chicken", - "el-icon-fork-spoon", - "el-icon-knife-fork", - "el-icon-burger", - "el-icon-tableware", - "el-icon-sugar", - "el-icon-dessert", - "el-icon-ice-cream", - "el-icon-hot-water", - "el-icon-water-cup", - "el-icon-coffee-cup", - "el-icon-cold-drink", - "el-icon-goblet", - "el-icon-goblet-full", - "el-icon-goblet-square", - "el-icon-goblet-square-full", - "el-icon-refrigerator", - "el-icon-grape", - "el-icon-watermelon", - "el-icon-cherry", - "el-icon-apple", - "el-icon-pear", - "el-icon-orange", - "el-icon-coffee", - "el-icon-ice-tea", - "el-icon-ice-drink", - "el-icon-milk-tea", - "el-icon-potato-strips", - "el-icon-lollipop", - "el-icon-ice-cream-square", - "el-icon-ice-cream-round" -] \ No newline at end of file diff --git a/orange-demo-multi/orange-demo-multi-web/src/components/IconSelect/index.vue b/orange-demo-multi/orange-demo-multi-web/src/components/IconSelect/index.vue deleted file mode 100644 index 06be852b..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/components/IconSelect/index.vue +++ /dev/null @@ -1,104 +0,0 @@ - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/components/InputNumberRange/index.vue b/orange-demo-multi/orange-demo-multi-web/src/components/InputNumberRange/index.vue deleted file mode 100644 index 44105416..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/components/InputNumberRange/index.vue +++ /dev/null @@ -1,227 +0,0 @@ - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/components/Progress/index.vue b/orange-demo-multi/orange-demo-multi-web/src/components/Progress/index.vue deleted file mode 100644 index 2225e489..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/components/Progress/index.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/components/RichEditor/index.vue b/orange-demo-multi/orange-demo-multi-web/src/components/RichEditor/index.vue deleted file mode 100644 index fea000a9..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/components/RichEditor/index.vue +++ /dev/null @@ -1,132 +0,0 @@ - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/components/TableProgressColumn/index.vue b/orange-demo-multi/orange-demo-multi-web/src/components/TableProgressColumn/index.vue deleted file mode 100644 index 7e82a4eb..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/components/TableProgressColumn/index.vue +++ /dev/null @@ -1,119 +0,0 @@ - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/components/TreeSelect/index.vue b/orange-demo-multi/orange-demo-multi-web/src/components/TreeSelect/index.vue deleted file mode 100644 index d10b1123..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/components/TreeSelect/index.vue +++ /dev/null @@ -1,290 +0,0 @@ - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/components/Verifition/Verify.vue b/orange-demo-multi/orange-demo-multi-web/src/components/Verifition/Verify.vue deleted file mode 100644 index 3983d771..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/components/Verifition/Verify.vue +++ /dev/null @@ -1,494 +0,0 @@ - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/components/Verifition/Verify/VerifyPoints.vue b/orange-demo-multi/orange-demo-multi-web/src/components/Verifition/Verify/VerifyPoints.vue deleted file mode 100644 index 71cecd38..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/components/Verifition/Verify/VerifyPoints.vue +++ /dev/null @@ -1,268 +0,0 @@ - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/components/Verifition/Verify/VerifySlide.vue b/orange-demo-multi/orange-demo-multi-web/src/components/Verifition/Verify/VerifySlide.vue deleted file mode 100644 index 2b1a14ee..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/components/Verifition/Verify/VerifySlide.vue +++ /dev/null @@ -1,381 +0,0 @@ - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/components/Verifition/api/index.js b/orange-demo-multi/orange-demo-multi-web/src/components/Verifition/api/index.js deleted file mode 100644 index 7b650f8a..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/components/Verifition/api/index.js +++ /dev/null @@ -1,25 +0,0 @@ -/** - * 此处可直接引用自己项目封装好的 axios 配合后端联调 - */ - -import request from './../utils/axios' // 组件内部封装的axios -// import request from "@/api/axios.js" //调用项目封装的axios - -// 获取验证图片 以及token -export function reqGet(data) { - return request({ - url: '/captcha/get', - method: 'post', - data - }) -} - -// 滑动或者点选验证 -export function reqCheck(data) { - return request({ - url: '/captcha/check', - method: 'post', - data - }) -} - diff --git a/orange-demo-multi/orange-demo-multi-web/src/components/Verifition/utils/ase.js b/orange-demo-multi/orange-demo-multi-web/src/components/Verifition/utils/ase.js deleted file mode 100644 index 71f07e0f..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/components/Verifition/utils/ase.js +++ /dev/null @@ -1,11 +0,0 @@ -import CryptoJS from 'crypto-js' -/** - * @word 要加密的内容 - * @keyWord String 服务器随机返回的关键字 - * */ -export function aesEncrypt(word, keyWord = 'XwKsGlMcdPMEhR1B') { - var key = CryptoJS.enc.Utf8.parse(keyWord) - var srcs = CryptoJS.enc.Utf8.parse(word) - var encrypted = CryptoJS.AES.encrypt(srcs, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 }) - return encrypted.toString() -} diff --git a/orange-demo-multi/orange-demo-multi-web/src/components/Verifition/utils/axios.js b/orange-demo-multi/orange-demo-multi-web/src/components/Verifition/utils/axios.js deleted file mode 100644 index 6c633247..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/components/Verifition/utils/axios.js +++ /dev/null @@ -1,31 +0,0 @@ -import axios from 'axios' -import projectConfig from '@/core/config'; - -axios.defaults.baseURL = projectConfig.baseUrl - -const service = axios.create({ - timeout: 40000, - headers: { - 'X-Requested-With': 'XMLHttpRequest', - 'Content-Type': 'application/json; charset=UTF-8' - }, -}) -service.interceptors.request.use( - config => { - return config - }, - error => { - Promise.reject(error) - } -) - -// response interceptor -service.interceptors.response.use( - response => { - const res = response.data - return res - }, - error => { - } -) -export default service diff --git a/orange-demo-multi/orange-demo-multi-web/src/components/Verifition/utils/util.js b/orange-demo-multi/orange-demo-multi-web/src/components/Verifition/utils/util.js deleted file mode 100644 index 8f26e736..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/components/Verifition/utils/util.js +++ /dev/null @@ -1,36 +0,0 @@ -export function resetSize(vm) { - var img_width, img_height, bar_width, bar_height // 图片的宽度、高度,移动条的宽度、高度 - - var parentWidth = vm.$el.parentNode.offsetWidth || window.offsetWidth - var parentHeight = vm.$el.parentNode.offsetHeight || window.offsetHeight - - if (vm.imgSize.width.indexOf('%') != -1) { - img_width = parseInt(this.imgSize.width) / 100 * parentWidth + 'px' - } else { - img_width = this.imgSize.width - } - - if (vm.imgSize.height.indexOf('%') != -1) { - img_height = parseInt(this.imgSize.height) / 100 * parentHeight + 'px' - } else { - img_height = this.imgSize.height - } - - if (vm.barSize.width.indexOf('%') != -1) { - bar_width = parseInt(this.barSize.width) / 100 * parentWidth + 'px' - } else { - bar_width = this.barSize.width - } - - if (vm.barSize.height.indexOf('%') != -1) { - bar_height = parseInt(this.barSize.height) / 100 * parentHeight + 'px' - } else { - bar_height = this.barSize.height - } - - return { imgWidth: img_width, imgHeight: img_height, barWidth: bar_width, barHeight: bar_height } -} - -export const _code_chars = [1, 2, 3, 4, 5, 6, 7, 8, 9, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'] -export const _code_color1 = ['#fffff0', '#f0ffff', '#f0fff0', '#fff0f0'] -export const _code_color2 = ['#FF0033', '#006699', '#993366', '#FF9900', '#66CC66', '#FF33CC'] diff --git a/orange-demo-multi/orange-demo-multi-web/src/core/config/development.js b/orange-demo-multi/orange-demo-multi-web/src/core/config/development.js deleted file mode 100644 index 883e8c0e..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/core/config/development.js +++ /dev/null @@ -1,4 +0,0 @@ -module.exports = { - baseUrl: 'http://localhost:8082/', - projectName: '橙单代码生成平台' -} diff --git a/orange-demo-multi/orange-demo-multi-web/src/core/config/index.js b/orange-demo-multi/orange-demo-multi-web/src/core/config/index.js deleted file mode 100644 index 35003bc1..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/core/config/index.js +++ /dev/null @@ -1,18 +0,0 @@ -const projectConfig = require('../config/' + process.env.NODE_ENV); - -export const globalConfig = { - httpOption: { - // 调用的时候是否显示蒙版 - showMask: true, - // 是否显示公共的错误提示 - showError: true, - // 是否开启节流功能,同一个url不能频繁重复调用 - throttleFlag: false, - // 节流间隔 - throttleTimeout: 50 - }, - axiosOption: { - } -}; - -export default projectConfig; diff --git a/orange-demo-multi/orange-demo-multi-web/src/core/config/production.js b/orange-demo-multi/orange-demo-multi-web/src/core/config/production.js deleted file mode 100644 index 1f34bb53..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/core/config/production.js +++ /dev/null @@ -1,4 +0,0 @@ -module.exports = { - baseUrl: 'http://localhost:8082/', - projectName: '橙单项目' -} diff --git a/orange-demo-multi/orange-demo-multi-web/src/core/directive/sortable.js b/orange-demo-multi/orange-demo-multi-web/src/core/directive/sortable.js deleted file mode 100644 index 410de2d9..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/core/directive/sortable.js +++ /dev/null @@ -1,14 +0,0 @@ -import Vue from 'vue' -import { SortableData } from './sortableData'; - -/** - * 拖拽排序指令 - */ -Vue.directive('sortable', { - inserted: function (el, binding, vnode) { - let sortableData = binding.value; - if (sortableData == null || !(sortableData instanceof SortableData)) return; - - sortableData.init(vnode.elm); - } -}); diff --git a/orange-demo-multi/orange-demo-multi-web/src/core/directive/sortableData.js b/orange-demo-multi/orange-demo-multi-web/src/core/directive/sortableData.js deleted file mode 100644 index 4993e08a..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/core/directive/sortableData.js +++ /dev/null @@ -1,60 +0,0 @@ -import sortable from 'sortablejs' -/** - * 拖拽排序对象 - * expample - *
    - *
  • A
  • - *
  • B
  • - *
  • C
  • - *
  • D
  • - *
- */ -export class SortableData { - constructor (data, group) { - this.list = data; - this.group = group; - this.ghostClass = 'sortable-ghost'; - this.sortable = null; - this.disabled = false; - }; - - setData (list) { - this.list = list; - } - - getElement (el) { - return el; - }; - - onEnd (oldIndex, newIndex) { - if (oldIndex === newIndex || this.list == null) return; - let targetRow = this.list.splice(oldIndex, 1)[0] - this.list.splice(newIndex, 0, targetRow); - }; - - init (el) { - var _this = this; - - var _option = {}; - if (this.ghostClass != null) _option.ghostClass = this.ghostClass; - if (this.group != null) _option.group = this.group; - if (this.disabled != null) _option.disabled = this.disabled; - // 列表中能拖动的dom的选择器(例如:.drag-item) - if (this.draggable != null) _option.draggable = this.draggable; - // 列表中拖动项,拖动把柄的选择器,只有点击这个选择出来的dom才可以开始拖动(例如:.drag-handle) - if (this.handle != null) _option.handle = this.handle; - _option.setData = function (dataTransfer) { - dataTransfer.setData('Text', ''); - }; - _option.onEnd = function (evt) { - _this.onEnd(evt.oldIndex, evt.newIndex); - }; - - this.sortable = sortable.create(_this.getElement(el), _option); - }; - - release () { - if (this.sortable != null) this.sortable.destroy(); - this.sortable = null; - } -}; diff --git a/orange-demo-multi/orange-demo-multi-web/src/core/http/index.js b/orange-demo-multi/orange-demo-multi-web/src/core/http/index.js deleted file mode 100644 index e3f27df3..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/core/http/index.js +++ /dev/null @@ -1,244 +0,0 @@ -import Vue from 'vue'; -import { Loading, Message } from 'element-ui'; -import request from './request'; -import requestUrl from './requestUrl'; -import { globalConfig } from '@/core/config'; - -/** - * 遮罩管理,多次调用支持引用计数 - */ -class LoadingManager { - constructor (options) { - this.options = options; - this.refCount = 0; - this.loading = undefined; - } - - showMask () { - this.loading = Loading.service(this.options); - this.refCount++; - } - - hideMask () { - if (this.refCount <= 1 && this.loading != null) { - this.loading.close(); - this.loading = null; - } - this.refCount--; - this.refCount = Math.max(0, this.refCount); - } -} - -const loadingManager = new LoadingManager({ - fullscreen: true, - background: 'rgba(0, 0, 0, 0.1)' -}); - -/** - * post请求 - * @param {String} url 请求的url - * @param {Object} params 请求参数 - * @param {Object} options axios设置项 - * @returns {Promise} - */ -const fetchPost = function (url, params, options) { - if (options == null) return {}; - let tempOptions = { - ...options, - method: 'post', - url: requestUrl(url), - data: params - }; - - return request(tempOptions); -}; -/** - * get请求 - * @param {String} url 请求的url - * @param {Object} params 请求参数 - * @param {Object} options axios设置项 - * @returns {Promise} - */ -const fetchGet = function (url, params, options) { - if (options == null) return {}; - let tempOptions = { - ...options, - method: 'get', - url: requestUrl(url), - params - }; - return request(tempOptions); -}; -/** - * 下载请求 - * @param {String} url 请求的url - * @param {Object} params 请求参数 - * @param {String} fileName 下载后保存的文件名 - * @returns {Promise} - */ -const fetchDownload = function (url, params, fileName) { - return new Promise((resolve, reject) => { - request({ - url: requestUrl(url), - method: 'post', - data: params, - responseType: 'blob', - transformResponse: function (data) { - return (data instanceof Blob && data.size > 0) ? data : undefined; - } - }).then(res => { - if (res.data == null) { - reject(new Error('下载文件失败')); - } else { - let blobData = new Blob([res.data], { type: 'application/octet-stream' }); - let blobUrl = window.URL.createObjectURL(blobData); - let linkDom = document.createElement('a'); - linkDom.style.display = 'none'; - linkDom.href = blobUrl; - linkDom.setAttribute('download', fileName); - if (typeof linkDom.download === 'undefined') { - linkDom.setAttribute('target', '_blank'); - } - document.body.appendChild(linkDom); - linkDom.click(); - document.body.removeChild(linkDom); - window.URL.revokeObjectURL(blobData); - resolve(); - } - }).catch(e => { - if (e instanceof Blob) { - let reader = new FileReader(); - reader.onload = function () { - let jsonObj = JSON.parse(reader.result); - reject((jsonObj || {}).errorMessage || '下载文件失败'); - } - reader.readAsText(e); - } else { - reject(e); - } - }); - }); -} -/** - * 上传文件 - * @param {*} url 请求的url - * @param {*} params 请求参数 - */ -const fetchUpload = function (url, params) { - return new Promise((resolve, reject) => { - request({ - url: requestUrl(url), - method: 'post', - data: params, - headers: { - 'Content-Type': 'multipart/form-data' - }, - transformRequest: [ - function (data) { - let formData = new FormData(); - Object.keys(data).map(key => { - formData.append(key, data[key]); - }); - return formData; - } - ] - }).then(res => { - if (res.data && res.data.success) { - resolve(res.data); - } else { - Message.error({ - showClose: true, - message: res.data.errorMessage ? res.data.errorMessage : '数据请求失败' - }); - } - }).catch(e => { - Message.error({ - showClose: true, - message: e.errorMessage ? e.errorMessage : '网络请求错误' - }); - reject(e); - }); - }); -} -// url调用节流Set -const ajaxThrottleSet = new Set(); -/** - * 数据请求 - * @param {String} url 请求的url - * @param {String} type 请求类型 (get,post) - * @param {Object} params 请求参数 - * @param {Object} axiosOption axios设置 - * @param {Object} options 显示设置 - */ -const doUrl = function (url, type, params, axiosOption, options) { - let finalOption = { - ...globalConfig.httpOption, - ...options - }; - let { showMask, showError, throttleFlag, throttleTimeout } = finalOption; - let finalAxiosOption = { - ...globalConfig.axiosOption, - ...axiosOption - } - if (type == null || type === '') type = 'post'; - if (ajaxThrottleSet.has(url) && throttleFlag) { - return Promise.resolve(); - } else { - if (throttleFlag) { - ajaxThrottleSet.add(url); - setTimeout(() => { - ajaxThrottleSet.delete(url); - }, throttleTimeout || 50); - } - return new Promise((resolve, reject) => { - if (showMask) loadingManager.showMask(); - let ajaxCall = null; - if (type.toLowerCase() === 'get') { - ajaxCall = fetchGet(url, params, finalAxiosOption); - } else if (type.toLowerCase() === 'post') { - ajaxCall = fetchPost(url, params, finalAxiosOption); - } - - if (ajaxCall != null) { - ajaxCall.then(res => { - if (showMask) loadingManager.hideMask(); - if (res.data && res.data.success) { - resolve(res.data); - } else { - if (showError) { - Message.error({ - showClose: true, - message: res.data.errorMessage ? res.data.errorMessage : '数据请求失败' - }); - } - reject(res.data); - } - }).catch(e => { - if (showMask) loadingManager.hideMask(); - if (showError) { - Message.error({ - showClose: true, - message: e.errorMessage ? e.errorMessage : '网络请求错误' - }); - } - reject(e); - }); - } else { - if (showMask) loadingManager.hideMask(); - reject(new Error('错误的请求类型 - ' + type)); - } - }); - } -}; - -Vue.prototype.upload = fetchUpload; -Vue.prototype.download = fetchDownload; -Vue.prototype.doUrl = doUrl; -Vue.prototype.loadingManager = loadingManager; - -export default { - doUrl, - fetchPost, - fetchGet, - fetchDownload -} diff --git a/orange-demo-multi/orange-demo-multi-web/src/core/http/request.js b/orange-demo-multi/orange-demo-multi-web/src/core/http/request.js deleted file mode 100644 index 13210938..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/core/http/request.js +++ /dev/null @@ -1,75 +0,0 @@ -import axios from 'axios'; -import router from '@/router'; -import dialog from '@/components/Dialog'; -import JSONbig from 'json-bigint'; -import { getToken, setToken } from '@/utils'; - -// 创建axios实例 -const service = axios.create({ - timeout: 1000 * 30, - withCredentials: true, - headers: { - // 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8' - 'Content-Type': 'application/json; charset=utf-8', - 'deviceType': '4' - }, - transformResponse: [ - function (data) { - if (typeof data === 'string') { - const JSONbigString = new JSONbig({storeAsString: true}); - return JSONbigString.parse(data); - } else { - return data; - } - } - ] -}) - -// request拦截器 -service.interceptors.request.use( - config => { - let token = getToken(); - let menuIdJsonStr = window.sessionStorage.getItem('currentMenuId'); - let currentMenuId; - if (menuIdJsonStr != null) { - currentMenuId = (JSON.parse(menuIdJsonStr) || {}).data; - } - if (token != null) config.headers['Authorization'] = token; - if (currentMenuId != null) config.headers['MenuId'] = currentMenuId; - return config - }, error => { - return Promise.reject(error) - } -); - -// response拦截器 -service.interceptors.response.use( - response => { - if (response.data && response.data.errorCode === 'UNAUTHORIZED_LOGIN') { // 401, token失效 - dialog.closeAll(); - router.push({ name: 'login' }) - } else { - if (response.headers['refreshedtoken'] != null) { - setToken(response.headers['refreshedtoken']); - } - } - return response - }, error => { - let response = error.response; - - if (response && response.data) { - if (response.data.errorCode === 'UNAUTHORIZED_LOGIN') { - dialog.closeAll(); - router.push({ name: 'login' }); - } - - return Promise.reject(response.data); - } else { - return Promise.reject(new Error({ - errorMessage: '数据获取失败,请稍后再试' - })); - } - } -); - -export default service diff --git a/orange-demo-multi/orange-demo-multi-web/src/core/http/requestUrl.js b/orange-demo-multi/orange-demo-multi-web/src/core/http/requestUrl.js deleted file mode 100644 index 96a921e1..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/core/http/requestUrl.js +++ /dev/null @@ -1,27 +0,0 @@ -import projectConfig from '@/core/config'; -import { objectToQueryString } from '@/utils'; -console.log(process.env.NODE_ENV, projectConfig); - -/** - * 请求地址统一处理/组装 - * @param actionName action方法名称 - */ -export default function (actionName) { - if (actionName != null && actionName !== '') { - if (actionName.substr(0, 1) === '/') actionName = actionName.substr(1); - } - return projectConfig.baseUrl + actionName; -} - -export function buildGetUrl (actionName, params) { - let queryString = objectToQueryString(params); - if (actionName != null && actionName !== '') { - if (actionName.substr(0, 1) === '/') actionName = actionName.substr(1); - } - - return projectConfig.baseUrl + actionName + (queryString == null ? '' : ('?' + queryString)); -} - -export { - projectConfig -} diff --git a/orange-demo-multi/orange-demo-multi-web/src/core/mixins/global.js b/orange-demo-multi/orange-demo-multi-web/src/core/mixins/global.js deleted file mode 100644 index e29544d6..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/core/mixins/global.js +++ /dev/null @@ -1,117 +0,0 @@ -import Vue from 'vue'; -import Request from '@/core/http/request.js'; -import { mapMutations, mapGetters } from 'vuex'; - -// 全局mixin对象 -const globalMixin = { - data () { - return { - isHttpLoading: false - } - }, - methods: { - /** - * 是否显示遮罩 - * @param {Boolean} isShow 是否显示 - */ - showMask (isShow) { - isShow ? this.loadingManager.showMask() : this.loadingManager.hideMask(); - }, - /** - * 判读用户是否有权限 - * @param {String} permCode 权限字 - */ - checkPermCodeExist (permCode) { - if ((this.getUserInfo || {}).permCodeSet != null) { - return this.getUserInfo.permCodeSet.has(permCode); - } else { - return this.getUserInfo.isAdmin; - } - }, - /** - * 将输入的值转换成指定的类型 - * @param {Any} value - * @param {String} type 要转换的类型(integer、float、boolean、string) - */ - parseParams (value, type = 'string') { - if (value == null) return value; - switch (type) { - case 'integer': return Number.parseInt(value); - case 'float': return Number.parseFloat(value); - case 'boolean': return (value === 'true' || value); - default: return String(value); - } - }, - /** - * 将输入值转换为执行的类型数组 - * @param {Array} value 输入数组 - * @param {String} type 要转换的类型(integer、float、boolean、string) - */ - parseArrayParams (value, type = 'string') { - if (Array.isArray(value)) { - return value.map((item) => { - switch (type) { - case 'integer': return Number.parseInt(item); - case 'float': return Number.parseFloat(item); - case 'boolean': return (item === 'true' || item); - default: return String(item); - } - }); - } else { - return []; - } - }, - /** - * 下载上传的文件 - * @param {*} url 下载文件的url - * @param {*} fileName 下载文件名 - */ - downloadFile (url, fileName) { - Request({ - url: url, - method: 'get', - responseType: 'blob', - transformResponse: function (data) { - return data; - } - }).then(res => { - let data = res.data; - if (res.status === 200 && data instanceof Blob) { - let url = window.URL.createObjectURL(data); - let link = document.createElement('a'); - link.style.display = 'none'; - link.href = url; - link.setAttribute('download', fileName); - document.body.appendChild(link); - link.click(); - document.body.removeChild(link); - } else { - this.$message.error('下载文件失败'); - } - }).catch(e => { - let reader = new FileReader(); - reader.onload = () => { - let jsonObj = JSON.parse(reader.result); - this.$message.error((jsonObj || {}).errorMessage || '下载文件失败'); - } - reader.readAsText(e); - }); - }, - ...mapMutations(['setLoadingStatus']) - }, - computed: { - defaultFormItemSize () { - return 'mini'; - }, - ...mapGetters(['getUserInfo']) - }, - watch: { - 'loadingManager.loading': { - handler: function (newValue) { - this.isHttpLoading = (newValue != null); - } - } - } -} - -Vue.mixin(globalMixin); diff --git a/orange-demo-multi/orange-demo-multi-web/src/core/mixins/index.js b/orange-demo-multi/orange-demo-multi-web/src/core/mixins/index.js deleted file mode 100644 index c7d1a6b9..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/core/mixins/index.js +++ /dev/null @@ -1,299 +0,0 @@ -import projectConfig from '@/core/config'; -import { buildGetUrl } from '@/core/http/requestUrl.js'; -import { formatDate, parseDate } from 'element-ui/src/utils/date-util'; -import { mapMutations } from 'vuex'; -import { getToken } from '@/utils'; - -/** - * 上传文件组件相关方法 - */ -const uploadMixin = { - methods: { - /** - * 解析返回的上传文件数据 - * @param {String} jsonData 上传文件数据,[{name, downloadUri, filename}] - * @param {Object} params 上传文件的参数 - * @returns {Array} 上传文件信息,[{name, downloadUri, filename, url}] - */ - parseUploadData (jsonData, params) { - let pathList = []; - if (jsonData != null) { - try { - pathList = JSON.parse(jsonData); - } catch (e) { - console.error(e); - } - } - - return pathList.map((item) => { - let downloadParams = {...params}; - downloadParams.filename = item.filename; - return { - ...item, - url: this.getUploadFileUrl(item, downloadParams) - } - }); - }, - /** - * 获得上传文件url列表 - * @param {*} jsonData 上传文件数据,[{name, downloadUri, filename}] - * @param {*} params 上传文件的参数 - * @returns {Array} 文件url列表 - */ - getPictureList (jsonData, params) { - let tempList = this.parseUploadData(jsonData, params); - if (Array.isArray(tempList)) { - return tempList.map(item => item.url); - } else { - return []; - } - }, - /** - * 将选中文件信息格式化成json信息 - * @param {Array} fileList 上传文件列表,[{name, fileUrl, data}] - */ - fileListToJson (fileList) { - if (Array.isArray(fileList)) { - return JSON.stringify(fileList.map((item) => { - return { - name: item.name, - downloadUri: item.downloadUri || item.response.data.downloadUri, - filename: item.filename || item.response.data.filename - } - })); - } else { - return undefined; - } - }, - /** - * 获得上传文件url - * @param {*} item 上传文件 - * @param {*} params 上传文件的参数 - */ - getUploadFileUrl (item, params) { - if (item == null || item.downloadUri == null) { - return null; - } else { - let menuIdJsonStr = window.sessionStorage.getItem('currentMenuId'); - let currentMenuId; - if (menuIdJsonStr != null) { - currentMenuId = (JSON.parse(menuIdJsonStr) || {}).data; - } - params.Authorization = getToken(); - params.MenuId = currentMenuId; - return buildGetUrl(item.downloadUri, params); - } - }, - /** - * 获得上传接口 - * @param {*} url 上传路径 - */ - getUploadActionUrl (url) { - if (url != null && url[0] === '/') { - url = url.substr(1); - } - return projectConfig.baseUrl + url; - }, - /** - * 上传文件是否图片文件 - * @param {*} file 上传文件 - */ - pictureFile (file) { - if (['image/jpeg', 'image/jpg', 'image/png'].indexOf(file.type) !== -1) { - return true; - } else { - this.$message.error('图片文件格式不正确,请重新选择'); - return false; - } - } - }, - computed: { - getUploadHeaders () { - let token = getToken(); - return { - Authorization: token - } - } - } -}; - -const allowStatsType = [ - 'time', - 'datetime', - 'day', - 'month', - 'year' -]; -/** - * 日期相关方法 - */ -const statsDateRangeMixin = { - methods: { - /** - * 根据输入的日期获得日期范围(例如:输入2019-12-12,输出['2019-12-12 00:00:00', '2019-12-12 23:59:59']) - * @param {Date|String} date 要转换的日期 - * @param {String} statsType 转换类型(day, month, year) - * @param {String} format 输出格式 - */ - getDateRangeFilter (date, statsType = 'day', format = 'yyyy-MM-dd HH:mm:ss') { - if (date == null) return []; - - statsType = allowStatsType.indexOf(statsType) === -1 ? 'day' : statsType; - date = date.substr(0, date.indexOf(' ')); - let tempList = date.split('-'); - let year = Number.parseInt(tempList[0]); - let month = Number.parseInt(tempList[1]); - let day = Number.parseInt(tempList[2]); - if (isNaN(year) || isNaN(month) || isNaN(day)) { - return []; - } - let tempDate = new Date(year, month - 1, day); - // 判断是否正确的日期 - if (isNaN(tempDate.getTime())) return []; - - tempDate.setHours(0, 0, 0, 0); - let retDate; - switch (statsType) { - case 'day': - retDate = [ - new Date(tempDate), - new Date(tempDate.setDate(tempDate.getDate() + 1)) - ]; - break; - case 'month': - tempDate.setDate(1); - retDate = [ - new Date(tempDate), - new Date(tempDate.setMonth(tempDate.getMonth() + 1)) - ]; - break; - case 'year': - tempDate.setDate(1); - tempDate.setMonth(0); - retDate = [ - new Date(tempDate), - new Date(tempDate.setFullYear(tempDate.getFullYear() + 1)) - ] - } - - retDate[1] = new Date(retDate[1].getTime() - 1); - - return [ - formatDate(retDate[0], format), - formatDate(retDate[1], format) - ]; - }, - /** - * 格式化日期 - * @param {Date|String} date 要格式化的日期 - * @param {String} statsType 输出日期类型 - * @param {String} format 输入日期的格式 - */ - formatDateByStatsType (date, statsType = 'day', format = 'yyyy-MM-dd') { - if (date == null) return undefined; - if (statsType == null) return date; - statsType = allowStatsType.indexOf(statsType) === -1 ? 'day' : statsType; - if (statsType === 'datetime') format = 'yyyy-MM-dd HH:mm:ss'; - - let tempDate = ((date instanceof Date) ? date : parseDate(date, format)); - if (!tempDate) return undefined; - switch (statsType) { - case 'time': - return formatDate(tempDate, 'HH:mm:ss'); - case 'datetime': - return formatDate(tempDate, 'yyyy-MM-dd HH:mm:ss'); - case 'day': - return formatDate(tempDate, 'yyyy-MM-dd'); - case 'month': - return formatDate(tempDate, 'yyyy-MM'); - case 'year': - return formatDate(tempDate, 'yyyy'); - default: - return formatDate(tempDate, 'yyyy-MM-dd'); - } - }, - /** - * 获得统计类型中文名称 - * @param {String} statsType 统计类型(day, month, year) - */ - getStatsTypeShowName (statsType) { - statsType = allowStatsType.indexOf(statsType) === -1 ? 'day' : statsType; - switch (statsType) { - case 'day': return '日统计'; - case 'month': return '月统计'; - case 'year': return '年统计'; - } - }, - /** - * 获取统计类型字典列表 - * @param {Array} statsTypeList 统计类型列表 - */ - getAllowStatsTypeList (statsTypeList) { - if (Array.isArray(statsTypeList) && statsTypeList.length > 0) { - return statsTypeList.map((item) => { - return { - id: item, - name: this.getStatsTypeShowName(item) - } - }); - } else { - return []; - } - } - } -} -/** - * 页面缓存相关方法 - */ -const cachePageMixin = { - methods: { - /** - * 移除缓存页面 - * @param {*} name 缓存组件的名称 - */ - removeCachePage (name) { - this.removeCachePage(name); - }, - /** - * 从跳转页面返回并且刷新当前页面时调用 - */ - onResume () { - }, - ...mapMutations(['addCachePage', 'removeCachePage']) - }, - created () { - this.addCachePage(this.$options.name); - }, - mounted () { - this.$route.meta.refresh = false; - }, - activated () { - if (this.$route && this.$route.meta && this.$route.meta.refresh) { - this.onResume(); - } - this.$route.meta.refresh = true; - } -} -/** - * 缓存页面跳转页面相关方法 - */ -const cachedPageChildMixin = { - data () { - return { - // 是否刷新父页面 - refreshParentCachedPage: false - } - }, - beforeRouteLeave (to, from, next) { - if (to.meta == null) to.meta = {}; - to.meta.refresh = this.refreshParentCachedPage; - next(); - } -} - -export { - uploadMixin, - statsDateRangeMixin, - cachePageMixin, - cachedPageChildMixin -} diff --git a/orange-demo-multi/orange-demo-multi-web/src/main.js b/orange-demo-multi/orange-demo-multi-web/src/main.js deleted file mode 100644 index 25828f8f..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/main.js +++ /dev/null @@ -1,39 +0,0 @@ -import '@/core/http'; -import JSONbig from 'json-bigint'; -import '@/components/Dialog'; -import Vue from 'vue'; -import ElementUI from 'element-ui'; -// import 'element-ui/lib/theme-chalk/index.css' -import '@/assets/style/index.scss'; -import '@/core/mixins/global.js'; -import App from './App'; -import router from './router'; -import store from './store'; -import TreeSelect from '@/components/TreeSelect'; -import RichEditor from '@/components/RichEditor'; -import InputNumberRange from '@/components/InputNumberRange'; -import DateRange from '@/components/DateRange'; -import FilterBox from '@/components/FilterBox'; -import TableProgressColumn from '@/components/TableProgressColumn'; -import VCharts from 'v-charts'; - -window.JSON = new JSONbig({storeAsString: true}); - -Vue.component('tree-select', TreeSelect); -Vue.component('rich-editor', RichEditor); -Vue.component('input-number-range', InputNumberRange); -Vue.component('date-range', DateRange); -Vue.component('filter-box', FilterBox); -Vue.component('table-progress-column', TableProgressColumn); - -Vue.use(ElementUI); -Vue.use(VCharts); - -Vue.config.productionTip = false; - -/* eslint-disable no-new */ -new Vue({ - router, - store, - render: h => h(App) -}).$mount('#app'); diff --git a/orange-demo-multi/orange-demo-multi-web/src/registerServiceWorker.js b/orange-demo-multi/orange-demo-multi-web/src/registerServiceWorker.js deleted file mode 100644 index 76cede07..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/registerServiceWorker.js +++ /dev/null @@ -1,32 +0,0 @@ -/* eslint-disable no-console */ - -import { register } from 'register-service-worker' - -if (process.env.NODE_ENV === 'production') { - register(`${process.env.BASE_URL}service-worker.js`, { - ready () { - console.log( - 'App is being served from cache by a service worker.\n' + - 'For more details, visit https://goo.gl/AFskqB' - ) - }, - registered () { - console.log('Service worker has been registered.') - }, - cached () { - console.log('Content has been cached for offline use.') - }, - updatefound () { - console.log('New content is downloading.') - }, - updated () { - console.log('New content is available; please refresh.') - }, - offline () { - console.log('No internet connection found. App is running in offline mode.') - }, - error (error) { - console.error('Error during service worker registration:', error) - } - }) -} diff --git a/orange-demo-multi/orange-demo-multi-web/src/router/import-development.js b/orange-demo-multi/orange-demo-multi-web/src/router/import-development.js deleted file mode 100644 index b29a72d9..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/router/import-development.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = file => require('../views/' + file + '.vue').default diff --git a/orange-demo-multi/orange-demo-multi-web/src/router/import-production.js b/orange-demo-multi/orange-demo-multi-web/src/router/import-production.js deleted file mode 100644 index 10d919de..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/router/import-production.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = file => () => import('../views/' + file + '.vue') diff --git a/orange-demo-multi/orange-demo-multi-web/src/router/index.js b/orange-demo-multi/orange-demo-multi-web/src/router/index.js deleted file mode 100644 index 7c3a42fd..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/router/index.js +++ /dev/null @@ -1,41 +0,0 @@ -import Vue from 'vue'; -import Router from 'vue-router'; -import routers from './systemRouters.js'; -import dialog from '@/components/Dialog'; -import { getToken } from '@/utils'; - -Vue.use(Router) - -const router = new Router({ - mode: 'hash', - routes: routers -}); - -const originalPush = Router.prototype.push; -Router.prototype.push = function push (location) { - return originalPush.call(this, location).catch(e => {}); -} - -const originalReplace = Router.prototype.replace; -Router.prototype.replace = function push (location, onComplete, onAbort) { - return originalReplace.call(this, location, onComplete, onAbort).catch(e => {}); -} - -/** - * 路由跳转的时候判断token是否存在 - */ -router.beforeResolve((to, from, next) => { - if (to.name === 'login') { - next(); - } else { - let token = getToken(); - if (!token || !/\S/.test(token)) { - dialog.closeAll(); - next({ name: 'login' }) - } else { - next(); - } - } -}); - -export default router; diff --git a/orange-demo-multi/orange-demo-multi-web/src/router/systemRouters.js b/orange-demo-multi/orange-demo-multi-web/src/router/systemRouters.js deleted file mode 100644 index 4ed7ed90..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/router/systemRouters.js +++ /dev/null @@ -1,101 +0,0 @@ -import state from '../store/state.js'; -// 开发环境不使用懒加载, 因为懒加载页面太多的话会造成webpack热更新太慢 -const _import = require('./import-' + process.env.NODE_ENV) - -function getProps (route) { - return route.query; -} - -// 系统生成路由 -const routers = [ - { path: '/login', component: _import('login/index'), name: 'login', props: getProps, desc: '登录' }, - { - path: '/', - component: _import('login/index'), - name: 'root' - }, - { - path: '/main', - component: _import('layout/index'), - name: 'main', - props: getProps, - redirect: { - name: 'welcome' - }, - meta: { - title: '主页', - showOnly: true - }, - children: [ - {path: 'formSysUser', component: _import('upms/formSysUser/index'), name: 'formSysUser', meta: {title: '用户管理'}}, - {path: 'formSysDept', component: _import('upms/formSysDept/index'), name: 'formSysDept', meta: {title: '部门管理'}}, - {path: 'formSysRole', component: _import('upms/formSysRole/index'), name: 'formSysRole', meta: {title: '角色管理'}}, - {path: 'formSysDataPerm', component: _import('upms/formSysDataPerm/index'), name: 'formSysDataPerm', meta: {title: '数据权限管理'}}, - {path: 'formSysMenu', component: _import(state.supportColumn ? 'upms/formSysMenu/formSysColumnMenu' : 'upms/formSysMenu/index'), name: 'formSysMenu', meta: {title: '菜单列表'}}, - {path: 'formSysDict', component: _import('upms/formDictManagement/index'), name: 'formSysDict', meta: {title: '字典管理'}}, - {path: 'formSysPermCode', component: _import('upms/formSysPermCode/index'), name: 'formSysPermCode', meta: {title: '权限字管理'}}, - {path: 'formSysPerm', component: _import('upms/formSysPerm/index'), name: 'formSysPerm', meta: {title: '权限资源管理'}}, - {path: 'formSysOperationLog', component: _import('upms/formSysOperationLog/index'), name: 'formSysOperationLog', meta: {title: '操作日志'}}, - {path: 'formSysLoginUser', component: _import('upms/formSysLoginUser/index'), name: 'formSysLoginUser', meta: {title: '在线用户'}}, - {path: 'welcome', component: _import('welcome/index'), name: 'welcome', meta: {title: '欢迎'}}, - { - path: 'formStudent', - component: _import('generated/formStudent'), - name: 'formStudent', - props: getProps, - meta: {title: '学生管理'} - }, - { - path: 'formCourse', - component: _import('generated/formCourse'), - name: 'formCourse', - props: getProps, - meta: {title: '课程管理'} - }, - { - path: 'formCourseStats', - component: _import('generated/formCourseStats'), - name: 'formCourseStats', - props: getProps, - meta: {title: '课程统计'} - }, - { - path: 'formStudentActionStats', - component: _import('generated/formStudentActionStats'), - name: 'formStudentActionStats', - props: getProps, - meta: {title: '学生行为统计'} - }, - { - path: 'formStudentActionDetail', - component: _import('generated/formStudentActionDetail'), - name: 'formStudentActionDetail', - props: getProps, - meta: {title: '学生行为详情'} - }, - { - path: 'formSetClassStudent', - component: _import('generated/formSetClassStudent'), - name: 'formSetClassStudent', - props: getProps, - meta: {title: '设置班级学生'} - }, - { - path: 'formSetClassCourse', - component: _import('generated/formSetClassCourse'), - name: 'formSetClassCourse', - props: getProps, - meta: {title: '设置班级课程'} - }, - { - path: 'formClass', - component: _import('generated/formClass'), - name: 'formClass', - props: getProps, - meta: {title: '班级管理'} - } - ] - } -]; - -export default routers; diff --git a/orange-demo-multi/orange-demo-multi-web/src/staticDict/index.js b/orange-demo-multi/orange-demo-multi-web/src/staticDict/index.js deleted file mode 100644 index 8242772d..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/staticDict/index.js +++ /dev/null @@ -1,461 +0,0 @@ -/** - * 常量字典数据 - */ -import Vue from 'vue'; - -class DictionaryBase extends Map { - constructor (name, dataList, keyId = 'id', symbolId = 'symbol') { - super(); - this.showName = name; - this.setList(dataList, keyId, symbolId); - } - - setList (dataList, keyId = 'id', symbolId = 'symbol') { - this.clear(); - if (Array.isArray(dataList)) { - dataList.forEach((item) => { - this.set(item[keyId], item); - if (item[symbolId] != null) { - Object.defineProperty(this, item[symbolId], { - get: function () { - return item[keyId]; - } - }); - } - }); - } - } - - getList (valueId = 'name', parentIdKey = 'parentId', filter) { - let temp = []; - this.forEach((value, key) => { - let obj = { - id: key, - name: (typeof value === 'string') ? value : value[valueId], - parentId: value[parentIdKey] - }; - if (typeof filter !== 'function' || filter(obj)) { - temp.push(obj); - } - }); - - return temp; - } - - getValue (id, valueId = 'name') { - // 如果id为boolean类型,则自动转换为0和1 - if (typeof id === 'boolean') { - id = id ? 1 : 0; - } - return (this.get(id) || {})[valueId]; - } -} - -const SysUserStatus = new DictionaryBase('用户状态', [ - { - id: 0, - name: '正常状态', - symbol: 'NORMAL' - }, - { - id: 1, - name: '锁定状态', - symbol: 'LOCKED' - } -]); -Vue.prototype.SysUserStatus = SysUserStatus; - -const SysUserType = new DictionaryBase('用户类型', [ - { - id: 0, - name: '管理员', - symbol: 'ADMIN' - }, - { - id: 1, - name: '系统操作员', - symbol: 'SYSTEM' - }, - { - id: 2, - name: '普通操作员', - symbol: 'OPERATOR' - } -]); -Vue.prototype.SysUserType = SysUserType; - -const ClassStatus = new DictionaryBase('班级状态', [ - { - id: 1, - name: '正常', - symbol: 'NORAML' - }, - { - id: -1, - name: '解散', - symbol: 'DELETED' - } -]); -Vue.prototype.ClassStatus = ClassStatus; - -const ClassLevel = new DictionaryBase('班级级别', [ - { - id: 0, - name: '初级班', - symbol: 'NORMAL' - }, - { - id: 1, - name: '中级班', - symbol: 'MIDDLE' - }, - { - id: 2, - name: '高级班', - symbol: 'HIGH' - } -]); -Vue.prototype.ClassLevel = ClassLevel; - -const CourseDifficult = new DictionaryBase('课程难度', [ - { - id: 0, - name: '容易', - symbol: 'NORMAL' - }, - { - id: 1, - name: '普通', - symbol: 'MIDDLE' - }, - { - id: 2, - name: '困难', - symbol: 'HIGH' - } -]); -Vue.prototype.CourseDifficult = CourseDifficult; - -const Subject = new DictionaryBase('学科', [ - { - id: 0, - name: '语文', - symbol: 'CHINESE' - }, - { - id: 1, - name: '数学', - symbol: 'MATCH' - }, - { - id: 2, - name: '英语', - symbol: 'ENGLISH' - } -]); -Vue.prototype.Subject = Subject; - -const StudentActionType = new DictionaryBase('学生行为', [ - { - id: 0, - name: '充值', - symbol: 'RECHARGE' - }, - { - id: 1, - name: '购课', - symbol: 'BUY_COURSE' - }, - { - id: 2, - name: '上课签到', - symbol: 'SIGNIN_COURSE' - }, - { - id: 3, - name: '上课签退', - symbol: 'SIGNOUT_COURSE' - }, - { - id: 4, - name: '看视频课', - symbol: 'WATCH_VIDEO' - }, - { - id: 5, - name: '做作业', - symbol: 'DO_PAPER' - }, - { - id: 6, - name: '刷题', - symbol: 'REFRESH_EXERCISE' - }, - { - id: 7, - name: '献花', - symbol: 'PRESENT_FLOWER' - }, - { - id: 8, - name: '购买视频课', - symbol: 'BUY_VIDEO_COURSE' - }, - { - id: 9, - name: '购买鲜花', - symbol: 'BUY_FLOWER' - }, - { - id: 10, - name: '购买作业', - symbol: 'BUY_PAPER' - } -]); -Vue.prototype.StudentActionType = StudentActionType; - -const DeviceType = new DictionaryBase('设备类型', [ - { - id: 0, - name: 'iOS', - symbol: 'IOS' - }, - { - id: 1, - name: 'Android', - symbol: 'ANDROID' - }, - { - id: 2, - name: 'PC', - symbol: 'PC' - } -]); -Vue.prototype.DeviceType = DeviceType; - -const Gender = new DictionaryBase('性别', [ - { - id: 1, - name: '男', - symbol: 'MALE' - }, - { - id: 0, - name: '女', - symbol: 'FEMALE' - } -]); -Vue.prototype.Gender = Gender; - -const ExpLevel = new DictionaryBase('经验等级', [ - { - id: 0, - name: '初级学员', - symbol: 'LOWER' - }, - { - id: 1, - name: '中级学员', - symbol: 'MIDDLE' - }, - { - id: 2, - name: '高级学员', - symbol: 'HIGH' - } -]); -Vue.prototype.ExpLevel = ExpLevel; - -const StudentStatus = new DictionaryBase('学生状态', [ - { - id: 0, - name: '正常', - symbol: 'NORMAL' - }, - { - id: 1, - name: '锁定', - symbol: 'LOCKED' - }, - { - id: 2, - name: '注销', - symbol: 'DELETED' - } -]); -Vue.prototype.StudentStatus = StudentStatus; - -const SysOperationType = new DictionaryBase('操作日志操作类型', [ - { - id: 0, - name: '登录', - symbol: 'LOGIN' - }, - { - id: 5, - name: '登出', - symbol: 'LOGOUT' - }, - { - id: 10, - name: '新增', - symbol: 'ADD' - }, - { - id: 15, - name: '修改', - symbol: 'UPDATE' - }, - { - id: 20, - name: '删除', - symbol: 'DELETE' - }, - { - id: 35, - name: '查询', - symbol: 'LIST' - }, - { - id: 40, - name: '分组查询', - symbol: 'LIST_WITH_GROUP' - }, - { - id: 45, - name: '导出', - symbol: 'EXPORT' - }, - { - id: 25, - name: '新增多对多关联', - symbol: 'ADD_M2M' - }, - { - id: 30, - name: '移除多对多关联', - symbol: 'DELETE_M2M' - }, - { - id: 50, - name: '上传', - symbol: 'UPLOAD' - }, - { - id: 55, - name: '下载', - symbol: 'DOWNLOAD' - }, - { - id: 60, - name: '重置缓存', - symbol: 'RELOAD_CACHE' - } -]); -Vue.prototype.SysOperationType = SysOperationType; - -const SysPermModuleType = new DictionaryBase('权限分组类型', [ - { - id: 0, - name: '分组模块', - symbol: 'GROUP' - }, { - id: 1, - name: '接口模块', - symbol: 'CONTROLLER' - } -]); -Vue.prototype.SysPermModuleType = SysPermModuleType; - -const SysPermCodeType = new DictionaryBase('权限字类型', [{ - id: 0, - name: '表单', - symbol: 'FORM' -}, { - id: 1, - name: '片段', - symbol: 'FRAGMENT' -}, { - id: 2, - name: '操作', - symbol: 'OPERATION' -}]); -Vue.prototype.SysPermCodeType = SysPermCodeType; - -const SysMenuType = new DictionaryBase('菜单类型', [ - { - id: 0, - name: '目录', - symbol: 'DIRECTORY' - }, - { - id: 1, - name: '表单', - symbol: 'MENU' - }, - { - id: 2, - name: '片段', - symbol: 'FRAGMENT' - }, - { - id: 3, - name: '按钮', - symbol: 'BUTTON' - } -]); -Vue.prototype.SysMenuType = SysMenuType; - -const SysDataPermType = new DictionaryBase('数据权限类型', [ - { - id: 0, - name: '查看全部', - symbol: 'ALL' - }, - { - id: 1, - name: '仅看自己', - symbol: 'ONLY_USER' - }, - { - id: 2, - name: '仅看所在部门', - symbol: 'ONLY_DEPT' - }, - { - id: 3, - name: '仅看所在部门及子部门', - symbol: 'ONLY_DEPT_AND_CHILD' - }, - { - id: 4, - name: '自选部门及子部门', - symbol: 'CUSTOM_DEPT_AND_CHILD' - }, - { - id: 5, - name: '仅自选部门', - symbol: 'CUSTOM_DEPT' - } -]); -Vue.prototype.SysDataPermType = SysDataPermType; - -export { - DictionaryBase, - SysUserStatus, - SysUserType, - ClassStatus, - ClassLevel, - CourseDifficult, - Subject, - StudentActionType, - DeviceType, - Gender, - ExpLevel, - StudentStatus, - SysDataPermType, - SysOperationType, - SysPermModuleType, - SysPermCodeType, - SysMenuType -} diff --git a/orange-demo-multi/orange-demo-multi-web/src/store/actions.js b/orange-demo-multi/orange-demo-multi-web/src/store/actions.js deleted file mode 100644 index 3c08aeca..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/store/actions.js +++ /dev/null @@ -1,16 +0,0 @@ -// 获得消息列表数据 -function loadMessage (context, owner) { - // TODO: 获取消息列表 -} - -export default { - startMessage: (context, owner) => { - // TODO: 开始消息获取轮询 - }, - stopMessage: (context) => { - // TODO: 结束消息获取轮询 - }, - reloadMessage: (context, owner) => { - loadMessage(context, owner); - } -} diff --git a/orange-demo-multi/orange-demo-multi-web/src/store/getters.js b/orange-demo-multi/orange-demo-multi-web/src/store/getters.js deleted file mode 100644 index 14abfa84..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/store/getters.js +++ /dev/null @@ -1,89 +0,0 @@ -import { findMenuItem } from './utils'; -import * as StaticDict from '@/staticDict'; - -export default { - getMultiTags: (state) => { - return state.supportTags; - }, - getCollapse: (state) => { - return state.isCollapse; - }, - getClientHeight: (state) => { - return state.documentClientHeight; - }, - getClientWidth: (state) => { - return state.documentClienWidth; - }, - getMainContextHeight: (state) => { - return state.documentClientHeight - (state.supportTags ? 130 : 90); - }, - getOnlineFormCache: (state) => { - return state.onlineFormCache; - }, - getUserInfo: (state) => { - return state.userInfo; - }, - getCachePages: (state) => { - return state.cachePages; - }, - getTagList: (state) => { - return state.tagList; - }, - getMenuList: (state) => { - if (state.supportColumn) { - if (state.currentColumnId == null || state.currentColumnId === '') return []; - for (let i = 0; i < state.menuList.length; i++) { - if (state.menuList[i].menuId === state.currentColumnId) { - return state.menuList[i].children || []; - } - } - - return []; - } else { - return state.menuList; - } - }, - getColumnList: (state) => { - if (!state.supportColumn) return []; - return state.menuList.map(menu => { - if (menu.menuType === StaticDict.SysMenuType.DIRECTORY) { - return { - columnId: menu.menuId, - columnName: menu.menuName - } - } - }).filter(item => item != null); - }, - getCurrentMenuId: (state) => { - return state.currentMenuId; - }, - getMenuItem: (state) => { - if (Array.isArray(state.menuList)) { - for (let i = 0; i < state.menuList.length; i++) { - let temp = findMenuItem(state.menuList[i], state.currentMenuId); - if (temp != null) return temp; - } - } - return null; - }, - getCurrentMenuPath: (state) => { - let menuPath = []; - if (Array.isArray(state.menuList)) { - for (let i = 0; i < state.menuList.length; i++) { - let temp = findMenuItem(state.menuList[i], state.currentMenuId, menuPath); - if (temp != null) break; - } - } - - return menuPath; - }, - getMultiColumn: (state) => { - return state.supportColumn; - }, - getCurrentColumnId: (state) => { - return state.currentColumnId; - }, - getMessageCount: (state) => { - return state.messageCount; - } -} diff --git a/orange-demo-multi/orange-demo-multi-web/src/store/index.js b/orange-demo-multi/orange-demo-multi-web/src/store/index.js deleted file mode 100644 index 5fc44198..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/store/index.js +++ /dev/null @@ -1,15 +0,0 @@ -import Vue from 'vue'; -import Vuex from 'vuex'; -import state from './state.js'; -import getters from './getters.js'; -import mutations from './mutations.js'; -import actions from './actions.js'; - -Vue.use(Vuex); -export default new Vuex.Store({ - state, - getters, - mutations, - actions, - strict: process.env.NODE_ENV !== 'production' -}); diff --git a/orange-demo-multi/orange-demo-multi-web/src/store/mutations.js b/orange-demo-multi/orange-demo-multi-web/src/store/mutations.js deleted file mode 100644 index 5c5cecc6..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/store/mutations.js +++ /dev/null @@ -1,171 +0,0 @@ -import { initUserInfo, findMenuItem } from './utils'; -import { setObjectToSessionStorage, findItemFromList, treeDataTranslate } from '@/utils'; - -export default { - setCollapse: (state, isCollapse) => { - state.isCollapse = isCollapse; - }, - setClientHeight: (state, height) => { - state.documentClientHeight = height; - }, - setClientWidth: (state, width) => { - state.documentClienWidth = width; - }, - addOnlineFormCache: (state, data) => { - state.onlineFormCache[data.key] = data.value; - }, - removeOnlineFormCache: (state, key) => { - delete state.onlineFormCache[key]; - }, - clearOnlineFormCache: (state) => { - state.onlineFormCache = {}; - }, - setUserInfo: (state, info) => { - setObjectToSessionStorage('userInfo', info); - state.userInfo = initUserInfo(info); - }, - addCachePage (state, name) { - if (state.cachePages.indexOf(name) === -1) { - let temp = [...state.cachePages]; - temp.push(name); - setObjectToSessionStorage('cachePages', temp); - state.cachePages = temp; - } - }, - removeCachePage (state, name) { - let pos = state.cachePages.indexOf(name); - if (pos !== -1) { - let temp = [...state.cachePages]; - temp.splice(pos, 1); - setObjectToSessionStorage('cachePages', temp); - state.cachePages = temp; - } - }, - clearCachePage (state) { - setObjectToSessionStorage('cachePages', []); - state.cachePages = []; - }, - addTag (state, id) { - if (id == null || id === '') return; - // 新增的标签是否存在 - let tagList = state.tagList; - let tagItem = null; - if (Array.isArray(tagList)) { - tagItem = findItemFromList(tagList, id, 'menuId'); - } - if (tagItem != null) return; - // 添加新增标签以及更新页面缓存 - let menuList = state.menuList; - let menuObject = null; - if (Array.isArray(menuList)) { - for (let i = 0; i < menuList.length; i++) { - menuObject = findMenuItem(menuList[i], id); - if (menuObject != null) break; - } - } - if (menuObject != null) { - state.tagList = [...state.tagList, menuObject]; - if (Array.isArray(state.cachePages) && (menuObject.onlineFormId == null || menuObject.onlineFormId === '') && - state.cachePages.indexOf(menuObject.formRouterName) === -1) { - state.cachePages = [...state.cachePages, menuObject.formRouterName]; - } - } - setObjectToSessionStorage('cachePages', state.cachePages); - setObjectToSessionStorage('tagList', state.tagList); - }, - removeTag (state, id) { - if (id == null || id === '') return; - // 移除标签 - let nextPos = -1; - let tagItem = null; - for (let i = 0; i < state.tagList.length; i++) { - if (state.tagList[i].menuId === id) { - tagItem = state.tagList[i]; - state.tagList.splice(i, 1); - nextPos = Math.min(i, state.tagList.length - 1); - } - } - // let tagItem = findItemFromList(state.tagList, id, 'menuId', true); - if (tagItem == null) return; - // 移除页面缓存 - findItemFromList(state.cachePages, tagItem.formRouterName, undefined, true); - setObjectToSessionStorage('cachePages', state.cachePages); - setObjectToSessionStorage('tagList', state.tagList); - // 如果移除的是当前显示页面,重新选择显示页面 - let showTag = null; - if (state.currentMenuId === id) { - showTag = state.tagList[nextPos]; - let tempId = (showTag || {}).menuId; - if (setObjectToSessionStorage('currentMenuId', tempId)) state.currentMenuId = tempId; - } - }, - closeOtherTags (state, id) { - if (id == null || id === '') return; - // 移除其他所有标签 - if (Array.isArray(state.tagList)) { - state.tagList = state.tagList.filter((item) => { - return item.menuId === id; - }); - } - - let menuObject = state.tagList[0]; - if (menuObject && (menuObject.onlineFormId == null || menuObject.onlineFormId === '') && - menuObject.formRouterName && menuObject.formRouterName !== '') { - state.cachePages = [menuObject.formRouterName]; - if (setObjectToSessionStorage('currentMenuId', menuObject.menuId)) state.currentMenuId = menuObject.menuId; - } - setObjectToSessionStorage('cachePages', state.cachePages); - setObjectToSessionStorage('tagList', state.tagList); - }, - clearAllTags (state) { - if (setObjectToSessionStorage('currentMenuId', undefined)) state.currentMenuId = undefined; - if (setObjectToSessionStorage('cachePages', [])) state.cachePages = []; - if (setObjectToSessionStorage('tagList', [])) state.tagList = []; - }, - setMenuList: (state, list) => { - if (Array.isArray(list)) { - if (setObjectToSessionStorage('menuList', list)) state.menuList = treeDataTranslate(list, 'menuId', 'parentId'); - let columnId = (state.menuList[0] || {}).menuId; - if (setObjectToSessionStorage('currentColumnId', columnId)) state.currentColumnId = columnId; - } - }, - setCurrentMenuId: (state, menuId) => { - let menuItem = null; - if (setObjectToSessionStorage('currentMenuId', menuId)) state.currentMenuId = menuId; - if (Array.isArray(state.tagList) && Array.isArray(state.menuList)) { - for (let i = 0; i < state.menuList.length; i++) { - menuItem = findMenuItem(state.menuList[i], menuId, 'menuId'); - if (menuItem != null) { - // 添加新的tag - let tagItem = findItemFromList(state.tagList, menuId, 'menuId'); - if (tagItem == null) { - state.tagList = [...state.tagList, menuItem]; - setObjectToSessionStorage('tagList', state.tagList); - } - // 添加新缓存 - if (Array.isArray(state.cachePages) && state.cachePages.indexOf(menuItem.formRouterName) === -1) { - if (menuItem.onlineFormId == null || menuItem.onlineFormId === '') { - state.cachePages = [...state.cachePages, menuItem.formRouterName]; - } - setObjectToSessionStorage('cachePages', state.cachePages); - } - break; - } - } - } - }, - setCurrentColumnId: (state, columnId) => { - if (setObjectToSessionStorage('currentColumnId', columnId)) state.currentColumnId = columnId; - if (setObjectToSessionStorage('currentMenuId', null)) state.currentMenuId = null; - }, - setHeadImage: (state, imageHeaderUrl) => { - if (state.userInfo) state.userInfo.headImageUrl = imageHeaderUrl; - }, - setMessageTimer: (state, timerHandler) => { - state.messageTimer = timerHandler; - }, - setMessageCount: (state, messageCount) => { - if (messageCount) messageCount.totalCount = messageCount.copyMessageCount + messageCount.remindingMessageCount; - state.messageCount = messageCount; - } -} diff --git a/orange-demo-multi/orange-demo-multi-web/src/store/state.js b/orange-demo-multi/orange-demo-multi-web/src/store/state.js deleted file mode 100644 index 3b92cc88..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/store/state.js +++ /dev/null @@ -1,32 +0,0 @@ -import { initUserInfo } from './utils'; -import { getObjectFromSessionStorage, treeDataTranslate } from '@/utils'; - -export default { - // 是否左侧菜单折叠 - isCollapse: false, - // 是否多栏目 - supportColumn: false, - // 是否多标签 - supportTags: false, - // 浏览器客户区高度 - documentClientHeight: 100, - // 浏览器客户区宽度 - documentClientWidth: undefined, - // 在线表单查询页面缓存 - onlineFormCache: {}, - // 用户登录信息 - userInfo: initUserInfo(), - // 缓存页面 - cachePages: getObjectFromSessionStorage('cachePages', []), - // 当前标签 - tagList: getObjectFromSessionStorage('tagList', []), - // 菜单列表 - menuList: treeDataTranslate(getObjectFromSessionStorage('menuList', []), 'menuId', 'parentId'), - // 当前菜单 - currentMenuId: getObjectFromSessionStorage('currentMenuId', undefined), - // 当前栏目 - currentColumnId: getObjectFromSessionStorage('currentColumnId', undefined), - // 消息列表 - messageTimeer: null, - messageCount: [] -} diff --git a/orange-demo-multi/orange-demo-multi-web/src/store/utils/index.js b/orange-demo-multi/orange-demo-multi-web/src/store/utils/index.js deleted file mode 100644 index 59ddd469..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/store/utils/index.js +++ /dev/null @@ -1,52 +0,0 @@ -import { getObjectFromSessionStorage } from '@/utils'; - -function findMenuItem (menuItem, menuId, path) { - if (Array.isArray(path)) path.push(menuItem); - if ((menuItem.menuId + '') === (menuId + '')) return menuItem; - - let bFind = false; - let findItem = null; - if (Array.isArray(menuItem.children)) { - for (let i = 0; i < menuItem.children.length; i++) { - findItem = findMenuItem(menuItem.children[i], menuId, path); - if (findItem != null) { - bFind = true; - break; - } - } - } - - if (!bFind && Array.isArray(path)) path.pop(); - return bFind ? findItem : null; -} - -function initUserInfo (userInfo) { - if (userInfo == null) userInfo = getObjectFromSessionStorage('userInfo'); - - if (userInfo != null && userInfo.permCodeList != null && Array.isArray(userInfo.permCodeList)) { - userInfo.permCodeSet = new Set(userInfo.permCodeList); - } - - if (userInfo != null && userInfo.headImageUrl != null && userInfo.headImageUrl !== '') { - try { - userInfo.headImageUrl = JSON.parse(userInfo.headImageUrl); - if (Array.isArray(userInfo.headImageUrl)) { - userInfo.headImageUrl = userInfo.headImageUrl[0]; - } else { - userInfo.headImageUrl = null; - } - } catch (e) { - console.error('解析头像数据失败!', e); - userInfo.headImageUrl = null; - } - } else { - if (userInfo) userInfo.headImageUrl = null; - } - - return userInfo; -} - -export { - findMenuItem, - initUserInfo -} diff --git a/orange-demo-multi/orange-demo-multi-web/src/utils/chartOption.js b/orange-demo-multi/orange-demo-multi-web/src/utils/chartOption.js deleted file mode 100644 index 76b12e02..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/utils/chartOption.js +++ /dev/null @@ -1,56 +0,0 @@ -const defaultLineChartOption = { - grid: { - left: '3%', - right: '4%', - bottom: '20px', - containLabel: true - }, - xAxis: { - axisLabel: { - interval: 0, - showMaxLabel: true - } - }, - legend: { - top: '3%' - } -} - -const defaultBarChartOption = { - grid: { - left: '3%', - right: '4%', - bottom: '20px', - containLabel: true - }, - xAxis: { - axisLabel: { - interval: 0, - showMaxLabel: true - } - }, - legend: { - top: '3%' - } -} - -const defaultPieChartOption = { - grid: { - left: '3%', - right: '4%', - bottom: '20px', - containLabel: true - }, - legend: { - top: '3%' - }, - series: { - center: ['50%', '60%'] - } -} - -export { - defaultLineChartOption, - defaultBarChartOption, - defaultPieChartOption -} diff --git a/orange-demo-multi/orange-demo-multi-web/src/utils/index.js b/orange-demo-multi/orange-demo-multi-web/src/utils/index.js deleted file mode 100644 index f798e689..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/utils/index.js +++ /dev/null @@ -1,447 +0,0 @@ -import JSEncrypt from 'jsencrypt'; -// eslint-disable-next-line no-unused-vars -// import Cookies from 'js-cookie'; - -/** - * 列表数据转换树形数据 - * @param {Array} data 要转换的列表 - * @param {String} id 主键字段字段名 - * @param {String} pid 父字段字段名 - * @returns {Array} 转换后的树数据 - */ -export function treeDataTranslate (data, id = 'id', pid = 'parentId') { - var res = [] - var temp = {} - for (var i = 0; i < data.length; i++) { - temp[data[i][id]] = data[i] - } - for (var k = 0; k < data.length; k++) { - if (temp[data[k][pid]] && data[k][id] !== data[k][pid]) { - if (!temp[data[k][pid]]['children']) { - temp[data[k][pid]]['children'] = [] - } - if (!temp[data[k][pid]]['_level']) { - temp[data[k][pid]]['_level'] = 1 - } - data[k]['_level'] = temp[data[k][pid]]._level + 1 - data[k]['_parent'] = data[k][pid] - temp[data[k][pid]]['children'].push(data[k]) - } else { - res.push(data[k]) - } - } - - return res -} -/** - * 获取字符串字节长度(中文算2个字符) - * @param {String} str 要获取长度的字符串 - */ -export function getStringLength (str) { - return str.replace(/[\u4e00-\u9fa5\uff00-\uffff]/g, '**').length -} -/** - * 获取uuid - */ -export function getUUID () { - return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => { - return (c === 'x' ? (Math.random() * 16 | 0) : ('r&0x3' | '0x8')).toString(16) - }); -} -/** - * 大小驼峰变换函数 - * @param name 要转换的字符串 - * @param type 转换的类型0:转换成小驼峰,1:转换成大驼峰 - */ -export function nameTranslate (name, type) { - name = name.toLowerCase(); - let nameArray = name.split('_'); - nameArray.forEach((item, index) => { - if (index === 0) { - name = type === 1 ? item.slice(0, 1).toUpperCase() + item.slice(1) : item; - } else { - name = name + item.slice(0, 1).toUpperCase() + item.slice(1); - } - }); - - nameArray = name.split('-'); - nameArray.forEach((item, index) => { - if (index === 0) { - name = type === 1 ? item.slice(0, 1).toUpperCase() + item.slice(1) : item; - } else { - name = name + item.slice(0, 1).toUpperCase() + item.slice(1); - } - }); - return name; -} -/** - * 通过id从树中获取指定的节点 - * @param {Object} node 根节点 - * @param {String|Nubmer} id 键值 - * @param {Array} list 保存查询路径 - * @param {String} idKey 主键字段名 - * @param {String} childKey 子节点字段名 - */ -function findNode (node, id, list, idKey = 'id', childKey = 'children') { - if (Array.isArray(list)) list.push(node); - if (node[idKey] === id) { - return node; - } - - if (node[childKey] != null && Array.isArray(node[childKey])) { - for (let i = 0; i < node[childKey].length; i++) { - let tempNode = findNode(node[childKey][i], id, list, idKey, childKey); - if (tempNode) return tempNode; - } - } - - if (Array.isArray(list)) list.pop(); -} -/** - * 通过id返回从根节点到指定节点的路径 - * @param {Array} treeRoot 树根节点数组 - * @param {*} id 要查询的节点的id - * @param {*} idKey 主键字段名 - * @param {*} childKey 子节点字段名 - */ -export function findTreeNodeObjectPath (treeRoot, id, idKey = 'id', childKey = 'children') { - let tempList = []; - for (let i = 0; i < treeRoot.length; i++) { - if (findNode(treeRoot[i], id, tempList, idKey, childKey)) { - return tempList; - } - } - - return []; -} - -export function findTreeNodePath (treeRoot, id, idKey = 'id', childKey = 'children') { - return (findTreeNodeObjectPath(treeRoot, id, idKey, childKey) || []).map(item => item[idKey]); -} - -/** - * 通过id从树中查找节点 - * @param {Array} treeRoot 根节点数组 - * @param {*} id 要查找的节点的id - * @param {*} idKey 主键字段名 - * @param {*} childKey 子节点字段名 - */ -export function findTreeNode (treeRoot, id, idKey = 'id', childKey = 'children') { - for (let i = 0; i < treeRoot.length; i++) { - let tempNode = findNode(treeRoot[i], id, undefined, idKey, childKey); - if (tempNode) return tempNode; - } -} -/** - * 把Object转换成query字符串 - * @param {Object} params 要转换的Object - */ -export function objectToQueryString (params) { - if (params == null) { - return null; - } else { - return Object.keys(params).map((key) => { - if (params[key] !== undefined) { - return `${key}=${params[key]}`; - } else { - return undefined; - } - }).filter(item => item != null).join('&'); - } -} -/** - * 从数组中查找某一项 - * @param {Array} list 要查找的数组 - * @param {String} id 要查找的节点id - * @param {String} idKey 主键字段名(如果为null则直接比较) - * @param {Boolean} removeItem 是否从数组中移除查找到的节点 - * @returns {Object} 找到返回节点,没找到返回undefined - */ -export function findItemFromList (list, id, idKey, removeItem = false) { - if (Array.isArray(list) && list.length > 0 && id != null) { - for (let i = 0; i < list.length; i++) { - let item = list[i]; - if (((idKey == null || idKey === '') && item === id) || (idKey != null && item[idKey] === id)) { - if (removeItem) list.splice(i, 1); - return item; - } - } - } - return null; -} -/** - * 将数据保存到sessionStorage - * @param {*} key sessionStorage的键值 - * @param {*} value 要保存的数据 - */ -export function setObjectToSessionStorage (key, value) { - if (key == null || key === '') return false; - if (value == null) { - window.sessionStorage.removeItem(key); - return true; - } else { - let jsonObj = { - data: value - } - window.sessionStorage.setItem(key, JSON.stringify(jsonObj)); - return true; - } -} -/** - * 从sessionStorage里面获取数据 - * @param {String} key 键值 - * @param {*} defaultValue 默认值 - */ -export function getObjectFromSessionStorage (key, defaultValue) { - let jsonObj = null; - try { - jsonObj = JSON.parse(window.sessionStorage.getItem(key)); - jsonObj = (jsonObj || {}).data; - } catch (e) { - jsonObj = defaultValue; - }; - return (jsonObj != null) ? jsonObj : defaultValue; -} -/** - * 判读字符串是否一个数字 - * @param {String} str 要判断的字符串 - */ -export function isNumber (str) { - let num = Number.parseFloat(str); - if (Number.isNaN(num)) return false; - return num.toString() === str; -} -/** - * 生成随机数 - * @param {Integer} min 随机数最小值 - * @param {Integer} max 随机数最大值 - */ -export function random (min, max) { - let base = Math.random(); - return min + base * (max - min); -} -/** - * 加密 - * @param {*} value 要加密的字符串 - */ -const publicKey = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCpC4QMnbTrQOFriJJCCFFWhlruBJThAEBfRk7pRx1jsAhyNVL3CqJb0tRvpnbCnJhrRAEPdgFHXv5A0RrvFp+5Cw7QoFH6O9rKB8+0H7+aVQeKITMUHf/XMXioymw6Iq4QfWd8RhdtM1KM6eGTy8aU7SO2s69Mc1LXefg/x3yw6wIDAQAB'; -export function encrypt (value) { - if (value == null || value === '') return null; - let encrypt = new JSEncrypt(); - encrypt.setPublicKey(publicKey); - return encodeURIComponent(encrypt.encrypt(value)); -} - -export function getToken () { - return sessionStorage.getItem('token'); - // return Cookies.get('token'); -} - -export function setToken (token) { - if (token == null || token === '') { - sessionStorage.removeItem('token'); - // Cookies.remove('token'); - } else { - sessionStorage.setItem('token', token); - // Cookies.set('token', token); - } -} - -export function traversalTree (treeNode, callback, childrenKey = 'children') { - if (treeNode != null && Array.isArray(treeNode[childrenKey]) && treeNode[childrenKey].length > 0) { - treeNode[childrenKey].forEach(childNode => { - traversalTree(childNode, callback, childrenKey); - }); - } - return typeof callback === 'function' ? callback(treeNode) : undefined; -} - -export class TreeTableImpl { - constructor (dataList, options) { - this.options = { - idKey: options ? options.idKey : 'id', - nameKey: options ? options.nameKey : 'name', - parentIdKey: options ? options.parentIdKey : 'parentId', - isLefeCallback: options ? options.isLefeCallback : undefined, - checkStrictly: options ? options.checkStrictly : false - } - - this.dataList = Array.isArray(dataList) ? dataList : []; - this.dataMap = new Map(); - this.dataList.forEach(item => { - this.dataMap.set(item[this.options.idKey], item); - }); - // 表格选中行 - this.checkedRows = undefined; - this.onCheckedRowChange = this.onCheckedRowChange.bind(this); - } - - /** - * 过滤表格数据 - * @param {string} filterString 过滤条件字符串 - * @param {boolean} onlyChecked 是否只显示选中节点 - * @returns {array} 过滤后的表格数据列表 - */ - getFilterTableData (filterString, onlyChecked = false) { - let { idKey, nameKey, parentIdKey, isLefeCallback } = this.options; - let tempMap = new Map(); - let parentIdList = []; - this.dataList.forEach(item => { - if ((filterString == null || filterString === '' || item[nameKey].indexOf(filterString) !== -1) && - (!onlyChecked || (this.checkedRows != null && this.checkedRows.get(item[idKey])))) { - if (isLefeCallback == null || !isLefeCallback(item)) { - parentIdList.push(item[idKey]); - } - // 将命中节点以及它的父节点都设置为命中 - let tempItem = item; - do { - tempMap.set(tempItem[idKey], tempItem); - tempItem = this.dataMap.get(tempItem[parentIdKey]); - } while (tempItem != null) - } - }); - - return this.dataList.map(item => { - let disabled = true; - - if (parentIdList.indexOf(item[parentIdKey]) !== -1 || tempMap.get(item[idKey]) != null) { - if (parentIdList.indexOf(item[parentIdKey]) !== -1 && (isLefeCallback == null || !isLefeCallback(item))) { - parentIdList.push(item[idKey]); - } - disabled = false; - } - - return { - ...item, - __disabled: disabled - } - }); - } - - /** - * 获取表格树数据,计算选中状态 - * @param {array} dataList 表格列表数据 - */ - getTableTreeData (dataList, checkedRows) { - let { idKey, parentIdKey, checkStrictly } = this.options; - let treeData = []; - function calcPermCodeTreeAttribute (treeNode, checkedRows) { - let checkedItem = checkedRows == null ? null : checkedRows.get(treeNode[idKey]); - treeNode.__checked = checkedItem != null; - // 是否所有子权限字都被选中 - let allChildChecked = true; - // 是否任意子权限字被选中 - let hasChildChecked = false; - // 如果存在子权限字 - if (Array.isArray(treeNode.children) && treeNode.children.length > 0) { - treeNode.children.forEach(item => { - let isChecked = calcPermCodeTreeAttribute(item, checkedRows); - hasChildChecked = hasChildChecked || isChecked; - allChildChecked = allChildChecked && isChecked; - }); - } else { - allChildChecked = false; - } - treeNode.__indeterminate = !checkStrictly && hasChildChecked && !allChildChecked; - treeNode.__checked = treeNode.__checked || (allChildChecked && !checkStrictly); - return treeNode.__checked || treeNode.__indeterminate; - } - - if (Array.isArray(dataList)) { - treeData = treeDataTranslate(dataList.map(item => { - return {...item}; - }), idKey, parentIdKey); - treeData.forEach(item => { - calcPermCodeTreeAttribute(item, checkedRows); - }); - } - - return treeData; - } - - /** - * 树表格行选中状态改变 - * @param {object} row 选中状态改变行数据 - */ - onCheckedRowChange (row) { - if (this.checkedRows == null) { - this.checkedRows = new Map(); - } else { - let temp = new Map(); - this.checkedRows.forEach((item, key) => { - temp.set(key, item); - }); - this.checkedRows = temp; - } - let { idKey } = this.options; - if (!row.__checked || row.__indeterminate) { - // 节点之前未被选中或者之前为半选状态,修改当前节点以及子节点为选中状态 - this.checkedRows.set(row[idKey], row); - if (Array.isArray(row.children) && !this.options.checkStrictly) { - row.children.forEach(childNode => { - traversalTree(childNode, (node) => { - this.checkedRows.set(node[idKey], node); - }); - }); - } - } else { - // 节点之前为选中状态,修改节点以及子节点为未选中状态 - this.checkedRows.delete(row[idKey]); - if (Array.isArray(row.children) && !this.options.checkStrictly) { - row.children.forEach(childNode => { - traversalTree(childNode, (node) => { - this.checkedRows.delete(node[idKey]); - }); - }); - } - } - } - - /** - * 获取所有选中的权限字节点 - * @param {array} treeData 树数据 - * @param {boolean} includeHalfChecked 是否包含半选节点,默认为false - * @returns {array} 选中节点列表 - */ - getCheckedRows (treeData, includeHalfChecked = false) { - let checkedRows = []; - - function traversalCallback (node) { - if (node == null) return; - if (node.__checked || (includeHalfChecked && node.__indeterminate)) { - checkedRows.push(node); - } - } - - if (Array.isArray(treeData) && treeData.length > 0) { - treeData.forEach(permCode => { - traversalTree(permCode, traversalCallback, 'children'); - }); - } - - return checkedRows; - } - - /** - * 设置选中节点 - * @param {array} checkedRows - */ - setCheckedRows (checkedRows) { - this.checkedRows = new Map(); - if (Array.isArray(checkedRows)) { - checkedRows.forEach(item => { - let node = this.dataMap.get(item[this.options.idKey]); - if (node != null) { - this.checkedRows.set(node[this.options.idKey], node); - } - }); - } - } - /** - * 根据id获取表格行 - * @param {*} id - */ - getTableRow (id) { - return this.dataMap.get(id); - } -} diff --git a/orange-demo-multi/orange-demo-multi-web/src/utils/validate.js b/orange-demo-multi/orange-demo-multi-web/src/utils/validate.js deleted file mode 100644 index 5b148e39..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/utils/validate.js +++ /dev/null @@ -1,33 +0,0 @@ -const pattern = { - mobie: /^((\+?86)|(\(\+86\)))?(13[012356789][0-9]{8}|15[012356789][0-9]{8}|18[02356789][0-9]{8}|147[0-9]{8}|1349[0-9]{7})$/, - english: /^[a-zA-Z]+$/, - englishAndNumber: /^[a-zA-Z0-9]+$/ -} - -/** - * 邮箱 - * @param str - */ -export function isEmail (str) { - return /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(str) -} - -/** - * 手机号码 - * @param str - */ -export function isMobile (str) { - return pattern.mobie.test(str) -} - -/** - * 电话号码 - * @param str - */ -export function isPhone (str) { - return /^([0-9]{3,4}-)?[0-9]{7,8}$/.test(str) -} - -export default { - pattern -} diff --git a/orange-demo-multi/orange-demo-multi-web/src/utils/widget.js b/orange-demo-multi/orange-demo-multi-web/src/utils/widget.js deleted file mode 100644 index 057f328b..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/utils/widget.js +++ /dev/null @@ -1,322 +0,0 @@ -import { Message } from 'element-ui'; -import { treeDataTranslate } from '@/utils'; - -const DEFAULT_PAGE_SIZE = 10; - -export class DropdownWidget { - /** - * 下拉组件(Select、Cascade、TreeSelect、Tree等) - * @param {function () : Promise} loadDropdownData 下拉数据获取函数 - * @param {Boolean} isTree 是否是树数据 - * @param {String} idKey 键字段字段名 - * @param {String} parentIdKey 父字段字段名 - */ - constructor (loadDropdownData, isTree = false, idKey = 'id', parentIdKey = 'parentId') { - this.loading = false; - this.dirty = true; - this.dropdownList = []; - this.isTree = isTree; - this.idKey = idKey; - this.parentIdKey = parentIdKey; - this.loadDropdownData = loadDropdownData; - this.setDropdownList = this.setDropdownList.bind(this); - this.onVisibleChange = this.onVisibleChange.bind(this); - } - /** - * 重新获取下拉数据 - */ - reloadDropdownData () { - return new Promise((resolve, reject) => { - if (!this.loading) { - if (typeof this.loadDropdownData === 'function') { - this.loading = true; - this.loadDropdownData().then(dataList => { - this.setDropdownList(dataList); - this.loading = false; - this.dirty = false; - resolve(this.dropdownList); - }).catch(e => { - this.setDropdownList([]); - this.loading = false; - reject(this.dropdownList); - }); - } else { - reject(new Error('获取下拉数据失败')); - } - } else { - resolve(this.dropdownList); - } - }); - } - /** - * 下拉框显示或隐藏时调用 - * @param {Boolean} isShow 正在显示或者隐藏 - */ - onVisibleChange (isShow) { - return new Promise((resolve, reject) => { - if (isShow && this.dirty && !this.loading) { - this.reloadDropdownData().then(res => { - resolve(res); - }).catch(e => { - reject(e); - }); - } else { - resolve(this.dropdownList); - } - }); - } - /** - * 设置下拉数据 - * @param {Array} dataList 要显示的下拉数据 - */ - setDropdownList (dataList) { - if (Array.isArray(dataList)) { - this.dropdownList = this.isTree ? treeDataTranslate(dataList, this.idKey, this.parentIdKey) : dataList; - } - } -} - -export class TableWidget { - /** - * 表格组件 - * @param {function (params: Object) : Promise} loadTableData 表数据获取函数 - * @param {function () : Boolean} verifyTableParameter 表数据获取检验函数 - * @param {Boolean} paged 是否支持分页 - * @param {Boolean} rowSelection 是否支持行选择 - * @param {String} orderFieldName 默认排序字段 - * @param {Boolean} ascending 默认排序方式(true为正序,false为倒序) - * @param {String} dateAggregateBy 默认排序字段的日期统计类型 - */ - constructor (loadTableData, verifyTableParameter, paged, rowSelection, orderFieldName, ascending, dateAggregateBy) { - this.currentRow = null; - this.loading = false; - this.oldPage = 0; - this.currentPage = 1; - this.oldPageSize = DEFAULT_PAGE_SIZE; - this.pageSize = DEFAULT_PAGE_SIZE; - this.totalCount = 0; - this.dataList = []; - this.orderInfo = { - fieldName: orderFieldName, - asc: ascending, - dateAggregateBy: dateAggregateBy - }; - this.paged = paged; - this.rowSelection = rowSelection; - this.searchVerify = verifyTableParameter || function () { return true; }; - this.loadTableData = loadTableData || function () { return Promise.resolve(); }; - this.onCurrentPageChange = this.onCurrentPageChange.bind(this); - this.onPageSizeChange = this.onPageSizeChange.bind(this); - this.onSortChange = this.onSortChange.bind(this); - this.getTableIndex = this.getTableIndex.bind(this); - this.currentRowChange = this.currentRowChange.bind(this); - } - /** - * 表格分页变化 - * @param {Integer} newCurrentPage 变化后的显示页面 - */ - onCurrentPageChange (newCurrentPage) { - this.loadTableDataImpl(newCurrentPage, this.pageSize).then(() => { - this.oldPage = this.currentPage = newCurrentPage; - }).catch(() => { - this.currentPage = this.oldPage; - }); - } - /** - * 表格分页每页显示数量变化 - * @param {Integer} newPageSize 变化后的每页显示数量 - */ - onPageSizeChange (newPageSize) { - this.pageSize = newPageSize; - this.currentPage = 1 - this.loadTableDataImpl(1, newPageSize).then(() => { - this.oldPage = this.currentPage; - this.oldPageSize = this.pageSize; - }).catch(e => { - this.currentPage = this.oldPage; - this.pageSize = this.oldPageSize; - }); - } - /** - * 表格排序字段变化 - * @param {String} prop 排序字段的字段名 - * @param {String} order 正序还是倒序 - */ - onSortChange ({ prop, order }) { - this.orderInfo.fieldName = prop; - this.orderInfo.asc = (order === 'ascending'); - this.refreshTable(); - } - /** - * 获取每一行的index信息 - * @param {Integer} index 表格在本页位置 - */ - getTableIndex (index) { - return this.paged ? ((this.currentPage - 1) * this.pageSize + (index + 1)) : (index + 1); - } - /** - * 当前选中行改变 - * @param {Object} currentRow 当前选中行 - * @param {Object} oldRow 老的选中行 - */ - currentRowChange (currentRow, oldRow) { - this.currentRow = currentRow; - } - clearTable () { - this.currentRow = null; - this.oldPage = 0; - this.currentPage = 1; - this.totalCount = 0; - this.dataList = []; - } - /** - * 获取表格数据 - * @param {Integer} pageNum 当前分页 - * @param {Integer} pageSize 每页数量 - * @param {Boolean} reload 是否重新获取数据 - */ - loadTableDataImpl (pageNum, pageSize, reload = false) { - return new Promise((resolve, reject) => { - if (typeof this.loadTableData !== 'function') { - reject(); - } else { - // 如果pageSize和pageNum没有变化,并且不强制刷新 - if (this.paged && !reload && this.oldPage === pageNum && this.oldPageSize === pageSize) { - resolve(); - } else { - let params = {}; - if (this.orderInfo.fieldName != null) params.orderParam = [this.orderInfo]; - if (this.paged) { - params.pageParam = { - pageNum, - pageSize - } - } - this.loading = true; - this.loadTableData(params).then(tableData => { - this.dataList = tableData.dataList; - this.totalCount = tableData.totalCount; - this.loading = false; - resolve(); - }).catch(e => { - this.loading = false; - reject(e); - }); - } - } - }); - } - /** - * 刷新表格数据 - * @param {Boolean} research 是否按照新的查询条件重新查询(调用verify函数) - * @param {Integer} pageNum 当前页面 - */ - refreshTable (research = false, pageNum = undefined, showMsg = false) { - let reload = false; - if (research) { - if (typeof this.searchVerify === 'function' && !this.searchVerify()) return; - reload = true; - } - - if (Number.isInteger(pageNum) && pageNum !== this.currentPage) { - this.loadTableDataImpl(pageNum, this.pageSize, reload).then(res => { - this.oldPage = this.currentPage = pageNum; - if (research && showMsg) Message.success('查询成功'); - }).catch(e => { - this.currentPage = this.oldPage; - }); - } else { - this.loadTableDataImpl(this.currentPage, this.pageSize, true).catch(e => {}); - } - } -} - -export class UploadWidget { - /** - * 上传组件 - * @param {Integer} maxCount 最大上传数量 - */ - constructor (maxCount = 1) { - this.maxCount = maxCount; - this.fileList = []; - this.onFileChange = this.onFileChange.bind(this); - } - /** - * 上传文件列表改变 - * @param {Object} file 改变的文件 - * @param {Array} fileList 改变后的文件列表 - */ - onFileChange (file, fileList) { - if (Array.isArray(fileList) && fileList.length > 0) { - if (this.maxCount === 1) { - this.fileList = [fileList[fileList.length - 1]]; - } else { - this.fileList = fileList; - } - } else { - this.fileList = undefined; - } - return this.fileList; - } -} - -export class ChartWidget { - /** - * 图表组件 - * @param {function (params) : Promise} loadTableData chart数据获取函数 - * @param {function () : Boolean} verifyTableParameter 数据参数检验函数 - * @param {Array} columns 数据列 - */ - constructor (loadTableData, verifyTableParameter, columns) { - this.columns = columns; - this.loading = false; - this.dataEmpty = false; - this.chartData = undefined; - this.chartObject = undefined; - this.dimensionMaps = new Map(); - this.chartSetting = undefined; - this.searchVerify = verifyTableParameter || function () { return true; }; - this.loadTableData = loadTableData || function () { return Promise.resolve(); }; - } - /** - * 获取图表数据 - * @param {Boolean} reload 是否重新获取数据 - */ - loadChartDataImpl (reload = false) { - return new Promise((resolve, reject) => { - if (typeof this.loadTableData !== 'function') { - reject(); - } else { - if (!reload) { - resolve(); - } else { - this.loading = true; - this.loadTableData().then(tableData => { - this.chartData = { - columns: this.columns, - rows: tableData.dataList - } - this.loading = false; - if (this.chartObject) this.chartObject.resize(); - resolve(); - }).catch(e => { - console.error(e); - this.loading = false; - reject(e); - }); - } - } - }); - } - /** - * 刷新图表数据 - * @param {Boolean} research 是否按照新的查询条件重新查询(调用verify函数) - */ - refreshChart (research = false) { - if (research) { - if (typeof this.searchVerify === 'function' && !this.searchVerify()) return; - } - - this.loadChartDataImpl(true).catch(e => {}); - } -} diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/generated/formClass.vue b/orange-demo-multi/orange-demo-multi-web/src/views/generated/formClass.vue deleted file mode 100644 index 70c7f5db..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/generated/formClass.vue +++ /dev/null @@ -1,603 +0,0 @@ - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/generated/formCourse.vue b/orange-demo-multi/orange-demo-multi-web/src/views/generated/formCourse.vue deleted file mode 100644 index a288147f..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/generated/formCourse.vue +++ /dev/null @@ -1,316 +0,0 @@ - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/generated/formCourseStats.vue b/orange-demo-multi/orange-demo-multi-web/src/views/generated/formCourseStats.vue deleted file mode 100644 index 37dfdbb4..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/generated/formCourseStats.vue +++ /dev/null @@ -1,346 +0,0 @@ - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/generated/formCreateClass.vue b/orange-demo-multi/orange-demo-multi-web/src/views/generated/formCreateClass.vue deleted file mode 100644 index cbf74393..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/generated/formCreateClass.vue +++ /dev/null @@ -1,292 +0,0 @@ - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/generated/formCreateCourse.vue b/orange-demo-multi/orange-demo-multi-web/src/views/generated/formCreateCourse.vue deleted file mode 100644 index 9ea8f039..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/generated/formCreateCourse.vue +++ /dev/null @@ -1,344 +0,0 @@ - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/generated/formCreateStudent.vue b/orange-demo-multi/orange-demo-multi-web/src/views/generated/formCreateStudent.vue deleted file mode 100644 index 1cb0a73f..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/generated/formCreateStudent.vue +++ /dev/null @@ -1,469 +0,0 @@ - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/generated/formEditClass.vue b/orange-demo-multi/orange-demo-multi-web/src/views/generated/formEditClass.vue deleted file mode 100644 index 7d50031b..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/generated/formEditClass.vue +++ /dev/null @@ -1,338 +0,0 @@ - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/generated/formEditClassCourseOrder.vue b/orange-demo-multi/orange-demo-multi-web/src/views/generated/formEditClassCourseOrder.vue deleted file mode 100644 index fe16ea58..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/generated/formEditClassCourseOrder.vue +++ /dev/null @@ -1,200 +0,0 @@ - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/generated/formEditCourse.vue b/orange-demo-multi/orange-demo-multi-web/src/views/generated/formEditCourse.vue deleted file mode 100644 index 9de3ac25..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/generated/formEditCourse.vue +++ /dev/null @@ -1,392 +0,0 @@ - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/generated/formEditStudent.vue b/orange-demo-multi/orange-demo-multi-web/src/views/generated/formEditStudent.vue deleted file mode 100644 index 9b09d8d5..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/generated/formEditStudent.vue +++ /dev/null @@ -1,590 +0,0 @@ - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/generated/formSetClassCourse.vue b/orange-demo-multi/orange-demo-multi-web/src/views/generated/formSetClassCourse.vue deleted file mode 100644 index 095fae8e..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/generated/formSetClassCourse.vue +++ /dev/null @@ -1,298 +0,0 @@ - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/generated/formSetClassStudent.vue b/orange-demo-multi/orange-demo-multi-web/src/views/generated/formSetClassStudent.vue deleted file mode 100644 index 4863d444..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/generated/formSetClassStudent.vue +++ /dev/null @@ -1,223 +0,0 @@ - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/generated/formStudent.vue b/orange-demo-multi/orange-demo-multi-web/src/views/generated/formStudent.vue deleted file mode 100644 index 5f47e1a3..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/generated/formStudent.vue +++ /dev/null @@ -1,310 +0,0 @@ - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/generated/formStudentActionDetail.vue b/orange-demo-multi/orange-demo-multi-web/src/views/generated/formStudentActionDetail.vue deleted file mode 100644 index 9a8b0340..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/generated/formStudentActionDetail.vue +++ /dev/null @@ -1,253 +0,0 @@ - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/generated/formStudentActionStats.vue b/orange-demo-multi/orange-demo-multi-web/src/views/generated/formStudentActionStats.vue deleted file mode 100644 index 8eecc64b..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/generated/formStudentActionStats.vue +++ /dev/null @@ -1,328 +0,0 @@ - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/layout/components/breadcrumb/index.vue b/orange-demo-multi/orange-demo-multi-web/src/views/layout/components/breadcrumb/index.vue deleted file mode 100644 index 286430df..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/layout/components/breadcrumb/index.vue +++ /dev/null @@ -1,53 +0,0 @@ - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/layout/components/formModifyHeadImage/index.vue b/orange-demo-multi/orange-demo-multi-web/src/views/layout/components/formModifyHeadImage/index.vue deleted file mode 100644 index 9bd134ef..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/layout/components/formModifyHeadImage/index.vue +++ /dev/null @@ -1,76 +0,0 @@ - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/layout/components/formModifyPassword/index.vue b/orange-demo-multi/orange-demo-multi-web/src/views/layout/components/formModifyPassword/index.vue deleted file mode 100644 index 65ecdec7..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/layout/components/formModifyPassword/index.vue +++ /dev/null @@ -1,98 +0,0 @@ - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/layout/components/sidebar/menu-item.vue b/orange-demo-multi/orange-demo-multi-web/src/views/layout/components/sidebar/menu-item.vue deleted file mode 100644 index 3a28543f..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/layout/components/sidebar/menu-item.vue +++ /dev/null @@ -1,59 +0,0 @@ - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/layout/components/sidebar/sidebar.vue b/orange-demo-multi/orange-demo-multi-web/src/views/layout/components/sidebar/sidebar.vue deleted file mode 100644 index 0971c0ee..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/layout/components/sidebar/sidebar.vue +++ /dev/null @@ -1,82 +0,0 @@ - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/layout/components/tags/tagItem.vue b/orange-demo-multi/orange-demo-multi-web/src/views/layout/components/tags/tagItem.vue deleted file mode 100644 index 800669e6..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/layout/components/tags/tagItem.vue +++ /dev/null @@ -1,79 +0,0 @@ - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/layout/components/tags/tagPanel.vue b/orange-demo-multi/orange-demo-multi-web/src/views/layout/components/tags/tagPanel.vue deleted file mode 100644 index 9378134a..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/layout/components/tags/tagPanel.vue +++ /dev/null @@ -1,213 +0,0 @@ - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/layout/index.vue b/orange-demo-multi/orange-demo-multi-web/src/views/layout/index.vue deleted file mode 100644 index 92bebf07..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/layout/index.vue +++ /dev/null @@ -1,205 +0,0 @@ - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/login/index.vue b/orange-demo-multi/orange-demo-multi-web/src/views/login/index.vue deleted file mode 100644 index 35009e82..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/login/index.vue +++ /dev/null @@ -1,148 +0,0 @@ - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formDictManagement/index.vue b/orange-demo-multi/orange-demo-multi-web/src/views/upms/formDictManagement/index.vue deleted file mode 100644 index ee84a0b7..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formDictManagement/index.vue +++ /dev/null @@ -1,207 +0,0 @@ - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formEditDict/index.vue b/orange-demo-multi/orange-demo-multi-web/src/views/upms/formEditDict/index.vue deleted file mode 100644 index fde69ba0..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formEditDict/index.vue +++ /dev/null @@ -1,110 +0,0 @@ - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formEditSysDataPerm/index.vue b/orange-demo-multi/orange-demo-multi-web/src/views/upms/formEditSysDataPerm/index.vue deleted file mode 100644 index b336e959..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formEditSysDataPerm/index.vue +++ /dev/null @@ -1,243 +0,0 @@ - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formEditSysDept/index.vue b/orange-demo-multi/orange-demo-multi-web/src/views/upms/formEditSysDept/index.vue deleted file mode 100644 index 5dbcffe1..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formEditSysDept/index.vue +++ /dev/null @@ -1,201 +0,0 @@ - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formEditSysMenu/editColumn.vue b/orange-demo-multi/orange-demo-multi-web/src/views/upms/formEditSysMenu/editColumn.vue deleted file mode 100644 index 184b6eb2..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formEditSysMenu/editColumn.vue +++ /dev/null @@ -1,108 +0,0 @@ - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formEditSysMenu/index.vue b/orange-demo-multi/orange-demo-multi-web/src/views/upms/formEditSysMenu/index.vue deleted file mode 100644 index a1e43871..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formEditSysMenu/index.vue +++ /dev/null @@ -1,283 +0,0 @@ - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formEditSysPerm/index.vue b/orange-demo-multi/orange-demo-multi-web/src/views/upms/formEditSysPerm/index.vue deleted file mode 100644 index a144dc54..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formEditSysPerm/index.vue +++ /dev/null @@ -1,168 +0,0 @@ - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formEditSysPermCode/index.vue b/orange-demo-multi/orange-demo-multi-web/src/views/upms/formEditSysPermCode/index.vue deleted file mode 100644 index 038cbdb3..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formEditSysPermCode/index.vue +++ /dev/null @@ -1,221 +0,0 @@ - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formEditSysPermModule/index.vue b/orange-demo-multi/orange-demo-multi-web/src/views/upms/formEditSysPermModule/index.vue deleted file mode 100644 index b5c322df..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formEditSysPermModule/index.vue +++ /dev/null @@ -1,184 +0,0 @@ - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formEditSysRole/index.vue b/orange-demo-multi/orange-demo-multi-web/src/views/upms/formEditSysRole/index.vue deleted file mode 100644 index 577b7559..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formEditSysRole/index.vue +++ /dev/null @@ -1,158 +0,0 @@ - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formEditSysUser/index.vue b/orange-demo-multi/orange-demo-multi-web/src/views/upms/formEditSysUser/index.vue deleted file mode 100644 index 246aec9f..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formEditSysUser/index.vue +++ /dev/null @@ -1,226 +0,0 @@ - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formMenuPerm/index.vue b/orange-demo-multi/orange-demo-multi-web/src/views/upms/formMenuPerm/index.vue deleted file mode 100644 index 2bccd6b1..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formMenuPerm/index.vue +++ /dev/null @@ -1,150 +0,0 @@ - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSetRoleUsers/index.vue b/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSetRoleUsers/index.vue deleted file mode 100644 index f039b273..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSetRoleUsers/index.vue +++ /dev/null @@ -1,216 +0,0 @@ - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSetSysDataPermUser/index.vue b/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSetSysDataPermUser/index.vue deleted file mode 100644 index 56442ae4..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSetSysDataPermUser/index.vue +++ /dev/null @@ -1,216 +0,0 @@ - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysDataPerm/index.vue b/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysDataPerm/index.vue deleted file mode 100644 index 9362ba41..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysDataPerm/index.vue +++ /dev/null @@ -1,489 +0,0 @@ - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysDept/index.vue b/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysDept/index.vue deleted file mode 100644 index e9bb48ba..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysDept/index.vue +++ /dev/null @@ -1,190 +0,0 @@ - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysLoginUser/index.vue b/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysLoginUser/index.vue deleted file mode 100644 index 8e86b560..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysLoginUser/index.vue +++ /dev/null @@ -1,151 +0,0 @@ - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysMenu/formSysColumnMenu.vue b/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysMenu/formSysColumnMenu.vue deleted file mode 100644 index 473e0107..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysMenu/formSysColumnMenu.vue +++ /dev/null @@ -1,307 +0,0 @@ - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysMenu/formSysMenuPerm.vue b/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysMenu/formSysMenuPerm.vue deleted file mode 100644 index 94e50520..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysMenu/formSysMenuPerm.vue +++ /dev/null @@ -1,203 +0,0 @@ - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysMenu/index.vue b/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysMenu/index.vue deleted file mode 100644 index b30547b8..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysMenu/index.vue +++ /dev/null @@ -1,241 +0,0 @@ - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysOperationLog/index.vue b/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysOperationLog/index.vue deleted file mode 100644 index c3b45b0e..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysOperationLog/index.vue +++ /dev/null @@ -1,220 +0,0 @@ - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysPerm/formSysPermDetail.vue b/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysPerm/formSysPermDetail.vue deleted file mode 100644 index 6ad57c46..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysPerm/formSysPermDetail.vue +++ /dev/null @@ -1,323 +0,0 @@ - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysPerm/index.vue b/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysPerm/index.vue deleted file mode 100644 index 2cbed13e..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysPerm/index.vue +++ /dev/null @@ -1,412 +0,0 @@ - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysPermCode/formSysPermCodeDetail.vue b/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysPermCode/formSysPermCodeDetail.vue deleted file mode 100644 index 32e0b016..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysPermCode/formSysPermCodeDetail.vue +++ /dev/null @@ -1,253 +0,0 @@ - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysPermCode/index.vue b/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysPermCode/index.vue deleted file mode 100644 index b5258a61..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysPermCode/index.vue +++ /dev/null @@ -1,275 +0,0 @@ - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysRole/formSysRolePerm.vue b/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysRole/formSysRolePerm.vue deleted file mode 100644 index ed8478b1..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysRole/formSysRolePerm.vue +++ /dev/null @@ -1,264 +0,0 @@ - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysRole/index.vue b/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysRole/index.vue deleted file mode 100644 index 38c837a2..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysRole/index.vue +++ /dev/null @@ -1,483 +0,0 @@ - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysUser/formSysUserPerm.vue b/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysUser/formSysUserPerm.vue deleted file mode 100644 index a3645ebe..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysUser/formSysUserPerm.vue +++ /dev/null @@ -1,335 +0,0 @@ - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysUser/index.vue b/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysUser/index.vue deleted file mode 100644 index a070799b..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formSysUser/index.vue +++ /dev/null @@ -1,287 +0,0 @@ - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formViewSysOperationLog/index.vue b/orange-demo-multi/orange-demo-multi-web/src/views/upms/formViewSysOperationLog/index.vue deleted file mode 100644 index f6b5fb61..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/upms/formViewSysOperationLog/index.vue +++ /dev/null @@ -1,120 +0,0 @@ - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/src/views/welcome/index.vue b/orange-demo-multi/orange-demo-multi-web/src/views/welcome/index.vue deleted file mode 100644 index a228ab4b..00000000 --- a/orange-demo-multi/orange-demo-multi-web/src/views/welcome/index.vue +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - diff --git a/orange-demo-multi/orange-demo-multi-web/static/.gitkeep b/orange-demo-multi/orange-demo-multi-web/static/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/orange-demo-multi/orange-demo-multi-web/vue.config.js b/orange-demo-multi/orange-demo-multi-web/vue.config.js deleted file mode 100644 index 41f99a21..00000000 --- a/orange-demo-multi/orange-demo-multi-web/vue.config.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = { - devServer: { - port: 8085 - } -}