From 86007208ba667421f89c1de678d19667d94d4e86 Mon Sep 17 00:00:00 2001
From: qianlishi <qianlishi@anji-plus.com>
Date: Thu, 9 Mar 2023 09:27:47 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=87=E4=BB=B6=E6=9B=B4=E6=94=B9=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .gitee/ISSUE_TEMPLATE.zh-CN.md                |  13 --
 .gitee/PULL_REQUEST_TEMPLATE.zh-CN.md         |  14 --
 build/index.js                                |  86 -------
 build/pom.xml                                 | 217 ------------------
 report-ui/config/dev.env.js                   |   2 +-
 .../tools/configure/form/widget-form-time.js  | 155 +++++++++++++
 .../bigscreenDesigner/designer/tools/index.js |   4 +-
 .../bigscreenDesigner/designer/tools/main.js  |  10 +-
 .../designer/widget/form/widgetFormTime.vue   | 124 ++++++++++
 .../designer/widget/temp.vue                  |  37 +--
 .../widget/{ => texts}/widgetHref.vue         |   0
 .../widget/{ => texts}/widgetIframe.vue       |   0
 .../widget/{ => texts}/widgetImage.vue        |   0
 .../widget/{ => texts}/widgetMarquee.vue      |   0
 .../widget/{ => texts}/widgetSlider.vue       |   0
 .../widget/{ => texts}/widgetTable.vue        |   0
 .../widget/{ => texts}/widgetText.vue         |   0
 .../widget/{ => texts}/widgetTime.vue         |   0
 .../widgetUniversalComponentsChart.vue        |   0
 .../widget/{ => texts}/widgetVideo.vue        |   0
 .../designer/widget/widget.vue                |  20 +-
 21 files changed, 318 insertions(+), 364 deletions(-)
 delete mode 100644 .gitee/ISSUE_TEMPLATE.zh-CN.md
 delete mode 100644 .gitee/PULL_REQUEST_TEMPLATE.zh-CN.md
 delete mode 100644 build/index.js
 delete mode 100644 build/pom.xml
 create mode 100644 report-ui/src/views/bigscreenDesigner/designer/tools/configure/form/widget-form-time.js
 create mode 100644 report-ui/src/views/bigscreenDesigner/designer/widget/form/widgetFormTime.vue
 rename report-ui/src/views/bigscreenDesigner/designer/widget/{ => texts}/widgetHref.vue (100%)
 rename report-ui/src/views/bigscreenDesigner/designer/widget/{ => texts}/widgetIframe.vue (100%)
 rename report-ui/src/views/bigscreenDesigner/designer/widget/{ => texts}/widgetImage.vue (100%)
 rename report-ui/src/views/bigscreenDesigner/designer/widget/{ => texts}/widgetMarquee.vue (100%)
 rename report-ui/src/views/bigscreenDesigner/designer/widget/{ => texts}/widgetSlider.vue (100%)
 rename report-ui/src/views/bigscreenDesigner/designer/widget/{ => texts}/widgetTable.vue (100%)
 rename report-ui/src/views/bigscreenDesigner/designer/widget/{ => texts}/widgetText.vue (100%)
 rename report-ui/src/views/bigscreenDesigner/designer/widget/{ => texts}/widgetTime.vue (100%)
 rename report-ui/src/views/bigscreenDesigner/designer/widget/{ => texts}/widgetUniversalComponentsChart.vue (100%)
 rename report-ui/src/views/bigscreenDesigner/designer/widget/{ => texts}/widgetVideo.vue (100%)

diff --git a/.gitee/ISSUE_TEMPLATE.zh-CN.md b/.gitee/ISSUE_TEMPLATE.zh-CN.md
deleted file mode 100644
index f09d98dd..00000000
--- a/.gitee/ISSUE_TEMPLATE.zh-CN.md
+++ /dev/null
@@ -1,13 +0,0 @@
-### 该问题是怎么引起的?
-
-
-
-### 重现步骤
-
-
-
-### 报错信息
-
-
-
-
diff --git a/.gitee/PULL_REQUEST_TEMPLATE.zh-CN.md b/.gitee/PULL_REQUEST_TEMPLATE.zh-CN.md
deleted file mode 100644
index 66d43320..00000000
--- a/.gitee/PULL_REQUEST_TEMPLATE.zh-CN.md
+++ /dev/null
@@ -1,14 +0,0 @@
-### 相关的Issue
-
-
-### 原因(目的、解决的问题等)
-
-
-### 描述(做了什么,变更了什么)
-
-
-### 测试用例(新增、改动、可能影响的功能)
-
-
-
-
diff --git a/build/index.js b/build/index.js
deleted file mode 100644
index af5695c5..00000000
--- a/build/index.js
+++ /dev/null
@@ -1,86 +0,0 @@
-'use strict'
-// Template version: 1.2.6
-// see http://vuejs-templates.github.io/webpack for documentation.
-
-const path = require('path')
-
-module.exports = {
-  dev: {
-    // Paths
-    assetsSubDirectory: 'static',
-    assetsPublicPath: '/',
-    proxyTable: {},
-
-    // Various Dev Server settings
-    host: 'localhost', // can be overwritten by process.env.HOST
-    port: 9528, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
-    autoOpenBrowser: true,
-    errorOverlay: true,
-    notifyOnErrors: false,
-    poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
-
-    // Use Eslint Loader?
-    // If true, your code will be linted during bundling and
-    // linting errors and warnings will be shown in the console.
-    useEslint: true,
-    // If true, eslint errors and warnings will also be shown in the error overlay
-    // in the browser.
-    showEslintErrorsInOverlay: false,
-
-    /**
-     * Source Maps
-     */
-
-    // https://webpack.js.org/configuration/devtool/#development
-    devtool: 'cheap-source-map',
-
-    // CSS Sourcemaps off by default because relative paths are "buggy"
-    // with this option, according to the CSS-Loader README
-    // (https://github.com/webpack/css-loader#sourcemaps)
-    // In our experience, they generally work as expected,
-    // just be aware of this issue when enabling this option.
-    cssSourceMap: false
-  },
-
-  build: {
-    // Template for index.html
-    index: path.resolve(__dirname, '../dist/index.html'),
-
-    // Paths
-    assetsRoot: path.resolve(__dirname, '../dist'),
-    assetsSubDirectory: 'static',
-
-    /**
-     * You can set by youself according to actual condition
-     * You will need to set this if you plan to deploy your site under a sub path,
-     * for example GitHub pages. If you plan to deploy your site to https://foo.github.io/bar/,
-     * then assetsPublicPath should be set to "/bar/".
-     * In most cases please use '/' !!!
-     */
-    assetsPublicPath: '/report/',
-
-    /**
-     * Source Maps
-     */
-
-    productionSourceMap: false,
-    // https://webpack.js.org/configuration/devtool/#production
-    devtool: 'source-map',
-
-    // Gzip off by default as many popular static hosts such as
-    // Surge or Netlify already gzip all static assets for you.
-    // Before setting to `true`, make sure to:
-    // npm install --save-dev compression-webpack-plugin
-    productionGzip: false,
-    productionGzipExtensions: ['js', 'css'],
-
-    // Run the build command with an extra argument to
-    // View the bundle analyzer report after build finishes:
-    // `npm run build --report`
-    // Set to `true` or `false` to always turn it on or off
-    bundleAnalyzerReport: process.env.npm_config_report || false,
-
-    // `npm run build:prod --generate_report`
-    generateAnalyzerReport: process.env.npm_config_generate_report || false
-  }
-}
diff --git a/build/pom.xml b/build/pom.xml
deleted file mode 100644
index 5bcc2a97..00000000
--- a/build/pom.xml
+++ /dev/null
@@ -1,217 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <groupId>org.springframework.boot</groupId>
-        <artifactId>spring-boot-starter-parent</artifactId>
-        <version>2.3.5.RELEASE</version>
-        <relativePath/>
-    </parent>
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>com.anji-plus.otwb</groupId>
-	<artifactId>product-report-starter</artifactId>
-    <version>1.2.0-SNAPSHOT</version>
-
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <additionalparam>-Xdoclint:none</additionalparam>
-        <maven.compiler.source>1.8</maven.compiler.source>
-        <maven.compiler.target>1.8</maven.compiler.target>
-        <maven.test.skip>true</maven.test.skip>
-    </properties>
-
-    <dependencies>
-
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.apache.logging.log4j</groupId>
-                    <artifactId>log4j-to-slf4j</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-to-slf4j</artifactId>
-            <version>2.15.0</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-api</artifactId>
-            <version>2.15.0</version>
-        </dependency>
-
-
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-cache</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-test</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-context</artifactId>
-            <version>2.2.6.RELEASE</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-configuration-processor</artifactId>
-            <optional>true</optional>
-        </dependency>
-
-        <dependency>
-            <groupId>com.anji-plus</groupId>
-            <artifactId>spring-boot-gaea</artifactId>
-            <version>2.0.3.RELEASE</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.springframework.boot</groupId>
-                    <artifactId>spring-boot-starter-data-redis</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <dependency>
-            <groupId>com.baomidou</groupId>
-            <artifactId>mybatis-plus-boot-starter</artifactId>
-            <version>3.3.2</version>
-        </dependency>
-
-        <dependency>
-            <groupId>mysql</groupId>
-            <artifactId>mysql-connector-java</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.alibaba</groupId>
-            <artifactId>druid</artifactId>
-            <version>1.2.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.flywaydb</groupId>
-            <artifactId>flyway-core</artifactId>
-            <version>5.2.1</version>
-        </dependency>
-
-        <dependency>
-            <groupId>net.sf.ehcache</groupId>
-            <artifactId>ehcache</artifactId>
-            <version>2.10.6</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.httpcomponents</groupId>
-            <artifactId>httpclient</artifactId>
-            <version>4.5.10</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.projectlombok</groupId>
-            <artifactId>lombok</artifactId>
-            <version>1.18.10</version>
-            <optional>true</optional>
-        </dependency>
-
-        <dependency>
-            <groupId>com.itextpdf</groupId>
-            <artifactId>itextpdf</artifactId>
-            <version>5.5.13.2</version>
-        </dependency>
-        <dependency>
-            <groupId>com.itextpdf</groupId>
-            <artifactId>itext-asian</artifactId>
-            <version>5.2.0</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.poi</groupId>
-            <artifactId>poi</artifactId>
-            <version>4.1.2</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.poi</groupId>
-            <artifactId>poi-ooxml</artifactId>
-            <version>4.1.2</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.poi</groupId>
-            <artifactId>poi-ooxml-schemas</artifactId>
-            <version>4.1.2</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.codehaus.groovy</groupId>
-            <artifactId>groovy</artifactId>
-            <version>3.0.9</version>
-        </dependency>
-
-    </dependencies>
-	
-
-    <!-- 上传到公司私服, mvn clean deploy -Dmaven.test.skip=true -->
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <version>3.3</version>
-                <configuration>
-                    <source>1.8</source>
-                    <target>1.8</target>
-                    <encoding>UTF-8</encoding>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-resources-plugin</artifactId>
-                <version>2.4</version>
-                <configuration>
-                    <encoding>UTF-8</encoding>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-source-plugin</artifactId>
-                <version>2.2.1</version>
-                <executions>
-                    <execution>
-                        <id>attach-sources</id>
-                        <goals>
-                            <goal>jar</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-deploy-plugin</artifactId>
-                <version>2.7</version>
-                <configuration>
-                    <updateReleaseInfo>true</updateReleaseInfo>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-    <distributionManagement>
-        <repository>
-            <id>nexus-releases</id>
-            <url>http://10.108.10.53:8081/repository/maven-releases/</url>
-        </repository>
-        <snapshotRepository>
-            <id>nexus-snapshots</id>
-            <url>http://10.108.10.53:8081/repository/maven-snapshots/</url>
-        </snapshotRepository>
-    </distributionManagement>
-</project>
diff --git a/report-ui/config/dev.env.js b/report-ui/config/dev.env.js
index 30f1e2a3..ee3d90dc 100644
--- a/report-ui/config/dev.env.js
+++ b/report-ui/config/dev.env.js
@@ -5,5 +5,5 @@ const prodEnv = require('./prod.env')
 module.exports = merge(prodEnv, {
   NODE_ENV: '"development"',
   BASE_API: '"http://127.0.0.1:9095"'
-  //BASE_API: '"http://10.108.26.197:9095"'
+  // BASE_API: '"http://10.108.26.197:9095"'
 })
diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/form/widget-form-time.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/form/widget-form-time.js
new file mode 100644
index 00000000..79f32edc
--- /dev/null
+++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/form/widget-form-time.js
@@ -0,0 +1,155 @@
+/*
+ * @Descripttion: 时间筛选器
+ * @Author: qianlishi qianlishi@anji-plus.com
+ */
+export const widgetFormTime = {
+  code: 'widget-form-time',
+  type: 'form',
+  tabName: '表单',
+  label: '时间筛选器',
+  icon: 'iconchaolianjie',
+  options: {
+    setup: [
+      {
+        type: 'el-input-text',
+        label: '图层名称',
+        name: 'layerName',
+        required: false,
+        placeholder: '',
+        value: '时间筛选器',
+      },
+      {
+        type: 'el-input-text',
+        label: '字段属性值',
+        name: 'field',
+        required: false,
+        placeholder: '请输入',
+        value: '',
+      },
+      {
+        type: 'vue-color',
+        label: '字体颜色',
+        name: 'select_color',
+        required: false,
+        placeholder: '',
+        value: '#FAD400',
+      },
+      {
+        type: 'vue-color',
+        label: '字体背景',
+        name: 'select_fontSize',
+        required: false,
+        placeholder: '',
+        value: 'rgba(115,170,229,.5)',
+      },
+      {
+        type: 'el-select',
+        label: '关联图表',
+        name: 'assChart',
+        required: false,
+        placeholder: '',
+        multiple: true,
+        selectOptions: [],
+        value: '',
+      },
+      {
+        type: 'el-select',
+        label: '触发事件',
+        name: 'event',
+        required: false,
+        placeholder: '',
+        selectOptions: [
+          { code: 'change', name: 'change' },
+          { code: 'blur', name: 'blur' },
+          { code: 'focus', name: 'focus' },
+        ],
+        value: 'change',
+      }
+    ],
+    data: [
+      {
+        type: 'el-radio-group',
+        label: '数据类型',
+        name: 'dataType',
+        require: false,
+        placeholder: '',
+        selectValue: true,
+        selectOptions: [
+          {
+            code: 'staticData',
+            name: '静态数据',
+          },
+          {
+            code: 'dynamicData',
+            name: '动态数据',
+          },
+        ],
+        value: 'staticData',
+      },
+      {
+        type: 'el-input-number',
+        label: '刷新时间(毫秒)',
+        name: 'refreshTime',
+        relactiveDom: 'dataType',
+        relactiveDomValue: 'dynamicData',
+        value: 5000
+      },
+      {
+        type: 'el-button',
+        label: '静态数据',
+        name: 'staticData',
+        required: false,
+        placeholder: '',
+        relactiveDom: 'dataType',
+        relactiveDomValue: 'staticData',
+        value: [],
+      },
+      {
+        type: 'dycustComponents',
+        label: '',
+        name: 'dynamicData',
+        required: false,
+        placeholder: '',
+        relactiveDom: 'dataType',
+        relactiveDomValue: 'dynamicData',
+        chartType: 'widget-select',
+        dictKey: 'SELECT_PROPERTIES',
+        value: '',
+      },
+    ],
+    position: [
+      {
+        type: 'el-input-number',
+        label: '左边距',
+        name: 'left',
+        required: false,
+        placeholder: '',
+        value: 0,
+      },
+      {
+        type: 'el-input-number',
+        label: '上边距',
+        name: 'top',
+        required: false,
+        placeholder: '',
+        value: 0,
+      },
+      {
+        type: 'el-input-number',
+        label: '宽度',
+        name: 'width',
+        required: false,
+        placeholder: '该容器在1920px大屏中的宽度',
+        value: 200,
+      },
+      {
+        type: 'el-input-number',
+        label: '高度',
+        name: 'height',
+        required: false,
+        placeholder: '该容器在1080px大屏中的高度',
+        value: 40,
+      },
+    ],
+  }
+}
diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/index.js b/report-ui/src/views/bigscreenDesigner/designer/tools/index.js
index 7a20a42d..3fc31c01 100644
--- a/report-ui/src/views/bigscreenDesigner/designer/tools/index.js
+++ b/report-ui/src/views/bigscreenDesigner/designer/tools/index.js
@@ -3,8 +3,8 @@
  * @version:
  * @Author: qianlishi
  * @Date: 2021-08-29 06:43:07
- * @LastEditors: chengsl
- * @LastEditTime: 2023-02-24 10:29:26
+ * @LastEditors: qianlishi qianlishi@anji-plus.com
+ * @LastEditTime: 2023-03-06 16:00:09
  */
 import { widgetTool } from "./main"
 const screenConfig = {
diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/main.js b/report-ui/src/views/bigscreenDesigner/designer/tools/main.js
index e7159139..73d5f75f 100644
--- a/report-ui/src/views/bigscreenDesigner/designer/tools/main.js
+++ b/report-ui/src/views/bigscreenDesigner/designer/tools/main.js
@@ -3,8 +3,8 @@
  * @version:
  * @Author: qianlishi
  * @Date: 2021-08-29 07:46:46
- * @LastEditors: chengsl
- * @LastEditTime: 2023-02-23 15:23:20
+ * @LastEditors: qianlishi qianlishi@anji-plus.com
+ * @LastEditTime: 2023-03-06 16:03:17
  */
 
 import { widgetText } from "./configure/texts/widget-text"
@@ -39,7 +39,8 @@ import { widgetHeatmap } from "./configure/heatmap/widget-heatmap";
 import { widgetRadar } from "./configure/radarCharts/widget-radar";
 import { widgetBarLineStack } from "./configure/barlineCharts/widget-bar-line-stack";
 import { widgetSelect } from "./configure/form/widget-select";
-import {widgetInput} from "./configure/form/widget-input";
+import { widgetInput } from "./configure/form/widget-input";
+import { widgetFormTime } from "./configure/form/widget-form-time";
 
 export const widgetTool = [
   // type=html类型的组件
@@ -75,5 +76,6 @@ export const widgetTool = [
   widgetRadar,
   widgetBarLineStack,
   widgetSelect,
-  widgetInput
+  widgetInput,
+  widgetFormTime
 ]
diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/form/widgetFormTime.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/form/widgetFormTime.vue
new file mode 100644
index 00000000..3a3cb933
--- /dev/null
+++ b/report-ui/src/views/bigscreenDesigner/designer/widget/form/widgetFormTime.vue
@@ -0,0 +1,124 @@
+<!--
+ * @Author: qianlishi qianlishi@anji-plus.com
+ * @Date: 2023-03-06 15:38:10
+ * @LastEditors: qianlishi qianlishi@anji-plus.com
+ * @LastEditTime: 2023-03-06 16:11:21
+-->
+<template>
+  <el-date-picker
+    :style="styleObj"
+    v-model="timeValue"
+    type="daterange"
+    @[eventChange]="change"
+  />
+</template>
+<script>
+import { eventBus } from "@/utils/eventBus";
+
+export default {
+  name: "WidgetSelect",
+  props: {
+    value: Object,
+    ispreview: Boolean,
+  },
+  data() {
+    return {
+      timeValue: "",
+      optionsStyle: {},
+      optionsData: {},
+      optionsSetup: {},
+    };
+  },
+  computed: {
+    styleObj() {
+      console.log(this.optionsSetup);
+      return {
+        position: this.ispreview ? "absolute" : "static",
+        width: this.optionsStyle.width + "px",
+        height: this.optionsStyle.height + "px",
+        left: this.optionsStyle.left + "px",
+        top: this.optionsStyle.top + "px",
+        background: this.optionsSetup.select_fontSize,
+        color: this.optionsSetup.select_color,
+      };
+    },
+    eventChange() {
+      return this.optionsSetup.event || "change";
+    },
+  },
+  watch: {
+    value: {
+      handler(val) {
+        this.optionsSetup = val.setup;
+        this.optionsData = val.data;
+        this.optionsStyle = val.position;
+        this.setOptions();
+      },
+      deep: true,
+    },
+  },
+  mounted() {
+    this.optionsSetup = this.value.setup;
+    this.optionsData = this.value.data;
+    this.optionsStyle = this.value.position;
+    this.setOptions();
+  },
+  methods: {
+    change(event) {
+      const optionsSetup = this.optionsSetup;
+      const params = {};
+      params[optionsSetup.field] = event;
+      params["assChart"] = optionsSetup.assChart;
+      eventBus.$emit("eventParams", params);
+    },
+    setOptions() {
+      const optionsData = this.optionsData;
+      return optionsData.dataType == "staticData"
+        ? this.staticData(optionsData.staticData)
+        : this.dynamicDataFn(optionsData.dynamicData, optionsData.refreshTime);
+    },
+    staticData(data) {
+      this.options = data;
+    },
+    //动态数据字典解析
+    dynamicDataFn(val, refreshTime) {
+      if (!val) return;
+      if (this.ispreview) {
+        this.getEchartData(val);
+        this.flagInter = setInterval(() => {
+          this.getEchartData(val);
+        }, refreshTime);
+      } else {
+        this.getEchartData(val);
+      }
+    },
+    getEchartData(val) {
+      const data = this.queryEchartsData(val);
+      data.then((res) => {
+        this.renderingFn(res);
+      });
+    },
+    renderingFn(val) {
+      this.options = val;
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+/deep/ .el-select {
+  height: 100%;
+
+  .el-input {
+    height: 100%;
+
+    .el-input__inner {
+      height: 100%;
+      background: inherit;
+      color: inherit;
+      &::placeholder {
+        color: inherit;
+      }
+    }
+  }
+}
+</style>
\ No newline at end of file
diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/temp.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/temp.vue
index 17a311eb..ce65716b 100644
--- a/report-ui/src/views/bigscreenDesigner/designer/widget/temp.vue
+++ b/report-ui/src/views/bigscreenDesigner/designer/widget/temp.vue
@@ -1,24 +1,23 @@
-<!--
- * @Author: lide1202@hotmail.com
- * @Date: 2021-3-13 11:04:24
- * @Last Modified by:   lide1202@hotmail.com
- * @Last Modified time: 2021-3-13 11:04:24
- !-->
 <template>
   <div>
-    <component :is="type" :value="value" :ispreview="true" :widget-index="index" />
+    <component
+      :is="type"
+      :value="value"
+      :ispreview="true"
+      :widget-index="index"
+    />
   </div>
 </template>
 
 <script>
-import widgetHref from "./widgetHref.vue";
-import widgetText from "./widgetText.vue";
-import WidgetMarquee from "./widgetMarquee.vue";
-import widgetTime from "./widgetTime.vue";
-import widgetImage from "./widgetImage.vue";
-import widgetSlider from "./widgetSlider.vue";
-import widgetVideo from "./widgetVideo.vue";
-import WidgetIframe from "./widgetIframe.vue";
+import widgetHref from "./texts/widgetHref.vue";
+import widgetText from "./texts/widgetText.vue";
+import WidgetMarquee from "./texts/widgetMarquee.vue";
+import widgetTime from "./texts/widgetTime.vue";
+import widgetImage from "./texts/widgetImage.vue";
+import widgetSlider from "./texts/widgetSlider.vue";
+import widgetVideo from "./texts/widgetVideo.vue";
+import WidgetIframe from "./texts/widgetIframe.vue";
 import widgetBarchart from "./bar/widgetBarchart.vue";
 import widgetLinechart from "./line/widgetLinechart.vue";
 import widgetBarlinechart from "./barline/widgetBarlinechart";
@@ -27,7 +26,7 @@ import WidgetPiechart from "./pie/widgetPiechart.vue";
 import WidgetFunnel from "./funnel/widgetFunnel.vue";
 import WidgetGauge from "./percent/widgetGauge.vue";
 import WidgetPieNightingaleRoseArea from "./pie/widgetPieNightingaleRose";
-import widgetTable from "./widgetTable.vue";
+import widgetTable from "./texts/widgetTable.vue";
 import widgetLineMap from "./map/widgetLineMap.vue";
 import widgetPiePercentageChart from "./percent/widgetPiePercentageChart";
 import widgetAirBubbleMap from "./map/widgetAirBubbleMap";
@@ -43,6 +42,7 @@ import widgetRadar from "./radar/widgetRadar";
 import widgetBarLineStackChart from "./barline/widgetBarLineStackChart";
 import widgetSelect from "./form/widgetSelect";
 import widgetInput from "./form/widgetInput.vue";
+import widgetFormTime from "./form/widgetFormTime.vue";
 
 export default {
   name: "WidgetTemp",
@@ -78,7 +78,8 @@ export default {
     widgetRadar,
     widgetBarLineStackChart,
     widgetSelect,
-    widgetInput
+    widgetInput,
+    widgetFormTime,
   },
   model: {
     prop: "value",
@@ -92,7 +93,7 @@ export default {
     },
     index: {
       type: Number,
-      default: 0
+      default: 0,
     }, // 当前组件,在工作区变量widgetInWorkbench中的索引
   },
   data() {
diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/widgetHref.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/texts/widgetHref.vue
similarity index 100%
rename from report-ui/src/views/bigscreenDesigner/designer/widget/widgetHref.vue
rename to report-ui/src/views/bigscreenDesigner/designer/widget/texts/widgetHref.vue
diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/widgetIframe.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/texts/widgetIframe.vue
similarity index 100%
rename from report-ui/src/views/bigscreenDesigner/designer/widget/widgetIframe.vue
rename to report-ui/src/views/bigscreenDesigner/designer/widget/texts/widgetIframe.vue
diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/widgetImage.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/texts/widgetImage.vue
similarity index 100%
rename from report-ui/src/views/bigscreenDesigner/designer/widget/widgetImage.vue
rename to report-ui/src/views/bigscreenDesigner/designer/widget/texts/widgetImage.vue
diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/widgetMarquee.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/texts/widgetMarquee.vue
similarity index 100%
rename from report-ui/src/views/bigscreenDesigner/designer/widget/widgetMarquee.vue
rename to report-ui/src/views/bigscreenDesigner/designer/widget/texts/widgetMarquee.vue
diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/widgetSlider.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/texts/widgetSlider.vue
similarity index 100%
rename from report-ui/src/views/bigscreenDesigner/designer/widget/widgetSlider.vue
rename to report-ui/src/views/bigscreenDesigner/designer/widget/texts/widgetSlider.vue
diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/widgetTable.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/texts/widgetTable.vue
similarity index 100%
rename from report-ui/src/views/bigscreenDesigner/designer/widget/widgetTable.vue
rename to report-ui/src/views/bigscreenDesigner/designer/widget/texts/widgetTable.vue
diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/widgetText.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/texts/widgetText.vue
similarity index 100%
rename from report-ui/src/views/bigscreenDesigner/designer/widget/widgetText.vue
rename to report-ui/src/views/bigscreenDesigner/designer/widget/texts/widgetText.vue
diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/widgetTime.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/texts/widgetTime.vue
similarity index 100%
rename from report-ui/src/views/bigscreenDesigner/designer/widget/widgetTime.vue
rename to report-ui/src/views/bigscreenDesigner/designer/widget/texts/widgetTime.vue
diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/widgetUniversalComponentsChart.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/texts/widgetUniversalComponentsChart.vue
similarity index 100%
rename from report-ui/src/views/bigscreenDesigner/designer/widget/widgetUniversalComponentsChart.vue
rename to report-ui/src/views/bigscreenDesigner/designer/widget/texts/widgetUniversalComponentsChart.vue
diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/widgetVideo.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/texts/widgetVideo.vue
similarity index 100%
rename from report-ui/src/views/bigscreenDesigner/designer/widget/widgetVideo.vue
rename to report-ui/src/views/bigscreenDesigner/designer/widget/texts/widgetVideo.vue
diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/widget.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/widget.vue
index c0a6f221..0d21a369 100644
--- a/report-ui/src/views/bigscreenDesigner/designer/widget/widget.vue
+++ b/report-ui/src/views/bigscreenDesigner/designer/widget/widget.vue
@@ -17,14 +17,14 @@
 </template>
 
 <script>
-import widgetHref from "./widgetHref.vue";
-import widgetText from "./widgetText.vue";
-import WidgetMarquee from "./widgetMarquee.vue";
-import widgetTime from "./widgetTime.vue";
-import widgetImage from "./widgetImage.vue";
-import widgetSlider from "./widgetSlider.vue";
-import widgetVideo from "./widgetVideo.vue";
-import WidgetIframe from "./widgetIframe.vue";
+import widgetHref from "./texts/widgetHref.vue";
+import widgetText from "./texts/widgetText.vue";
+import WidgetMarquee from "./texts/widgetMarquee.vue";
+import widgetTime from "./texts/widgetTime.vue";
+import widgetImage from "./texts/widgetImage.vue";
+import widgetSlider from "./texts/widgetSlider.vue";
+import widgetVideo from "./texts/widgetVideo.vue";
+import WidgetIframe from "./texts/widgetIframe.vue";
 import widgetBarchart from "./bar/widgetBarchart.vue";
 import widgetGradientColorBarchart from "./bar/widgetGradientColorBarchart.vue";
 import widgetLinechart from "./line/widgetLinechart.vue";
@@ -33,7 +33,7 @@ import WidgetPiechart from "./pie/widgetPiechart.vue";
 import WidgetFunnel from "./funnel/widgetFunnel.vue";
 import WidgetGauge from "./percent/widgetGauge.vue";
 import WidgetPieNightingaleRoseArea from "./pie/widgetPieNightingaleRose";
-import widgetTable from "./widgetTable.vue";
+import widgetTable from "./texts/widgetTable.vue";
 import widgetLineMap from "./map/widgetLineMap.vue";
 import widgetPiePercentageChart from "./percent/widgetPiePercentageChart";
 import widgetAirBubbleMap from "./map/widgetAirBubbleMap";
@@ -49,6 +49,7 @@ import widgetRadar from "./radar/widgetRadar";
 import widgetBarLineStackChart from "./barline/widgetBarLineStackChart";
 import widgetSelect from "./form/widgetSelect";
 import widgetInput from "./form/widgetInput.vue";
+import widgetFormTime from "./form/widgetFormTime.vue";
 
 export default {
   name: "Widget",
@@ -85,6 +86,7 @@ export default {
     widgetBarLineStackChart,
     widgetSelect,
     widgetInput,
+    widgetFormTime,
   },
   model: {
     prop: "value",