瀏覽代碼

Merge branch 'master' of http://114.55.67.98:8070/Natural_p1/zjugis_OA

songxy 1 年之前
父節點
當前提交
1773173900
共有 1 個文件被更改,包括 65 次插入102 次删除
  1. 65 102
      zjugis-business/src/main/resources/templates/RecruitDemand/js/index.js

+ 65 - 102
zjugis-business/src/main/resources/templates/RecruitDemand/js/index.js

@@ -1,11 +1,18 @@
 (function () {
     let isTimes = []
     let read = z.ui.comm.getUrlParam("read");
+    var addData = null;
     window.onload = function (ex) {
+        addData = $("#addData")
+        addValue();
+        bindEvents();
+    }
 
+    function addValue() {
         let timeObject = document.querySelector('#timeObject')
         let arrays = JSON.parse(timeObject.value)//存在的列表详情
         $("#addData").click(function () {
+            addData.attr('disabled', "true");
             let obj = {
                 post: "",
                 requireNum: "",
@@ -21,7 +28,6 @@
             buildQjsjSeq();
         })
 
-        bindEvents();
 
         if (arrays.length > 0) {
             for (let i = 0; i < arrays.length; i++) {
@@ -36,104 +42,8 @@
                 }
                 isTimes.push(obj)
             }
-            updateView()
-        }
-    }
-
-    function updateView() {
-        let tbodyQjsq = document.querySelector('.tbodyQjsq')
-        let html = ''
-        let dictJson1 = document.querySelector('#dictJson1').value
-        let dictJson2 = document.querySelector('#dictJson2').value
-        for (let i = 0; i < isTimes.length; i++) {
-            html += '<tr class="qjsjClass" id="qjsj_' + i + '" style="background:#fff"> <td name="qjsj_seq">' + (i + 1) + '</td>'
-                + '<td>'/*岗位*/
-                + '<div class="form-item">'
-                + '<div class="z-comp-select" data =\' ' + dictJson1 + '\'  name="RecruitDetailDO[' + i + ']$post">'
-                + '<div class="z-inputselect-bar">'
-                + '<span></span><i></i>'
-                + '</div>'
-                + '</div>'
-                + '</div>'
-                + '</td>'
-                + '<td>'/*需求人数*/
-                + '<div class="form-item">'
-                + '<div class="z-comp-input" name="RecruitDetailDO[' + i + ']$requireNum">'
-                + '<input type="number" value="' + isTimes[i].requireNum + '">'
-                + '</div>'
-                + '</div>'
-                + '</td>'
-                + '<td>'/*已招人数*/
-                + '<div class="form-item">'
-                + '<div class="z-comp-input" name="RecruitDetailDO[' + i + ']$recruitNum">'
-                + '<input type="number" value="' + isTimes[i].recruitNum + '">'
-                + '</div>'
-                + '</div>'
-                + '</td>'
-                + '<td>'/*任职要求*/
-                + '<div class="form-item" >'
-                + '<div class="z-comp-textarea" name="RecruitDetailDO[' + i + ']$jobRequest">'
-                + '<textarea></textarea>'
-                + '</div>'
-                + '</div>'
-                + '</td>'
-                + '<td>'/*岗位职责*/
-                + '<div class="form-item">'
-                + '<div class="z-comp-textarea" name="RecruitDetailDO[' + i + ']$postDuty">'
-                + '<textarea></textarea>'
-                + '</div>'
-                + '</div>'
-                + '</td>'
-                + '<td>'/*落实情况*/
-                + '<div class="form-item">'
-                + '<div class="z-comp-textarea" name="RecruitDetailDO[' + i + ']$remark">'
-                + '<textarea></textarea>'
-                + '</div>'
-                + '</div>'
-                + '</td>'
-                + '<td>'/*所属类别*/
-                + '<div class="form-item">'
-                + '<div class="z-comp-select" data =\' ' + dictJson2 + '\'  name="RecruitDetailDO[' + i + ']$type">'
-                + '<div class="z-inputselect-bar">'
-                + '<span></span><i></i>'
-                + '</div>'
-                + '</div>'
-                + '</div>'
-                + '</td>'
-                + '<td>'
-                + '<div id="delBtn_' + (i) + '" class="table-btn delBtn_' + (i) + '" data-index="' + (i) + '">'
-                + '<span>删除</span>'
-                + '</div>'
-                + '</td>';
-        }
-        tbodyQjsq.innerHTML = html
-        for (let i = 0; i < isTimes.length; i++) {
-            z.ui.textarea("[name='RecruitDetailDO[" + i + "]$jobRequest']").setValue(isTimes[i].jobRequest);
-            z.ui.textarea("[name='RecruitDetailDO[" + i + "]$postDuty']").setValue(isTimes[i].postDuty);
-            z.ui.textarea("[name='RecruitDetailDO[" + i + "]$remark']").setValue(isTimes[i].remark);
-            z.ui.select("[name='RecruitDetailDO[" + i + "]$post']").init();
-            z.ui.select("[name='RecruitDetailDO[" + i + "]$post']").setValue(isTimes[i].post + "");
-            z.ui.select("[name='RecruitDetailDO[" + i + "]$type']").init();
-            z.ui.select("[name='RecruitDetailDO[" + i + "]$type']").setValue(isTimes[i].type + "");
-            $("#delBtn_" + i).click(function () {
-                var index = this.id.substring(this.id.indexOf("_") + 1)
-                z.ui.confirm("compid").init({
-                    content: "确定删除吗?",
-                    onConfirm: function () {
-                        var element = document.getElementById("qjsj_" + index);
-                        element.remove();
-                        buildQjsjSeq();
-                    },
-                    onCancel: function () {
-
-                    }
-                })
-
-            })
-
-
-            if (read === '1') {
-                detailReadonly(i)
+            for (let i = 0; i < arrays.length; i++) {
+                generateTableTrHtml(i);
             }
         }
 
@@ -181,6 +91,31 @@
         }
     }
 
+
+    function detailWrite(i){
+       $ ("#delBtn_" + i).css("display", "block");
+        //设置只读属性
+        $("[name='RecruitDetailDO\\[" + i + "\\]\\$post']").removeClass("z-readonly");
+        $("[name='RecruitDetailDO\\[" + i + "\\]\\$type']").removeClass("z-readonly");
+
+        //设置输入框鼠标不可选
+        $("[name='RecruitDetailDO\\[" + i + "\\]\\$post']").css("pointer-events", "auto");
+        $("[name='RecruitDetailDO\\[" + i + "\\]\\$type']").css("pointer-events", "auto");
+
+
+        let detailElement = document.getElementById("qjsj_" + i);
+        let detailInput = detailElement.getElementsByTagName("input");
+        let detailTextarea = detailElement.getElementsByTagName("textarea");
+        for (let j = 0; j < detailInput.length; j++) {
+            detailInput[j].disabled = false;
+            $(detailInput[j]).removeClass("z-readonly");
+        }
+        for (let j = 0; j < detailTextarea.length; j++) {
+            detailTextarea[j].disabled = false;
+            $(detailTextarea[j]).removeClass("z-readonly")
+        }
+    }
+
     /*
   * all 工作流js传递到业务的参数 success执行的方法
   * istransfer 工作流js传递到业务的参数 是否转件
@@ -280,10 +215,15 @@
             + '</div>'
             + '</div>'
             + '</td>'
-            + '<td>'
+            + '<td style="align-items: center">'
+            + '<div style="display: flex;white-space: nowrap">'
+            + '<div id="editBtn_' + (index) + '" class="table-btn editBtn_' + (index) + '" data-index="' + (index) + '">'
+            + '<span>保存</span>'
+            + '</div>'
             + '<div id="delBtn_' + (index) + '" class="table-btn delBtn_' + (index) + '" data-index="' + (index) + '">'
             + '<span>删除</span>'
             + '</div>'
+            + '</div>'
             + '</td>';
         let trFragment = document.createDocumentFragment();
         trFragment.appendChild(trDom);
@@ -292,6 +232,27 @@
         z.ui.select("[name='RecruitDetailDO[" + index + "]$post']").setValue(isTimes[index].post);
         z.ui.select("[name='RecruitDetailDO[" + index + "]$type']").init();
         z.ui.select("[name='RecruitDetailDO[" + index + "]$type']").setValue(isTimes[index].type);
+
+
+        $("#editBtn_" + index).click(function () {
+            const span = $(this).find("span");
+            const html = span.html();
+            if (html === '编辑') {
+                span.html('保存')
+                detailWrite(index)
+                addData.attr('disabled', "true");
+                $("#qjsj_" + index).removeClass("form-table-disable")
+                return;
+            }
+            if (html === '保存') {
+                span.html('编辑')
+                detailReadonly(index)
+                addData.removeAttr('disabled')
+                $("#qjsj_" + index).addClass("form-table-disable")
+                return;
+            }
+        })
+
         $("#delBtn_" + index).click(function () {
             z.ui.confirm("compid").init({
                 content: "确定删除吗?",
@@ -300,8 +261,6 @@
                     element.remove();
                     buildQjsjSeq();
                     isTimes.splice(index, 1)
-                    updateView()
-
                 },
                 onCancel: function () {
 
@@ -309,6 +268,10 @@
             })
 
         })
+
+        if (read === '1') {
+            detailReadonly(index)
+        }
     }
 }());