|
@@ -1,10 +1,356 @@
|
|
|
-<!DOCTYPE html>
|
|
|
-<html lang="en">
|
|
|
-<head>
|
|
|
- <meta charset="UTF-8">
|
|
|
- <title>$Title$</title>
|
|
|
-</head>
|
|
|
-<body>
|
|
|
-$END$
|
|
|
-</body>
|
|
|
-</html>
|
|
|
+{{include "com/inc.html"}}
|
|
|
+<!-- Main Header -->
|
|
|
+{{include "com/header.html"}}
|
|
|
+<!-- Left side column. 权限菜单 -->
|
|
|
+{{include "com/menu.html"}}
|
|
|
+<div class="content-wrapper">
|
|
|
+ <section class="content-header">
|
|
|
+ <h1>
|
|
|
+ <small></small>
|
|
|
+ </h1>
|
|
|
+ <ol class="breadcrumb">
|
|
|
+ <li><a href="/front/user"><i class="fa fa-dashboard"></i> 项目列表</a></li>
|
|
|
+ </ol>
|
|
|
+ </section>
|
|
|
+ <!-- Main content -->
|
|
|
+ <section class="content">
|
|
|
+ <div class="row">
|
|
|
+ <div class="col-xs-12">
|
|
|
+ <div class="box">
|
|
|
+ <div class="box-body">
|
|
|
+
|
|
|
+ <div class="form-horizontal">
|
|
|
+ <div class="box-body">
|
|
|
+ <div class="form-group">
|
|
|
+ <label class="col-sm-1 control-label">状态</label>
|
|
|
+ <div class="col-sm-2">
|
|
|
+ <select class="form-control selectpicker" id="pushModelSelect">
|
|
|
+ <option value=-1>全部</option>
|
|
|
+ <option value=0>开启</option>
|
|
|
+ <option value=1>关闭</option>
|
|
|
+ </select>
|
|
|
+ </div>
|
|
|
+ <div class="col-sm-2">
|
|
|
+ <a class="btn btn-sm btn-success margin-r-5" onclick="">查询</a>
|
|
|
+ <a class="btn btn-sm btn-default" onclick="">取消</a>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="form-group" style="margin-left: 20px">
|
|
|
+ <a class="btn btn-sm btn-success margin" onclick="createPro()"><i class="fa fa-fw fa-plus fa-lg"></i>新建</a>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <table id="dataTable" class="table table-bordered table-hover">
|
|
|
+ <thead>
|
|
|
+ <tr>
|
|
|
+ <th></th>
|
|
|
+ <th>公司名称</th>
|
|
|
+ <th>部门名称</th>
|
|
|
+ <th>规则名称</th>
|
|
|
+ <th>项目名称</th>
|
|
|
+ <th>售后人员</th>
|
|
|
+ <th>数据量</th>
|
|
|
+ <th>项目状态</th>
|
|
|
+ <th>完成进度</th>
|
|
|
+ <th>项目时间</th>
|
|
|
+ <th>操作</th>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+ <!-- /.box-body -->
|
|
|
+ </div>
|
|
|
+ <!-- /.box -->
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </section>
|
|
|
+</div>
|
|
|
+
|
|
|
+
|
|
|
+<div class="modal fade" id="modal-create-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">×</button>
|
|
|
+ <div class="edit-info">
|
|
|
+ <span class="glyphicon glyphicon-alert" aria-hidden="true"></span>
|
|
|
+ <span class="h4">新建项目</span>
|
|
|
+ </div>
|
|
|
+ <div class="edit-form">
|
|
|
+ <hr>
|
|
|
+ <div class="form-group">
|
|
|
+ <label class="radio-inline">
|
|
|
+ <input type="radio" name="stype" value="coll" checked>数据库导入
|
|
|
+ </label>
|
|
|
+ <label class="radio-inline">
|
|
|
+ <input type="radio" name="stype" value="excel">Excel表导入
|
|
|
+ </label>
|
|
|
+ </div>
|
|
|
+ <form class="form-horizontal">
|
|
|
+ <div class="box-body">
|
|
|
+ <div class="form-group margin-bottom">
|
|
|
+ <label class="col-sm-3 control-label"><span style="color:red;">* </span>项目名称</label>
|
|
|
+ <div class="col-sm-5">
|
|
|
+ <input type="text" class="form-control" id="project-name" placeholder="项目名称" required>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div id="import-coll">
|
|
|
+ <h5><i class="fa fa-fw fa-angle-down bg-blue"></i>数据来源</h5>
|
|
|
+ <div class="form-group">
|
|
|
+ <label class="col-sm-3 control-label"><span style="color:red;">* </span>数据库名</label>
|
|
|
+ <div class="col-sm-5">
|
|
|
+ <input type="text" class="form-control" id="db-name" value="jyqyfw" readonly>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="form-group">
|
|
|
+ <label class="col-sm-3 control-label"><span style="color:red;">* </span>数据表名</label>
|
|
|
+ <div class="col-sm-5">
|
|
|
+ <input type="text" class="form-control" id="coll-name" value="usermail_history" readonly>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="form-group">
|
|
|
+ <label class="col-sm-3 control-label"><span style="color:red;">* </span>数据导出ID</label>
|
|
|
+ <div class="col-sm-6">
|
|
|
+ <input type="text" class="form-control" id="data-id" placeholder="数据导出ID" required>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div id="import-excel" style="display: none">
|
|
|
+ <h5><i class="fa fa-fw fa-angle-down bg-blue"></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="company-name" placeholder="公司名称" required>
|
|
|
+ </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="dpart-name" placeholder="部门名称">
|
|
|
+ </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="rule-name" placeholder="规则名称">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <h5><i class="fa fa-fw fa-angle-down bg-blue"></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>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <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="coll-save-name" placeholder="数据表名" required>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </form>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="modal-footer">
|
|
|
+ <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>
|
|
|
+ </div>
|
|
|
+</div>
|
|
|
+
|
|
|
+{{include "com/footer.html"}}
|
|
|
+<script>
|
|
|
+ menuActive("group");
|
|
|
+
|
|
|
+ let stype = "coll";
|
|
|
+
|
|
|
+ $(function () {
|
|
|
+ ttable = $('#dataTable').dataTable({
|
|
|
+ "paging": true,
|
|
|
+ "lengthChange": false,
|
|
|
+ "searching": true,
|
|
|
+ "ordering": false,
|
|
|
+ "info": true,
|
|
|
+ "autoWidth": false,
|
|
|
+ "serverSide": true,
|
|
|
+ "ajax": {
|
|
|
+ "url": "/front/group",
|
|
|
+ "type": "post",
|
|
|
+ "data": {"ids": ""}
|
|
|
+ },
|
|
|
+ "language": {
|
|
|
+ "url": "/dist/js/dataTables.chinese.lang"
|
|
|
+ },
|
|
|
+ "fnDrawCallback": function () {
|
|
|
+ $("ul.pagination").prepend(" 转到第 <input type='text' id='changePage' style='width:20px;'> 页 <a type='text' href='javascript:void(0);' id='dataTable-btn' style='text-align:center'>GO</a>");
|
|
|
+ $('#dataTable-btn').click(function (e) {
|
|
|
+ var redirectpage = 0
|
|
|
+ if ($("#changePage").val() && $("#changePage").val() > 0) {
|
|
|
+ var redirectpage = $("#changePage").val() - 1;
|
|
|
+ }
|
|
|
+ ttable.page(redirectpage).draw(false);
|
|
|
+ });
|
|
|
+ this.api().column(0).nodes().each(function(cell, i) {
|
|
|
+ cell.innerHTML = i + 1;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ "columns": [
|
|
|
+ {"data": "", width: "1%"},
|
|
|
+ {"data": "s_entname", width: "5%"},
|
|
|
+ {"data": "s_departname", width: "4%"},
|
|
|
+ {"data": "s_rulename", width: "4%"},
|
|
|
+ {"data": "s_name", width: "4%"},
|
|
|
+ {"data": "s_personname", width: "4%"},
|
|
|
+ {"data": "i_importnum", width: "4%"},
|
|
|
+ {"data": "s_status", width: "4%"},
|
|
|
+ {"data": "", width: "4%"},
|
|
|
+ {"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> '+
|
|
|
+ '<a class="btn btn-sm btn-primary" href="">合并</a> '+
|
|
|
+ '<a class="btn btn-sm btn-info" onclick="del(\''+val+'\')">判重</a> '+
|
|
|
+ '<a class="btn btn-sm btn-default" href="">导出</a> <br>'+
|
|
|
+ '<a class="btn btn-sm btn-primary" href="">上传</a> '+
|
|
|
+ '<a class="btn btn-sm btn-primary" href="">下载</a> '+
|
|
|
+ '<a class="btn btn-sm btn-primary" href="">扣费</a> '+
|
|
|
+ '<a class="btn btn-sm btn-danger" href="">删除</a> '+
|
|
|
+ '</div>';
|
|
|
+ return tmp
|
|
|
+ }}
|
|
|
+ ]
|
|
|
+ });
|
|
|
+
|
|
|
+ $('input[type=radio][name=stype]').change(function() {
|
|
|
+ if (this.value === 'coll') {
|
|
|
+ stype = "coll"
|
|
|
+ $("#import-coll").attr("style", "display:block;")
|
|
|
+ $("#import-excel").attr("style", "display:none;")
|
|
|
+ }
|
|
|
+ else if (this.value === 'excel') {
|
|
|
+ stype = "excel"
|
|
|
+ $("#import-coll").attr("style", "display:none;")
|
|
|
+ $("#import-excel").attr("style", "display:block;")
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+ function del(id) {
|
|
|
+ showConfirm("确定删除该用户组?", function() {
|
|
|
+ $.ajax({
|
|
|
+ url: "",
|
|
|
+ type: 'POST',
|
|
|
+ data: {"id": id},
|
|
|
+ success: function (r) {
|
|
|
+ if (r.rep) {
|
|
|
+ ttable.ajax.reload();
|
|
|
+ } else {
|
|
|
+ showTip("状态修改失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ function createPro() {
|
|
|
+ $("#modal-create-project").modal('show')
|
|
|
+ }
|
|
|
+
|
|
|
+ function cancelModel() {
|
|
|
+ $("#modal-create-project").modal('hide')
|
|
|
+ }
|
|
|
+
|
|
|
+ function importData() {
|
|
|
+ let pname = $('#project-name').val()
|
|
|
+ let savedb = $('#db-save-name').val()
|
|
|
+ let savecoll = $('#coll-save-name').val()
|
|
|
+ if (stype === "coll") {
|
|
|
+ $('#data-id').val()
|
|
|
+ $.ajax({
|
|
|
+ url: "/front/project/save",
|
|
|
+ type: 'POST',
|
|
|
+ data: {"id": id},
|
|
|
+ success: function (r) {
|
|
|
+ if (r.rep) {
|
|
|
+ ttable.ajax.reload();
|
|
|
+ } else {
|
|
|
+ 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("导入失败")
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $(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);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ //展示loading框
|
|
|
+ showLoading = function (){
|
|
|
+ $('#loadingModal').modal({backdrop: 'static', keyboard: false});
|
|
|
+ }
|
|
|
+ //隐藏掉loading框
|
|
|
+ hideLoading = function (){
|
|
|
+ $('#loadingModal').modal('hide');
|
|
|
+ }
|
|
|
+
|
|
|
+</script>
|