Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/dev' into dev

# Conflicts:
#	report-ui/src/views/file-management/index.vue
Raod 4 gadi atpakaļ
vecāks
revīzija
b6f1aff7d9

+ 2 - 0
README.md

@@ -110,6 +110,8 @@ bin/start.bat Windows修改第4行的JAVA_HOME后,双击启动
 启动后访问
 http://serverip:9095
 ```
+源码编译部署和发行版部署可参考在线文档 <br>
+https://report.anji-plus.com/report-doc/guide/quicklyDevelop.html
 
 ## 谁在使用
 

+ 22 - 7
doc/docs/guide/dashboard.md

@@ -35,40 +35,55 @@
 **存在问题,还在开发中**<br>
 
 ### 柱状图
-目前**柱状图-渐变色**图形右侧功能区还在开发调整中 <br>
+柱状图数据集对应字典值需要选择一个“X轴”、“柱状”,只需要2个字段 <br>
+**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
+
 
 ### 柱状堆叠图
+动态的数据集对应字典值需要选择一个“X轴”、“Y轴”、“柱状”,也就是说需要3个字段,不明白可以看看静态数据 <br>
+![img.17](../picture/dashboard/img_17.png)
+**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
+
+### 折线堆叠图 
 开发中 <br>
 
 ### 折线图
-**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
+折线图数据集对应字典值需要选择一个“X轴”、“折线”,只需要2个字段 <br>
 ![img_8.png](../picture/dashboard/img_8.png)
+**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 
 ### 柱线图
-**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
+柱线图数据集对应字典值需要选择一个“X轴”、“柱状”、“折线”,需要3个字段 <br>
 ![img9](../picture/dashboard/img_9.png)
+**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 
 ### 饼图
-**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
+饼图的数据集选择的时候,只能选择饼图对应的字典,即“Name”、“Value”,不明白可以参考静态数据 <br>
 ![img10](../picture/dashboard/img_10.png) <br>
 ![img11](../picture/dashboard/img_11.png) <br>
 ![img12](../picture/dashboard/img_12.png) <br>
+**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 
 ### 漏斗图
-**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
+和饼图一样 <br>
 ![img13](../picture/dashboard/img_13.png) <br>
+**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 
 ### 仪表盘
-**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
+数据集只能有一个字段,且字典选择“文本数字” <br>
 ![img14](../picture/dashboard/img_14.png) <br>
+**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 
 ### 中国地图
 **注**:气泡地图已支持动态数据,中国地图(迁徙图)暂不支持动态数据
+气泡地图动态数据集,和饼图一样,对应字典值需要选择一个“Name”、“Value”,且name的字段值要和echarts图表里面的值能对应上,可参考静态数据 <br>
 ![img15](../picture/dashboard/img_15.png) <br>
 
+
 ### 百分百图
-**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
+数据集只能有一个字段,且字典选择“文本数字” <br>
 ![img16](../picture/dashboard/img_16.png) <br>
+**如有问题,请提交 [Issue](https://gitee.com/anji-plus/report/issues) <br>**
 
 ### 热力图
 **开发中** <br>

BIN
doc/docs/picture/dashboard/img_17.png


+ 12 - 0
report-core/src/main/resources/db/migration/V1.0.10__create_report_share.sql

@@ -25,3 +25,15 @@ INSERT INTO `aj_report`.`gaea_dict_item`(`id`, `dict_code`, `item_name`, `item_v
 INSERT INTO `aj_report`.`gaea_dict_item`(`id`, `dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default, 'SHARE_VAILD', '1天', '1', NULL, 1, 'zh', NULL, 2, 'admin', '2021-08-18 13:30:39', 'admin', '2021-08-18 13:30:39', 1);
 INSERT INTO `aj_report`.`gaea_dict_item`(`id`, `dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default, 'SHARE_VAILD', '7天', '7', NULL, 1, 'zh', NULL, 3, 'admin', '2021-08-18 13:30:51', 'admin', '2021-08-18 13:30:56', 2);
 INSERT INTO `aj_report`.`gaea_dict_item`(`id`, `dict_code`, `item_name`, `item_value`, `item_extend`, `enabled`, `locale`, `remark`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES (default, 'SHARE_VAILD', '30天', '30', NULL, 1, 'zh', NULL, 4, 'admin', '2021-08-18 13:31:11', 'admin', '2021-08-18 13:31:11', 1);
+
+
+/*堆叠图数据*/
+INSERT INTO `aj_report_init`.`aj_report_barstack`(`id`, `time`, `type`, `nums`) VALUES (1, '2021-07-27', 'A', 12);
+INSERT INTO `aj_report_init`.`aj_report_barstack`(`id`, `time`, `type`, `nums`) VALUES (2, '2021-07-27', 'B', 20);
+INSERT INTO `aj_report_init`.`aj_report_barstack`(`id`, `time`, `type`, `nums`) VALUES (3, '2021-07-27', 'C', 11);
+INSERT INTO `aj_report_init`.`aj_report_barstack`(`id`, `time`, `type`, `nums`) VALUES (4, '2021-07-26', 'A', 11);
+INSERT INTO `aj_report_init`.`aj_report_barstack`(`id`, `time`, `type`, `nums`) VALUES (5, '2021-07-26', 'B', 30);
+INSERT INTO `aj_report_init`.`aj_report_barstack`(`id`, `time`, `type`, `nums`) VALUES (6, '2021-07-25', 'B', 20);
+INSERT INTO `aj_report_init`.`aj_report_barstack`(`id`, `time`, `type`, `nums`) VALUES (7, '2021-07-25', 'C', 15);
+
+INSERT INTO `aj_report`.`gaea_report_data_set`(`set_code`, `set_name`, `set_desc`, `source_code`, `dyn_sentence`, `case_result`, `enable_flag`, `delete_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `version`) VALUES ('barstack_ajreport', '柱状堆叠数据', '', 'mysql_ajreport', 'select time,type,nums from aj_report_barstack', '[{\"time\":\"2021-07-27\",\"type\":\"A\",\"nums\":12},{\"time\":\"2021-07-27\",\"type\":\"B\",\"nums\":20},{\"time\":\"2021-07-27\",\"type\":\"C\",\"nums\":11},{\"time\":\"2021-07-26\",\"type\":\"A\",\"nums\":11},{\"time\":\"2021-07-26\",\"type\":\"B\",\"nums\":30},{\"time\":\"2021-07-25\",\"type\":\"B\",\"nums\":20},{\"time\":\"2021-07-25\",\"type\":\"C\",\"nums\":15}]', 1, 0, 'admin', '2021-07-27 19:50:52', 'admin', '2021-08-16 14:08:51', 7);

+ 49 - 3
report-ui/src/assets/iconfont/demo_index.html

@@ -54,6 +54,18 @@
       <div class="content unicode" style="display: block;">
           <ul class="icon_lists dib-box">
           
+            <li class="dib">
+              <span class="icon iconfont">&#xe621;</span>
+                <div class="name">堆叠图</div>
+                <div class="code-name">&amp;#xe621;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe61f;</span>
+                <div class="name">堆叠图</div>
+                <div class="code-name">&amp;#xe61f;</div>
+              </li>
+          
             <li class="dib">
               <span class="icon iconfont">&#xe645;</span>
                 <div class="name">文件</div>
@@ -750,9 +762,9 @@
 <pre><code class="language-css"
 >@font-face {
   font-family: 'iconfont';
-  src: url('iconfont.woff2?t=1628064452460') format('woff2'),
-       url('iconfont.woff?t=1628064452460') format('woff'),
-       url('iconfont.ttf?t=1628064452460') format('truetype');
+  src: url('iconfont.woff2?t=1629425895962') format('woff2'),
+       url('iconfont.woff?t=1629425895962') format('woff'),
+       url('iconfont.ttf?t=1629425895962') format('truetype');
 }
 </code></pre>
           <h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
@@ -778,6 +790,24 @@
       <div class="content font-class">
         <ul class="icon_lists dib-box">
           
+          <li class="dib">
+            <span class="icon iconfont iconbianzu23"></span>
+            <div class="name">
+              堆叠图
+            </div>
+            <div class="code-name">.iconbianzu23
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont iconduidietu"></span>
+            <div class="name">
+              堆叠图
+            </div>
+            <div class="code-name">.iconduidietu
+            </div>
+          </li>
+          
           <li class="dib">
             <span class="icon iconfont iconfill_folder"></span>
             <div class="name">
@@ -1822,6 +1852,22 @@
       <div class="content symbol">
           <ul class="icon_lists dib-box">
           
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#iconbianzu23"></use>
+                </svg>
+                <div class="name">堆叠图</div>
+                <div class="code-name">#iconbianzu23</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#iconduidietu"></use>
+                </svg>
+                <div class="name">堆叠图</div>
+                <div class="code-name">#iconduidietu</div>
+            </li>
+          
             <li class="dib">
                 <svg class="icon svg-icon" aria-hidden="true">
                   <use xlink:href="#iconfill_folder"></use>

+ 11 - 3
report-ui/src/assets/iconfont/iconfont.css

@@ -1,8 +1,8 @@
 @font-face {
   font-family: "iconfont"; /* Project id 1513211 */
-  src: url('iconfont.woff2?t=1628064452460') format('woff2'),
-       url('iconfont.woff?t=1628064452460') format('woff'),
-       url('iconfont.ttf?t=1628064452460') format('truetype');
+  src: url('iconfont.woff2?t=1629425895962') format('woff2'),
+       url('iconfont.woff?t=1629425895962') format('woff'),
+       url('iconfont.ttf?t=1629425895962') format('truetype');
 }
 
 .iconfont {
@@ -13,6 +13,14 @@
   -moz-osx-font-smoothing: grayscale;
 }
 
+.iconbianzu23:before {
+  content: "\e621";
+}
+
+.iconduidietu:before {
+  content: "\e61f";
+}
+
 .iconfill_folder:before {
   content: "\e645";
 }

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
report-ui/src/assets/iconfont/iconfont.js


+ 14 - 0
report-ui/src/assets/iconfont/iconfont.json

@@ -5,6 +5,20 @@
   "css_prefix_text": "icon",
   "description": "",
   "glyphs": [
+    {
+      "icon_id": "18888301",
+      "name": "堆叠图",
+      "font_class": "bianzu23",
+      "unicode": "e621",
+      "unicode_decimal": 58913
+    },
+    {
+      "icon_id": "23457042",
+      "name": "堆叠图",
+      "font_class": "duidietu",
+      "unicode": "e61f",
+      "unicode_decimal": 58911
+    },
     {
       "icon_id": "5472881",
       "name": "文件",

BIN
report-ui/src/assets/iconfont/iconfont.ttf


BIN
report-ui/src/assets/iconfont/iconfont.woff


BIN
report-ui/src/assets/iconfont/iconfont.woff2


+ 1 - 1
report-ui/src/views/report/bigscreen/designer/tools.js

@@ -5689,7 +5689,7 @@ const widgetTools = [
     code: 'widgetBarStackChart',
     type: 'chart',
     label: '柱状堆叠图',
-    icon: 'iconzhuzhuangtu',
+    icon: 'iconbianzu23',
     options: {
       // 配置
       setup: [

+ 33 - 51
report-ui/src/views/report/bigscreen/designer/widget/bar/widgetBarStackChart.vue

@@ -96,11 +96,9 @@ export default {
       this.setOptionsTitle();
       this.setOptionsX();
       this.setOptionsY();
-      this.setOptionsTop();
       this.setOptionsTooltip();
       this.setOptionsMargin();
       this.setOptionsLegend();
-      this.setOptionsColor();
       this.setOptionsData();
     },
     // 标题修改
@@ -195,25 +193,6 @@ export default {
       };
       this.options.yAxis = yAxis;
     },
-    // 数值设定 or 柱体设置
-    setOptionsTop() {
-      const optionsCollapse = this.optionsSetup;
-      const series = this.options.series;
-      for (const key in series) {
-        if (series[key].type == "bar") {
-          series[key].label = {
-            show: optionsCollapse.isShow,
-            position: "top",
-            distance: 10,
-            fontSize: optionsCollapse.fontSize,
-            color: optionsCollapse.subTextColor,
-            fontWeight: optionsCollapse.fontWeight
-          };
-          series[key].barWidth = optionsCollapse.maxWidth;
-        }
-      }
-      this.options.series = series;
-    },
     // tooltip 提示语设置,鼠标放置显示
     setOptionsTooltip() {
       const optionsCollapse = this.optionsSetup;
@@ -255,30 +234,6 @@ export default {
       };
       legend.itemWidth = optionsCollapse.lengedWidth;
     },
-    // 自定义颜色
-    setOptionsColor() {
-      const optionsCollapse = this.optionsSetup;
-      const customColor = optionsCollapse.customColor;
-      if (!customColor) return;
-      const arrColor = [];
-      for (let i = 0; i < customColor.length; i++) {
-        arrColor.push(customColor[i].color);
-      }
-      const itemStyle = {
-        normal: {
-          color: params => {
-            return arrColor[params.dataIndex];
-          },
-          barBorderRadius : optionsCollapse.radius
-        },
-      };
-      for (const key in this.options.series) {
-        if (this.options.series[key].type == "bar") {
-          this.options.series[key].itemStyle = itemStyle;
-        }
-      }
-      this.options = Object.assign({}, this.options);
-    },
     // 数据解析
     setOptionsData() {
       const optionsSetup = this.optionsSetup;
@@ -394,6 +349,12 @@ export default {
       });
     },
     renderingFn(optionsSetup, val) {
+      //颜色
+      const customColor = optionsSetup.customColor;
+      const arrColor = [];
+      for (let i = 0; i < customColor.length; i++) {
+        arrColor.push(customColor[i].color);
+      }
       // x轴
       if (optionsSetup.verticalShow) {
         this.options.xAxis.data = [];
@@ -406,14 +367,35 @@ export default {
         this.options.xAxis.type = "category";
         this.options.yAxis.type = "value";
       }
-
-      const series = this.options.series;
-      for (const i in series) {
-        if (series[i].type == "bar") {
-          series[i].name = val.series[i].name;
-          series[i].data = val.series[i].data;
+      const series = [];
+      for (const i in val.series) {
+        if (val.series[i].type == "bar") {
+          series.push({
+            name: val.series[i].name,
+            type: "bar",
+            data: val.series[i].data,
+            barGap: "0%",
+            stack: this.getStackStyle(),
+            barWidth: optionsSetup.maxWidth,
+            label: {
+              show: optionsSetup.isShow,
+              position: "top",
+              distance: 10,
+              fontSize: optionsSetup.fontSize,
+              color: optionsSetup.subTextColor,
+              fontWeight: optionsSetup.fontWeight
+            },
+            //颜色,圆角属性
+            itemStyle: {
+              normal : {
+                color: arrColor[i],
+                barBorderRadius : optionsSetup.radius,
+              }
+            }
+          })
         }
       }
+      this.options.series = series
     }
   }
 };

+ 0 - 0
report-ui/src/views/report/bigscreen/designer/widget/line/widgetLineStackChart.vue


Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels