fzzy-igdss-core/src/main/java/com/fzzy/igds/data/PatrolSuperData.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,43 @@ package com.fzzy.igds.data; import com.fzzy.igds.domain.InoutConf; import lombok.Data; import java.io.Serializable; import java.util.Date; /** * @Description åºåºå·¡æ´ç»è®¡ * @Author CZT * @Date 2025/12/17 10:28 */ @Data public class PatrolSuperData implements Serializable { private String companyId; //ç»ç»ç¼ç private String deptId; //åºåºç¼ç private Integer weekNum = 0; //7天å å·¡æ£äººæ¬¡; private Integer yesterdayNum = 0; //æ¨å¤©å·¡æ£äººæ¬¡; private Integer curNum = 0; //å½å¤©å·¡æ£äººæ¬¡; private String isPatrol = "N"; //å½å¤©æ¯å¦å·¡æ£:N-æªå·¡æ£ï¼Y-å·²å·¡æ£ private String remark; //夿³¨è¯´æ private Date updateTime; public PatrolSuperData() { super(); } public PatrolSuperData(String companyId, String deptId) { this.companyId = companyId; this.deptId = deptId; this.updateTime = new Date(); } } fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/Patrol.java
@@ -22,7 +22,7 @@ private static final long serialVersionUID = 1L; @Id @Column(name = "id", columnDefinition = "varchar(40) COMMENT '主é®'") @Column(name = "id", columnDefinition = "varchar(8) COMMENT '主é®(IDè§åï¼yyyyMMdd)'") @TableField("id") private String id; @@ -48,4 +48,8 @@ @TableField("user_name") private String userName; @Column(name = "remark", columnDefinition = "varchar(200) COMMENT '夿³¨è¯´æ'") @TableField("remark") private String remark; } fzzy-igdss-core/src/main/java/com/fzzy/igds/service/PatrolService.java
@@ -1,15 +1,18 @@ package com.fzzy.igds.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fzzy.igds.data.IgdsBaseParam; import com.fzzy.igds.domain.Patrol; import com.fzzy.igds.mapper.PatrolMapper; import com.fzzy.igds.utils.ContextUtil; import com.fzzy.igds.utils.DateUtil; import com.ruoyi.common.core.text.Convert; import com.ruoyi.common.utils.StringUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Date; import java.util.List; @Slf4j @@ -101,4 +104,46 @@ } } /** * æ¥è¯¢7天å çææå·¡æ´è®°å½ä¿¡æ¯ * * @return */ public List<Patrol> getWeekList() { Date end = new Date(); Date start = DateUtil.getNewByDay(end, -6); QueryWrapper<Patrol> queryWrapper = new QueryWrapper<>(); queryWrapper.ge("create_time", DateUtil.getCurZero(start)); queryWrapper.le("create_time", DateUtil.getNextZero(end)); return patrolMapper.selectList(queryWrapper); } /** * æ ¹æ®æ¡ä»¶å页æ¥è¯¢æ°æ® * @param page * @param param */ public void pagePatrolData(Page<Patrol> page, IgdsBaseParam param) { QueryWrapper<Patrol> queryWrapper = new QueryWrapper<>(); if(StringUtils.isNotBlank(param.getDeptId())){ queryWrapper.like("dept_id", param.getDeptId()); }else { if(StringUtils.isNotBlank(param.getCompanyId())){ queryWrapper.likeRight("dept_id", param.getCompanyId()); } } if(null != param.getStart()){ queryWrapper.ge("create_time", DateUtil.getCurZero(param.getStart())); } if(null != param.getEnd()){ queryWrapper.le("create_time", DateUtil.getCurZero(param.getEnd())); } patrolMapper.selectPage(page, queryWrapper); } } fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticeIn.view.xml
@@ -290,7 +290,7 @@ </ToolBarButton> </ToolBar> <DataGrid id="dataGridMain" layoutConstraint="padding:8"> <ClientEvent name="onDataRowClick">view.get("#dataGridCamera").set("selection",arg.data);</ClientEvent> <ClientEvent name="onDataRowClick">view.get("#dataGridMain").set("selection",arg.data);</ClientEvent> <Property name="dataSet">dsMain</Property> <Property name="readOnly">true</Property> <Property name="selectionMode">singleRow</Property> fzzy-igdss-view/src/main/java/com/fzzy/igds/Patrol.view.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,212 @@ <?xml version="1.0" encoding="UTF-8"?> <ViewConfig> <Arguments/> <Context/> <Model> <DataType name="dtMain"> <Property name="creationType">com.fzzy.igds.domain.Patrol</Property> <PropertyDef name="id"> <Property></Property> <Property name="label">å·¡æ´åå·</Property> </PropertyDef> <PropertyDef name="userId"> <Property></Property> <Property name="label">å·¡é»äºº</Property> </PropertyDef> <PropertyDef name="confId"> <Property></Property> <Property name="label">çæ¬¡ç¼å·</Property> </PropertyDef> <PropertyDef name="confName"> <Property></Property> <Property name="label">çæ¬¡åç§°</Property> </PropertyDef> <PropertyDef name="deptId"> <Property></Property> <Property name="label">æå±åºåº</Property> <Property name="mapping"> <Property name="mapValues">${dorado.getDataProvider("deptPR#getAllData").getResult()}</Property> <Property name="keyProperty">id</Property> <Property name="valueProperty">kqmc</Property> </Property> </PropertyDef> <PropertyDef name="userName"> <Property></Property> <Property name="label">å·¡é»äºº</Property> </PropertyDef> <PropertyDef name="remark"> <Property></Property> <Property name="label">夿³¨ä¿¡æ¯</Property> </PropertyDef> <PropertyDef name="createTime"> <Property name="dataType">DateTime</Property> <Property name="label">å建æ¶é´</Property> </PropertyDef> <PropertyDef name="createBy"> <Property></Property> <Property name="label">å建人</Property> </PropertyDef> <PropertyDef name="updateTime"> <Property name="dataType">DateTime</Property> <Property name="label">æ´æ°æ¶é´</Property> </PropertyDef> <PropertyDef name="updateBy"> <Property></Property> <Property name="label">æ´æ°äºº</Property> </PropertyDef> </DataType> </Model> <View layout="padding:10"> <ClientEvent name="onReady"> /**
 * æ¥è¯¢
 */
 query = function(){
 view.get("#dsMain").flushAsync();
 }
 query();
 /**
 * å·¡æ£è½¨è¿¹æ¥ç
 */
 patrolMap = function(){
 var select = view.get("#dataGridMain").get("selection");
 if(select){
 var patrolId = select.get("id");
 
 var url = "/security/patrol/patrolRecord/"+patrolId+"?time="+ new Date().getTime();
 
 view.get("#iFrameTrack").set("path",url);
 view.get("#dialogTrack").show();
 }else{
 $notify("è¯·éæ©æ¥ççå·¡æ£ä¿¡æ¯â¦â¦");
 }
 };
</ClientEvent> <Property name="packages">font-awesome,css-common</Property> <DataSet id="dsMain"> <Property name="dataType">[dtMain]</Property> <Property name="dataProvider">patrolPR#pagePatrolData</Property> <Property name="pageSize">15</Property> <Property name="loadMode">lazy</Property> </DataSet> <DataSet id="dsParam"> <ClientEvent name="onReady">self.insert({});</ClientEvent> <Property name="dataType">dtBaseParam</Property> </DataSet> <Container> <Property name="className">c-param</Property> <AutoForm> <Property name="cols">*,*,*,*,90,90</Property> <Property name="dataSet">dsParam</Property> <Property name="labelAlign">right</Property> <Property name="labelWidth">100</Property> <AutoFormElement> <Property name="name">companyId</Property> <Property name="property">companyId</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">deptId</Property> <Property name="property">deptId</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">start</Property> <Property name="property">start</Property> <Editor/> </AutoFormElement> <AutoFormElement> <Property name="name">end</Property> <Property name="property">end</Property> <Editor/> </AutoFormElement> <Button> <ClientEvent name="onClick">var data = view.get("#dsParam.data");
 if(data){
 view.get("#dsMain").set("parameter",data).flushAsync();
 }else{
 view.get("#dsMain").flushAsync();
 }</ClientEvent> <Property name="caption">æç´¢</Property> <Property name="iconClass">fa fa-search</Property> <Property name="exClassName">btn-q1</Property> </Button> <Button> <ClientEvent name="onClick">view.get("#dsParam").flushAsync();</ClientEvent> <Property name="caption">éç½®</Property> <Property name="exClassName">btn-q2</Property> <Property name="iconClass">fa fa-refresh</Property> </Button> </AutoForm> </Container> <Container> <Property name="className">c-data</Property> <DataGrid id="dataGridMain" layoutConstraint="padding:8"> <ClientEvent name="onDataRowClick">view.get("#dataGridMain").set("selection",arg.data);</ClientEvent> <Property name="dataSet">dsMain</Property> <Property name="selectionMode">singleRow</Property> <Property name="readOnly">true</Property> <RowSelectorColumn/> <RowNumColumn> <Property name="width">50</Property> <Property name="caption">åºå·</Property> </RowNumColumn> <DataColumn name="id"> <Property name="property">id</Property> <Property name="width">120</Property> <Property name="align">center</Property> </DataColumn> <DataColumn> <Property name="property">deptId</Property> <Property name="align">left</Property> <Property name="name">deptId</Property> </DataColumn> <DataColumn name="userName"> <Property name="property">userName</Property> <Property name="align">center</Property> <Property name="width">150</Property> </DataColumn> <DataColumn name="confName"> <Property name="property">confName</Property> <Property name="align">center</Property> <Property name="width">150</Property> </DataColumn> <DataColumn name="remark"> <Property name="property">remark</Property> <Property name="align">center</Property> </DataColumn> <DataColumn> <Property name="property">updateTime</Property> <Property name="align">center</Property> <Property name="name">updateTime</Property> <Property name="width">160</Property> </DataColumn> <DataColumn> <ClientEvent name="onRenderCell">arg.dom.innerHTML = "<a href='javascript:;' onClick='patrolMap()' class='a-btn1'>å·¡æ£è½¨è¿¹</a>";</ClientEvent> <Property name="caption">æä½</Property> <Property name="align">center</Property> <Property name="width">120</Property> <Editor/> </DataColumn> </DataGrid> <ToolBar layoutConstraint="bottom"> <Fill/> <DataPilot layoutConstraint="right"> <Property name="itemCodes">pageSize,pages</Property> <Property name="dataSet">dsMain</Property> </DataPilot> </ToolBar> </Container> <Dialog id="dialogTrack"> <Property name="width">98%</Property> <Property name="caption">å·¡æ£è½¨è¿¹</Property> <Property name="contentOverflow">hidden</Property> <Property name="height">98%</Property> <Buttons/> <Children> <IFrame id="iFrameTrack" layoutConstraint="center"/> </Children> <Tools/> </Dialog> </View> </ViewConfig> fzzy-igdss-view/src/main/java/com/fzzy/igds/PatrolPR.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,88 @@ package com.fzzy.igds; import com.bstek.dorado.annotation.DataProvider; import com.bstek.dorado.data.provider.Page; import com.fzzy.igds.data.IgdsBaseParam; import com.fzzy.igds.data.NoticeParam; import com.fzzy.igds.data.PatrolSuperData; import com.fzzy.igds.domain.Dept; import com.fzzy.igds.domain.InoutNoticeIn; import com.fzzy.igds.domain.Patrol; import com.fzzy.igds.service.CoreDeptService; import com.fzzy.igds.service.PatrolService; import com.fzzy.igds.utils.DateUtil; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.*; /** * @Description å·¡æ´ç管ç»è®¡ * @Author CZT * @Date 2025/12/17 11:32 */ @Component public class PatrolPR { @Resource private PatrolService patrolService; @Resource private CoreDeptService coreDeptService; /** * patrolPR#getData å·¡æ£ç管ç»è®¡ * * @return * @throws Exception */ @DataProvider public List<PatrolSuperData> getData() { //æ¥è¯¢å½åç¨æ·ä¸å±çææåºåº List<Dept> deptList = coreDeptService.getDeptData(); if(null == deptList || deptList.isEmpty()){ return null; } //åºåºè½¬æ¢ Map<String, PatrolSuperData> map = new HashMap<>(); for (Dept dept : deptList) { map.put(dept.getId(), new PatrolSuperData(dept.getCompanyId(), dept.getId())); } List<Patrol> weekList = patrolService.getWeekList(); if(null != weekList && weekList.size() > 0){ PatrolSuperData patrolSuperData; Date start = DateUtil.getCurZero(DateUtil.getNewByDay(new Date(), -1)); //æ¨å¤©é¶ç¹é¶å Date end = DateUtil.getCurZero(new Date()); //ä»å¤©é¶ç¹é¶å for (Patrol patrol : weekList) { patrolSuperData = map.get(patrol.getDeptId()); } } return new ArrayList<>(map.values()); } /** * patrolPR#pagePatrolData è·åå·¡æ£è®°å½ä¿¡æ¯ * * @param param * @return */ @DataProvider public void pagePatrolData(Page<Patrol> page, IgdsBaseParam param) { if(null == param) { param = new IgdsBaseParam(); } com.baomidou.mybatisplus.extension.plugins.pagination.Page<Patrol> corePage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(page.getPageNo(), page.getPageSize()); patrolService.pagePatrolData(corePage, param); // éæ°å°è£ page.setEntities(corePage.getRecords()); page.setEntityCount(Integer.parseInt(String.valueOf(corePage.getTotal()))); } } fzzy-igdss-view/src/main/java/com/fzzy/igds/PatrolSuper.view.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,135 @@ <?xml version="1.0" encoding="UTF-8"?> <ViewConfig> <Arguments/> <Context/> <Model> <DataType name="dtMain"> <Property name="creationType">com.fzzy.igds.data.PatrolSuperData</Property> <PropertyDef name="deptId"> <Property></Property> <Property name="label">åºåºåç§°</Property> <Property name="mapping"> <Property name="mapValues">${dorado.getDataProvider("deptPR#getAllData").getResult()}</Property> <Property name="keyProperty">id</Property> <Property name="valueProperty">kqmc</Property> </Property> </PropertyDef> <PropertyDef name="companyId"> <Property></Property> <Property name="label">ç³»ç»ç»ç»ç¼ç </Property> </PropertyDef> <PropertyDef name="weekNum"> <Property name="dataType">Integer</Property> <Property name="label">7天å å·¡æ£äººæ¬¡</Property> </PropertyDef> <PropertyDef name="yesterdayNum"> <Property name="dataType">Integer</Property> <Property name="label">æ¨å¤©å·¡æ£äººæ¬¡</Property> </PropertyDef> <PropertyDef name="curNum"> <Property name="dataType">Integer</Property> <Property name="label">å½å¤©å·¡æ£äººæ¬¡</Property> </PropertyDef> <PropertyDef name="isPatrol"> <Property></Property> <Property name="label">å½å¤©æ¯å¦å·¡æ£</Property> <Property name="mapping"> <Property name="mapValues"> <Collection> <Entity> <Property name="code">Y</Property> <Property name="name">已巡æ£</Property> </Entity> <Entity> <Property name="code">N</Property> <Property name="name">æªå·¡æ£</Property> </Entity> </Collection> </Property> <Property name="keyProperty">code</Property> <Property name="valueProperty">name</Property> </Property> </PropertyDef> <PropertyDef name="remark"> <Property></Property> <Property name="label">夿³¨è¯´æ</Property> </PropertyDef> <PropertyDef name="updateTime"> <Property name="dataType">DateTime</Property> <Property name="label">æ´æ°æ¶é´</Property> </PropertyDef> </DataType> </Model> <View layout="padding:10"> <ClientEvent name="onClick">
 /**
 * æ¥ç详æ 
 */
 detail = function(){
 var cur = view.get("#dgMain").get("selection");
 var deptId = cur.get("deptId");
 var url = "/com.fzzy.igds.Patrol.d";
 var panelId = window.parent.frameElement.getAttribute('data-id'); window.parent.parent.$.modal.openTab("å·¡æ´è¯¦æ ", url,false, panelId); };
 </ClientEvent> <Property name="packages">font-awesome,css-common</Property> <DataSet id="dsMain"> <Property name="dataProvider">patrolPR#getData</Property> <Property name="dataType">[dtMain]</Property> </DataSet> <Container> <Property name="className">c-data3</Property> <DataGrid id="dgMain" layoutConstraint="padding:8"> <ClientEvent name="onDataRowClick">view.get("#dgMain").set("selection",arg.data);</ClientEvent> <Property name="dataSet">dsMain</Property> <Property name="readOnly">true</Property> <Property name="selectionMode">singleRow</Property> <RowSelectorColumn/> <RowNumColumn/> <DataColumn name="deptId"> <Property name="property">deptId</Property> </DataColumn> <DataColumn name="weekNum"> <Property name="property">weekNum</Property> <Property name="align">center</Property> <Property name="width">150</Property> </DataColumn> <DataColumn name="yesterdayNum"> <Property name="property">yesterdayNum</Property> <Property name="align">center</Property> <Property name="width">150</Property> </DataColumn> <DataColumn name="curNum"> <Property name="property">curNum</Property> <Property name="align">center</Property> <Property name="width">150</Property> </DataColumn> <DataColumn name="isPatrol"> <ClientEvent name="onRenderCell">arg.dom.style.background = arg.data.get("isPatrol")== 'Y' ?"":"#FF5722";
 arg.processDefault = true;</ClientEvent> <Property name="property">isPatrol</Property> <Property name="align">center</Property> <Property name="width">120</Property> </DataColumn> <DataColumn name="remark"> <Property name="property">remark</Property> <Property name="align">center</Property> </DataColumn> <DataColumn name="updateTime"> <Property name="property">updateTime</Property> <Property name="align">center</Property> <Property name="width">160</Property> </DataColumn> <DataColumn> <ClientEvent name="onRenderCell">arg.dom.innerHTML = "<a href='javascript:;' onClick='detail()' class='a-btn1'>æ¥ç详æ </a>";</ClientEvent> <Property name="width">160</Property> <Property name="caption">æä½</Property> <Property name="align">center</Property> <Property name="width">120</Property> <Editor/> </DataColumn> </DataGrid> </Container> </View> </ViewConfig> fzzy-igdss-view/src/main/java/models/core.model.xml
@@ -67,6 +67,11 @@ <PropertyDef name="companyId"> <Property></Property> <Property name="label">ç»ç»ç¼ç </Property> <Property name="mapping"> <Property name="mapValues">${dorado.getDataProvider("companyPR#getData").getResult()}</Property> <Property name="keyProperty">id</Property> <Property name="valueProperty">dwmc</Property> </Property> </PropertyDef> <PropertyDef name="deptId"> <Property></Property> fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/security/SecurityController.java
@@ -189,6 +189,25 @@ return secManager.updatePos(params); } /*------------------å·¡æ£ç管------------------*/ /** * å·¡æ£ç管 * * @return */ @RequestMapping("/patrol-count") public String patrolCount(ModelMap view) { SysUser user = ContextUtil.getLoginUser(); view.put(Constant.MODEL_KEY_LOGIN_USER, user); String deptId = ContextUtil.subDeptId(user); view.put("deptId", deptId); return prefix + "/patrol-count"; } /*------------------æ°éæ£æµ------------------*/ fzzy-igdss-web/src/main/resources/d7/common.css
@@ -22,6 +22,12 @@ min-height: 1px; } .c-param1 { border-radius: 6px; box-shadow: 1px 1px 3px rgba(0, 0, 0, .2); min-height: 150px; } .c-data { border-radius: 6px; box-shadow: 1px 1px 3px rgba(0, 0, 0, .2); @@ -33,7 +39,15 @@ border-radius: 6px; box-shadow: 1px 1px 3px rgba(0, 0, 0, .2); padding-top: 5px; /* margin-top: 10px;*/ margin-top: 10px; top: 165px; } .c-data3 { border-radius: 6px; box-shadow: 1px 1px 3px rgba(0, 0, 0, .2); margin-top: -10px; margin-right: -5px; } .d-toolbar { fzzy-igdss-web/src/main/resources/templates/security/patrol-count.html
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,141 @@ <!DOCTYPE html> <html lang="zh_CN" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <title>æºæ §ç²®åºç®¡çç³»ç»-é¦é¡µ</title> <link rel="stylesheet" th:href="@{/ajax/libs/layui-ruoyi/css/layui.css}"/> <style> /** ç»è®¡å¿«æ·æ¹å¼æ ·å¼ */ .console-link-block { font-size: 16px; padding: 20px 20px; border-radius: 4px; background-color: #40D4B0; color: #FFFFFF !important; box-shadow: 0 2px 3px rgba(0, 0, 0, .05); position: relative; overflow: hidden; display: block; } .console-link-block .console-link-block-num { font-size: 40px; margin-bottom: 5px; opacity: .9; } .console-link-block .console-link-block-text { opacity: .8; } .console-link-block .console-link-block-icon { position: absolute; top: 50%; right: 20px; width: 50px; height: 50px; font-size: 50px; line-height: 50px; margin-top: -25px; color: #FFFFFF; opacity: .8; } .console-link-block .console-link-block-band { color: #fff; width: 100px; font-size: 12px; padding: 2px 0 3px 0; background-color: #E32A16; line-height: inherit; text-align: center; position: absolute; top: 8px; right: -30px; transform-origin: center; transform: rotate(45deg) scale(.8); opacity: .95; z-index: 2; } /** //ç»è®¡å¿«æ·æ¹å¼æ ·å¼ */ /** 设置æ¯ä¸ªå¿«æ·åçé¢è² */ .layui-row > div:nth-child(2) .console-link-block { background-color: #55A5EA; } .layui-row > div:nth-child(3) .console-link-block { background-color: #9DAFFF; } .layui-row > div:nth-child(4) .console-link-block { background-color: #F591A2; } .layui-row > div:nth-child(5) .console-link-block { background-color: #FEAA4F; } .layui-row > div:last-child .console-link-block { background-color: #9BC539; } .layui-fluid { padding: 0 5px; } </style> </head> <body> <!-- æ£æå¼å§ --> <div class="layui-fluid ew-console-wrapper"> <!-- å¿«æ·æ¹å¼ --> <div class="layui-row layui-col-space15" style="background: #FFFFFF;margin: 10px"> <div class="layui-col-sm3 layui-col-xs6"> <div class="console-link-block"> <div class="console-link-block-num">0</div> <div class="console-link-block-text">已巡æ£åºåºæ°(å½å¤©)</div> <i class="console-link-block-icon layui-icon layui-icon-form"></i> </div> </div> <div class="layui-col-sm3 layui-col-xs6"> <div class="console-link-block"> <div class="console-link-block-num">0</div> <div class="console-link-block-text">æªå·¡æ£åºåºæ°(å½å¤©)</div> <i class="console-link-block-icon layui-icon layui-icon-survey"></i> </div> </div> <div class="layui-col-sm3 layui-col-xs6"> <div class="console-link-block"> <div class="console-link-block-num">0</div> <div class="console-link-block-text">å·¡æ£äººæ¬¡(æ¨å¤©)</div> <i class="console-link-block-icon layui-icon layui-icon-chart"></i> </div> </div> <div class="layui-col-sm3 layui-col-xs6"> <div class="console-link-block"> <div class="console-link-block-num">0</div> <div class="console-link-block-text">å·¡æ£äººæ¬¡(è¿7天)</div> <i class="console-link-block-icon layui-icon layui-icon-chart"></i> </div> </div> </div> <iframe src="/com.fzzy.igds.PatrolSuper.d" width="100%" height="695px" frameborder="0" allowfullscreen></iframe> </div> <!-- jsé¨å --> <script th:src="@{/ajax/libs/layui-ruoyi/layui.js}"></script> <!--<script src="${ctxPath}/assets/js/common.js"></script>--> <script th:src="@{/ajax/libs/echarts/echarts.min.js}"></script> <script th:src="@{/ajax/libs/echarts/china.js}"></script> <script th:src="@{/ajax/libs/echarts/echarts-wordcloud.min.js}"></script> <script> layui.use(['layer'], function () { var $ = layui.jquery; var layer = layui.layer; }); </script> </body> </html>