Pārlūkot izejas kodu

modal.ejs 方法重写,分离到每个组件中

laiguoran 7 gadi atpakaļ
vecāks
revīzija
0133034e59

+ 4 - 4
app/base/base_controller.js

@@ -45,9 +45,10 @@ class BaseController extends Controller {
      *
      * @param {String} view - 渲染的view
      * @param {Object} data - 渲染的数据
+     * @param {String} modal - 渲染的modal
      * @return {void}
      */
-    async layout(view, data = {}) {
+    async layout(view, data = {}, modal = '') {
         data.moment = moment;
         // 获取消息提示
         const message = this.ctx.session.message;
@@ -55,15 +56,14 @@ class BaseController extends Controller {
         this.ctx.session.message = null;
 
         const viewString = await this.ctx.renderView(view, data);
+        const modalString = modal === '' ? '' : await this.ctx.renderView(modal, data);
         const renderData = {
             content: viewString,
             message: JSON.stringify(message),
+            modal: modalString,
             dropDownMenu: data.dropDownMenu === undefined ? [] : data.dropDownMenu,
             breadCrumb: data.breadCrumb === undefined ? '' : data.breadCrumb,
             tenderList: data.tenderList === undefined ? [] : data.tenderList,
-            tenderInfo: data.tenderInfo === undefined ? [] : data.tenderInfo,
-            tenderType: data.tenderType === undefined ? '' : data.tenderType,
-            tenderConst: data.tenderConst === undefined ? [] : data.tenderConst,
         };
         await this.ctx.render('layout/layout.ejs', renderData);
     }

+ 1 - 1
app/controller/measure_controller.js

@@ -62,7 +62,7 @@ module.exports = app => {
                     tenderList
                 };
 
-                await this.layout('measure/stage.ejs', renderData);
+                await this.layout('measure/stage.ejs', renderData, 'measure/stage-modal.ejs');
             }
 
         }

+ 1 - 1
app/controller/tender_controller.js

@@ -46,7 +46,7 @@ module.exports = app => {
                 jsValidator,
                 tenderType
             };
-            await this.layout('tender/index.ejs', renderData);
+            await this.layout('tender/index.ejs', renderData, 'tender/modal.ejs');
         }
 
         /**

+ 1 - 1
app/view/layout/layout.ejs

@@ -74,7 +74,7 @@
     <i class="icon fa"></i>
     <span class="message"></span>
 </div>
-<% include ./modal.ejs %>
+<%- modal %>
 <script type="text/javascript">
     let toastInfo = '<%- message %>';
     try {

+ 0 - 113
app/view/layout/modal.ejs

@@ -64,118 +64,5 @@
         </div>
     </div>
 </div>
-<% if(ctx.controllerName == 'tender' && ctx.actionName == '')  { %>
-<!--弹出添加标段-->
-<div class="modal fade" id="add-bd" data-backdrop="static">
-    <div class="modal-dialog" role="document">
-        <form method="post" action="/tender/add">
-            <div class="modal-content">
-                <div class="modal-header">
-                    <h5 class="modal-title">添加新标段</h5>
-                </div>
-                <div class="modal-body">
-                    <div class="form-group">
-                        <label>标段名称<b class="text-danger">*</b></label>
-                        <input class="form-control"  placeholder="输入标段名称" type="text" name="name" />
-                    </div>
-                    <div class="form-group">
-                        <label>标段类型</label>
-                        <select class="form-control" name="type">
-                            <% for(const index in tenderConst.typeString) { %>
-                            <option value="<%= index %>"<% if(tenderType == index) { %> selected<% } %>><%= tenderConst.typeString[index] %></option>
-                            <% } %>
-                        </select>
-                    </div>
-                </div>
-                <div class="modal-footer">
-                    <input type="hidden" name="_csrf" value="<%= ctx.csrf %>"/>
-                    <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
-                    <button type="submit" class="btn btn-primary">确定添加</button>
-                </div>
-            </div>
-        </form>
-    </div>
-</div>
 
-<!--弹出编辑标段-->
-<div class="modal fade" id="save-bd" data-backdrop="static">
-    <div class="modal-dialog" role="document">
-        <form method="post" action="/tender/save">
-            <div class="modal-content">
-                <div class="modal-header">
-                    <h5 class="modal-title">编辑标段</h5>
-                </div>
-                <div class="modal-body">
-                    <div class="form-group">
-                        <label>标段名称<b class="text-danger">*</b></label>
-                        <input class="form-control" value="" id="savename" name="name" placeholder="输入标段名称" type="text">
-                    </div>
-                    <div class="form-group">
-                        <label>标段类型</label>
-                        <select class="form-control" name="type" id="savetype">
-                            <% for(const index in tenderConst.typeString) { %>
-                            <option value="<%= index %>"<% if(tenderType == index) { %> selected<% } %>><%= tenderConst.typeString[index] %></option>
-                            <% } %>
-                        </select>
-                    </div>
-                </div>
-                <div class="modal-footer">
-                    <input type="hidden" name="_csrf" value="<%= ctx.csrf %>"/>
-                    <input type="hidden" name="tenderId" value="" id="saveid">
-                    <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
-                    <button type="submit" class="btn btn-primary">确定修改</button>
-                </div>
-            </div>
-        </form>
-    </div>
-</div>
-
-<!--删除标段-->
-<div class="modal fade" id="del-bd" data-backdrop="static">
-    <div class="modal-dialog" role="document">
-        <form method="post" action="/tender/delete">
-            <div class="modal-content">
-                <div class="modal-header">
-                    <h5 class="modal-title">确认删除标段</h5>
-                </div>
-                <div class="modal-body">
-                    <h5>删除后,数据无法恢复,请谨慎操作。</h5>
-                </div>
-                <div class="modal-footer">
-                    <input type="hidden" name="_csrf" value="<%= ctx.csrf %>"/>
-                    <input type="hidden" name="tenderId" value="" id="delid">
-                    <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
-                    <button type="submit" class="btn btn-danger">确定删除</button>
-                </div>
-            </div>
-        </form>
-    </div>
-</div>
-<% } %>
 
-<% if(ctx.controllerName == 'measure' && ctx.actionName == 'stage')  { %>
-<!--弹出添加标段-->
-<div class="modal fade" id="add-qi" data-backdrop="static">
-    <div class="modal-dialog" role="document">
-        <div class="modal-content">
-            <div class="modal-header">
-                <h5 class="modal-title">添加新一期</h5>
-            </div>
-            <div class="modal-body">
-                <div class="form-group">
-                    <label>期</label>
-                    <input class="form-control" value="第 4 期" type="text">
-                </div>
-                <div class="form-group">
-                    <label>计量月份</label>
-                    <input class="form-control" type="month">
-                </div>
-            </div>
-            <div class="modal-footer">
-                <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
-                <button type="button" class="btn btn-primary">确定添加</button>
-            </div>
-        </div>
-    </div>
-</div>
-<% } %>

+ 24 - 0
app/view/measure/stage-modal.ejs

@@ -0,0 +1,24 @@
+<!--弹出添加标段-->
+<div class="modal fade" id="add-qi" data-backdrop="static">
+    <div class="modal-dialog" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title">添加新一期</h5>
+            </div>
+            <div class="modal-body">
+                <div class="form-group">
+                    <label>期</label>
+                    <input class="form-control" value="第 4 期" type="text">
+                </div>
+                <div class="form-group">
+                    <label>计量月份</label>
+                    <input class="form-control" type="month">
+                </div>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
+                <button type="button" class="btn btn-primary">确定添加</button>
+            </div>
+        </div>
+    </div>
+</div>

+ 86 - 0
app/view/tender/modal.ejs

@@ -0,0 +1,86 @@
+<!--弹出添加标段-->
+<div class="modal fade" id="add-bd" data-backdrop="static">
+    <div class="modal-dialog" role="document">
+        <form method="post" action="/tender/add">
+            <div class="modal-content">
+                <div class="modal-header">
+                    <h5 class="modal-title">添加新标段</h5>
+                </div>
+                <div class="modal-body">
+                    <div class="form-group">
+                        <label>标段名称<b class="text-danger">*</b></label>
+                        <input class="form-control"  placeholder="输入标段名称" type="text" name="name" />
+                    </div>
+                    <div class="form-group">
+                        <label>标段类型</label>
+                        <select class="form-control" name="type">
+                            <% for(const index in tenderConst.typeString) { %>
+                            <option value="<%= index %>"<% if(tenderType == index) { %> selected<% } %>><%= tenderConst.typeString[index] %></option>
+                            <% } %>
+                        </select>
+                    </div>
+                </div>
+                <div class="modal-footer">
+                    <input type="hidden" name="_csrf" value="<%= ctx.csrf %>"/>
+                    <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
+                    <button type="submit" class="btn btn-primary">确定添加</button>
+                </div>
+            </div>
+        </form>
+    </div>
+</div>
+
+<!--弹出编辑标段-->
+<div class="modal fade" id="save-bd" data-backdrop="static">
+    <div class="modal-dialog" role="document">
+        <form method="post" action="/tender/save">
+            <div class="modal-content">
+                <div class="modal-header">
+                    <h5 class="modal-title">编辑标段</h5>
+                </div>
+                <div class="modal-body">
+                    <div class="form-group">
+                        <label>标段名称<b class="text-danger">*</b></label>
+                        <input class="form-control" value="" id="savename" name="name" placeholder="输入标段名称" type="text">
+                    </div>
+                    <div class="form-group">
+                        <label>标段类型</label>
+                        <select class="form-control" name="type" id="savetype">
+                            <% for(const index in tenderConst.typeString) { %>
+                            <option value="<%= index %>"<% if(tenderType == index) { %> selected<% } %>><%= tenderConst.typeString[index] %></option>
+                            <% } %>
+                        </select>
+                    </div>
+                </div>
+                <div class="modal-footer">
+                    <input type="hidden" name="_csrf" value="<%= ctx.csrf %>"/>
+                    <input type="hidden" name="tenderId" value="" id="saveid">
+                    <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
+                    <button type="submit" class="btn btn-primary">确定修改</button>
+                </div>
+            </div>
+        </form>
+    </div>
+</div>
+
+<!--删除标段-->
+<div class="modal fade" id="del-bd" data-backdrop="static">
+    <div class="modal-dialog" role="document">
+        <form method="post" action="/tender/delete">
+            <div class="modal-content">
+                <div class="modal-header">
+                    <h5 class="modal-title">确认删除标段</h5>
+                </div>
+                <div class="modal-body">
+                    <h5>删除后,数据无法恢复,请谨慎操作。</h5>
+                </div>
+                <div class="modal-footer">
+                    <input type="hidden" name="_csrf" value="<%= ctx.csrf %>"/>
+                    <input type="hidden" name="tenderId" value="" id="delid">
+                    <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
+                    <button type="submit" class="btn btn-danger">确定删除</button>
+                </div>
+            </div>
+        </form>
+    </div>
+</div>