ipms綜合管理系統的總結
阿新 • • 發佈:2018-04-17
title 詳細信息 滾動 當前 sel nal detail lose resp
添加的項目選項,用到了layui裏面的彈出層,主要的思路是:
在layer.open(彈出層)裏面有個屬性:content裏面寫一個請求,這個請求把所有用到的參數都發送到一個新的頁面addPro,其中項目類型,技術方向,導師這些下拉框裏面的內容是通過數據庫取到的數據,而且是設置了權限,如果是學生的身份登錄的話,可以添加項目,但是項目評價那一項是不能進行評價的,只有當老師身份登錄時,才可以進行一個項目評價.
projectmsg2.js
//點擊添加項目,出現的彈出層 $("#lc-sp-btn2").click(function() { layer.open({ type: 2, title: ‘添加項目‘, shade: 0.5, // 遮罩層 maxmin: true, //開啟最大化最小化按鈕 area: [‘600px‘, ‘90%‘], // 寬高 content: ‘/IPMS/projectmsg/selectDictory.do‘ ,offset: ‘auto‘ ,btnAlign: ‘c‘ ,cancel: function(index, layero){ window.location.reload(); //重載刷新頁面 } }); });
projectcontroller
@RequestMapping("/selectDictory") public String selectDictory(Model md) { List<Projet> list = dataDictoryService.selectDataName(); List<Projet> list2 = dataDictoryService.selectTecal(); List<Userinfo> list3 = userInfoService.selectUserinfo(); //查詢導師姓名 md.addAttribute("tecalist", list2); md.addAttribute("userlist", list3); md.addAttribute("datalist", list); return BASEPATH + "addPro"; }
addPro.jsp
<body> <!-- 要添加的項目 --> <c:if test="${user.op == 20 || user.op == 40 }"> <!-- 給個用戶驗證的判斷 --> <div id="ti">你要添加的項目</div> <form class="layui-form tab" action="${ctx }/projectmsg/insertProject.do" method="post"> <div class="layui-form-item"> <label class="layui-form-label">輸入項目名</label> <div class="layui-input-block"> <input type="text" id="proname" name="title" required lay-verify="required" placeholder="請輸入項目名" autocomplete="off" class="layui-input ming"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">項目類型</label> <div class="layui-input-block ming"> <select name="lei" id="leibie" lay-verify=""> <option value="">請選擇項目類型:</option> <c:forEach var="list" items="${datalist }"> <option value="${list.ids }">${list.dataname }</option> </c:forEach> </select> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">技術方向</label> <div class="layui-input-block ming"> <select name="lei2" id="tecal" lay-verify=""> <option value="">請選擇技術類型:</option> <c:forEach var="list2" items="${tecalist }"> <option value="${list2.ids }">${list2.dataname }</option> </c:forEach> </select> </div> </div> <div class="layui-form-item layui-form-text"> <label class="layui-form-label">項目簡介</label> <div class="layui-input-block"> <textarea name="desc" id="jie" placeholder="請輸入簡介內容" class="layui-textarea ming2"></textarea> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">導師</label> <div class="layui-input-block ming"> <select name="lei3" id="teach" lay-verify=""> <option value="">請選擇導師:</option> <c:forEach var="ulist" items="${userlist }"> <option value="${ulist.ids }">${ulist.realname }</option> </c:forEach> </select> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">完成進度</label> <div class="layui-input-block ming"> <select name="lei4" id="jindu" lay-verify=""> <option value="">請選擇進度:</option> <option value="0">10%</option> <option value="1">30%</option> <option value="2">50%</option> <option value="3">90%</option> <option value="4">100%</option> </select> </div> </div> <c:if test="${user.op == 20 }"> <div class="layui-form-item layui-form-text"> <label class="layui-form-label">項目評價</label> <div class="layui-input-block"> <textarea name="desc2" id="ping" placeholder="請輸入評價內容" class="layui-textarea ming2"></textarea> </div> </div> </c:if> <div class="layui-form-item"> <div class="layui-input-block"> <button class="layui-btn" id="charu" lay-submit lay-filter="formDemo">立即提交</button> <button type="reset" class="layui-btn layui-btn-primary">重置</button> </div> </div> </form> </c:if> </body>
需要說明的是其中給權限用的方法:
op == 20 的是老師登錄,op == 40 的是學生登錄,不同的用戶登陸,顯示的內容不同,能做的事情也不同
點擊查看,提示你現在正在查看的是哪一條內容,點編輯,彈出一個彈出層,顯示的是如何進行各個字段的編輯操作,刪除,會彈出一個對話框,詢問你是否確認刪除,審批,是這樣的,如果此項目已經審批通過了,就不可以進行重復審批了.如果你還是學生登錄的話,那就更不可以進行審批了
projectmsg2.js
$(function() { var table = layui.table; /* * 左競一 */ // 搜索項目,以及修改刪除項目 var laytable = function(demoReload){ // 第一個實例 table.render({ elem: ‘#LAY_table_user‘ ,height: 315 ,url: ‘/IPMS/projectmsg/search.do‘ // 數據接口 ,page: true // 開啟分頁 ,where: { pname: demoReload } ,cols: [[ // 表頭 {checkbox: true, fixed: true} , {field: ‘IDS‘, title: ‘ID‘, width:65, sort: true, fixed: ‘left‘} ,{field: ‘PNAME‘, title: ‘項目名‘, width:100} ,{field: ‘PTYPE‘, title: ‘項目類型‘, width:100, sort: true} ,{field: ‘DIRECTION‘, title: ‘技術方向‘, width:80} ,{field: ‘INTRO‘, title: ‘簡介‘, width: 180} ,{field: ‘UIDS‘, title: ‘導師‘, width: 80, sort: true} ,{field: ‘RATE‘, title: ‘進度‘, width: 50, sort: true} ,{field: ‘APPRAISE‘, title: ‘評價‘, width: 180} ,{field: ‘MARK‘, title: ‘審批結果‘, width: 120} ,{ width: 300, align:‘center‘, toolbar: ‘#barDemo‘,title:‘操作‘,fixed:‘right‘} ]] ,id: ‘testReload‘ ,method: ‘post‘ });// table.render } // 開始 執行 laytable(null); // 綁定點擊事件 $(‘.layui-btn‘).on(‘click‘, function(){ var demoReload = $(‘#demoReload‘).val(); laytable(demoReload); }); // 監聽表格復選框選擇 table.on(‘checkbox(useruv)‘, function(obj){ console.log(obj); }); // 監聽工具條 table.on(‘tool(useruv)‘, function(obj){ // 註:tool是工具條事件名,test是table原始容器的屬性 // lay-filter="對應的值" var data = obj.data // 獲得當前行數據 ,layEvent = obj.event; // 獲得 lay-event 對應的值 if(layEvent === ‘detail‘){ layer.msg(‘你正在對[‘+ data.PNAME + ‘] 項目的查看操作‘); } else if(layEvent === ‘del‘){ layer.confirm(‘真的刪除這一行麽‘, function(index){ // 向服務端發送刪除指令 $.ajax({ dataType : "json", type : "post", url : "/IPMS/projectmsg/delet.do", data : { ids:data.IDS }, success : function(data) { if (data.state==1) { // 刪除這一行 obj.del(); // 關閉彈框 layer.close(index); layer.msg("刪除成功", {icon: 6}); } else { layer.msg("你沒有足夠的權限,刪除失敗", {icon: 5}); } }, error : function() { layer.open({ title : ‘warn‘, content : ‘對不起,你沒有足夠的權限! ‘ }); } });// ajax }); // layer.confirm } else if(layEvent === ‘edit‘){ console.log(data.IDS); layui.element.render();//刷新所有的元素; layui.layer.open({ type: 2 //0(信息框,默認)1(頁面層)2(iframe層)3(加載層)4(tips層) ,title: ‘編輯信息‘ ,area: [‘600px‘, ‘450px‘] ,maxmin: true //最大最小化按鈕 ,offset: ‘auto‘ //位置居中 ,content: ‘/IPMS/projectmsg/qian.do?ids=‘+data.IDS //不出現滾動條 ,‘no‘ ,btnAlign: ‘c‘ ,cancel: function(index, layero){ window.location.reload(); //重載刷新頁面 } }); //彈出層 } else if(layEvent === ‘pass‘){ //審批 layer.confirm(‘確定審批麽‘, function(index){ $.ajax({ dataType : "json", type : "post", url : "/IPMS/projectmsg/pass.do", data : { ids:data.IDS }, success : function(data) { console.log(data.result); if (data.result == 1) { //關閉彈框 layer.close(index); layer.msg("審批成功", {icon: 6}); } else { layer.msg("你沒有足夠的權限,審批失敗", {icon: 5}); } }, error : function() { layer.open({ title : ‘warn‘, content : ‘後臺異常,請聯系管理員! ‘ }); } });// ajax }); // layer.confirm } // else if }); // table.on // 4大 按鈕事件 // 點擊打開 layui標簽 傳入顯示誰 //點擊修改項目,彈出來的數據表格 $("#lc-sp-btn").click(function() { dkbq("#lc-sp-tab") }); //點擊添加項目,出現的彈出層 $("#lc-sp-btn2").click(function() { layer.open({ type: 2, title: ‘添加項目‘, shade: 0.5, // 遮罩層 maxmin: true, //開啟最大化最小化按鈕 area: [‘600px‘, ‘90%‘], // 寬高 content: ‘/IPMS/projectmsg/selectDictory.do‘ ,offset: ‘auto‘ ,btnAlign: ‘c‘ ,cancel: function(index, layero){ window.location.reload(); //重載刷新頁面 } }); }); });
彈出的編輯操作:
projectControllor
/** * 用來從數據字典裏面查詢出來的是類型名稱dataname,從userinfo表裏面查出來的是導師的姓名 * @param mv * 左競一 */ @RequestMapping("/selectDictory") public String selectDictory(Model md) { List<Projet> list = dataDictoryService.selectDataName(); List<Projet> list2 = dataDictoryService.selectTecal(); List<Userinfo> list3 = userInfoService.selectUserinfo(); //查詢導師姓名 md.addAttribute("tecalist", list2); md.addAttribute("userlist", list3); md.addAttribute("datalist", list); return BASEPATH + "addPro"; } /** * index頁面查詢數據所需方法 * 魏萍萍 * @return Projet */ @ResponseBody @RequestMapping("/selectProject") public String selectProject() { JSONObject jo = new JSONObject(); List<Projet> pro = projetService.selectAll(); jo.put("Projet", pro); return jo.toJSONString(); } /** * * 從index頁面往index副頁傳詳細信息 * @param model * @param ids * @return Projet實體 * @author 魏萍萍 * */ @RequestMapping("/selectPj") public String selectPj(Model model,Integer ids) { Projet da = projetService.selectByPrimaryKey(ids); model.addAttribute("Projet", da); return "index_2"; } /** * 左 * 用來查找項目 * @param keyword * @return */ @ResponseBody @RequestMapping("/search") public String searchPro(HttpSession hs,String pname ) { Usertable u = (Usertable)hs.getAttribute("user"); Integer uids = u.getIds(); Integer particulars = u.getParticulars(); Integer op = u.getOp(); JSONObject jo = new JSONObject(); Map<String,Object> map = Myutil.mp(uids,pname,particulars,op); List<Map<String,Object>> list4 = projetService.searchPro(map); if(list4 != null) { jo.put("count", 1000); jo.put("code",0); jo.put("message","null"); jo.put("data", list4); } return jo.toJSONString(); } /** * 刪除項目 ,左 * @param ids * @return */ @ResponseBody @RequestMapping("/delet") public String deletPro(HttpSession hs,Integer ids) { Usertable u = (Usertable)hs.getAttribute("user"); JSONObject jo = new JSONObject(); if (u.getOp() == 20) { int i = projetService.deletPro(ids); jo.put("state", i); } return jo.toJSONString(); } /** * 用來進行項目審批,左 * @param hs * @param p * @return */ @ResponseBody @RequestMapping("/pass") public String updateMark(HttpSession hs,Integer ids) { Usertable u = (Usertable)hs.getAttribute("user"); JSONObject jo = new JSONObject(); if(u.getOp() == 20) { int m = projetService.updateMark(ids); jo.put("result", m); } return jo.toJSONString(); } /** * 彈出層裏面嵌入的表單,左 * @param model * @return */ @RequestMapping("/qian") public String qianYe(Model model,Integer ids) { List<Map<String,Object>> plist = projetService.selectByids(ids); model.addAttribute("plist", plist); return BASEPATH + "edit"; } /** * 用來進行編輯操作 * 左 * @return */ @ResponseBody @RequestMapping("/edit") public String updatePro(Integer ids,String pname,String ptype, String direction,String intro,String uids,String rate,String appraise) { JSONObject jo = new JSONObject(); Map<String,Object> map = Myutil.mp(pname,ptype,direction,intro,uids,rate,appraise,ids); int i2 = projetService.updatePro(map); if (i2 > 0) { jo.put("success", true); }else { jo.put("success", false); } return jo.toJSONString(); } }
edit.jsp
<link rel="stylesheet" href="${ctx }/layui/css/layui.css" /> <link rel="stylesheet" href="${ctx }/css/edit.css" /> <script type="text/javascript" src="${ctx }/js/jquery-3.2.1.min.js"></script> <script type="text/javascript" src="${ctx }/layui/layui.all.js"></script> <script type="text/javascript" src="${ctx }/js/edit.js"></script> </head> <!-- 點編輯按鈕嵌入的頁面,左 --> <body> <!-- 點擊編輯所出現的那個表單 --> <!-- <div class="la"> --> <!-- 左邊出現下拉框 --> <form class="layui-form" action="" method="post" id="tanbiao"> <c:forEach var="list" items="${plist }"> <input type="hidden" id="cang" value="${list.IDS }" /> <c:if test="${user.op == 1 || user.op == 40 }"> <div class="layui-form-item"> <label class="layui-form-label">項目名</label> <div class="layui-input-block"> <input type="text" name="title" required lay-verify="required" autocomplete="off" class="layui-input tan" id="pname" value="${list.PNAME }"> </div> </div> <div class="layui-form-item"> <!-- 類型 --> <label class="layui-form-label">項目類型</label> <div class="layui-input-block"> <input type="text" name="title" required lay-verify="required" autocomplete="off" class="layui-input tan" id="ptype" value="${list.PTYPE }"> </div> </div> <div class="layui-form-item"> <!-- 技術 --> <label class="layui-form-label">技術方向</label> <div class="layui-input-block"> <input type="text" name="title" required lay-verify="required" autocomplete="off" class="layui-input tan" id="direction" value="${list.DIRECTION }"> </div> </div> <div class="layui-form-item layui-form-text"> <!-- 簡介 --> <label class="layui-form-label">項目簡介</label> <div class="layui-input-block"> <textarea name="desc" placeholder="請輸入簡介內容" class="layui-textarea tan2" id="intro">${list.INTRO }</textarea> </div> </div> <!-- 導師 --> <div class="layui-form-item"> <label class="layui-form-label">導師</label> <div class="layui-input-block"> <input type="text" name="title" required lay-verify="required" autocomplete="off" class="layui-input tan" id="uids" value="${list.UIDS }"> </div> </div> <div class="layui-form-item"> <!-- 進度 --> <label class="layui-form-label">進度</label> <div class="layui-input-block"> <input type="text" name="title" required lay-verify="required" autocomplete="off" class="layui-input tan" id="rate" value="${list.RATE }"> </div> </div> </c:if> <c:if test="${user.op == 20}"> <!-- 評價 --> <div class="layui-form-item layui-form-text" style="margin-top: 10px;"> <label class="layui-form-label">項目評價</label> <div class="layui-input-block"> <textarea name="desc" placeholder="請輸入簡介內容" class="layui-textarea tan2" id="appraise">${list.APPRAISE }</textarea> </div> </div> </c:if> </c:forEach> <div class="layui-form-item"> <div class="layui-input-block"> <!-- <button class="layui-btn" id="charu2" lay-submit lay-filter="formDemo">立即提交</button> --> <a class="layui-btn" id="charu2">立即提交</a> </div> </div> </form> <!-- </div> --> <!-- 是用來控制表單出現下拉框的 --> </body>
ipms綜合管理系統的總結