|
@@ -0,0 +1,815 @@
|
|
|
+{{include "com/inc.html"}}
|
|
|
+<!-- Main Header -->
|
|
|
+{{include "com/header.html"}}
|
|
|
+<!-- Left side column. 权限菜单 -->
|
|
|
+{{include "com/menu.html"}}
|
|
|
+<style>
|
|
|
+</style>
|
|
|
+<div class="content-wrapper">
|
|
|
+ <section class="content-header">
|
|
|
+ <h1>编辑客户
|
|
|
+ </h1>
|
|
|
+ <ol class="breadcrumb">
|
|
|
+ <li><a href="#"><i class="fa fa-dashboard"></i> 首页</a></li>
|
|
|
+ <li><a href="/service/customer/list"> 客户列表</a></li>
|
|
|
+ <li><a href="#"> 编辑客户</a></li>
|
|
|
+ </ol>
|
|
|
+ </section>
|
|
|
+ <!-- Main content -->
|
|
|
+ <section class="content">
|
|
|
+ <div class="tab-content">
|
|
|
+ <div class="nav-tabs-custom">
|
|
|
+ <ul class="nav nav-tabs edit-step">
|
|
|
+ <li class="active" data-mode="guide"><a href="#tab_1" data-toggle="tab" aria-expanded="true">客户信息</a></li>
|
|
|
+ <li data-mode="guide" class="tab_2"><a href="#tab_2" data-toggle="tab" aria-expanded="false">私有标签</a></li>
|
|
|
+ </ul>
|
|
|
+ <div class="tab-content">
|
|
|
+
|
|
|
+ <div class="tab-pane active" id="tab_1">
|
|
|
+ <form class="form-horizontal">
|
|
|
+ <div class="box box-primary">
|
|
|
+ <div class="box-header with-border">
|
|
|
+ <i class="fa fa-tag"></i>
|
|
|
+ <h3 class="box-title">基本信息</h3>
|
|
|
+ <a class="btn btn-primary btn-sm" style="float: right;margin-top: 7px;margin-right: 10px" onclick="saveCuser()"><i class="fa fa-fw fa-file-text fa-lg"></i>保存</a>
|
|
|
+ </div>
|
|
|
+ <div class="box-body">
|
|
|
+ <div class="form-group">
|
|
|
+ <label class="col-sm-2 control-label"><span style="color:red;">* </span>客户名称</label>
|
|
|
+ <div class="col-sm-2">
|
|
|
+ <input type="text" class="form-control" id="customername" placeholder="公司名称"
|
|
|
+ value="{{.T.data.s_name}}" required>
|
|
|
+ </div>
|
|
|
+ <label class="col-sm-2 control-label"><span style="color:red;">* </span>销售人员</label>
|
|
|
+ <div class="col-sm-2">
|
|
|
+ <input type="text" class="form-control" id="seller" placeholder="销售人员名称"
|
|
|
+ value="{{.T.data.s_salesperson}}" required>
|
|
|
+ </div>
|
|
|
+ <label class="col-sm-2 control-label">客户联系人</label>
|
|
|
+ <div class="col-sm-2">
|
|
|
+ <input type="text" class="form-control" id="contract" placeholder="客户联系人名称"
|
|
|
+ value="{{.T.data.s_customername}}">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div id="pushDiv">
|
|
|
+ <div class="box-header with-border">
|
|
|
+ <i class="fa fa-tag"></i>
|
|
|
+ <h3 class="box-title">企业客户信息</h3>
|
|
|
+ </div>
|
|
|
+ <div class="box-body">
|
|
|
+ <div class="form-group">
|
|
|
+ <label class="col-sm-2 control-label"><span style="color:red;">* </span>推送模式</label>
|
|
|
+ <div class="col-sm-2">
|
|
|
+ <select class="form-control selectpicker" id="pushModelSelect">
|
|
|
+ <option value=0>全局模式</option>
|
|
|
+ <option value=1>部门模式</option>
|
|
|
+ <option value=3>部门+标签模式</option>
|
|
|
+ <option value=4>规则模式(不去重)</option>
|
|
|
+ </select>
|
|
|
+ </div>
|
|
|
+ <label class="col-sm-2 control-label"><span style="color:red;">* </span>推送方式</label>
|
|
|
+ <div class="col-sm-2">
|
|
|
+ <select class="form-control selectpicker" id="pushTypeSelect">
|
|
|
+ <option value=0 code="email">邮箱</option>
|
|
|
+ <option value=1 code="interface">接口</option>
|
|
|
+ </select>
|
|
|
+ </div>
|
|
|
+ <label class="col-sm-2 control-label">数据扩展</label>
|
|
|
+ <div class="col-sm-2">
|
|
|
+ <select class="form-control selectpicker" multiple id="expandSelect">
|
|
|
+ <option value="hospitalgrade" >医院等级</option>
|
|
|
+ <option value="enterpise" >企业信息</option>
|
|
|
+ </select>
|
|
|
+ <script>
|
|
|
+ $('#expandSelect').on('hide.bs.select', function () {
|
|
|
+ var arr = $('#expandSelect').val();
|
|
|
+ var arrStr = "";
|
|
|
+ for (var i in arr) {
|
|
|
+ if (arrStr === "") {
|
|
|
+ arrStr = arr[i]
|
|
|
+ } else {
|
|
|
+ arrStr = arrStr + "," + arr[i]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ dataMap["s_extends"] = arrStr
|
|
|
+ })
|
|
|
+ </script>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="box-header with-border">
|
|
|
+ <i class="fa fa-tag"></i>
|
|
|
+ <h3 class="box-title">部门信息</h3>
|
|
|
+ </div>
|
|
|
+ <table id="departTable" class="table table-bordered">
|
|
|
+ <thead>
|
|
|
+ <div style="margin: 10px 10px 0px;">
|
|
|
+ <a class="btn btn-default" onclick="showDepart()">新增</a>
|
|
|
+ <a class="btn btn-default" onclick="modify_Depart()">修改</a>
|
|
|
+ <a class="btn btn-default" onclick="del_Depart()">删除</a>
|
|
|
+ <a class="btn btn-default" onclick="select_Depart()">选择</a>
|
|
|
+ </div>
|
|
|
+ <tr>
|
|
|
+ <th></th>
|
|
|
+ <th>编号</th>
|
|
|
+ <th>部门名称</th>
|
|
|
+ <th>部门联系人</th>
|
|
|
+ <th>修改时间</th>
|
|
|
+ <th>是否启用</th>
|
|
|
+ <th>功能</th>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </form>
|
|
|
+ </div>
|
|
|
+ <div class="tab-pane" id="tab_2">
|
|
|
+ <div class="box box-primary">
|
|
|
+ <div class="box-header with-border">
|
|
|
+ <i class="fa fa-bookmark"></i>
|
|
|
+ <h3 class="box-title">私有标签</h3>
|
|
|
+ <a class="btn btn-primary btn-sm" style="float: right;margin-top: 7px;margin-right: 10px" href="/service/euser/tag/edit?cid={{.T.data._id}}"><i class="fa fa-fw fa-file-code-o fa-lg"></i>新建标签</a>
|
|
|
+ </div>
|
|
|
+ <table id="tagrule" class="table table-bordered">
|
|
|
+ <thead>
|
|
|
+ <tr>
|
|
|
+ <th>编号</th>
|
|
|
+ <th>标签名称</th>
|
|
|
+ <th>修改时间</th>
|
|
|
+ <th>启用状态</th>
|
|
|
+ <th>操作</th>
|
|
|
+ <th>功能</th>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </section>
|
|
|
+</div>
|
|
|
+
|
|
|
+<!-- 新增部门 -->
|
|
|
+<div class="modal fade" id="modal-add-depart" tabindex="-1" role="dialog" aria-hidden="true">
|
|
|
+ <div class="modal-dialog" style="width: 50%">
|
|
|
+ <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-form">
|
|
|
+ <div class="edit-info">
|
|
|
+ <span class="glyphicon glyphicon-ok-sign" aria-hidden="true"></span>
|
|
|
+ <span>新增部门</span>
|
|
|
+ </div>
|
|
|
+ <form class="form-horizontal">
|
|
|
+ <div class="form-group">
|
|
|
+ <label class="col-sm-3 control-label"><span style="color:red;">* </span>部门名称</label>
|
|
|
+ <div class="col-sm-6">
|
|
|
+ <input class="form-control" placeholder="销售部、销售部-xx子部门" id="depart_name"/></div>
|
|
|
+ </div>
|
|
|
+ <div class="form-group">
|
|
|
+ <label class="col-sm-3 control-label">联系人</label>
|
|
|
+ <div class="col-sm-6">
|
|
|
+ <input class="form-control" placeholder="输入联系人名称" id="depart_contract"/></div>
|
|
|
+ </div>
|
|
|
+ <div class="form-group">
|
|
|
+ <label class="col-sm-3 control-label">是否启用</label>
|
|
|
+ <div class="col-sm-6">
|
|
|
+ <select class="form-control selectpicker" id="isuseSelect">
|
|
|
+ <option value=1 selected>是</option>
|
|
|
+ <option value=0>否</option>
|
|
|
+ </select>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </form>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="modal-footer">
|
|
|
+ <input type="button" onclick="saveDepart()" class="btn btn-primary saveBtn" value="保存">
|
|
|
+ <input type="button" onclick="cancelModel()" class="btn btn-default" style="margin-left: 24px"
|
|
|
+ value="取消">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div><!-- /.modal -->
|
|
|
+</div>
|
|
|
+<!-- 关联客户规则 -->
|
|
|
+<div class="modal fade" id="modal-associated" tabindex="-1" role="dialog" aria-hidden="true">
|
|
|
+ <div class="modal-dialog" style="width: 60%">
|
|
|
+ <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-form">
|
|
|
+ <div class="edit-info">
|
|
|
+ <span class="glyphicon glyphicon-ok-sign" aria-hidden="true"></span>
|
|
|
+ <span>关联客户规则</span>
|
|
|
+ </div>
|
|
|
+ <div class="content">
|
|
|
+ <table id="cuserRule" class="table table-bordered">
|
|
|
+ <thead>
|
|
|
+ <tr>
|
|
|
+ <th>编号</th>
|
|
|
+ <th><input type="checkbox" id="selrow" onclick="allSelect(this)"/></th>
|
|
|
+ <th>规则名称</th>
|
|
|
+ <th>部门名称</th>
|
|
|
+ <th>创建时间</th>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="modal-footer">
|
|
|
+ <input type="button" onclick="saveTagrule()" class="btn btn-primary saveBtn" value="保存">
|
|
|
+ <input type="button" onclick="cancelModel()" class="btn btn-default" style="margin-left: 24px"
|
|
|
+ value="取消">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div><!-- /.modal -->
|
|
|
+</div>
|
|
|
+
|
|
|
+<!--历史规则-->
|
|
|
+<div class="modal fade" id="modal-history" tabindex="-1" role="dialog" aria-hidden="true">
|
|
|
+ <div class="modal-dialog" style="width: 80%">
|
|
|
+ <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-form">
|
|
|
+ <div class="edit-info">
|
|
|
+ <span class="glyphicon glyphicon-ok-sign" aria-hidden="true"></span>
|
|
|
+ <span>选择历史规则</span>
|
|
|
+ </div>
|
|
|
+ <table id="historyRule" class="table table-bordered">
|
|
|
+ <thead>
|
|
|
+ <tr>
|
|
|
+ <th><input type="checkbox" id="selrow" onclick="allSelect(this)"/></th>
|
|
|
+ <th>编号</th>
|
|
|
+ <th>部门名称</th>
|
|
|
+ <th>规则名称</th>
|
|
|
+ <th>修改时间</th>
|
|
|
+ <th>部门状态</th>
|
|
|
+ <th>规则状态</th>
|
|
|
+ <th class="hidden">规则id </th>
|
|
|
+
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ <tbody class="history_rules"></tbody>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="modal-footer">
|
|
|
+ <input type="button" onclick="saveHistoryRule()" class="btn btn-primary saveBtn" value="确定">
|
|
|
+ <input type="button" onclick="cancelModel()" class="btn btn-default" style="margin-left: 24px"
|
|
|
+ value="取消">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div><!-- /.modal -->
|
|
|
+</div>
|
|
|
+{{include "com/footer.html"}}
|
|
|
+<script>
|
|
|
+ menuActive("/customer/list");
|
|
|
+ var dataMap = {{.T.data}}
|
|
|
+ var departArr = {{.T.depart}}
|
|
|
+ var tagruleArr = []
|
|
|
+ var ruleArr = []
|
|
|
+
|
|
|
+ var selectIndex = []; //选中的编号
|
|
|
+
|
|
|
+ $(document).ready(function () {
|
|
|
+ if (dataMap.i_state == 0) {
|
|
|
+ $('.tab_2').hide()
|
|
|
+ $('#pushDiv').hide()
|
|
|
+ }else {
|
|
|
+ tagruleArr = {{.T.tagrule}}
|
|
|
+ $('#pushSwitch').bootstrapSwitch({
|
|
|
+ onText: "开启",
|
|
|
+ offText: "关闭",
|
|
|
+ })
|
|
|
+ if (dataMap.i_push && dataMap.i_push == 1) {
|
|
|
+ $('#pushSwitch').bootstrapSwitch('state', true);
|
|
|
+ }else {
|
|
|
+ $('#pushSwitch').bootstrapSwitch('state', false);
|
|
|
+ }
|
|
|
+ $('#pushModelSelect').val(dataMap.i_pushmodel)
|
|
|
+ if (dataMap.i_pushtype == 0) {
|
|
|
+ $('#pushTypeSelect').val(0)
|
|
|
+ }else {
|
|
|
+ $('#pushTypeSelect').val(1)
|
|
|
+ }
|
|
|
+ if (dataMap.s_extends && dataMap.s_extends.indexOf("hospitalgrade") >= 0 && dataMap.s_extends.indexOf("enterpise") >= 0) {
|
|
|
+ $('#expandSelect').find("option[value = hospitalgrade]").attr("selected","selected");
|
|
|
+ $('#expandSelect').find("option[value = enterpise]").attr("selected","selected");
|
|
|
+ }else if (dataMap.s_extends && dataMap.s_extends.indexOf("hospitalgrade") >= 0){
|
|
|
+ $('#expandSelect').find("option[value = hospitalgrade]").attr("selected","selected");
|
|
|
+ }else if (dataMap.s_extends && dataMap.s_extends.indexOf("enterpise") >= 0) {
|
|
|
+ $('#expandSelect').find("option[value = enterpise]").attr("selected","selected");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $('#departTable').DataTable({
|
|
|
+ "paging": false,
|
|
|
+ "lengthChange": true,
|
|
|
+ "searching": false,
|
|
|
+ "ordering": false,
|
|
|
+ "info": false,
|
|
|
+ "autoWidth": true,
|
|
|
+ "language": {
|
|
|
+ "url": "/dist/js/dataTables.chinese.lang"
|
|
|
+ },
|
|
|
+ "data": departArr,
|
|
|
+ "fnDrawCallback": function () {
|
|
|
+ this.api().column(1).nodes().each(function (cell, i) {
|
|
|
+ cell.innerHTML = i + 1;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ "columns": [
|
|
|
+ {"data":function() {
|
|
|
+ return `<input type="checkbox" name="ckb-depart" onclick="singleSelect1(this)" style="text-align: center">`
|
|
|
+ }, width: "3%"},
|
|
|
+ {"data": null, width: "3%"},
|
|
|
+ {"data": "s_name", width: "10%"},
|
|
|
+ {"data": function (row) {
|
|
|
+ if (row.s_contract == "") {
|
|
|
+ return ""
|
|
|
+ }else {
|
|
|
+ return row.s_contract
|
|
|
+ }
|
|
|
+ }, width: "10%"},
|
|
|
+ {"data": "i_updatetime", render: function (val) {
|
|
|
+ var dt = new Date();
|
|
|
+ dt.setTime(parseInt(val) * 1000);
|
|
|
+ return dt.format("yyyy-MM-dd hh:mm:ss")
|
|
|
+ }, width: "20%"},
|
|
|
+ {"data": "i_isuse", render: function (val, a, row) {
|
|
|
+ tmp = ""
|
|
|
+ if(val == 1){
|
|
|
+ tmp="<a href='#' title='停用' onclick='setup(\""+row._id+"\",false)'><i class='fa fa-fw fa-circle text-green'></i></a>已启用"
|
|
|
+ }else{
|
|
|
+ tmp="<a href='#' title='启用' onclick='setup(\""+row._id+"\",true)'><i class='fa fa-fw fa-circle text-red'></i></a>未启用"
|
|
|
+ }
|
|
|
+ return tmp
|
|
|
+ }, width: "10%" },
|
|
|
+ {"data": "_id", width: "20%", render: function (val, a, row, pos) {
|
|
|
+ var s = [val, row.s_userid];
|
|
|
+ tmp = '<div>' +
|
|
|
+ '<a class="btn btn-sm btn-primary" href="/service/cuser/rule/list?ids=' + s + '">规则列表</a>  '
|
|
|
+ '</div>';
|
|
|
+ return tmp
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ });
|
|
|
+ $('#tagrule').DataTable({
|
|
|
+ "paging": false,
|
|
|
+ "lengthChange": false,
|
|
|
+ "searching": false,
|
|
|
+ "ordering": false,
|
|
|
+ "info": true,
|
|
|
+ "autoWidth": false,
|
|
|
+ "language": {
|
|
|
+ "url": "/dist/js/dataTables.chinese.lang"
|
|
|
+ },
|
|
|
+ "fnDrawCallback": function () {
|
|
|
+ this.api().column(0).nodes().each(function (cell, i) {
|
|
|
+ cell.innerHTML = i + 1;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ "data": tagruleArr,
|
|
|
+ "columns": [
|
|
|
+ {"data": null, width: "1%"},
|
|
|
+ {"data": "s_name", width: "10%"},
|
|
|
+ {"data": "i_updatetime", width:"9%", render: function (val) {
|
|
|
+ var dt = new Date()
|
|
|
+ dt.setTime(parseInt(val) * 1000);
|
|
|
+ return dt.format("yyyy-MM-dd hh:mm:ss")
|
|
|
+ }},
|
|
|
+ {"data": "i_isuse", render: function (val, a, row) {
|
|
|
+ tmp = ""
|
|
|
+ if(val == 1){
|
|
|
+ tmp="<a href='#' title='停用' onclick='setupTag(\""+row._id+"\",false)'><i class='fa fa-fw fa-circle text-green'></i></a>已启用"
|
|
|
+ }else{
|
|
|
+ tmp="<a href='#' title='启用' onclick='setupTag(\""+row._id+"\",true)'><i class='fa fa-fw fa-circle text-red'></i></a>未启用"
|
|
|
+ }
|
|
|
+ return tmp
|
|
|
+ }, width: "10%" },
|
|
|
+ {"data": "_id", width:"11%",render: function (val, a, row, pos) {
|
|
|
+ tmp = '<div>' +
|
|
|
+ '<a class="btn btn-sm btn-primary" href="/service/euser/tag/edit?id='+val+'&cid='+row.s_userid+'">编辑</a>  '+
|
|
|
+ '<a class="btn btn-sm btn-danger" onclick="delTag(\''+val+'\')">删除</a>'+
|
|
|
+ '</div>';
|
|
|
+ return tmp
|
|
|
+ }},
|
|
|
+ {"data": "_id", width:"11%",render: function (val, a, row, pos) {
|
|
|
+ var s = [val, row.s_userid]
|
|
|
+ tmp = '<div>' +
|
|
|
+ '<a class="btn btn-sm btn-primary" onclick="associated(\''+s+'\')">关联数据范围</a>  '+
|
|
|
+ '</div>';
|
|
|
+ return tmp
|
|
|
+ }},
|
|
|
+ ],
|
|
|
+ });
|
|
|
+ })
|
|
|
+ function cancelModel() {
|
|
|
+ $('#modal-add-depart').modal("hide")
|
|
|
+ $('#modal-associated').modal("hide")
|
|
|
+ }
|
|
|
+ //表格全选
|
|
|
+ function allSelect(obj) {
|
|
|
+ if ($(obj).is(':checked')) {
|
|
|
+ keyTableChecked = true;
|
|
|
+ keyTableAllChecked = true;
|
|
|
+ $('input[name="ckb-rule"]').each(function () {
|
|
|
+ this.checked = true;
|
|
|
+ selectIndex.push($(this).parents("tr").index());
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ selectIndex.length = 0;
|
|
|
+ keyTableChecked = false;
|
|
|
+ keyTableAllChecked = false;
|
|
|
+ $('input[name="ckb-keyid"]').each(function () {
|
|
|
+ this.checked = false;
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ function singleSelect(obj) {
|
|
|
+ var tag = true;
|
|
|
+ selectIndex.length = 0;
|
|
|
+ $('input[name="ckb-rule"]').each(function () {
|
|
|
+ if (this.checked) {
|
|
|
+ keyTableChecked = true;
|
|
|
+ selectIndex.push($(this).parents("tr").index());
|
|
|
+ }else {
|
|
|
+ tag = false
|
|
|
+ }
|
|
|
+ });
|
|
|
+ if (tag) {
|
|
|
+ keyTableAllChecked = true;
|
|
|
+ $('#allCheckbox').prop("checked", true);
|
|
|
+ }else {
|
|
|
+ keyTableAllChecked = false;
|
|
|
+ $('#allCheckbox').prop("checked", false);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ function singleSelect1(obj) {
|
|
|
+ var tag = true;
|
|
|
+ selectIndex.length = 0;
|
|
|
+ $('input[name="ckb-depart"]').each(function () {
|
|
|
+ if (this.checked) {
|
|
|
+ keyTableChecked = true;
|
|
|
+ selectIndex.push($(this).parents("tr").index() + 1);
|
|
|
+ }else {
|
|
|
+ tag = false
|
|
|
+ }
|
|
|
+ });
|
|
|
+ if (tag) {
|
|
|
+ keyTableAllChecked = true;
|
|
|
+ $('#allCheckbox').prop("checked", true);
|
|
|
+ }else {
|
|
|
+ keyTableAllChecked = false;
|
|
|
+ $('#allCheckbox').prop("checked", false);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ function saveCuser() {
|
|
|
+ var name = $('#customername').val();
|
|
|
+ var contract = $('#contract').val();
|
|
|
+ var saleperson = $('#seller').val();
|
|
|
+ if (name == "" || saleperson == "") {
|
|
|
+ showTip("请填写必填字段!", 1000)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ dataMap.s_name = name
|
|
|
+ dataMap.s_customername = contract
|
|
|
+ dataMap.s_salesperson = saleperson
|
|
|
+ if (dataMap.i_state == 1) {
|
|
|
+ dataMap.i_pushmodel = $('#pushModelSelect option:selected').val()
|
|
|
+ dataMap.i_pushtype = $('#pushTypeSelect option:selected').val()
|
|
|
+ }
|
|
|
+ dataMap.id = dataMap._id
|
|
|
+ $.ajax({
|
|
|
+ url: "/service/customer/save",
|
|
|
+ type: 'POST',
|
|
|
+ data: dataMap,
|
|
|
+ success: function (r) {
|
|
|
+ if (r.rep) {
|
|
|
+ showTip("保存成功", 500);
|
|
|
+ } else {
|
|
|
+ showTip("保存失败", 500);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ var depart_flag = -1; // 0:新增,1:修改
|
|
|
+ function showDepart() {
|
|
|
+ depart_flag = 0
|
|
|
+ $('#depart_name').val("");
|
|
|
+ $('#depart_contract').val("");
|
|
|
+ $('#s_depart_name').val("");
|
|
|
+ $('#modal-add-depart').modal("show")
|
|
|
+ }
|
|
|
+ //修改部门
|
|
|
+ function modify_Depart() {
|
|
|
+ depart_flag = 1
|
|
|
+ var index = selectIndex[0] - 1;
|
|
|
+ $('#depart_name').val(departArr[index].s_name);
|
|
|
+ $('#depart_contract').val(departArr[index].s_contract);
|
|
|
+ $('#s_depart_name').val(departArr[index].s_subname)
|
|
|
+ $("#isuseSelect").val(departArr[index].i_isuse)
|
|
|
+ $('#modal-add-depart').modal("show");
|
|
|
+ }
|
|
|
+ function del_Depart() {
|
|
|
+ if (keyTableChecked && selectIndex.length > 0) {
|
|
|
+ showConfirm("确定删除?", function() {
|
|
|
+ var tmp = []
|
|
|
+ for (var i in selectIndex) {
|
|
|
+ var j = selectIndex[i] - 1;
|
|
|
+ tmp.push(j)
|
|
|
+ }
|
|
|
+ var did = departArr[tmp[0]]._id
|
|
|
+ var bol = false
|
|
|
+ $.ajax({
|
|
|
+ url: "/service/depart/del",
|
|
|
+ type: "post",
|
|
|
+ data: {"id": did},
|
|
|
+ success: function (r) {
|
|
|
+ bol = r.rep
|
|
|
+ if(r.rep){
|
|
|
+ // showTip("删除成功", 1000)
|
|
|
+ window.location.reload()
|
|
|
+ }else{
|
|
|
+ showTip("删除失败", 1000);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ if (!bol) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ departArr = deleteArrayVal(departArr, tmp)
|
|
|
+
|
|
|
+ keyTableChecked = false;
|
|
|
+ if (departArr.length == 0) {
|
|
|
+ $('#allCheckbox').prop("checked", false);
|
|
|
+ $('#departTable').dataTable().fnClearTable();
|
|
|
+ }else {
|
|
|
+ $('#departTable').dataTable().fnClearTable();
|
|
|
+ $('#departTable').dataTable().fnAddData(departArr);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }else {
|
|
|
+ showTip("请选中需要删除的关键词", 1000)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ function saveDepart() {
|
|
|
+ var name = $('#depart_name').val();
|
|
|
+ if (name != "") {
|
|
|
+ if (depart_flag == 1) {
|
|
|
+ var index = selectIndex[0] - 1;
|
|
|
+ var depart = departArr[index]
|
|
|
+ depart["id"] = depart["_id"]
|
|
|
+ }else {
|
|
|
+ var depart = {}
|
|
|
+ depart["s_userid"] = dataMap._id
|
|
|
+ }
|
|
|
+ depart["s_name"] = name;
|
|
|
+ depart["s_contract"] = $('#depart_contract').val();
|
|
|
+ depart["s_subname"] = $('#s_depart_name').val()
|
|
|
+ depart["i_isuse"] = $('#isuseSelect').val()
|
|
|
+ if (depart_flag == 1) {
|
|
|
+ var index = selectIndex[0] - 1;
|
|
|
+ departArr.splice(index, 1, depart)
|
|
|
+ }else {
|
|
|
+ departArr.push(depart)
|
|
|
+ }
|
|
|
+ $('#departTable').dataTable().fnClearTable();
|
|
|
+ $('#departTable').dataTable().fnAddData(departArr);
|
|
|
+ $('#modal-add-depart').modal('hide');
|
|
|
+
|
|
|
+ $.ajax({
|
|
|
+ url: "/service/depart/edit",
|
|
|
+ type: "post",
|
|
|
+ data: depart,
|
|
|
+ success: function (r) {
|
|
|
+ if(r.rep){
|
|
|
+ // showTip("保存成功", 1000)
|
|
|
+ window.location.reload()
|
|
|
+ }else{
|
|
|
+ showTip("保存失败", 1000);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }else {
|
|
|
+ showTip("部门名称不能为空", 500)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ function setup(val, bol) {
|
|
|
+ var msg = ""
|
|
|
+ var i_isuse = 0
|
|
|
+ if (bol) {
|
|
|
+ msg = "确定启用?"
|
|
|
+ i_isuse = 1
|
|
|
+ }else {
|
|
|
+ msg = "确定停用?"
|
|
|
+ i_isuse = 0
|
|
|
+ }
|
|
|
+ showConfirm(msg, function() {
|
|
|
+ $.ajax({
|
|
|
+ url:"/service/customer/setup",
|
|
|
+ type:"post",
|
|
|
+ data:{"_id": val, "i_isuse": i_isuse},
|
|
|
+ success:function(r){
|
|
|
+ if(r.rep){
|
|
|
+ // showTip("设置成功", 1000);
|
|
|
+ window.location.reload()
|
|
|
+ }else{
|
|
|
+ showTip("设置失败", 1000);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ });
|
|
|
+ }
|
|
|
+ function setupTag(val, bol) {
|
|
|
+ var msg = ""
|
|
|
+ var i_isuse = 0
|
|
|
+ if (bol) {
|
|
|
+ msg = "确定启用?"
|
|
|
+ i_isuse = 1
|
|
|
+ }else {
|
|
|
+ msg = "确定停用?"
|
|
|
+ i_isuse = 0
|
|
|
+ }
|
|
|
+ showConfirm(msg, function() {
|
|
|
+ $.ajax({
|
|
|
+ url:"/service/euser/tag/setup",
|
|
|
+ type:"post",
|
|
|
+ data:{"_id": val, "i_isuse": i_isuse},
|
|
|
+ success:function(r){
|
|
|
+ if(r.rep){
|
|
|
+ // showTip("设置成功", 1000);
|
|
|
+ window.location.reload()
|
|
|
+ }else{
|
|
|
+ showTip("设置失败", 1000);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ });
|
|
|
+ }
|
|
|
+ function delTag(val) {
|
|
|
+ showConfirm("确定删除?", function () {
|
|
|
+ $.ajax({
|
|
|
+ url: "/service/euser/tag/del",
|
|
|
+ type: "post",
|
|
|
+ data: {"_id": val},
|
|
|
+ success: function (r) {
|
|
|
+ if (r.rep) {
|
|
|
+ window.location.reload()
|
|
|
+ } else {
|
|
|
+ showTip("删除失败", 1000);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ });
|
|
|
+ }
|
|
|
+ var tagid = ""
|
|
|
+ //关联规则
|
|
|
+ function associated(val) {
|
|
|
+ tagid = val.split(",")[0]
|
|
|
+ $('#cuserRule').DataTable({
|
|
|
+ "destroy": true,
|
|
|
+ "paging": true,
|
|
|
+ "lengthChange": false,
|
|
|
+ "searching": false,
|
|
|
+ "ordering": false,
|
|
|
+ "info": true,
|
|
|
+ "autoWidth": false,
|
|
|
+ "serverSide": true,
|
|
|
+ "ajax": {
|
|
|
+ url: "/service/tag/ruleList",
|
|
|
+ type: "post",
|
|
|
+ data: {"eid": val.split(",")[1]},
|
|
|
+ },
|
|
|
+ "language": {
|
|
|
+ "url": "/dist/js/dataTables.chinese.lang"
|
|
|
+ },
|
|
|
+ "fnDrawCallback": function () {
|
|
|
+ this.api().column(0).nodes().each(function (cell, i) {
|
|
|
+ cell.innerHTML = i + 1;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ "columns": [
|
|
|
+ {"data": null, width: "1%"},
|
|
|
+ {"data": "", width: "1%", render: function() {
|
|
|
+ return `<input type="checkbox" name="ckb-rule" onclick="singleSelect(this)" style="text-align: center">`
|
|
|
+ }},
|
|
|
+ {"data": "s_tagname", width: "20%"},
|
|
|
+ {"data": "s_depart", width: "10%"},
|
|
|
+ {"data": "i_updatetime", width:"10%", render: function (val) {
|
|
|
+ var dt = new Date()
|
|
|
+ dt.setTime(parseInt(val) * 1000);
|
|
|
+ return dt.format("yyyy-MM-dd hh:mm:ss")
|
|
|
+ }},
|
|
|
+ ],
|
|
|
+ });
|
|
|
+ $('#modal-associated').modal("show")
|
|
|
+ }
|
|
|
+ function saveTagrule() {
|
|
|
+ var ids = [];
|
|
|
+ var table = $('#cuserRule').dataTable();
|
|
|
+ var nTrs = table.fnGetNodes();
|
|
|
+ for (var i = 0; i < nTrs.length; i++) {
|
|
|
+ if ($(nTrs[i].childNodes[1]).find("input").prop("checked")) {
|
|
|
+ ids.push(table.fnGetData(nTrs[i])._id);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $.ajax({
|
|
|
+ url: "/service/euser/tag/associated",
|
|
|
+ type: "post",
|
|
|
+ data: {"_id": tagid, "ids": ids.join(",")},
|
|
|
+ success: function (r) {
|
|
|
+ if (r.rep) {
|
|
|
+ // window.location.reload()
|
|
|
+ showTip("关联成功", 1000);
|
|
|
+ $('#modal-associated').modal("hide")
|
|
|
+ } else {
|
|
|
+ showTip("关联失败", 1000);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ function select_Depart() {
|
|
|
+ //获取用户自定义规则
|
|
|
+ var c_id = getParam("id")
|
|
|
+ $.ajax({
|
|
|
+ url:"/service/customer/history/allrule",
|
|
|
+ type:"POST",
|
|
|
+ data:{"c_id":c_id},
|
|
|
+ success:function (r) {
|
|
|
+ if (r.status=="success"){
|
|
|
+ var html = ""
|
|
|
+ for (var i=0;i<r.data.length;i++){
|
|
|
+ if (r.data[i].department_rule.length!=0){
|
|
|
+ for (var l=0;l<r.data[i].department_rule.length;l++){
|
|
|
+ html += '<tr><td><input type="checkbox" id="selrow"/></td><td>'+'</td><td>'+r.data[i].depart_name+'</td><td>'+r.data[i].department_rule[l].s_tagname+'</td><td>'+formattime(r.data[i].department_rule[l].i_updatetime)+'</td>';
|
|
|
+ if (r.data[i].department_isuse ==1){
|
|
|
+ html += "<td>"+"已启用"
|
|
|
+ }else{
|
|
|
+ html += "</td><td>"+"未启用"
|
|
|
+ }
|
|
|
+ if (r.data[i].department_rule[l].i_isuse ==1){
|
|
|
+ html += "</td><td>"+"已启用"+"</td>"
|
|
|
+ }else{
|
|
|
+ html += "</td><td>"+"未启用"+"</td>"
|
|
|
+ }
|
|
|
+ html += "<td class='hidden'>"+r.data[i].department_rule[l]._id+"</td>"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $(".history_rules").html(html)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ $("#modal-history").modal("show");
|
|
|
+ }
|
|
|
+ function getParam(name) {
|
|
|
+ var search = document.location.search;
|
|
|
+ // alert(search);
|
|
|
+ var pattern = new RegExp("[?&]" + name + "\=([^&]+)", "g");
|
|
|
+ var matcher = pattern.exec(search);
|
|
|
+ var items = null;
|
|
|
+ if (null != matcher) {
|
|
|
+ try {
|
|
|
+ items = decodeURIComponent(decodeURIComponent(matcher[1]));
|
|
|
+ } catch (e) {
|
|
|
+ try {
|
|
|
+ items = decodeURIComponent(matcher[1]);
|
|
|
+ } catch (e) {
|
|
|
+ items = matcher[1];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return items;
|
|
|
+ };
|
|
|
+ function formattime(date) {
|
|
|
+ let _date = new Date(parseInt(date)*1000);
|
|
|
+ let y = _date.getFullYear();
|
|
|
+ let m = _date.getMonth() + 1;
|
|
|
+ m = m < 10 ? ('0' + m) : m;
|
|
|
+ let d = _date.getDate();
|
|
|
+ d = d < 10 ? ('0' + d) : d;
|
|
|
+ // console.log( y + '-' + m + '-' + d + ' ' + ' ' + h + ':' + minute + ':' + second)
|
|
|
+ let dates = y + '-' + m + '-' + d;
|
|
|
+
|
|
|
+ return dates;
|
|
|
+ }
|
|
|
+
|
|
|
+ function saveHistoryRule() {
|
|
|
+
|
|
|
+ }
|
|
|
+</script>
|
|
|
+/service/cuser/rule/list
|