JiangPengLi 3 hónapja
szülő
commit
0bb6be3b24

+ 1 - 1
projects-service/src/main/java/com/rtrh/projects/modules/projects/po/SubInfoGxj.java

@@ -161,7 +161,7 @@ public class SubInfoGxj extends TableBaseColomn implements Serializable {
     private Long preProceNum;
     private Long preEndNum;
     private String yearAmtSj;
-    private String yearPlanAmt;
+    private BigDecimal yearPlanAmt;
 
     private String preContent;
 }

+ 1 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/service/impl/SubInfoQueryServiceImpl.java

@@ -211,6 +211,7 @@ public class SubInfoQueryServiceImpl implements SubInfoQueryService {
 
         if (CollectionUtil.isNotEmpty(data)) {
             for (SubInfoGxj e : data) {
+                e.setStatusName(SubInfoStatusEnum.getDesc(e.getStatus()));
                 e.setSubjectName(kindMap.get(e.getSubjectId()));
                 // [在建、投产] 项目进度为月报内容
                 if (Arrays.asList(SubInfoStatusEnum.ZJ.getCode(), SubInfoStatusEnum.TC.getCode()).contains(e.getStatus())) {

+ 8 - 2
projects-service/src/main/java/com/rtrh/projects/modules/projects/vo/export/SubInfoZjVO.java

@@ -4,6 +4,8 @@ import cn.afterturn.easypoi.excel.annotation.Excel;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.Date;
 
 @Data
@@ -13,12 +15,16 @@ public class SubInfoZjVO extends SubInfoBaseDetailVo {
     @Excel(name = "建成投产时间", format = "yyyy年MM月", width = 15.0, orderNum = "5")
     private Date endDate;
 
-    @Excel(name = "年度投资", orderNum = "6")
-    private String yearPlanAmt;
+    @Excel(name = "年度投资(亿元)", orderNum = "6")
+    private BigDecimal yearPlanAmt;
 
     @Excel(name = "进展情况", width = 30.0, orderNum = "7")
     private String progress;
 
     @Excel(name = "备注", width = 30.0, orderNum = "8")
     private String remark;
+
+    public BigDecimal getYearPlanAmt() {
+        return this.yearPlanAmt != null ? this.yearPlanAmt.divide(new BigDecimal(10000), 2, RoundingMode.HALF_UP) : null;
+    }
 }

+ 1 - 4
projects-service/src/main/java/com/rtrh/projects/modules/projects/vo/export/SubInfoZkVO.java

@@ -1,16 +1,13 @@
 package com.rtrh.projects.modules.projects.vo.export;
 
 import cn.afterturn.easypoi.excel.annotation.Excel;
-import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
-import lombok.EqualsAndHashCode;
 
 import java.math.BigDecimal;
 import java.util.Date;
 
 @Data
-@EqualsAndHashCode(callSuper = true)
-public class SubInfoZkVO extends SubInfoBaseDetailVo {
+public class SubInfoZkVO {
     @Excel(name = "序号")
     private String index;
 

+ 1 - 22
projects/src/main/java/com/rtrh/projects/web/controller/subject/SubInfoExportController.java

@@ -942,6 +942,7 @@ public class SubInfoExportController extends BaseController {
             workbook = ExcelExportUtil.exportExcel(exportParams, SubInfoTcVO.class, exportList);
             extracted(response, list, workbook, allSize);
         } else {
+            // 项目总库
             List<SubInfoZkVO> exportList = new ArrayList<>();
             // 合计行
             SubInfoZkVO hjCount = new SubInfoZkVO();
@@ -976,28 +977,6 @@ public class SubInfoExportController extends BaseController {
             exportParams.setStyle(ExcelStyleUtil.class);
             // exportParams.setHeight((short) -1);
             workbook = ExcelExportUtil.exportExcel(exportParams, SubInfoZkVO.class, exportList);
-            // workbook = ExcelExportUtil.exportBigExcel(exportParams, SubInfoZkVO.class, new IExcelExportServer() {
-            //     /**
-            //      * obj 就是下面的限制条件
-            //      * page 是页数,他是在分页进行文件转换,page每次+1
-            //      */
-            //     @Override
-            //     public List<Object> selectListForExcelExport(Object obj, int page) {
-            //         int pageSize = 100;
-            //         int fromIndex = (page - 1) * pageSize;
-            //         int toIndex = Math.min(fromIndex + pageSize, exportList.size());
-            //
-            //         // 如果 fromIndex 超过了列表大小,返回空列表
-            //         if (fromIndex >= exportList.size()) {
-            //             return null;
-            //         }
-            //         // 使用 subList 方法获取分页后的子列表
-            //         List<Object> list1 = new ArrayList<>();
-            //         List<SubInfoZkVO> zkVOList = exportList.subList(fromIndex, toIndex);
-            //         list1.addAll(zkVOList);
-            //         return list1;
-            //     }
-            // }, (exportList.size() / 10000) + 1);
             extracted(response, list, workbook, allSize);
         }
     }

BIN
projects/src/main/webapp/asset/css/images/register/logo.png


+ 21 - 18
projects/src/main/webapp/asset/css/indexScreen.css

@@ -31,12 +31,12 @@ body {
   align-items: baseline;
 }
 .header .left .left-time {
-  margin-left: calc(144 / 1920 * calc(100vw));
+  margin-left: calc(10 / 1920 * calc(100vw));
   margin-top: calc(16 / 1080 * calc(100vh));
   font-size: calc(30 / 1920 * calc(100vw));
 }
 .header .left .left-date {
-  margin-left: calc(10 / 1920 * calc(100vw));
+  margin-left: calc(144 / 1920 * calc(100vw));
   margin-top: calc(28 / 1080 * calc(100vh));
   font-size: calc(14 / 1920 * calc(100vw));
 }
@@ -152,9 +152,9 @@ body {
   color: white;
   font-size: calc(16 / 1920 * calc(100vw));
   font-family: PingFangSC, PingFang SC;
-  background-image: linear-gradient(to bottom, #fff 50%, #05f5eb);
+  /*background-image: linear-gradient(to bottom, #fff 50%, #05f5eb);*/
   -webkit-background-clip: text;
-  color: transparent;
+  /*color: transparent;*/
   font-weight: bold;
 }
 .main
@@ -168,9 +168,9 @@ body {
   font-size: calc(16 / 1920 * calc(100vw));
   margin-left: calc(20 / 1920 * calc(100vw));
   font-family: PingFangSC, PingFang SC;
-  background-image: linear-gradient(to bottom, #fff 50%, #05f5eb);
+  /*background-image: linear-gradient(to bottom, #fff 50%, #05f5eb);*/
   -webkit-background-clip: text;
-  color: transparent;
+  /*color: transparent;*/
   font-weight: bold;
 }
 .main
@@ -184,9 +184,9 @@ body {
   font-size: calc(16 / 1920 * calc(100vw));
   margin-left: calc(20 / 1920 * calc(100vw));
   font-family: PingFangSC, PingFang SC;
-  background-image: linear-gradient(to bottom, #fff 50%, #05f5eb);
+  /*background-image: linear-gradient(to bottom, #fff 50%, #05f5eb);*/
   -webkit-background-clip: text;
-  color: transparent;
+  /*color: transparent;*/
   font-weight: bold;
 }
 .main
@@ -200,9 +200,9 @@ body {
   font-size: calc(16 / 1920 * calc(100vw));
   margin-left: calc(22 / 1920 * calc(100vw));
   font-family: PingFangSC, PingFang SC;
-  background-image: linear-gradient(to bottom, #fff 50%, #05f5eb);
+  /*background-image: linear-gradient(to bottom, #fff 50%, #05f5eb);*/
   -webkit-background-clip: text;
-  color: transparent;
+  /*color: transparent;*/
   font-weight: bold;
 }
 .main .main-left .left-content .left-content-center .img {
@@ -251,9 +251,9 @@ body {
   margin-top: calc(28 / 1080 * calc(100vh));
   margin-left: calc(23 / 1080 * calc(100vh));
   font-family: PingFangSC, PingFang SC;
-  background-image: linear-gradient(to bottom, #fff 40%, #05f5eb);
+  /*background-image: linear-gradient(to bottom, #fff 40%, #05f5eb);*/
   -webkit-background-clip: text;
-  color: transparent;
+  /*color: transparent;*/
   font-weight: bold;
 }
 .main
@@ -463,9 +463,10 @@ body {
   margin-top: calc(7 / 1080 * calc(100vh));
   position: relative;
   z-index: 2;
-  background-image: linear-gradient(to bottom, #d0fffe 40%, #05f5eb);
+  /*background-image: linear-gradient(to bottom, #d0fffe 40%, #05f5eb);*/
   -webkit-background-clip: text;
-  color: transparent;
+  /*color: transparent;*/
+  color: white;
   font-weight: bold;
 }
 .main
@@ -529,9 +530,10 @@ body {
   .main-detail-bottom-bottom
   .left
   span:first-child {
-  background-image: linear-gradient(to bottom, #fff 40%, #fe8e8e);
+  /*background-image: linear-gradient(to bottom, #fff 40%, #fe8e8e);*/
   -webkit-background-clip: text;
-  color: transparent;
+  /*color: transparent;*/
+  color: white;
   font-size: calc(20 / 1920 * calc(100vw));
   display: inline-block;
   margin-left: calc(29 / 1920 * calc(100vw));
@@ -808,9 +810,10 @@ body {
   .main-detail-bottom-bottom
   .left
   span:first-child {
-  background-image: linear-gradient(to bottom, #fff 40%, #fe8e8e);
+  /*background-image: linear-gradient(to bottom, #fff 40%, #fe8e8e);*/
   -webkit-background-clip: text;
-  color: transparent;
+  /*color: transparent;*/
+  color: white;
   font-size: calc(20 / 1920 * calc(100vw));
   display: inline-block;
   margin-left: calc(29 / 1920 * calc(100vw));

+ 30 - 0
projects/src/main/webapp/asset/js/util.js

@@ -0,0 +1,30 @@
+// 将阿拉伯数字转换为罗马数字
+function toRoman(num) {
+    if (num < 1 || num > 3999) {
+        return '输入数字必须在1和3999之间';
+    }
+    const romanNumerals = [
+        { value: 1000, numeral: 'M' },
+        { value: 900, numeral: 'CM' },
+        { value: 500, numeral: 'D' },
+        { value: 400, numeral: 'CD' },
+        { value: 100, numeral: 'C' },
+        { value: 90, numeral: 'XC' },
+        { value: 50, numeral: 'L' },
+        { value: 40, numeral: 'XL' },
+        { value: 10, numeral: 'X' },
+        { value: 9, numeral: 'IX' },
+        { value: 5, numeral: 'V' },
+        { value: 4, numeral: 'IV' },
+        { value: 1, numeral: 'I' }
+    ];
+    let result = '';
+    // 遍历罗马数字数组,将其值减去相应的阿拉伯数字
+    for (let i = 0; i < romanNumerals.length; i++) {
+        while (num >= romanNumerals[i].value) {
+            result += romanNumerals[i].numeral;
+            num -= romanNumerals[i].value;
+        }
+    }
+    return result;
+}

+ 1 - 1
projects/src/main/webapp/vmodules/leftMenu.jsp

@@ -8,7 +8,7 @@
     <!-- <div class="top_menu" @click="changeSide" v-if="collapse"></div> -->
     <div class="header_content_left">
         <div class="header_code"></div>
-        <div class="header_text">哈密市投资项目智慧平台</div>
+        <div class="header_text">哈密市工业项目智慧平台</div>
     </div>
     <div class="expand_collapse_btn" @click="changeSide"></div>
     <div class="layui-side-scroll">

+ 2 - 3
projects/src/main/webapp/vmodules/statics/analysisScreen_four.jsp

@@ -48,8 +48,8 @@
     <div id="fullscreenElement" class="hami-container">
         <header class="header">
             <div class="left">
-                <p class="left-time" id="left-time">11:15</p>
                 <p class="left-date" id="left-date">2021-09-01</p>
+                <p class="left-time" id="left-time">11:15</p>
             </div>
             <div class="center">
                 <p>哈密市工业项目智慧平台</p>
@@ -448,7 +448,7 @@
             </div>
 
         </main>
-        <flooter class="flooter">
+        <footer class="flooter">
             <div class="flooter-bottom">
                 <div class="flooter-bottom-item">
                     <div class="title">储备项目库</div>
@@ -667,7 +667,6 @@
 
                 document.querySelector('#right-data7').textContent =  gmData[3].num
                 document.querySelector('#right-data8').textContent =  gmData[3].amt
-s
             }
         });
     }

+ 11 - 1
projects/src/main/webapp/vmodules/statics/layer/projInfo_new.jsp

@@ -246,6 +246,16 @@
         <span style="color:#FFDD00;" lay-event="toDetail">项目信息</span>
     </div>
 </script>
+<script type="text/html" id="preInfo">
+    <div title="" lay-event="preNew" style="cursor: pointer">
+        <div class="line">办理中的手续:{{d.preProceNum}}个
+
+        </div>
+        <div class="line">已办理完成手续:{{d.preEndNum}}个
+
+        </div>
+    </div>
+</script>
 <script>
     new Vue({
         el: "#app",
@@ -386,7 +396,7 @@
                             {field: 'mock2', title: '操作&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;', width: 140, align: 'center', toolbar: '#toolBar', fixed: 'right'}
                         ]]
                         break;
-                    case '4':
+                    case '9':
                         columns = [[ // 设置表头
                             {type: 'numbers', fixed: 'left', align: 'center', title: '序号', width: 44},
                             {field: 'subName', fixed: 'left', title: '项目名称', minWidth: 200, templet: '#subName'},

+ 2 - 0
projects/src/main/webapp/vmodules/statics/layer/subInfo/projectInfo.jsp

@@ -85,6 +85,8 @@ body::-webkit-scrollbar{
                     <td style="display: none">${sunInfo.kindName }</td>--%>
 					<td class="label">项目所在地</td>
 					<td>${sunInfo.subjectName }</td>
+					<td class="label">项目地址</td>
+					<td>${sunInfo.addre }</td>
 				</tr>
 				<tr>
 					<td class="label">建设内容及规模</td>

+ 1 - 1
projects/src/main/webapp/vmodules/subject/subInfo/detailView.jsp

@@ -187,7 +187,7 @@
 				</c:if>
 					<button class="layui-btn layui-btn-normal" style="position:relative;z-index:9;float: right" @click="backHis()">返回</button>
 			</div>
-			<iframe :src="iframeUrl" style="min-height:430px;border:none;margin-top: 30px"></iframe>
+			<iframe :src="iframeUrl" style="min-height:500px;border:none;margin-top: 30px"></iframe>
 </div>
 </template>
 <script>

+ 6 - 6
projects/src/main/webapp/vmodules/subject/subInfo/tz/cb.jsp

@@ -236,12 +236,12 @@
                     <label class="juli">
                         正在谋划
                         <span class="info-icon" title="正在谋划"></span>
-                        <span class="lanse-first">{{beginRate.bePlanningNum}}</span>
+                        <span class="lanse-first">{{ beginRate.bePlanningNum }}</span>
                     </label>
                     <label class="juli" onclick="levelList('abcs','A类','A')">
                         正在洽谈
                         <span class="info-icon" title="正在洽谈"></span>
-                        <span class="lanse-first">{{beginRate.negotiationNum}}</span>
+                        <span class="lanse-first">{{ beginRate.negotiationNum}}</span>
                     </label>
                     <label class="juli">
                         已签约
@@ -567,9 +567,9 @@
             },
             loadTable: function () {
                 // 状态名称映射
-                this.dataList.forEach(item => {
-                    item.statusName = this.getStatusName(item.status);
-                });
+                // this.dataList.forEach(item => {
+                //     item.statusName = this.getStatusName(item.status);
+                // });
 
                 const self = this;
                 layui.table.render({
@@ -726,7 +726,7 @@
                 if (e.data.topBreadcrumb) {
                     $(".top-breadcrumb").html(e.data.topBreadcrumb)
                 }
-            }
+            },
         }
     });
 </script>

+ 13 - 39
projects/src/main/webapp/vmodules/subject/subInfo/tz/cb_sum.jsp

@@ -387,52 +387,26 @@
         </div>
         <div>
             <div class="layui-row class_ls">
-                <div style="display: flex">
+                <div style="display: flex;margin-bottom: 3px">
                     <label class="juli">
-                        储备项目总数<span class="lanse-first">{{beginRate.num}}</span>
-                        <div class="progress-div">
-                            <div class="layui-progress">
-                                <div class="layui-progress-bar"></div>
-                            </div>
-                        </div>
+                        正在谋划
+                        <span class="info-icon" title="正在谋划"></span>
+                        <span class="lanse-first">{{beginRate.bePlanningNum}}</span>
                     </label>
-
                     <label class="juli" onclick="levelList('abcs','A类','A')">
-                        A类项目数
-                        <span class="lanse-first">{{beginRate.anum}}</span>
-                        <div class="progress-div">
-                            <div class="layui-progress">
-                                <div class="layui-progress-bar" :style="'width:'+beginRate.aRate"></div>
-                            </div>
-                        </div>
+                        正在洽谈
+                        <span class="info-icon" title="正在洽谈"></span>
+                        <span class="lanse-first">{{beginRate.negotiationNum}}</span>
                     </label>
                     <label class="juli">
-                        B类项目数
-                        <span class="lanse-first" onclick="levelList('abcs','B类','B')">{{beginRate.bnum}}</span>
-                        <div class="progress-div">
-                            <div class="layui-progress">
-                                <div class="layui-progress-bar" :style="'width:'+beginRate.bRate"></div>
-                            </div>
-                        </div>
+                        已签约
+                        <span class="info-icon" title="已签约"></span>
+                        <span class="lanse-first" onclick="levelList('abcs','B类','B')" style="color: #FFAD0D">{{beginRate.signedNum}}</span>
                     </label>
                     <label class="juli" onclick="levelList('abcs','C类','C')">
-                        C类项目数
-                        <span class="lanse-first">{{beginRate.cnum}}</span>
-                        <div class="progress-div">
-                            <div class="layui-progress">
-                                <div class="layui-progress-bar" :style="'width:'+beginRate.cRate"></div>
-                            </div>
-                        </div>
-                    </label>
-                    <label class="juli" onclick="levelList('abcs','D类','D')">
-                        D类项目数
-                        <span class="info-icon" title="D类项目">?</span>
-                        <span class="lanse-first">{{beginRate.dnum}}</span>
-                    </label>
-                    <label class="juli" onclick="levelList('abcs','其它类','UNKNOWN_CATEGORY')">
-                        其它项目数
-                        <span class="info-icon" title="ABC类未设置">?</span>
-                        <span class="lanse-first">{{beginRate.nnum}}</span>
+                        已备案/已核准
+                        <span class="info-icon" title="已备案/已核准"></span>
+                        <span class="lanse-first" style="color: #E0534E">{{beginRate.recordAndApproveNum}}</span>
                     </label>
                 </div>
                 <div style="display: flex;margin-bottom: 3px">