Browse Source

删除分组授权码

ting.yin 1 year ago
parent
commit
95ad70d5ba

+ 3 - 0
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/MarkGroupController.java

@@ -387,6 +387,9 @@ public class MarkGroupController extends BaseExamController {
                     examQuestion.setSelectivePart(map.get(examQuestion.getMainNumber()).getSelectivePart());
                 }
             }
+            int percent = group.getLibraryCount() > 0 ? (int) (group.getMarkedCount() * 100.00 / group
+                    .getLibraryCount()) : 0;
+            group.setPercent(percent);
             model.addAttribute("group", group);
             model.addAttribute("questionList", questions);
             model.addAttribute("pictureConfig", group.getPicList());

+ 1 - 1
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/examEdit.jsp

@@ -157,7 +157,7 @@
         <label class="control-label">回评卷数</label>
         <div class="controls">
             <input name="remarkCount" type="number" value="${exam.remarkCount }"
-                   oninput="if(value<0)value=0"/>
+                   oninput="if(value<0)value=0"  class="digits"/>
         </div>
     </div>
     <div class="control-group">

+ 1 - 1
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/examForm.jsp

@@ -153,7 +153,7 @@
         <label class="control-label">回评卷数</label>
         <div class="controls">
             <input name="remarkCount" type="number" value="${exam.remarkCount }"
-                   oninput="if(value<0)value=0"/>
+                   oninput="if(value<0)value=0" class="digits"/>
         </div>
     </div>
     <div class="control-group">

+ 231 - 3
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/groupEditFull.jsp

@@ -5,6 +5,89 @@
     <title>评卷分组修改</title>
     <meta name="decorator" content="default"/>
     <%@include file="/WEB-INF/views/include/head.jsp" %>
+	<style>
+        #deleteDiv {
+            display: none;
+        }
+        .my-form {
+            padding: 0 20px;
+            position: fixed;
+            z-index: 1000;
+            left: 50%;
+            top: 50%;
+            transform: translateX(-50%) translateY(-50%);
+            background: #fff;
+            border-radius: 4px;
+            width: 384px;
+            border: 1px solid #ddd;
+        }
+        .my-form .my-form-head {
+            padding: 15px 0 10px;
+            position: relative;
+        }
+        .my-form .my-form-head .close-icon {
+            position: absolute;
+            right: -10px;
+            top: 14px;
+            width: 24px;
+            cursor: pointer;
+        }
+        .my-form .my-form-head .title-box {
+            padding-right: 30px;
+            display: flex;
+            align-items: center;
+        }
+        .my-form .my-form-head .title-box .title {
+            font-size: 16px;
+            font-weight: bold;
+            margin-left: 6px;
+        }
+        .my-form .my-form-head .title-box .warning-icon {
+            width: 24px;
+        }
+        .my-form .sub-title {
+            color: #595959;
+            line-height: 22px;
+            font-size: 14px;
+            padding-left: 30px;
+        }
+        .my-form .sub-title span {
+            color: #F53F3F;
+        }
+        .my-form .my-form-body {
+            padding: 20px 0;
+        }
+        .my-form .my-form-body .gray-bg {
+            background: #F0F0F0;
+            border-radius: 4px;
+            padding: 30px 20px 20px;
+        }
+        .my-form-item {
+            display: flex;
+            align-items: flex-start;
+        }
+        .my-form-item label {
+            font-size: 14px;
+            color: #595959;
+            width: 120px;
+            line-height: 30px;
+        }
+        .my-form-item .control-box {
+            flex: 1;
+        }
+        .my-form-item .control-box .error-tip {
+            height: 24px;
+            line-height: 20px;
+            font-size: 12px;
+            color: #F53F3F;
+        }
+        .my-form-foot {
+            display: flex;
+            justify-content: space-between;
+            align-items: center;
+            padding: 5px 0 15px 0;
+        }
+    </style>
     <script type="text/javascript">
         $(document).ready(function () {
             var pictureConfig = '${pictureConfig}';
@@ -228,12 +311,58 @@
     <div class="form-actions">
         <a id="btnSubmit" href="##" class="btn btn-primary">保 存</a>&nbsp;
         <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-group-delete')}">
-        <a href="${ctx}/admin/exam/group/delete?subjectCode=${group.subjectCode}&number=${group.number}" data-number="${group.number}" class="delete-button btn btn-danger">删除</a>&nbsp;
+        <a href="#" class="delete-button btn btn-danger">删除</a>&nbsp;
         </c:if>
         <a id="btnPre" class="btn">上一步</a>
     </div>
 </div>
 </form:form>
+	<div id="deleteDiv" class="my-form form-horizontal">
+        <div class="my-form-head">
+            <div class="title-box">
+                <img src="${ctxStatic}/images/dialog_warning_icon.png" class="warning-icon" />
+                <span class="title"></span>
+            </div>
+            <img src="${ctxStatic}/images/dialog_close_icon.png" class="close-icon" onclick="deleteDivHide()"/>
+        </div>
+        <div class="sub-title sub-title1">
+            删除分组将会<span>清掉已完成</span>的评卷任务及评卷员信息,确认删除吗?
+        </div>
+        <div class="sub-title sub-title2">
+            确认删除,请联系大区经理获取授权码
+        </div>
+        <div class="my-form-body">
+            <div class="gray-bg">
+                <div class="my-form-item subjectCode">
+                    <label>输入删除科目代码</label>
+                    <div class="control-box">
+                        <input type="text" id="subjectCode">
+                        <div class="error-tip"></div>
+                    </div>
+                </div>
+                <div class="my-form-item groupNumber">
+                    <label>输入删除分组序号</label>
+                    <div class="control-box">
+                        <input type="text" id="groupNumber">
+                        <div class="error-tip"></div>
+                    </div>
+                </div>
+                <div class="my-form-item authCode">
+                    <label>输入授权码</label>
+                    <div class="control-box">
+                        <input type="text" id="authCode">
+                        <div class="error-tip"></div>
+                    </div>
+                </div>
+
+            </div>
+        </div>
+        <div class="my-form-foot">
+            <button class="btn btn-primary" onclick="dialogObj.validate()">确认</button>
+            <button class="btn btn-default" onclick="deleteDivHide()">取消</button>
+        </div>
+    </div>
+
 <script type="text/javascript">
     $('#btnSubmit').click(function () {
     	if($("#arbitrateThreshold").val()<0){
@@ -252,14 +381,113 @@
         }
     	var r=confirm("是否确定删除原分组任务,生成新的分组任务?");
         if (r==true){
+        	$('#inputForm').attr("action","${ctx}/admin/exam/group/update");
 	        $('#inputForm').submit();
         }
     });
 
     $('.delete-button').click(function () {
-        var number = $(this).attr('data-number');
-        return confirm('确定要删除第' + number + '分组吗?相关评卷任务与评卷员都将一并删除!');
+    	var subjectCode = '${group.subjectCode}';
+    	var groupNumber = '${group.number}';
+    	var progress = '${group.percent}';
+    	dialogObj = createDialog();
+        dialogObj.initDialog({ progress: progress, subjectCode: subjectCode, groupNumber: groupNumber }, function (initParams,deleteCode) { 
+	        //这个回调方法里写进度小余10%的业务分支
+        	if(deleteCode!=null && deleteCode!=''){
+        		$("#inputForm").attr("action","${ctx}/admin/exam/group/delete?deleteCode="+deleteCode);
+        		$("#inputForm").submit();
+        	}else{
+        		$("#inputForm").attr("action","${ctx}/admin/exam/group/delete");
+        		$("#inputForm").submit();
+        	}
+    	}) 
+        //return confirm('确定要删除第' + groupNumber + '分组吗?相关评卷任务与评卷员都将一并删除!');
     });
 </script>
+<script>
+function deleteDivHide(){
+	 $('#deleteDiv').hide();
+}
+var dialogObj=null;
+function createDialog() {
+	return {
+        initParams: {},
+        setDialogTitle: function (index) {
+            if (index < 4) {
+                $('#deleteDiv .title').html('第' + index + '次警告');
+                $('.sub-title1,.subjectCode,.groupNumber').show();
+                $('.sub-title2,.authCode').hide();
+
+            } else {
+                $('#deleteDiv .title').html('删除分组授权码');
+                $('.sub-title1,.subjectCode,.groupNumber').hide();
+                $('.sub-title2,.authCode').show();
+            }
+        },
+        validate: function () {
+            if (this.warningIndex <= 3) {
+                var subjectCodeVal = $('.subjectCode input').val();
+                var groupNumberVal = $('.groupNumber input').val();
+                $('.subjectCode input+.error-tip').html(!subjectCodeVal?'请输入要删除的科目代码':subjectCodeVal != this.initParams.subjectCode?'输入的科目代码不正确':'')
+                $('.groupNumber input+.error-tip').html(!groupNumberVal?'请输入要删除的分组序号':groupNumberVal != this.initParams.groupNumber?'输入的分组序号不正确':'')
+
+                if (!subjectCodeVal || !groupNumberVal || subjectCodeVal != this.initParams.subjectCode || groupNumberVal != this.initParams.groupNumber) {
+                    return;
+                } else {
+                    this.next();
+                }
+            } else if (this.warningIndex == 4) {
+                var authCodeVal = $('.authCode input').val();
+                if(!authCodeVal){
+                    $('.authCode input+.error-tip').html('请输入授权码');
+                    return;
+                }else{
+                    $('.authCode input+.error-tip').html('');
+                    this.next();
+                }
+            }
+
+        },
+        next() {
+            if (this.warningIndex == 4) {
+                this.callback(this.initParams,$('.authCode input').val());
+            } else if (this.times <= 3 && this.times == this.warningIndex) {
+                this.callback(this.initParams);
+            } else {
+                $('.subjectCode input+.error-tip').html('');
+                $('.subjectCode input,.groupNumber input').val('')
+                $('.groupNumber input+.error-tip').html('');
+                this.warningIndex++;
+                this.setDialogTitle(this.warningIndex);
+            }
+        },
+        warningIndex: 1,//当前正在进行的第几次输入
+        times: 0,//需要重复输入的次数
+        callback:null,
+        initDialog: function (initParams, callBack) {
+            this.initParams = initParams;
+            var progress = initParams.progress;
+            if(callBack){
+                this.callback = callBack;
+                if (progress <= 10) {
+                    callBack(initParams);
+                    return;
+                }
+            }
+            this.times = progress <= 80 ? 2 : progress >= 80 && progress < 100 ? 3 : 4;
+            this.warningIndex = 1;
+            $('#deleteDiv').show();
+            this.setDialogTitle(this.warningIndex);
+        },
+        submit: function (index) {
+            console.log('你最开始传入的基础参数initParams为:',this.initParams);
+            if(this.warningIndex==4){
+                console.log('你输入的授权码为:'+$('.authCode input').val())
+            }
+        }
+    }
+   
+}
+</script>
 </body>
 </html>

+ 3 - 4
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/paperList.jsp

@@ -70,9 +70,9 @@
         </select>
         <label>选做科目</label>
         <select class="input-small" name="selective" id="selective-select">
-            <option value="">不限</option>
-            <option value="true" <c:if test="${query.selective}">selected</c:if>>是</option>
-            <option value="false" <c:if test="${!query.selective}">selected</c:if>>否</option>
+            <option value="" <c:if test="${query.selective==null}">selected</c:if>>不限</option>
+            <option value="true" <c:if test="${query.selective!=null && query.selective}">selected</c:if>>是</option>
+            <option value="false" <c:if test="${query.selective!=null && !query.selective}">selected</c:if>>否</option>
         </select>
         <label>专业类型</label>
         <select class="input-small" name="category" id="category-select">
@@ -249,7 +249,6 @@
     var subjectData = subjectString.split(","); 
     var scoreString = "${totalScoreList}";
     var scoreData = scoreString.split(",");
-    debugger;
     myChart.setOption({
     	title: {
             text: '科目总分统计'

BIN
stmms-web/src/main/webapp/static/images/dialog_close_icon.png


BIN
stmms-web/src/main/webapp/static/images/dialog_warning_icon.png