Browse Source

no message

Jianghan 3 years ago
parent
commit
58c8376c72

+ 3 - 0
src/front/project.go

@@ -40,6 +40,9 @@ func (f *Front) ProjectList() {
 		count := util.Mgo.Count("f_project", query)
 		f.ServeJson(map[string]interface{}{"draw": draw, "data": *list, "recordsFiltered": count, "recordsTotal": count})
 	} else {
+		query := map[string]interface{}{"s_type": "tag"}
+		info, _ := util.Mgo.Find("v_field", query, nil, map[string]interface{}{"s_name": 1, "s_code": 1}, false, -1, -1)
+		f.T["fields"] = *info
 		_ = f.Render("project/project_list.html", &f.T)
 	}
 }

File diff suppressed because it is too large
+ 5 - 0
src/web/res/dist/css/bootstrap-select.min.css


+ 2 - 0
src/web/templates/com/inc.html

@@ -13,6 +13,7 @@
 	<link rel="stylesheet" href="/dist/css/AdminLTE.min.css">
 	<link rel="stylesheet" href="/dist/css/skins/skin-blue.min.css">
 	<link rel="stylesheet" href="/dist/css/bootstrap-switch.min.css" />
+	<link rel="stylesheet" href="/dist/css/bootstrap-select.min.css">
 	<link rel="stylesheet" href="/plugins/datepicker/bootstrap-datepicker.min.css">
 
 
@@ -34,6 +35,7 @@
 	<script src="/dist/js/bootstrap-switch.min.js"></script>
 	<script src="/plugins/datepicker/bootstrap-datepicker.min.js"></script>
 	<script src="/plugins/datepicker/bootstrap-datepicker.zh-CN.min.js"></script>
+	<script src="/js/bootstrap-select.min.js"></script>
 	<script src="/js/model.js"></script>
 	<script src="/js/com.js"></script>
 </head>

+ 152 - 71
src/web/templates/project/project_list.html

@@ -89,7 +89,7 @@
                 <input type="radio" name="stype" value="excel">Excel表导入
               </label>
             </div>
-            <form class="form-horizontal">
+            <form class="form-horizontal" enctype="multipart/form-data">
               <div class="box-body">
                 <div class="form-group margin-bottom">
                   <label class="col-sm-3 control-label"><span style="color:red;">* </span>项目名称</label>
@@ -98,7 +98,7 @@
                   </div>
                 </div>
                 <div id="import-coll">
-                  <h5><i class="fa fa-fw fa-angle-down bg-blue"></i>数据来源</h5>
+                  <h5><i class="glyphicon glyphicon-bookmark" style="color: #00c4ff;margin-right: 6px"></i>数据来源</h5>
                   <div class="form-group">
                     <label class="col-sm-3 control-label"><span style="color:red;">* </span>数据库名</label>
                     <div class="col-sm-5">
@@ -120,7 +120,7 @@
                 </div>
 
                 <div id="import-excel" style="display: none">
-                  <h5><i class="fa fa-fw fa-angle-down bg-blue"></i>数据信息</h5>
+                  <h5><i class="glyphicon glyphicon-bookmark" style="color: #00c4ff;margin-right: 6px"></i>数据信息</h5>
                   <div class="form-group">
                     <label class="col-sm-3 control-label"><span style="color:red;">* </span>公司名称</label>
                     <div class="col-sm-6">
@@ -139,13 +139,18 @@
                       <input type="text" class="form-control" id="rule-name" placeholder="规则名称">
                     </div>
                   </div>
+                  <div class="form-group">
+                    <label class="col-sm-3 control-label">选择文件</label>
+                    <div class="col-sm-6">
+                      <input type="file" name="file" id="uploadfile">
+                    </div>
+                  </div>
                 </div>
-
-                <h5><i class="fa fa-fw fa-angle-down bg-blue"></i>数据存储</h5>
+                <h5><i class="glyphicon glyphicon-bookmark" style="color: #00c4ff;margin-right: 6px"></i>数据存储</h5>
                 <div class="form-group">
                   <label class="col-sm-3 control-label"><span style="color:red;">* </span>数据库名</label>
                   <div class="col-sm-6">
-                    <input type="text" class="form-control" id="db-save-name" placeholder="数据库名" required>
+                    <input type="text" class="form-control" value="jyqykhfw" readonly>
                   </div>
                 </div>
                 <div class="form-group">
@@ -155,7 +160,6 @@
                   </div>
                 </div>
               </div>
-
             </form>
           </div>
         </div>
@@ -164,28 +168,76 @@
         <input type="button" onclick="importData()" class="btn btn-primary saveBtn" value="导入">
         <input type="button" onclick="cancelModel()" class="btn btn-default" value="取消">
       </div>
-      <iframe srcdoc="<form id='uploadform' method='post' enctype='multipart/form-data' action='/center/importbyexcel'>
-        <input type='file' name='xlsx' /><input type='input' id='excelcoll' name='excelcoll' /></form>"
-              height=0 class="hide" id="fileframe">
-      </iframe>
     </div>
   </div><!-- /.modal -->
 </div>
 
-<div class="modal fade" id="loadingModal" backdrop="static" keyboard="false">
-  <div style="width: 200px;height:100px; z-index: 20000; position: absolute; text-align: center; left: 50%; top: 50%;margin-left:-100px;margin-top:-10px">
-    <div class="progress progress-striped active"
-         style="margin-bottom: 0;height:50px; text-align:center;line-height: 50px;font-size:large;">
-      数据加载中,请稍候......    
+
+<div class="modal fade" id="modal-edit-project" tabindex="-1" role="dialog" aria-hidden="true">
+  <div class="modal-dialog" style="width: 30%">
+    <div class="modal-content">
+      <div class="modal-header">
+        <div class="modal-header">
+          <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+          <div class="edit-info">
+            <span class="glyphicon glyphicon-alert" aria-hidden="true"></span>
+            <span class="h4">编辑项目</span>
+          </div>
+          <div class="edit-form">
+            <hr>
+            <form class="form-horizontal" enctype="multipart/form-data">
+              <div class="box-body">
+                <div class="form-group">
+                  <label class="col-sm-3 control-label">公司名称</label>
+                  <div class="col-sm-5">
+                    <input type="text" class="form-control" id="company-edit-name" readonly>
+                  </div>
+                </div>
+                <div class="form-group">
+                  <label class="col-sm-3 control-label">部门名称</label>
+                  <div class="col-sm-5">
+                    <input type="text" class="form-control" id="dpart-edit-name">
+                  </div>
+                </div>
+                <div class="form-group">
+                  <label class="col-sm-3 control-label">规则名称</label>
+                  <div class="col-sm-5">
+                    <input type="text" class="form-control" id="rule-edit-name">
+                  </div>
+                </div>
+                <div class="form-group">
+                  <label class="col-sm-3 control-label">售后人员</label>
+                  <div class="col-sm-6">
+                    <input type="text" class="form-control" id="edit-person">
+                  </div>
+                </div>
+                <div class="form-group">
+                  <label class="col-sm-3 control-label">选择标注字段</label>
+                  <div class="col-sm-6">
+                    <select class="form-control selectpicker" multiple id="markFieldSelect"></select>
+                  </div>
+                </div>
+              </div>
+            </form>
+          </div>
+        </div>
+      </div>
+      <div class="modal-footer">
+        <input type="button" onclick="saveData()" class="btn btn-primary saveBtn" value="保存">
+        <input type="button" onclick="cancelModel()" class="btn btn-default" value="取消">
+      </div>
     </div>
-  </div>
+  </div><!-- /.modal -->
 </div>
 
+
 {{include "com/footer.html"}}
 <script>
-  menuActive("group");
+  menuActive("project");
 
   let stype = "coll";
+  let fields = {{ .T.fields }}
+  let projectmap = {}
 
   $(function () {
     ttable = $('#dataTable').dataTable({
@@ -197,9 +249,9 @@
       "autoWidth": false,
       "serverSide": true,
       "ajax": {
-        "url": "/front/group",
+        "url": "/front/project",
         "type": "post",
-        "data": {"ids": ""}
+        "data": {}
       },
       "language": {
         "url": "/dist/js/dataTables.chinese.lang"
@@ -230,7 +282,7 @@
         {"data": "", width:"4%"},
         {"data": "_id", width:"11%",render: function (val, a, row, pos) {
             tmp = '<div>' +
-                    '<a class="btn btn-sm btn-primary" href="/front/group/edit?id='+val+'">清洗</a>&nbsp;&nbsp;'+
+                    '<a class="btn btn-sm btn-primary" onclick="editPro(\''+pos.row+'\')">编辑</a>&nbsp;&nbsp;'+
                     '<a class="btn btn-sm btn-primary" href="">合并</a>&nbsp;&nbsp;'+
                     '<a class="btn btn-sm btn-info" onclick="del(\''+val+'\')">判重</a>&nbsp;&nbsp;'+
                     '<a class="btn btn-sm btn-default" href="">导出</a>&nbsp;&nbsp;<br>'+
@@ -256,6 +308,14 @@
         $("#import-excel").attr("style", "display:block;")
       }
     });
+
+    for (var i in fields) {
+      var opt = document.createElement('option');
+      opt.innerText = fields[i]["s_name"];
+      opt.value = fields[i]["s_code"];
+      $('#markFieldSelect')[0].appendChild(opt)
+    }
+    $("#markFieldSelect").selectpicker("refresh");
   });
 
 
@@ -282,75 +342,96 @@
 
   function cancelModel() {
     $("#modal-create-project").modal('hide')
+    $("#modal-edit-project").modal('hide')
   }
 
   function importData() {
-    let pname = $('#project-name').val()
-    let savedb = $('#db-save-name').val()
-    let savecoll = $('#coll-save-name').val()
+    projectmap["s_name"] = $('#project-name').val()
+    projectmap["s_sourceinfo"] = $('#coll-save-name').val()
+    projectmap["s_type"] = stype
     if (stype === "coll") {
-      $('#data-id').val()
+      projectmap["s_historyid"] = $('#data-id').val()
       $.ajax({
         url: "/front/project/save",
         type: 'POST',
-        data: {"id": id},
+        data: projectmap,
         success: function (r) {
           if (r.rep) {
-            ttable.ajax.reload();
+            ttable.api().ajax.reload();
           } else {
-            showTip("状态修改失败");
+            showTip("项目创建成功");
           }
         }
       })
     }else if (stype === "excel") {
-      importbyexcel()
-    }
-  }
-  function importbyexcel(){
-    var importcoll = $("#importcoll").val();
-    if(importcoll == ""){
-      alert("请输入导入表!")
-      return
-    }
-    $("#excelcoll").val(importcoll);
-    $("#fileframe").contents().find("#excelcoll").val(importcoll);
-    var f=$("#fileframe").contents().find("input");
-    f.get(0).click();
-    f.change(function() {
-      var val = $(this).val() ? $(this).val() : "";
-      if (val.indexOf(".xlsx") < 0) {
-        showMsg("文件格式非法",
-                function() {});
-      } else {
-        $(this).parent().submit();
-        showLoading()
-        let ret = setInterval(function () {
-          let f = $(window.frames[0].document).find("form");
-          if (f.length === 0) {
-            hideLoading()
-            var b = $(window.frames[0].document).find("body").text();
-            if (b) {
-              var r = JSON.parse(b)
-              if (r) {
-                console.log(r.msg)
-                alert(r.msg)
-              } else {
-                alert("导入失败")
-              }
+      let formData = new FormData();
+      let file = $('#uploadfile').files[0]
+      if (file) {
+        formData.append("file", file)
+        $.ajax({
+          url: "/front/project/save",
+          type: 'POST',
+          data: formData,
+          cache: false,
+          processData: false,
+          contentType: false,
+          success: function (r) {
+            if (r.rep) {
+              $("#modal-edit-project").modal('hide')
+              ttable.api().ajax.reload();
+            } else {
+              showTip("状态修改失败");
             }
-            $(window.frames[0].document).find("body").append("<form id='uploadform' method='post' enctype='multipart/form-data' action='/center/importbyexcel'><input type='file' name='xlsx' /><input type='input' id='excelcoll' name='excelcoll' /></form>");
           }
-        }, 500);
+        })
+      }else {
+        showTip("请选择上传文件");
       }
-    })
+    }
   }
-  //展示loading框
-  showLoading = function (){
-    $('#loadingModal').modal({backdrop: 'static', keyboard: false});
+
+  function editPro(index) {
+    projectmap = ttable.fnGetData()[index]
+    console.log(projectmap)
+    $('#modal-edit-project').modal('show')
+    $('#company-edit-name').val(projectmap["s_entname"])
+    $('#rule-edit-name').val(projectmap["s_rulename"])
+    $('#dpart-edit-name').val(projectmap["s_departname"])
   }
-  //隐藏掉loading框
-  hideLoading = function (){
-    $('#loadingModal').modal('hide');
+
+  function saveData() {
+    stype = "edit"
+    let tmp = projectmap
+    tmp["s_entname"] = $('#company-edit-name').val()
+    tmp["s_rulename"] = $('#rule-edit-name').val()
+    tmp["s_departname"] = $('#dpart-edit-name').val()
+
+    let fieldArr = $('#markFieldSelect').val();
+    let m = {}
+    if (fieldArr.length > 0) {
+      for (const i in fields) {
+        if (fieldArr.indexOf(fields[i]["s_code"]) > -1) {
+          m[fields[i]["s_code"]] = fields[i]["s_name"]
+        }
+      }
+    }
+    tmp["v_field"] = m
+    if (tmp !== projectmap) {
+      $.ajax({
+        url: "/front/project/save",
+        type: 'POST',
+        data: projectmap,
+        success: function (r) {
+          if (r.rep) {
+            ttable.api().ajax.reload();
+          } else {
+            showTip("保存失败");
+          }
+        }
+      })
+    }else {
+      showTip("未做修改");
+    }
   }
 
 </script>

Some files were not shown because too many files changed in this diff