ソースを参照

年度预算审核页面增加查看内容

ly 4 ヶ月 前
コミット
2403d3ac23

+ 35 - 9
src/main/java/com/liang/controller/PrjAnnualbudgetController.java

@@ -785,9 +785,9 @@ public class PrjAnnualbudgetController extends BaseController {
785 785
         PrjAnnualbudget annualbudget = JsonTool.parseObject(strData, PrjAnnualbudget.class);
786 786
         int num = prjAnnualbudgetService.updateSpzt(annualbudget);
787 787
         if (num > 0) {
788
-            return BaseResult.success("保存成功!");
788
+            return BaseResult.success("审核成功!");
789 789
         } else {
790
-            return BaseResult.failure("保存失败!");
790
+            return BaseResult.failure("审核失败,数据异常!");
791 791
         }
792 792
     }
793 793
 
@@ -797,7 +797,37 @@ public class PrjAnnualbudgetController extends BaseController {
797 797
      * @return
798 798
      */
799 799
     @RequestMapping(value = "/forApproveUpdate/{xmid}", method = RequestMethod.GET)
800
-    public String forApproveUpdate(Model model, @PathVariable Integer xmid, @RequestParam String spzt) {
800
+    public String forApproveUpdate(Model model,
801
+                                   @PathVariable Integer xmid,
802
+                                   @RequestParam String spzt
803
+    ) {
804
+        // 费用申请查看
805
+        PrjAnnualbudget annualbudget = prjAnnualbudgetService.queryById(xmid);
806
+        model.addAttribute("annualbudget", annualbudget);
807
+
808
+        PrjProject project = prjProjectService.queryById(annualbudget.getRws());
809
+        model.addAttribute("rwsys", project.getYsje());
810
+
811
+        Map<String, String> paraMap = new HashMap<>();
812
+
813
+        if (ProjectTypeEnnum.ZFLXM.msg().equals(annualbudget.getXmlxmc())) {
814
+            List<Integer> nfList = prjFeeschemeService.getYearList(annualbudget.getRws());
815
+            paraMap.put("xm", annualbudget.getRws().toString());
816
+            paraMap.put("nf", nfList.get(nfList.size() - 1).toString());
817
+        } else {
818
+            paraMap.put("xm", annualbudget.getRws().toString());
819
+            paraMap.put("nf", annualbudget.getNf());
820
+        }
821
+        Double ndczje;
822
+        if (ProjectTypeEnnum.GWGSKJXM.msg().equals(annualbudget.getXmlxmc())) {
823
+            ndczje = prjFeeschemeService.getNdFeeSchemeofDKY(paraMap);
824
+            model.addAttribute("ysmc", "陕西公司出资总额");
825
+        } else {
826
+            ndczje = prjFeeschemeService.getNdFeeScheme(paraMap);
827
+            model.addAttribute("ysmc", "项目总预算");
828
+        }
829
+        model.addAttribute("ndczje", ndczje);
830
+
801 831
         //系统当前用户
802 832
         SysUserInfo userInfo = getSysUserInfo();
803 833
         model.addAttribute("userInfo", userInfo);
@@ -810,17 +840,13 @@ public class PrjAnnualbudgetController extends BaseController {
810 840
         if (approveList.size() > 0)
811 841
             model.addAttribute("approveInfo", approveList.get(0));
812 842
         else {
813
-            PrjAnnualbudget annualbudget = prjAnnualbudgetService.queryById(xmid);
843
+            PrjAnnualbudget annualbudgets = prjAnnualbudgetService.queryById(xmid);
814 844
             PrjApproverecord approveInfo = new PrjApproverecord();
815 845
             approveInfo.setXmid(xmid);
816
-            approveInfo.setXm(annualbudget.getMc());
846
+            approveInfo.setXm(annualbudgets.getMc());
817 847
             approveInfo.setZt("数据不匹配");
818 848
             model.addAttribute("approveInfo", approveInfo);
819 849
         }
820
-//        List<CyyEntriy> cyyList =cyyService.queryByAccount(String.valueOf(userInfo.getUserId()));
821
-//        model.addAttribute("cyyList", cyyList);
822
-
823
-
824 850
         if (spzt.contains("未提交")) {
825 851
             Map<String, String> paraMap2 = new HashMap<>();
826 852
             paraMap2.put("postName", PostInfoEnum.KJXMGLZZ.postName());

+ 3 - 1
src/main/resources/templates/annualbudget/back_approve.html

@@ -234,7 +234,9 @@
234 234
             var tjr = $("#tjr").val();
235 235
             var userId = $("#userId").val();
236 236
             if (userId != tjr)
237
-                Message.error("您不是年度预算的提交人!", 1500);
237
+                layer.msg("您不是年度预算的提交人!",{icon:2},function () {
238
+                    Message.error('当前数据审批列表提交人与数据列表人员不匹配,请联系管理员!',3000);
239
+                });
238 240
             else if (zt == '数据不匹配')
239 241
                 Message.error("数据不匹配,请联系管理员处理!", 1500);
240 242
             else {

+ 477 - 102
src/main/resources/templates/annualbudget/finish_approve.html

@@ -15,119 +15,487 @@
15 15
 </head>
16 16
 <body>
17 17
 <form class="layui-form" action="" lay-filter="formDemo">
18
-    <div class="layui-form layuimini-form" style="padding-bottom: 100px">
19
-        <div class="layui-form-item layui-inline" style="width: 100%">
20
-            <label class="layui-form-label" style="width: 10%">年度预算</label>
21
-            <div class="layui-input-inline" style="width: 70%">
22
-                <input type="hidden" id="id" name="id" class="layui-input" th:value="${approveInfo.id}">
23
-                <input type="hidden" id="xmid" name="xmid" class="layui-input" th:value="${approveInfo.xmid}">
24
-                <input type="hidden" id="tablename" name="tablename" class="layui-input"
25
-                       th:value="${approveInfo.tablename}">
26
-                <input type="text" id="xm" name="xm" class="layui-input" readonly th:value="${approveInfo.xm}">
27
-            </div>
28
-        </div>
29
-        <div class="layui-form-item layui-inline" style="width: 100%">
30
-            <label class="layui-form-label" style="width: 10%">状态</label>
31
-            <div class="layui-input-inline" style="width: 50%">
32
-                <input type="hidden" id="spzt" name="spzt" class="layui-input" th:value="${approveInfo.zt}">
33
-                <input type="text" id="zt" name="zt" class="layui-input" readonly th:value="${approveInfo.zt}">
34
-            </div>
35
-            <div class="layui-input-inline" style="width: 18%">
36
-                <input type="text" value="年度预算" class="layui-input" readonly>
37
-            </div>
38
-        </div>
39
-        <div class="layui-form-item layui-inline" style="width: 100%">
40
-            <label class="layui-form-label" style="width: 10%">审批操作</label>
41
-            <div class="layui-input-inline" style="width: 70%">
42
-                <select id="spcz" name="spcz" class="layui-input" lay-filter="spcz">
43
-                    <option value="审批通过">审批通过</option>
44
-                    <option value="返回修改">返回修改</option>
45
-                </select>
46
-            </div>
47
-        </div>
18
+    <div class="layui-tab layui-tab-card">
19
+        <ul class="layui-tab-title">
20
+            <li>常规</li>
21
+            <li>预算</li>
22
+            <li class="layui-this">审核</li>
23
+        </ul>
48 24
 
49
-        <!--        <div class="layui-form-item layui-inline" style="width: 100%">-->
50
-        <!--            <label class="layui-form-label" style="width: 65px">意见</label>-->
51
-        <!--            <div class="layui-input-inline" style="width: 870px" id="jyDiv1">-->
52
-        <!--                <textarea id="yj" name="yj" class="layui-textarea" th:text="同意" style="width: 870px;height: 100px"></textarea>-->
53
-        <!--            </div>-->
54
-        <!--            <div class="layui-input-inline" style="width: 870px; display: none" id="jyDiv2">-->
55
-        <!--                <textarea id="yj2" name="yj2" class="layui-textarea" style="width: 870px;height: 100px"></textarea>-->
56
-        <!--            </div>-->
57
-        <!--        </div>-->
58
-        <div class="layui-form-item layui-inline" style="width: 100%">
59
-            <label class="layui-form-label" style="width: 10%">意见</label>
60
-            <div class="layui-input-inline" style="width: 70%" id="jyDiv1">
61
-                <textarea id="yj" name="yj" class="layui-textarea" style="height: 100px"></textarea>
62
-            </div>
63
-        </div>
25
+    <div class="layui-tab-content">
26
+        <!-- 常规开始 -->
27
+        <div class="layui-tab-item " style="min-height: 550px; margin-bottom: 5px">
28
+            <form class="layui-form" action="" lay-filter="formDemo">
29
+                <div class="layui-form layuimini-form">
30
+                    <div class="layui-form-item layui-inline" style="width: 100%">
31
+                        <label class="layui-form-label" style="width: 10%">名称</label>
32
+                        <div class="layui-input-inline" style="width: 80%">
33
+                            <input type="hidden" id="id" name="id" class="layui-input"
34
+                                   th:value="${annualbudget.id}">
35
+                            <input type="text" id="mc" name="mc" class="layui-input" th:value="${annualbudget.mc}"
36
+                                   readonly>
37
+                        </div>
38
+                    </div>
39
+                    <div class="layui-form-item layui-inline" style="width: 100%">
40
+                        <label class="layui-form-label" style="width: 10%">任务书</label>
41
+                        <div class="layui-input-inline" style="width: 80%">
42
+                            <input type="hidden" id="rws" name="rws" class="layui-input"
43
+                                   th:value="${annualbudget.rws}">
44
+                            <input type="text" id="rwsmc" name="rwsmc" class="layui-input"
45
+                                   th:value="${annualbudget.rwsmc}" readonly>
46
+                        </div>
47
+                    </div>
48
+                    <div class="layui-form-item layui-inline" style="width: 100%">
49
+                        <label class="layui-form-label" style="width: 10%">项目执行期</label>
50
+                        <div class="layui-input-inline" style="width: 80%">
51
+                            <input type="text" id="xmzxq" name="xmzxq" class="layui-input" autocomplete="off"
52
+                                   th:value="${annualbudget.xmzxq}" readonly>
53
+                        </div>
54
+                    </div>
55
+                    <div class="layui-form-item layui-inline" style="width: 100%">
56
+                        <label class="layui-form-label required" style="width: 10%">年份</label>
57
+                        <div class="layui-input-inline" style="width: 80%">
58
+                            <input type="number" id="nf" name="nf" value="2023" lay-verify="required"
59
+                                   lay-reqtext="年份不能为空" class="layui-input" autocomplete="off"
60
+                                   th:value="${annualbudget.nf}" readonly>
61
+                        </div>
62
+                    </div>
63
+                    <div class="layui-form-item layui-inline" style="width: 100%">
64
+                        <label class="layui-form-label" style="width: 10%">说明</label>
65
+                        <div class="layui-input-inline" style="width: 80%">
66
+                                <textarea id="sm" name="sm" class="layui-textarea" style="width: 100%;height: 150px"
67
+                                          th:text="${annualbudget.sm}" readonly></textarea>
68
+                        </div>
69
+                    </div>
70
+                    <div class="layui-form-item layui-inline" style="width: 100%">
71
+                        <label class="layui-form-label" style="width: 10%">申请人</label>
72
+                        <div class="layui-input-inline" style="width: 30%">
73
+                            <input type="text" name="sqrxm" class="layui-input" th:value="${annualbudget.sqrxm}"
74
+                                   readonly>
75
+                        </div>
76
+                        <label class="layui-form-label" style="width: 10%">申请时间</label>
77
+                        <div class="layui-input-inline" style="width: 35%">
78
+                            <input type="text" id="sqsj" name="sqsj" class="layui-input"
79
+                                   th:value="${annualbudget.sqsj}" readonly>
80
+                        </div>
81
+                    </div>
82
+                    <!--                        <div class="layui-form-item layui-inline" style="width: 100%">-->
83
+                    <!--                            <label class="layui-form-label" style="width: 70px">审批状态</label>-->
84
+                    <!--                            <div class="layui-input-inline" style="width: 855px">-->
85
+                    <!--                                <input type="text" id="spzt" name="spzt" class="layui-input" value="未提交" readonly>-->
86
+                    <!--                            </div>-->
87
+                    <!--                        </div>-->
88
+                    <div class="layui-form-item layui-inline" style="width: 100%">
89
+                        <label class="layui-form-label" style="width: 10%">可研报告</label>
90
+                        <div class="layui-input-inline" style="width: 80%">
91
+                            <input type="text" id="xmmc" name="xmmc" class="layui-input"
92
+                                   th:value="${annualbudget.xmmc}" readonly>
93
+                        </div>
94
+                    </div>
95
+                    <div class="layui-form-item layui-inline" style="width: 100%">
96
+                        <label class="layui-form-label" style="width: 10%">ERP编号</label>
97
+                        <div class="layui-input-inline" style="width: 30%">
98
+                            <input type="text" id="erpbh" name="erpbh" class="layui-input"
99
+                                   th:value="${annualbudget.erpbh}" readonly>
100
+                        </div>
101
+                        <label class="layui-form-label" style="width: 10%">项目类型</label>
102
+                        <div class="layui-input-inline" style="width: 30%">
103
+                            <input type="text" id="xmlxmc" name="xmlxmc" class="layui-input"
104
+                                   th:value="${annualbudget.xmlxmc}" readonly>
105
+                        </div>
106
+                    </div>
107
+                    <div class="layui-form-item layui-inline" style="width: 100%">
108
+                        <label class="layui-form-label" style="width: 10%">电科院负责人</label>
109
+                        <div class="layui-input-inline" style="width: 30%">
110
+                            <input type="text" id="xmfzrxm" name="xmfzrxm" class="layui-input"
111
+                                   th:value="${annualbudget.dkyfzrxm}" readonly>
112
+                        </div>
113
+                        <label class="layui-form-label" style="width: 10%">所属部门</label>
114
+                        <div class="layui-input-inline" style="width: 30%">
115
+                            <input type="text" id="ssbmmc" name="ssbmmc" class="layui-input"
116
+                                   th:value="${annualbudget.ssbmmc}" readonly>
117
+                        </div>
118
+                    </div>
64 119
 
65
-        <div class="layui-form-item layui-inline" style="width: 100%">
66
-            <label class="layui-form-label" style="width: 10%">选择常用语</label>
67
-            <div class="layui-input-inline" style="width: 60%">
68
-                <select name="xmlx" id="xmlx" lay-filter="xmlx">
69
-                    <option value="">[无]</option>
70
-                    <!--<option th:each="cyyList:${cyyList}" th:text="${cyyList.cyy}"
71
-                            th:value="${cyyList. id}"></option>-->
72
-                </select>
73
-            </div>
74
-            <button type="button" class="layui-btn" lay-filter="cyySaveBtn" style="width: 80px">常用语</button>
75
-        </div>
76
-        <!--        <div class="layui-form-item layui-inline" style="width: 100%">-->
77
-        <!--            <label class="layui-form-label" style="width: 95px">选择常用语</label>-->
78
-        <!--            <div class="layui-input-inline" style="width: 750px">-->
79
-        <!--                <input type="text" id="cyy" name="cyy" class="layui-input" readonly>-->
80
-        <!--            </div>-->
81
-        <!--            <button type="button" class="layui-btn" lay-filter="cyySaveBtn" style="width: 80px">常用语</button>-->
82
-        <!--        </div>-->
83
-        <div class="layui-form-item layui-inline" style="width: 100%">
84
-            <label class="layui-form-label" style="width: 10%">提交人</label>
85
-            <div class="layui-input-inline" style="width: 30%">
86
-                <input type="hidden" id="tjr" name="tjr" class="layui-input" th:value="${approveInfo.tjr}">
87
-                <input type="text" id="tjrxm" name="tjrxm" class="layui-input" readonly th:value="${approveInfo.tjrxm}">
88
-            </div>
89
-            <label class="layui-form-label" style="width: 10%">提交时间</label>
90
-            <div class="layui-input-inline" style="width: 25%">
91
-                <input type="text" id="tjsj" name="tjsj" class="layui-input" readonly th:value="${approveInfo.tjsj}">
92
-            </div>
120
+                    <!-- 右侧悬浮按钮 -->
121
+                    <div class="right-bottom-btn" style="margin-bottom: 5px">
122
+                        <button class="layui-btn" lay-filter="viewRwsBtn">
123
+                            <i class="layui-icon layui-icon-file"></i>查看任务书
124
+                        </button>
125
+                        <button class="layui-btn" lay-filter="cancleBtn">
126
+                            <i class="layui-icon layui-icon-close"></i>关闭
127
+                        </button>
128
+                    </div>
129
+                </div>
130
+            </form>
93 131
         </div>
94
-        <div class="layui-form-item layui-inline" style="width: 100%">
95
-            <label class="layui-form-label" style="width: 10%">审核人</label>
96
-            <div class="layui-input-inline" style="width: 30%">
97
-                <input type="hidden" id="userId" name="userId" class="layui-input" th:value="${userInfo.userId}">
98
-                <input type="hidden" id="shr" name="shr" class="layui-input" th:value="${approveInfo.shr}">
99
-                <input type="text" id="shrxm" name="shrxm" class="layui-input" th:value="${approveInfo.shrxm}" readonly>
100
-            </div>
101
-            <label class="layui-form-label" style="width: 10%">审核时间</label>
102
-            <div class="layui-input-inline" style="width: 25%">
103
-                <input type="text" id="shsj" name="shsj" class="layui-input">
104
-            </div>
132
+        <!-- 常规结束 -->
133
+        <!-- 预算开始 -->
134
+        <div class="layui-tab-item" style="min-height: 550px; padding-left: 25px; padding-right: 25px">
135
+            <form class="layui-form" action="" lay-filter="formDemo">
136
+                <div class="layui-form layuimini-form">
137
+                    <div class="layui-form-item" style="margin-bottom: -10px">
138
+                        <div class="layui-inline">
139
+                            <label class="layui-form-label "
140
+                                   style="width: fit-content; margin-bottom: -10px">单位:万元</label>
141
+                            <label class="layui-form-label" style="width: 100px"></label>
142
+                        </div>
143
+                        <div class="layui-inline">
144
+                            <label class="layui-form-label"
145
+                                   style="width: 120px; margin-left: -10px">[[${ysmc}]]</label>
146
+                            <div class="layui-input-inline" style="width: 100px">
147
+                                <input type="text" id="rwsys" name="rwsys" class="layui-input" th:value="${rwsys}"
148
+                                       readonly>
149
+                            </div>
150
+                        </div>
151
+                        <div class="layui-inline">
152
+                            <label class="layui-form-label" style="width: 60px; margin-left: -15px">年度经费</label>
153
+                            <div class="layui-input-inline" style="width: 100px">
154
+                                <input type="text" id="ndczje" name="ndczje" class="layui-input"
155
+                                       th:value="${ndczje}" readonly>
156
+                            </div>
157
+                        </div>
158
+                        <div class="layui-inline">
159
+                            <label class="layui-form-label" style="width: 70px; margin-left: -15px">年度备用金</label>
160
+                            <div class="layui-input-inline" style="width: 100px; margin-right: -15px">
161
+                                <input type="number" id="ndbyj" name="ndbyj" class="layui-input" readonly>
162
+                            </div>
163
+                        </div>
164
+                    </div>
165
+                    <table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
166
+
167
+                    <!-- 右侧悬浮按钮 -->
168
+                    <div class="right-bottom-btn" style="margin-bottom: 5px">
169
+                        <button class="layui-btn" lay-filter="viewRwsBtn">
170
+                            <i class="layui-icon layui-icon-file"></i>查看任务书
171
+                        </button>
172
+                        <button class="layui-btn" lay-filter="cancleBtn">
173
+                            <i class="layui-icon layui-icon-close"></i>关闭
174
+                        </button>
175
+                    </div>
176
+                </div>
177
+            </form>
105 178
         </div>
179
+        <!-- 预算结束 -->
180
+        <!-- 审核开始 -->
181
+        <div class="layui-tab-item layui-show" style="min-height: 550px;padding-left: 25px;padding-right: 25px">
182
+            <form class="layui-form" action="" lay-filter="formDemo">
183
+                <div class="layui-form layuimini-form" style="padding-bottom: 100px">
184
+                    <div class="layui-form-item layui-inline" style="width: 100%">
185
+                        <label class="layui-form-label" style="width: 10%">年度预算</label>
186
+                        <div class="layui-input-inline" style="width: 70%">
187
+                            <input type="hidden" id="id" name="id" class="layui-input" th:value="${approveInfo.id}">
188
+                            <input type="hidden" id="xmid" name="xmid" class="layui-input" th:value="${approveInfo.xmid}">
189
+                            <input type="hidden" id="tablename" name="tablename" class="layui-input"
190
+                                   th:value="${approveInfo.tablename}">
191
+                            <input type="text" id="xm" name="xm" class="layui-input" readonly th:value="${approveInfo.xm}">
192
+                        </div>
193
+                    </div>
194
+                    <div class="layui-form-item layui-inline" style="width: 100%">
195
+                        <label class="layui-form-label" style="width: 10%">状态</label>
196
+                        <div class="layui-input-inline" style="width: 50%">
197
+                            <input type="hidden" id="spzt" name="spzt" class="layui-input" th:value="${approveInfo.zt}">
198
+                            <input type="text" id="zt" name="zt" class="layui-input" readonly th:value="${approveInfo.zt}">
199
+                        </div>
200
+                        <div class="layui-input-inline" style="width: 18%">
201
+                            <input type="text" value="年度预算" class="layui-input" readonly>
202
+                        </div>
203
+                    </div>
204
+                    <div class="layui-form-item layui-inline" style="width: 100%">
205
+                        <label class="layui-form-label" style="width: 10%">审批操作</label>
206
+                        <div class="layui-input-inline" style="width: 70%">
207
+                            <select id="spcz" name="spcz" class="layui-input" lay-filter="spcz">
208
+                                <option value="审批通过">审批通过</option>
209
+                                <option value="返回修改">返回修改</option>
210
+                            </select>
211
+                        </div>
212
+                    </div>
213
+
214
+                    <!--        <div class="layui-form-item layui-inline" style="width: 100%">-->
215
+                    <!--            <label class="layui-form-label" style="width: 65px">意见</label>-->
216
+                    <!--            <div class="layui-input-inline" style="width: 870px" id="jyDiv1">-->
217
+                    <!--                <textarea id="yj" name="yj" class="layui-textarea" th:text="同意" style="width: 870px;height: 100px"></textarea>-->
218
+                    <!--            </div>-->
219
+                    <!--            <div class="layui-input-inline" style="width: 870px; display: none" id="jyDiv2">-->
220
+                    <!--                <textarea id="yj2" name="yj2" class="layui-textarea" style="width: 870px;height: 100px"></textarea>-->
221
+                    <!--            </div>-->
222
+                    <!--        </div>-->
223
+                    <div class="layui-form-item layui-inline" style="width: 100%">
224
+                        <label class="layui-form-label" style="width: 10%">意见</label>
225
+                        <div class="layui-input-inline" style="width: 70%" id="jyDiv1">
226
+                            <textarea id="yj" name="yj" class="layui-textarea" style="height: 100px"></textarea>
227
+                        </div>
228
+                    </div>
106 229
 
107
-        <!-- 右侧悬浮按钮 -->
108
-        <div class="right-bottom-btn">
109
-            <button type="button" class="layui-btn" lay-filter="viewNdysBtn">
110
-                <i class="layui-icon layui-icon-file"></i>查看年度预算
111
-            </button>
112
-            <button type="button" class="layui-btn" lay-filter="viewSplistBtn">
113
-                <i class="layui-icon layui-icon-file"></i>审批列表
114
-            </button>
115
-            <button type="button" class="layui-btn" lay-submit lay-filter="saveBtn">
116
-                <i class="layui-icon layui-icon-ok"></i>提交
117
-            </button>
118
-            <button class="layui-btn" lay-filter="cancleBtn">
119
-                <i class="layui-icon layui-icon-close"></i>取消
120
-            </button>
230
+                    <div class="layui-form-item layui-inline" style="width: 100%">
231
+                        <label class="layui-form-label" style="width: 10%">选择常用语</label>
232
+                        <div class="layui-input-inline" style="width: 60%">
233
+                            <select name="xmlx" id="xmlx" lay-filter="xmlx">
234
+                                <option value="">[无]</option>
235
+                                <!--<option th:each="cyyList:${cyyList}" th:text="${cyyList.cyy}"
236
+                                        th:value="${cyyList. id}"></option>-->
237
+                            </select>
238
+                        </div>
239
+                        <button type="button" class="layui-btn" lay-filter="cyySaveBtn" style="width: 80px">常用语</button>
240
+                    </div>
241
+                    <!--        <div class="layui-form-item layui-inline" style="width: 100%">-->
242
+                    <!--            <label class="layui-form-label" style="width: 95px">选择常用语</label>-->
243
+                    <!--            <div class="layui-input-inline" style="width: 750px">-->
244
+                    <!--                <input type="text" id="cyy" name="cyy" class="layui-input" readonly>-->
245
+                    <!--            </div>-->
246
+                    <!--            <button type="button" class="layui-btn" lay-filter="cyySaveBtn" style="width: 80px">常用语</button>-->
247
+                    <!--        </div>-->
248
+                    <div class="layui-form-item layui-inline" style="width: 100%">
249
+                        <label class="layui-form-label" style="width: 10%">提交人</label>
250
+                        <div class="layui-input-inline" style="width: 30%">
251
+                            <input type="hidden" id="tjr" name="tjr" class="layui-input" th:value="${approveInfo.tjr}">
252
+                            <input type="text" id="tjrxm" name="tjrxm" class="layui-input" readonly th:value="${approveInfo.tjrxm}">
253
+                        </div>
254
+                        <label class="layui-form-label" style="width: 10%">提交时间</label>
255
+                        <div class="layui-input-inline" style="width: 25%">
256
+                            <input type="text" id="tjsj" name="tjsj" class="layui-input" readonly th:value="${approveInfo.tjsj}">
257
+                        </div>
258
+                    </div>
259
+                    <div class="layui-form-item layui-inline" style="width: 100%">
260
+                        <label class="layui-form-label" style="width: 10%">审核人</label>
261
+                        <div class="layui-input-inline" style="width: 30%">
262
+                            <input type="hidden" id="userId" name="userId" class="layui-input" th:value="${userInfo.userId}">
263
+                            <input type="hidden" id="shr" name="shr" class="layui-input" th:value="${approveInfo.shr}">
264
+                            <input type="text" id="shrxm" name="shrxm" class="layui-input" th:value="${approveInfo.shrxm}" readonly>
265
+                        </div>
266
+                        <label class="layui-form-label" style="width: 10%">审核时间</label>
267
+                        <div class="layui-input-inline" style="width: 25%">
268
+                            <input type="text" id="shsj" name="shsj" class="layui-input">
269
+                        </div>
270
+                    </div>
271
+
272
+                    <!-- 右侧悬浮按钮 -->
273
+                    <div class="right-bottom-btn">
274
+                    <!--    <button type="button" class="layui-btn" lay-filter="viewNdysBtn">
275
+                            <i class="layui-icon layui-icon-file"></i>查看年度预算
276
+                        </button>-->
277
+                        <button type="button" class="layui-btn" lay-filter="viewSplistBtn">
278
+                            <i class="layui-icon layui-icon-file"></i>审批列表
279
+                        </button>
280
+                        <button type="button" class="layui-btn" lay-submit lay-filter="saveBtn">
281
+                            <i class="layui-icon layui-icon-ok"></i>提交
282
+                        </button>
283
+                        <button class="layui-btn" lay-filter="cancleBtn">
284
+                            <i class="layui-icon layui-icon-close"></i>取消
285
+                        </button>
286
+                    </div>
287
+                </div>
288
+            </form>
121 289
         </div>
290
+        <!-- 审核结束 -->
291
+
292
+    </div>
122 293
     </div>
123 294
 </form>
124 295
 
296
+
125 297
 <script th:src="@{/lib/jquery-3.4.1/jquery-3.4.1.min.js}" charset="utf-8"></script>
126
-<script th:src="@{/lib/layui/layui.js}" charset="utf-8"></script>
298
+<script th:src="@{/lib/layui-v2.6.3/layui.js}" charset="utf-8"></script>
127 299
 <script th:src="@{/lib/coco-message/coco-message.js}" charset="utf-8"></script>
128 300
 <script th:src="@{/lib/xm-select-v1.2.2/xm-select.js}" charset="utf-8"></script>
129 301
 <script th:src="@{/js/lay-config.js}" charset="utf-8"></script>
130 302
 <script type="text/javascript" th:inline="javascript">
303
+// 查看开始
304
+    AjaxUtil.ctx = /*[[@{/}]]*/'';
305
+    layui.use(['form', 'treeTable', 'layCascader', 'tableSelect', 'laydate'], function () {
306
+        var form = layui.form,
307
+            layer = layui.layer,
308
+            treeTable = layui.treeTable,
309
+            laydate = layui.laydate;
310
+
311
+        var rwsId = $("#rws").val(),
312
+            ysId = $("#id").val();
313
+        var zjfy = 0;
314
+
315
+        // 监听查看任务书按钮
316
+        $("button[lay-filter='viewRwsBtn']").click(function () {
317
+            parent.layer.open({
318
+                title: '查看项目任务书',
319
+                type: 2,
320
+                shade: 0.3,
321
+                maxmin: true,
322
+                shadeClose: true,
323
+                area: ['1100px', '750px'],
324
+                content: AjaxUtil.ctx + 'prjProject/forView/' + rwsId,
325
+                end: function (index) {
326
+                    layer.close(index);
327
+                }
328
+            });
329
+            return false;
330
+        });
331
+
332
+        //预算
333
+        var dataBudget = new Array();
334
+        $.ajax({
335
+            url: AjaxUtil.ctx + 'prjAnnualbudgetdetail/list/' + ysId,
336
+            type: "post",
337
+            async: false,
338
+            dataType: "json",
339
+            success: function (result) {
340
+                dataBudget = result;
341
+                for (let i = 0; i < dataBudget.length; i++) {
342
+                    if (dataBudget[i].fymc.indexOf('总计') > -1) {
343
+                        zjfy = i;
344
+                    }
345
+                }
346
+                $("#ndbyj").val(dataBudget[zjfy].byj);
347
+                $("#rwsys").val(dataBudget[zjfy].xmzys);
348
+
349
+            }
350
+        });
351
+
352
+        //经费预算
353
+        var dataBudget1 = new Array();
354
+        $.ajax({
355
+            url: AjaxUtil.ctx + 'prjAnnualbudget/list/' + ysId,
356
+            type: "post",
357
+            async: false,
358
+            dataType: "json",
359
+            success: function (result) {
360
+                dataBudget1 = result;
361
+            }
362
+        });
363
+        var nf = new Array();
364
+        $.ajax({
365
+            url: AjaxUtil.ctx + 'prjAnnualbudget/getNf/' + ysId,
366
+            type: "post",
367
+            async: false,
368
+            dataType: "json",
369
+            success: function (result) {
370
+                nf = result;
371
+            }
372
+        });
373
+        var field = "";
374
+        var title = "已执行情况";
375
+        if (nf.length === 1) {
376
+            field = nf[0].title;
377
+            title = title + nf[0].title;
378
+            nf = new Array();
379
+        }
380
+        let fjArray = []
381
+        fjArray = Array.from(dataBudget1, ({fj}) => fj)
382
+        for (var j = 0; j < dataBudget1.length; j++) {
383
+            if (!fjArray.includes(dataBudget1[j].bm)) {
384
+                setFjBudget(dataBudget1[j].fj);
385
+            }
386
+        }
387
+        treeTable.render({
388
+            elem: '#currentTableId',
389
+            data: dataBudget1,
390
+            skin: 'grid',
391
+            tree: {
392
+                treeColIndex: 1,
393
+                treeSpid: "",   //最上级的父级id
394
+                iconIndex: 1,   // 折叠图标显示在第几列
395
+                isPidData: true,// 是否是id、pid形式数据
396
+                idName: 'bm',  // id字段名称
397
+                pidName: 'fj', // pid字段名称
398
+                arrowType: 'arrow2',
399
+                getIcon: 'ew-tree-icon-style2',
400
+                openName: 'bm'
401
+            },
402
+            treeDefaultClose: false,
403
+            page: false,
404
+            // toolbar: '#toolbarDemo',
405
+            cols: [
406
+                [
407
+                    {type: 'numbers', width: '3%', rowspan: 2},
408
+                    {field: 'fymc', width: '30%', title: '费用名称', rowspan: 2},
409
+                    {field: 'xmzys', width: '12%', title: '项目总预算', rowspan: 2},
410
+                    {field: 'yzxqk' + field, width: '15%', align: 'center', title: title, colspan: nf.length},
411
+                    {field: 'sjyzx', width: '12%', title: '实际已执行', rowspan: 2},
412
+                    {field: 'ysje', width: '10%', title: '预算金额', rowspan: 2},
413
+                    {field: 'xmz', width: '9%', title: '项目组', rowspan: 2},
414
+                    {field: "byj", width: '9%', title: '备用金', rowspan: 2},
415
+                    {field: 'bndsqje', width: '15%', title: '本年度已申请金额'},
416
+                    {field: 'bndbzje', width: '15%', title: '本年度已报账金额'},
417
+                    {field: 'byjysq', width: '11%', title: '备用金已申请'},
418
+                    {field: 'byjybz', width: '11%', title: '备用金已报账'}
419
+                ], nf
420
+            ],
421
+            done: function () {
422
+            }
423
+        });
424
+
425
+        // 监听取消按钮
426
+        $("button[lay-filter='cancleBtn']").click(function () {
427
+            var iframeIndex = parent.layer.getFrameIndex(window.name);
428
+            parent.layer.close(iframeIndex);
429
+        });
430
+
431
+        //父级预算
432
+        function setFjBudget(fj) {
433
+            if (fj != null && fj != '') {
434
+                var xmzys = 0, xmz = 0, byj = 0, xtjsyzx = 0, sjyzx = 0, bndsqje = 0, bndbzje = 0;
435
+                //子节点的值相加
436
+                for (var j = 0; j < dataBudget1.length; j++) {
437
+                    if (fj == dataBudget1[j].fj) {
438
+                        var t1 = parseFloat(dataBudget1[j].xmz);
439
+                        if (!isNaN(t1))
440
+                            xmz += t1;
441
+                        var t2 = parseFloat(dataBudget1[j].byj);
442
+                        if (!isNaN(t2))
443
+                            byj += t2;
444
+                        var t3 = parseFloat(dataBudget1[j].xtjsyzx);
445
+                        if (!isNaN(t3))
446
+                            xtjsyzx += t3;
447
+                        var t4 = parseFloat(dataBudget1[j].sjyzx);
448
+                        if (!isNaN(t4))
449
+                            sjyzx += t4;
450
+                        var t5 = parseFloat(dataBudget1[j].bndsqje);
451
+                        if (!isNaN(t5))
452
+                            bndsqje += t5;
453
+                        var t6 = parseFloat(dataBudget1[j].bndbzje);
454
+                        if (!isNaN(t6))
455
+                            bndbzje += t6;
456
+                    }
457
+                }
458
+                //更新父节点的值
459
+                for (var j = 0; j < dataBudget1.length; j++) {
460
+                    if (fj == dataBudget1[j].bm) {
461
+                        if (xmz == 0)
462
+                            dataBudget1[j].xmz = '';
463
+                        else
464
+                            dataBudget1[j].xmz = xmz.toFixed(2);
465
+                        if (xtjsyzx == 0)
466
+                            dataBudget1[j].xtjsyzx = '';
467
+                        else
468
+                            dataBudget1[j].xtjsyzx = xtjsyzx.toFixed(2);
469
+                        if (sjyzx == 0)
470
+                            dataBudget1[j].sjyzx = '';
471
+                        else
472
+                            dataBudget1[j].sjyzx = sjyzx.toFixed(2);
473
+
474
+                        var ysje = xmz + byj;
475
+                        if (ysje == 0)
476
+                            dataBudget1[j].ysje = "";
477
+                        else
478
+                            dataBudget1[j].ysje = ysje.toFixed(2);
479
+
480
+                        if (bndsqje == 0)
481
+                            dataBudget1[j].bndsqje = "";
482
+                        else
483
+                            dataBudget1[j].bndsqje = bndsqje.toFixed(2);
484
+
485
+                        if (bndbzje == 0)
486
+                            dataBudget1[j].bndbzje = "";
487
+                        else
488
+                            dataBudget1[j].bndbzje = bndbzje.toFixed(2);
489
+                        setFjBudget(dataBudget1[j].fj);
490
+                        break;
491
+                    }
492
+                }
493
+            }
494
+        }
495
+    });
496
+    // 查看结束
497
+
498
+
131 499
     function getInit() {
132 500
         var userId = document.getElementById('userId').value;
133 501
         //初始化常用语
@@ -293,10 +661,17 @@
293 661
                             contentType: "application/json",
294 662
                             data: JSON.stringify(project),
295 663
                             success: function (res) {
296
-                                parent.setUpdateFlag();
664
+                                if (res.code == 0){
665
+
666
+                                    layer.msg(res.message,{icon:1},function () {
667
+                                        parent.setUpdateFlag();
668
+                                        var iframeIndex = parent.layer.getFrameIndex(window.name);
669
+                                        parent.layer.close(iframeIndex);
670
+                                    });
671
+                                }
672
+                                layer.msg(res.message,{icon:2});
673
+
297 674
 
298
-                                var iframeIndex = parent.layer.getFrameIndex(window.name);
299
-                                parent.layer.close(iframeIndex);
300 675
                             },
301 676
                             error: function (error) {
302 677
                             }

+ 3 - 2
src/main/resources/templates/annualbudget/list.html

@@ -565,13 +565,14 @@
565 565
                         "ysje": data[0].ysje
566 566
                     };
567 567
                     var index = layer.open({
568
-                        title: '审批意见',
568
+                        title: '审',
569 569
                         type: 2,
570 570
                         shade: 0.3,
571 571
                         maxmin: true,
572 572
                         shadeClose: true,
573 573
                         area: ['1020px', layerheight + 'px'],
574
-                        content: AjaxUtil.ctx + 'prjAnnualbudget/forApproveUpdate/' + data[0].id + '?spzt=' + data[0].spzt,
574
+                        content: AjaxUtil.ctx
575
+                            + 'prjAnnualbudget/forApproveUpdate/' + data[0].id + '?spzt=' + data[0].spzt,
575 576
                         end: function () {
576 577
                             if (updateflag == 1)
577 578
                                 currTable.reload();