|
@@ -1,1708 +0,0 @@
|
|
|
-{{include "com/inc.html"}}
|
|
|
-<!-- Main Header -->
|
|
|
-{{include "com/header.html"}}
|
|
|
-<!-- Left side column. 权限菜单 -->
|
|
|
-{{include "com/menu.html"}}
|
|
|
-{{include "com/modal.html"}}
|
|
|
-<script src="/time/js/angular.min.js"></script>
|
|
|
-<script src="/time/js/wui-date.js"></script>
|
|
|
-<div class="content-wrapper">
|
|
|
- <section class="content-header">
|
|
|
- <h1>编辑标签
|
|
|
- <small>
|
|
|
- <button class="btn btn-warning btn-sm" onclick="importcomrule()"><i class="fa fa-fw fa-upload fa-lg"></i>导入通用标签</button>
|
|
|
- <button class="btn btn-primary btn-sm" onclick="importRule()"><i class="fa fa-fw fa-cloud-upload fa-lg"></i>导入关键词</button>
|
|
|
- <form style="display:none" id='uploadform' method='post'>
|
|
|
- <input type='file' name='xlsx' id='file'/>
|
|
|
- </form>
|
|
|
- <button class="btn btn-info btn-sm" onclick="importEs()"><i class="fa fa-fw fa-cloud-upload fa-lg"></i>导入es
|
|
|
- </button>
|
|
|
- <a class="btn btn-sm btn-success" id="download" onclick="downloades()"><i
|
|
|
- class="fa fa-fw fa-cloud-download fa-lg"></i>下载es</a>
|
|
|
- <a class="btn btn-sm btn-instagram" onclick="produceData()"><i class="fa fa-fw fa-database fa-lg"></i>生成数据</a>
|
|
|
- <button class="btn btn-warning btn-sm" onclick="previewData()"><i class="fa fa-fw fa-eye fa-lg"></i>预览
|
|
|
- </button>
|
|
|
- <button class="btn btn-danger btn-sm" onclick="archive()"><i class="fa fa-fw fa-save fa-lg"></i>存档
|
|
|
- </button>
|
|
|
- </small>
|
|
|
- </h1>
|
|
|
- <ol class="breadcrumb">
|
|
|
- <li><a href="#"><i class="fa fa-dashboard"></i> 首页</a></li>
|
|
|
- <li><a href="/service/rule/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=""><a href="#tab_2" data-toggle="tab" aria-expanded="false">关键词规则</a></li>
|
|
|
- <button class="btn btn-primary btn-sm" style="float: right;margin-top: 4px;margin-right: 10px"
|
|
|
- onclick="saveTag()"><i class="fa fa-fw fa-file-text fa-lg"></i>保存标签
|
|
|
- </button>
|
|
|
- </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>
|
|
|
- </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-3">
|
|
|
- <input type="text" class="form-control" id="customer"
|
|
|
- placeholder="客户名称" value="{{.T.data.s_customer}}">
|
|
|
- </div>
|
|
|
- <label class="col-sm-2 control-label">客户联系人</label>
|
|
|
- <div class="col-sm-3">
|
|
|
- <input type="text" class="form-control" id="customername" placeholder="客户联系人姓名"
|
|
|
- value="{{.T.data.s_customername}}">
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="form-group">
|
|
|
- <label class="col-sm-2 control-label"><span style="color:red;">* </span>销售经理</label>
|
|
|
- <div class="col-sm-3">
|
|
|
- <input type="text" class="form-control" id="salename" placeholder="销售经理"
|
|
|
- value="{{.T.data.s_salesperson}}">
|
|
|
- </div>
|
|
|
- <label class="col-sm-2 control-label"><span style="color:red;">* </span>售前支持</label>
|
|
|
- <div class="col-sm-3">
|
|
|
- <input type="text" class="form-control" id="serverperson" placeholder="售前支持人员"
|
|
|
- value="{{.T.data.s_serverperson}}">
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="form-group">
|
|
|
- <label class="col-sm-2 control-label"><span style="color:red;">* </span>标签名称</label>
|
|
|
- <div class="col-sm-3">
|
|
|
- <input type="text" class="form-control" id="tagname" placeholder="标签名称"
|
|
|
- value="{{.T.data.s_tagname}}">
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <hr>
|
|
|
- <div class="form-group">
|
|
|
- <label class="col-sm-2 control-label">选择省</label>
|
|
|
- <div class="col-sm-3">
|
|
|
- <select class="form-control selectpicker" multiple data-live-search="true"
|
|
|
- id="province"></select>
|
|
|
- <script>
|
|
|
- $('#province').on('hide.bs.select', function () {
|
|
|
- var arr = $('#province').val();
|
|
|
- var arrStr = "";
|
|
|
- for (var i in arr) {
|
|
|
- if (arrStr === "") {
|
|
|
- arrStr = arr[i]
|
|
|
- } else {
|
|
|
- arrStr = arrStr + "," + arr[i]
|
|
|
- }
|
|
|
- }
|
|
|
- dataMap["s_area"] = arrStr
|
|
|
- })
|
|
|
- </script>
|
|
|
- </div>
|
|
|
- <label class="col-sm-2 control-label">选择市</label>
|
|
|
- <div class="col-sm-3">
|
|
|
- <select class="form-control selectpicker" multiple data-live-search="true"
|
|
|
- id="city"></select>
|
|
|
- <script>
|
|
|
- $('#city').on('hide.bs.select', function () {
|
|
|
- var arr = $('#city').val();
|
|
|
- var arrStr = "";
|
|
|
- for (var i in arr) {
|
|
|
- if (arrStr === "") {
|
|
|
- arrStr = arr[i]
|
|
|
- } else {
|
|
|
- arrStr = arrStr + "," + arr[i]
|
|
|
- }
|
|
|
- }
|
|
|
- dataMap["s_city"] = arrStr
|
|
|
- })
|
|
|
- </script>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="form-group">
|
|
|
- <label class="col-sm-2 control-label">选择区/县</label>
|
|
|
- <div class="col-sm-3">
|
|
|
- <select class="form-control selectpicker" multiple data-live-search="true"
|
|
|
- id="district"></select>
|
|
|
- <script>
|
|
|
- $('#district').on('hide.bs.select', function () {
|
|
|
- var arrStr = "";
|
|
|
- $('#district option:selected').each(function () {
|
|
|
- if (arrStr === "") {
|
|
|
- arrStr = $(this).val()
|
|
|
- } else {
|
|
|
- arrStr = arrStr + "," + $(this).val()
|
|
|
- }
|
|
|
- });
|
|
|
- dataMap["s_district"] = arrStr
|
|
|
- })
|
|
|
-
|
|
|
- </script>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="form-group">
|
|
|
- <label class="col-sm-2 control-label">公告类别</label>
|
|
|
- <div class="col-sm-3">
|
|
|
- <select class="form-control selectpicker" id="typeSelect">
|
|
|
- <option selected:disabled style="diaplay:none" value=0>请选择</option>
|
|
|
- <option value=1>一级公告类别</option>
|
|
|
- <option value=2>二级公告类别</option>
|
|
|
- </select>
|
|
|
- <script>
|
|
|
- $('#typeSelect').on('changed.bs.select', function () {
|
|
|
- $("#typeSelectVal").selectpicker("deselectAll");
|
|
|
- $("#typeSelectVal").empty();
|
|
|
- if ($(this).val() == 1) {
|
|
|
- for (var i in topTypeArr) {
|
|
|
- var opt = document.createElement('option');
|
|
|
- opt.innerText = topTypeArr[i];
|
|
|
- opt.value = topTypeArr[i];
|
|
|
- $('#typeSelectVal')[0].appendChild(opt)
|
|
|
- }
|
|
|
- }else if ($(this).val() == 2) {
|
|
|
- for (var i in subTypeArr) {
|
|
|
- var opt = document.createElement('option');
|
|
|
- opt.innerText = subTypeArr[i];
|
|
|
- opt.value = subTypeArr[i];
|
|
|
- $('#typeSelectVal')[0].appendChild(opt)
|
|
|
- }
|
|
|
- }
|
|
|
- $("#typeSelectVal").selectpicker("refresh");
|
|
|
- })
|
|
|
- </script>
|
|
|
- </div>
|
|
|
- <label class="col-sm-2 control-label">公告类别选择</label>
|
|
|
- <div class="col-sm-3">
|
|
|
- <select class="form-control selectpicker" multiple id="typeSelectVal"></select>
|
|
|
- <script>
|
|
|
- $('#typeSelectVal').on('show.bs.select', function () {
|
|
|
- if ($('#typeSelect').val() == 0) {
|
|
|
- showTip("请选择公告类别", 500)
|
|
|
- }
|
|
|
- })
|
|
|
- $('#typeSelectVal').on('hide.bs.select', function () {
|
|
|
- var arr = $(this).val();
|
|
|
- var arrStr = "";
|
|
|
- for (var i in arr) {
|
|
|
- if (arrStr === "") {
|
|
|
- arrStr = arr[i]
|
|
|
- } else {
|
|
|
- arrStr = arrStr + "," + arr[i]
|
|
|
- }
|
|
|
- }
|
|
|
- if ($('#typeSelect').val() == 1) {
|
|
|
- dataMap["s_toptype"] = arrStr;
|
|
|
- dataMap["s_subtype"] = "";
|
|
|
- }else {
|
|
|
- dataMap["s_toptype"] = "";
|
|
|
- dataMap["s_subtype"] = arrStr;
|
|
|
- }
|
|
|
- })
|
|
|
- </script>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="form-group">
|
|
|
- <label class="col-sm-2 control-label ">开始时间</label>
|
|
|
- <div class="col-sm-3">
|
|
|
- <div class="wui-content">
|
|
|
- <div class="wui-area" id="starttime">
|
|
|
- <wui-date
|
|
|
- format="yyyy-mm-dd hh:mm:ss"
|
|
|
- placeholder="请选择或输入开始日期"
|
|
|
- id="date4"
|
|
|
- btns="{'ok':'确定','now':'此刻'}"
|
|
|
- ng-model="date4">
|
|
|
- </wui-date>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <label class="col-sm-2 control-label ">结束时间</label>
|
|
|
- <div class="col-sm-3">
|
|
|
- <div class="wui-content">
|
|
|
- <div class="wui-area" id="endtime">
|
|
|
- <wui-date
|
|
|
- format="yyyy-mm-dd hh:mm:ss"
|
|
|
- placeholder="请选择或输入结束日期"
|
|
|
- id="date4"
|
|
|
- btns="{'ok':'确定','now':'此刻'}"
|
|
|
- ng-model="date5">
|
|
|
- </wui-date>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="form-group">
|
|
|
- <label class="col-sm-2 control-label">选择字段</label>
|
|
|
- <div class="col-sm-3">
|
|
|
- <select class="form-control selectpicker" multiple id="existFieldSelect"
|
|
|
- data-actions-box="true"></select>
|
|
|
- <script>
|
|
|
- $('#existFieldSelect').on('hide.bs.select', function () {
|
|
|
- var arr = $(this).val();
|
|
|
- var arrStr = "";
|
|
|
- for (var i in arr) {
|
|
|
- if (arrStr === "") {
|
|
|
- arrStr = arr[i]
|
|
|
- } else {
|
|
|
- arrStr = arrStr + "," + arr[i]
|
|
|
- }
|
|
|
- }
|
|
|
- dataMap["s_existfields"] = arrStr
|
|
|
- })
|
|
|
- </script>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <hr>
|
|
|
- <div class="form-group">
|
|
|
- <label class="col-sm-2 control-label">预算限制</label>
|
|
|
- <div class="col-sm-3">
|
|
|
- <input class="form-control" type="text" id="s_budget_min" placeholder="单位:元/大于" onkeyup="limitNum(this)">
|
|
|
- </div>
|
|
|
- <label class="col-sm-2" style="text-align: center">___ ___</label>
|
|
|
- <div class="col-sm-3">
|
|
|
- <input class="form-control" type="text" id="s_budget_max" placeholder="单位:元/小于" onkeyup="limitNum(this)">
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="form-group">
|
|
|
- <label class="col-sm-2 control-label">中标金额限制</label>
|
|
|
- <div class="col-sm-3" id="bidamountDiv">
|
|
|
- <input class="form-control" type="text" id="s_bidamount_min" placeholder="单位:元/大于" onkeyup="limitNum(this)">
|
|
|
- </div>
|
|
|
- <label class="col-sm-2" style="text-align: center">___ ___</label>
|
|
|
- <div class="col-sm-3">
|
|
|
- <input class="form-control" type="text" id="s_bidamount_max" placeholder="单位:元/小于" onkeyup="limitNum(this)">
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="form-group">
|
|
|
- <label class="col-sm-2 control-label">全局附加词</label>
|
|
|
- <div class="col-sm-3">
|
|
|
- <input type="text" class="form-control" id="g_addkey"
|
|
|
- value="{{.T.data.s_globaladdkey}}">
|
|
|
- </div>
|
|
|
- <label class="col-sm-2 control-label">匹配方式</label>
|
|
|
- <div class="col-sm-3">
|
|
|
- <input class="form-control" style="text-align: left;overflow: hidden;white-space: nowrap;text-overflow: ellipsis"
|
|
|
- type="button" id="s_addkeymatch" onclick="selectKeyMatch(0)">
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="form-group">
|
|
|
- <label for="spiderChannel" class="col-sm-2 control-label">全局排除词</label>
|
|
|
- <div class="col-sm-3">
|
|
|
- <input type="text" class="form-control" id="g_notkey"
|
|
|
- value="{{.T.data.s_globalnotkey}}">
|
|
|
- </div>
|
|
|
- <label class="col-sm-2 control-label">匹配方式</label>
|
|
|
- <div class="col-sm-3">
|
|
|
- <input class="form-control" style="text-align: left;overflow: hidden;white-space: nowrap;text-overflow: ellipsis"
|
|
|
- type="button" id="s_notkeymatch" onclick="selectKeyMatch(1)">
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="form-group">
|
|
|
- <label class="col-sm-2 control-label">全局清理词</label>
|
|
|
- <div class="col-sm-3">
|
|
|
- <input type="text" class="form-control" id="s_globalclearkey" placeholder="***"
|
|
|
- value={{.T.data.s_globalclearkey}}>
|
|
|
- </div>
|
|
|
- <label class="col-sm-2 control-label">匹配方式</label>
|
|
|
- <div class="col-sm-3">
|
|
|
- <input class="form-control" style="text-align: left;overflow: hidden;white-space: nowrap;text-overflow: ellipsis"
|
|
|
- type="button" id="s_globalclearkeymatch" onclick="selectKeyMatch(13)">
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="form-group">
|
|
|
- <label class="col-sm-2 control-label">采购单位行业</label>
|
|
|
- <div class="col-sm-3">
|
|
|
- <input class="form-control" style="text-align: left;overflow: hidden;white-space: nowrap;text-overflow: ellipsis"
|
|
|
- type="button" id="s_buyerclass" onclick="selectBuyer(2)" value="{{.T.data.s_globalbuyerclass}}">
|
|
|
- </div>
|
|
|
- <label class="col-sm-2 control-label">公告行业</label>
|
|
|
- <div class="col-sm-3">
|
|
|
- <input class="form-control" style="text-align: left;overflow: hidden;white-space: nowrap;text-overflow: ellipsis"
|
|
|
- type="button" id="s_scopeclass" onclick="selectScope(3)">
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <hr>
|
|
|
- <div class="form-group">
|
|
|
- <label class="col-sm-2 control-label">预览数据量</label>
|
|
|
- <div class="col-sm-3">
|
|
|
- <input type="text" class="form-control" id="maxnum"
|
|
|
- value="{{.T.data.i_maxnum}}">
|
|
|
- </div>
|
|
|
- <label class="col-sm-2 control-label ">高级字段包</label>
|
|
|
- <div class="col-sm-3">
|
|
|
- <select class="form-control" id="extfiledselect" style="border-radius:3px">
|
|
|
- <option value="1">否</option>
|
|
|
- <option value="2">是</option>
|
|
|
- </select>
|
|
|
- <script>
|
|
|
- $('#extfiledselect').on("change", function () {
|
|
|
- dataMap["i_extfieldstype"] = $('#extfiledselect option:selected').val();
|
|
|
- })
|
|
|
- </script>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <hr>
|
|
|
- <div id="es_div" class="form-group">
|
|
|
- <label class="col-sm-2 control-label">ES语句</label>
|
|
|
- <div class="col-sm-8">
|
|
|
- <textarea class="form-control" id="estxt" readonly></textarea>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </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>
|
|
|
- <div style="float: right">
|
|
|
- <a class="btn btn-default btn-sm" onclick="selectKeyMatch(4)">关键词匹配方式</a>
|
|
|
- <a class="btn btn-default btn-sm" onclick="selectKeyMatch(6)">附加词匹配方式</a>
|
|
|
- <a class="btn btn-default btn-sm" onclick="selectKeyMatch(8)">排除词匹配方式</a>
|
|
|
- <a class="btn btn-default btn-sm" onclick="selectBuyer(9)">采购单位行业</a>
|
|
|
- <a class="btn btn-default btn-sm" onclick="selectScope(10)">公告行业</a>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <table id="keywords" class="table table-bordered">
|
|
|
- <thead>
|
|
|
- <div style="margin: 10px 10px 0px;">
|
|
|
- <a class="btn btn-twitter" onclick="add_Rule()">新增</a>
|
|
|
- <a class="btn btn-twitter" onclick="modify_Rule()">修改</a>
|
|
|
- <a class="btn btn-twitter" onclick="del_Rule()">删除</a>
|
|
|
- </div>
|
|
|
- <tr>
|
|
|
- <th>编号</th>
|
|
|
- <th><input type="checkbox" onclick="allSelect(this)" id="allCheckbox"></th>
|
|
|
- <th>关键词</th>
|
|
|
- <th>匹配方式</th>
|
|
|
- <th>附加词</th>
|
|
|
- <th>匹配方式</th>
|
|
|
- <th>排除词</th>
|
|
|
- <th>匹配方式</th>
|
|
|
- <th>采购单位行业</th>
|
|
|
- <th>公告行业</th>
|
|
|
- </tr>
|
|
|
- </thead>
|
|
|
- </table>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </section>
|
|
|
-</div>
|
|
|
-
|
|
|
-{{include "com/footer.html"}}
|
|
|
-<script>
|
|
|
- menuActive("/service/rule/list");
|
|
|
- var clearkeyMatchArr = ["detail","title"];
|
|
|
- var dataMap = {{.T.data}};
|
|
|
- var o_rules = {{.T.data.o_rules}};
|
|
|
- var app = angular.module('app', ["wui.date"]); //时间插件
|
|
|
- var province = {{.T.province}};
|
|
|
- var cityMap = {{.T.city}};
|
|
|
- var districtMap = {{.T.district}};
|
|
|
- var topTypeArr = {{.T.topTypeArr}};
|
|
|
- var subTypeArr = {{.T.subTypeArr}};
|
|
|
- var matchTypeMap = {{.T.matchTypeMap}};
|
|
|
- var matchTypeMap2 = {{.T.matchTypeMap2}};
|
|
|
- var existField = {{.T.existField}};
|
|
|
- var buyerClass = {{.T.buyerClass}};
|
|
|
- var scopeClass = {{.T.scopeClass}};
|
|
|
-
|
|
|
- var matchCode = []; //匹配方式code
|
|
|
- var matchName = []; //匹配名字
|
|
|
- var buyerArr = []; //采购单位
|
|
|
- var scopeTopArr = []; //公告行业一级
|
|
|
- var scopeSubArr = []; //公告行业二级
|
|
|
-
|
|
|
- var keyTableChecked = false; //关键词表格数据是否有选中
|
|
|
- var keyTableAllChecked = true; //表单数据是否被全选中
|
|
|
- var selectIndex = []; //选中的编号
|
|
|
- var setValue = 0; // 4: 关键词匹配方式,6:附加词匹配方式,8:排除词匹配方式,9:采购单位,10:公告行业, 2:全局采购单位行业, 3:全局公告行业
|
|
|
- var state = 1;
|
|
|
- $(document).ready(function () {
|
|
|
- var name1 = {{(session "user").name}};
|
|
|
- if (name1 != dataMap.s_updateuser) {
|
|
|
- showTip("上次修改人员是" + dataMap.s_updateuser, 1000)
|
|
|
- }
|
|
|
- $('#extfiledselect').val(dataMap.i_extfieldstype);
|
|
|
- //es
|
|
|
- $('#estxt').val(dataMap.s_esquery);
|
|
|
- //预算限制
|
|
|
- if (dataMap.s_budgetlimit && dataMap.s_budgetlimit != "") {
|
|
|
- if (dataMap.s_budgetlimit.indexOf("大于") != -1 && dataMap.s_budgetlimit.indexOf("小于") != -1) {
|
|
|
- var arr = dataMap.s_budgetlimit.split(",");
|
|
|
- $('#s_budget_min').val(arr[0].replace("大于", ""));
|
|
|
- $('#s_budget_max').val(arr[1].replace("小于", ""))
|
|
|
- }else if (dataMap.s_budgetlimit.indexOf("大于") != -1) {
|
|
|
- $('#s_budget_min').val(dataMap.s_budgetlimit.replace("大于", ""))
|
|
|
- }else if (dataMap.s_budgetlimit.indexOf("小于") != -1) {
|
|
|
- $('#s_budget_max').val(dataMap.s_budgetlimit.replace("小于", ""))
|
|
|
- }
|
|
|
- }
|
|
|
- //中标金额限制
|
|
|
- if (dataMap.s_bidamountlimit && dataMap.s_bidamountlimit != "") {
|
|
|
- if (dataMap.s_bidamountlimit.indexOf("大于") != -1 && dataMap.s_bidamountlimit.indexOf("小于") != -1) {
|
|
|
- var arr = dataMap.s_bidamountlimit.split(",");
|
|
|
- $('#s_bidamount_min').val(arr[0].replace("大于", ""));
|
|
|
- $('#s_bidamount_max').val(arr[1].replace("小于", ""))
|
|
|
- }else if (dataMap.s_bidamountlimit.indexOf("大于") != -1) {
|
|
|
- $('#s_bidamount_min').val(dataMap.s_bidamountlimit.replace("大于", ""))
|
|
|
- }else if (dataMap.s_bidamountlimit.indexOf("小于") != -1) {
|
|
|
- $('#s_bidamount_max').val(dataMap.s_bidamountlimit.replace("小于", ""))
|
|
|
- }
|
|
|
- }
|
|
|
- //起始时间
|
|
|
- if (dataMap.i_starttime != 0) {
|
|
|
- var dt = new Date();
|
|
|
- dt.setTime(parseInt(dataMap.i_starttime) * 1000);
|
|
|
- $('#starttime').find("input").val(dt.format("yyyy-MM-dd hh:mm:ss"));
|
|
|
- }
|
|
|
- //结束时间
|
|
|
- if (dataMap.i_endtime != 0) {
|
|
|
- var dt = new Date();
|
|
|
- dt.setTime(parseInt(dataMap.i_endtime) * 1000);
|
|
|
- $('#endtime').find("input").val(dt.format("yyyy-MM-dd hh:mm:ss"));
|
|
|
- }
|
|
|
- //公告行业
|
|
|
- $('#s_scopeclass').val(dataMap.s_globalsubscopeclass)
|
|
|
- if (dataMap.s_globaltopscopeclass && dataMap.s_globalsubscopeclass && dataMap.s_globaltopscopeclass != "" && dataMap.s_globalsubscopeclass != "") {
|
|
|
- $('#s_scopeclass').val(dataMap.s_globaltopscopeclass+","+dataMap.s_globalsubscopeclass)
|
|
|
- }else if (dataMap.s_globaltopscopeclass && dataMap.s_globaltopscopeclass != "") {
|
|
|
- $('#s_scopeclass').val(dataMap.s_globaltopscopeclass)
|
|
|
- }else if (dataMap.s_globalsubscopeclass && dataMap.s_globalsubscopeclass != "") {
|
|
|
- $('#s_scopeclass').val(dataMap.s_globalsubscopeclass)
|
|
|
- }
|
|
|
- //省
|
|
|
- for (var i in province) {
|
|
|
- var provOpt = document.createElement('option');
|
|
|
- provOpt.innerText = province[i];
|
|
|
- provOpt.value = province[i];
|
|
|
- if (dataMap.s_area.indexOf(province[i]) != -1) {
|
|
|
- provOpt.selected = true
|
|
|
- }
|
|
|
- $("#province")[0].appendChild(provOpt);
|
|
|
- }
|
|
|
- var optHtml = "";
|
|
|
- var optGroup = "";
|
|
|
- //city,district
|
|
|
- for (var i in districtMap) {
|
|
|
- var opt = document.createElement('option');
|
|
|
- opt.innerText = i;
|
|
|
- opt.value = i;
|
|
|
- if (dataMap.s_city.indexOf(i) != -1) {
|
|
|
- opt.selected = true
|
|
|
- }
|
|
|
- $("#city")[0].appendChild(opt);
|
|
|
- optGroup += '<optgroup label="' + i + '" value="' + i + '">';
|
|
|
- for (var j in districtMap[i]) {
|
|
|
- if (dataMap.s_district.indexOf(districtMap[i][j]) != -1) {
|
|
|
- optGroup += '<option selected value="' + i + "-" + districtMap[i][j] + '">' + districtMap[i][j] + '</option>';
|
|
|
- } else {
|
|
|
- optGroup += '<option value="' + i + "-" + districtMap[i][j] + '">' + districtMap[i][j] + '</option>';
|
|
|
- }
|
|
|
- }
|
|
|
- optGroup += `</optgroup>`;
|
|
|
- }
|
|
|
- optHtml += optGroup;
|
|
|
- $("#district").append(optHtml);
|
|
|
-
|
|
|
- $("#province").selectpicker("refresh");
|
|
|
- $("#city").selectpicker("refresh");
|
|
|
- $("#district").selectpicker("refresh");
|
|
|
- if (dataMap.s_toptype != "") {
|
|
|
- $("#typeSelect").val(1);
|
|
|
- for (var i in topTypeArr) {
|
|
|
- var opt = document.createElement('option');
|
|
|
- opt.innerText = topTypeArr[i];
|
|
|
- opt.value = topTypeArr[i];
|
|
|
- if (dataMap.s_toptype.indexOf(topTypeArr[i]) > -1) {
|
|
|
- opt.selected = true
|
|
|
- }
|
|
|
- $('#typeSelectVal')[0].appendChild(opt)
|
|
|
- }
|
|
|
- $("#typeSelectVal").selectpicker("refresh");
|
|
|
- }
|
|
|
- if (dataMap.s_subtype != "") {
|
|
|
- $("#typeSelect").val(2);
|
|
|
- for (var i in subTypeArr) {
|
|
|
- var opt = document.createElement('option');
|
|
|
- opt.innerText = subTypeArr[i];
|
|
|
- opt.value = subTypeArr[i];
|
|
|
- if (dataMap.s_subtype.indexOf(subTypeArr[i]) > -1) {
|
|
|
- opt.selected = true
|
|
|
- }
|
|
|
- $('#typeSelectVal')[0].appendChild(opt)
|
|
|
- }
|
|
|
- $("#typeSelectVal").selectpicker("refresh");
|
|
|
- }
|
|
|
-
|
|
|
- //选择字段
|
|
|
- for (var i in existField) {
|
|
|
- var opt = document.createElement('option');
|
|
|
- opt.innerText = existField[i]["name"];
|
|
|
- opt.value = existField[i]["code"];
|
|
|
- if (dataMap.s_existfields && dataMap.s_existfields.indexOf(existField[i]["code"]) != -1) {
|
|
|
- opt.selected = true
|
|
|
- }
|
|
|
- $('#existFieldSelect')[0].appendChild(opt)
|
|
|
- }
|
|
|
- $("#infoType").selectpicker("refresh");
|
|
|
- $("#existFieldSelect").selectpicker("refresh");
|
|
|
-
|
|
|
- //匹配方式
|
|
|
- var btnMatchHtml1 = "";
|
|
|
- var btnMatchHtml2 = "";
|
|
|
- var addMatchName = "";
|
|
|
- var notMatchName = "";
|
|
|
- var clearMatchName = "";
|
|
|
- for (var i in matchTypeMap) {
|
|
|
- if (i < 5) {
|
|
|
- btnMatchHtml1 += `<input type="button" class="btn btn-default col-md-pull-2" style="margin-left: 10px;margin-top: 10px" onclick="clickMatchBtn(this)"
|
|
|
- code="${matchTypeMap[i]["code"]}" value="${matchTypeMap[i]["name"]}">`;
|
|
|
- }else {
|
|
|
- btnMatchHtml2 += `<input type="button" class="btn btn-default col-md-pull-2" style="margin-left: 10px;margin-top: 10px" onclick="clickMatchBtn2(this)"
|
|
|
- code="${matchTypeMap[i]["code"]}" value="${matchTypeMap[i]["name"]}">`;
|
|
|
- }
|
|
|
- if (dataMap.s_globaladdkeymatch.indexOf(matchTypeMap[i]["code"]) > -1) {
|
|
|
- if (addMatchName == "") {
|
|
|
- addMatchName = matchTypeMap[i]["name"]
|
|
|
- }else {
|
|
|
- addMatchName = addMatchName + "," + matchTypeMap[i]["name"]
|
|
|
- }
|
|
|
- }
|
|
|
- if (dataMap.s_globalnotkeymatch.indexOf(matchTypeMap[i]["code"]) > -1) {
|
|
|
- if (notMatchName == "") {
|
|
|
- notMatchName = matchTypeMap[i]["name"]
|
|
|
- }else {
|
|
|
- notMatchName = notMatchName + "," + matchTypeMap[i]["name"]
|
|
|
- }
|
|
|
- }
|
|
|
- //清理词匹配方式界面展示赋值
|
|
|
- if (dataMap.s_globalclearkeymatch && dataMap.s_globalclearkeymatch.indexOf(matchTypeMap[i]["code"]) > -1) {
|
|
|
- if (clearMatchName == "") {
|
|
|
- clearMatchName = matchTypeMap[i]["name"]
|
|
|
- }else {
|
|
|
- clearMatchName = clearMatchName + "," + matchTypeMap[i]["name"]
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- $("#btnGroupMatch").append(btnMatchHtml1);
|
|
|
- $("#btnGroupMatch2").append(btnMatchHtml2);
|
|
|
- if (addMatchName != "") $('#s_addkeymatch').val(addMatchName);
|
|
|
- if (notMatchName != "") $('#s_notkeymatch').val(notMatchName);
|
|
|
- if (clearMatchName != "") $('#s_globalclearkeymatch').val(clearMatchName);
|
|
|
- var btnBuyerHtml = "";
|
|
|
- for (var i in buyerClass) {
|
|
|
- btnBuyerHtml += `<input type="button" class="btn btn-default col-md-2" style="margin-left: 10px;margin-top: 10px" onclick="clickBuyerBtn(this)"
|
|
|
- value="${buyerClass[i]}">`;
|
|
|
- }
|
|
|
- $("#btnGroupBuyer").append(btnBuyerHtml);
|
|
|
-
|
|
|
- var btnTopHtml = "";
|
|
|
- var btnSubHtml = "";
|
|
|
- for (var i in scopeClass) {
|
|
|
- var topId = "top_" + i;
|
|
|
- btnTopHtml += `<input type="button" id="${topId}" class="btn btn-default btn_top" onclick="btnTopScopeClick(this)" value="${scopeClass[i]["name"]}">`;
|
|
|
- btnSubHtml += `<div class="btn-group-sub">`;
|
|
|
- for (var j in scopeClass[i]["child"]) {
|
|
|
- var sub = scopeClass[i]["child"][j].split("_");
|
|
|
- btnSubHtml += `<input type="button" class="btn btn-default btn-sub" onclick="btnSubScopeClick(this)" code="${scopeClass[i]["child"][j]}"
|
|
|
- index="${i}" value="${sub[1]}">`
|
|
|
- }
|
|
|
- btnSubHtml += '</div>'
|
|
|
- }
|
|
|
- $("#btnGroupTop").append(btnTopHtml);
|
|
|
- $("#btnGroupSub").append(btnSubHtml);
|
|
|
- //关键词表格
|
|
|
- $('#keywords').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": dataMap.o_rules,
|
|
|
- "columns": [
|
|
|
- {"data": null, width: "2%"},
|
|
|
- {"data": "", width: "1%", render: function() {
|
|
|
- return `<input type="checkbox" name="ckb-keyid" onclick="singleSelect(this)" style="text-align: center">`
|
|
|
- }},
|
|
|
- {"data": "s_matchkey", width: "10%"},
|
|
|
- {"data": function (row) {
|
|
|
- var str = row.s_keymatch;
|
|
|
- if (str && str != "") {
|
|
|
- var s = "";
|
|
|
- for (var i in matchTypeMap) {
|
|
|
- if (str.indexOf(matchTypeMap[i]["code"]) != -1) {
|
|
|
- if (s == "") {
|
|
|
- s = matchTypeMap[i]["name"]
|
|
|
- } else {
|
|
|
- s = s + "," + matchTypeMap[i]["name"]
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- return s
|
|
|
- }
|
|
|
- return ""
|
|
|
- }, width: "5%"},
|
|
|
- {"data": "s_addkey", width: "10%"},
|
|
|
- {"data": function (row) {
|
|
|
- var str = row.s_addkeymatch;
|
|
|
- if (str && str != "") {
|
|
|
- var s = "";
|
|
|
- for (var i in matchTypeMap) {
|
|
|
- if (str.indexOf(matchTypeMap[i]["code"]) != -1) {
|
|
|
- if (s == "") {
|
|
|
- s = matchTypeMap[i]["name"]
|
|
|
- } else {
|
|
|
- s = s + "," + matchTypeMap[i]["name"]
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- return s
|
|
|
- }
|
|
|
- return ""
|
|
|
- }, width: "5%"},
|
|
|
- {"data": "s_notkey", width: "10%"},
|
|
|
- {"data": function (row) {
|
|
|
- var str = row.s_notkeymatch;
|
|
|
- if (str && str != "") {
|
|
|
- var s = "";
|
|
|
- for (var i in matchTypeMap) {
|
|
|
- if (str.indexOf(matchTypeMap[i]["code"]) != -1) {
|
|
|
- if (s == "") {
|
|
|
- s = matchTypeMap[i]["name"]
|
|
|
- } else {
|
|
|
- s = s + "," + matchTypeMap[i]["name"]
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- return s
|
|
|
- }
|
|
|
- return ""
|
|
|
- }, width: "5%"},
|
|
|
- {"data": "s_buyerclass", width: "7%", render: function (val) {
|
|
|
- if (val == undefined) {
|
|
|
- val = ""
|
|
|
- }
|
|
|
- return val
|
|
|
- }},
|
|
|
- {"data": function (row) {
|
|
|
- var str = "";
|
|
|
- if (row.s_topscopeclass) {
|
|
|
- str = row.s_topscopeclass
|
|
|
- }
|
|
|
- if (row.s_subscopeclass) {
|
|
|
- if (str != "") {
|
|
|
- str = str + "," + row.s_subscopeclass
|
|
|
- }else {
|
|
|
- str = row.s_subscopeclass
|
|
|
- }
|
|
|
- }
|
|
|
- return str
|
|
|
- }, width: "5%"},
|
|
|
- ],
|
|
|
- "columnDefs": [{
|
|
|
- "targets": [2],
|
|
|
- "render": function (data, type, full, meta) {
|
|
|
- if (data && data.length > 24) {
|
|
|
- return "<a title='" + data + "' href='#' style='text-decoration: none;'>" + data.trim().substr(0, 24) + "..." + "</a>";
|
|
|
- }else if (data == undefined) {
|
|
|
- return ""
|
|
|
- }else {
|
|
|
- return data
|
|
|
- }
|
|
|
- }
|
|
|
- }, {
|
|
|
- "targets": [4],
|
|
|
- "render": function (data, type, full, meta) {
|
|
|
- if (data && data.length > 24) {
|
|
|
- return "<a title='" + data + "' href='#' style='text-decoration: none;'>" + data.trim().substr(0, 24) + "..." + "</a>";
|
|
|
- }else if (data == undefined) {
|
|
|
- return ""
|
|
|
- }else {
|
|
|
- return data
|
|
|
- }
|
|
|
- }
|
|
|
- }, {
|
|
|
- "targets": [6],
|
|
|
- "render": function (data, type, full, meta) {
|
|
|
- if (data && data.length > 24) {
|
|
|
- return "<a title='" + data + "' href='#' style='text-decoration: none;'>" + data.trim().substr(0, 24) + "..." + "</a>";
|
|
|
- }else if (data == undefined) {
|
|
|
- return ""
|
|
|
- }else {
|
|
|
- return data
|
|
|
- }
|
|
|
- }
|
|
|
- }]
|
|
|
- });
|
|
|
- });
|
|
|
-
|
|
|
- $('#province').selectpicker({
|
|
|
- liveSearch: true,
|
|
|
- });
|
|
|
- $('#city').selectpicker({
|
|
|
- liveSearch: true,
|
|
|
- });
|
|
|
- $('#district').selectpicker({
|
|
|
- liveSearch: true,
|
|
|
- });
|
|
|
-
|
|
|
- //全局modal取消按钮
|
|
|
- function cancelModel() {
|
|
|
- $('#modal-imp-es').modal("hide");
|
|
|
- $('#modal-select-match').modal("hide");
|
|
|
- $('#modal-select-buyer').modal("hide");
|
|
|
- $('#modal-select-scope').modal("hide");
|
|
|
- $('#btnGroupMatch').find("input").each(function () {
|
|
|
- $(this).removeClass("active-btn-match");
|
|
|
- });
|
|
|
- $('#btnGroupMatch2').find("input").each(function () {
|
|
|
- $(this).removeClass("active-btn-match");
|
|
|
- });
|
|
|
- $('#btnGroupBuyer').find("input").each(function () {
|
|
|
- $(this).removeClass("active-btn-match");
|
|
|
- });
|
|
|
- $('#btnGroupTop').find("input").each(function () {
|
|
|
- $(this).removeClass("active-btn-match");
|
|
|
- });
|
|
|
- $('#btnGroupSub').find("input").each(function () {
|
|
|
- $(this).removeClass("active-btn-match");
|
|
|
- });
|
|
|
- }
|
|
|
- //导入es语句modal
|
|
|
- function importEs() {
|
|
|
- $("#modal-imp-es").modal("show");
|
|
|
- }
|
|
|
- //保存es语句
|
|
|
- function saveEs() {
|
|
|
- var esStr = $("#es_json").val();
|
|
|
- try {
|
|
|
- if (typeof JSON.parse(esStr) == "object") {
|
|
|
- $('#modal-imp-es').modal("hide");
|
|
|
- $('#es_div').show();
|
|
|
- dataMap["s_esquery"] = esStr;
|
|
|
- $('#estxt').val(esStr);
|
|
|
- dataMap["i_esquerytype"] = 2;
|
|
|
- }
|
|
|
- } catch (e) {
|
|
|
- showMsg("json格式有误")
|
|
|
- }
|
|
|
- }
|
|
|
- //选择公告类别
|
|
|
- function selectType(obj) {
|
|
|
- var val = obj.options[obj.selectedIndex].value;
|
|
|
- $('#infoType').empty();
|
|
|
- if (val === "1") {
|
|
|
- for (var i in topTypeArr) {
|
|
|
- var typeOpt = document.createElement('option');
|
|
|
- typeOpt.innerText = topTypeArr[i];
|
|
|
- typeOpt.value = topTypeArr[i];
|
|
|
- $('#infoType')[0].appendChild(typeOpt)
|
|
|
- }
|
|
|
- } else {
|
|
|
- for (var i in subTypeArr) {
|
|
|
- var opt = document.createElement('option');
|
|
|
- opt.innerText = subTypeArr[i];
|
|
|
- opt.value = subTypeArr[i];
|
|
|
- $('#infoType')[0].appendChild(opt);
|
|
|
- }
|
|
|
- }
|
|
|
- $('#infoType').selectpicker("deselectAll")
|
|
|
- $('#infoType').selectpicker("refresh");
|
|
|
- }
|
|
|
- //关键词/附加词/排除词匹配方式modal
|
|
|
- function selectKeyMatch(val) {
|
|
|
- setValue = val;
|
|
|
- if (setValue == 0 || setValue == 1 || setValue == 13) {
|
|
|
- matchCode.length = 0;
|
|
|
- matchName.length = 0;
|
|
|
- $('#modal-select-match').modal("show");
|
|
|
- }else {
|
|
|
- if (selectIndex.length > 0 && keyTableChecked) {
|
|
|
- matchCode.length = 0;
|
|
|
- matchName.length = 0;
|
|
|
- $('#modal-select-match').modal("show");
|
|
|
- }else {
|
|
|
- alert("请选中关键词")
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- //匹配方式按钮点击事件
|
|
|
- function clickMatchBtn(obj) {
|
|
|
- if ($(obj).hasClass("active-btn-match")) {
|
|
|
- $(obj).removeClass("active-btn-match")
|
|
|
- matchCode.splice($.inArray($(obj).attr("code"), matchCode), 1);
|
|
|
- matchName.splice($.inArray($(obj).val(), matchName), 1)
|
|
|
- } else {
|
|
|
- $(obj).addClass("active-btn-match");
|
|
|
- matchCode.push($(obj).attr("code"));
|
|
|
- matchName.push($(obj).val())
|
|
|
- }
|
|
|
-
|
|
|
- $('#btnGroupMatch2 .btn-default').each(function () {
|
|
|
- $(this).removeClass("active-btn-match");
|
|
|
- });
|
|
|
- }
|
|
|
- function clickMatchBtn2(obj) {
|
|
|
- matchCode.length = 0;
|
|
|
- matchName.length = 0;
|
|
|
- if ($(obj).hasClass("active-btn-match")) {
|
|
|
- $(obj).removeClass("active-btn-match")
|
|
|
- matchCode.splice($.inArray($(obj).attr("code"), matchCode), 1);
|
|
|
- matchName.splice($.inArray($(obj).val(), matchName), 1)
|
|
|
- } else {
|
|
|
- $(obj).addClass("active-btn-match");
|
|
|
- matchCode.push($(obj).attr("code"));
|
|
|
- matchName.push($(obj).val())
|
|
|
- $('#btnGroupMatch2 .btn-default').each(function () {
|
|
|
- if (this != obj) {
|
|
|
- $(this).removeClass("active-btn-match");
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
- $('#btnGroupMatch .btn-default').each(function () {
|
|
|
- $(this).removeClass("active-btn-match");
|
|
|
- });
|
|
|
- }
|
|
|
- //匹配方式保存
|
|
|
- function saveMatch() {
|
|
|
- $('#btnGroupMatch').find("input").each(function () {
|
|
|
- $(this).removeClass("active-btn-match");
|
|
|
- });
|
|
|
- $('#btnGroupMatch2').find("input").each(function () {
|
|
|
- $(this).removeClass("active-btn-match");
|
|
|
- });
|
|
|
- $('#modal-select-match').modal("hide");
|
|
|
- var matchNameStr = "";
|
|
|
- var codeStr = "";
|
|
|
- for (var i in matchName) {
|
|
|
- if (matchNameStr == "") {
|
|
|
- matchNameStr = matchName[i];
|
|
|
- } else {
|
|
|
- matchNameStr += "," + matchName[i]
|
|
|
- }
|
|
|
- if (codeStr == "") {
|
|
|
- codeStr = matchCode[i]
|
|
|
- } else {
|
|
|
- codeStr = codeStr + "," + matchCode[i]
|
|
|
- }
|
|
|
- }
|
|
|
- if (setValue == 0) {
|
|
|
- $('#s_addkeymatch').val(matchNameStr);
|
|
|
- dataMap["s_globaladdkeymatch"] = codeStr
|
|
|
- }else if (setValue == 1) {
|
|
|
- $('#s_notkeymatch').val(matchNameStr);
|
|
|
- dataMap["s_globalnotkeymatch"] = codeStr
|
|
|
- }else if (setValue == 13){
|
|
|
- $('#s_globalclearkeymatch').val(matchNameStr);
|
|
|
- dataMap["s_globalclearkeymatch"] = codeStr
|
|
|
- }else {
|
|
|
- for (var i in selectIndex) {
|
|
|
- var j = selectIndex[i] - 1;
|
|
|
- if (setValue == 4) {
|
|
|
- if ($("#keywords tbody tr:nth-child("+selectIndex[i]+") td:nth-child(3)").text() != "") {
|
|
|
- $("#keywords tbody tr:nth-child("+selectIndex[i]+") td:nth-child("+setValue+")").html(matchNameStr);
|
|
|
- o_rules[j]["s_keymatch"] = codeStr;
|
|
|
- }
|
|
|
- }else if (setValue == 6) {
|
|
|
- if ($("#keywords tbody tr:nth-child("+selectIndex[i]+") td:nth-child(5)").text() != "") {
|
|
|
- $("#keywords tbody tr:nth-child("+selectIndex[i]+") td:nth-child("+setValue+")").html(matchNameStr);
|
|
|
- o_rules[j]["s_addkeymatch"] = codeStr;
|
|
|
- }
|
|
|
- } else if (setValue == 8) {
|
|
|
- if ($("#keywords tbody tr:nth-child("+selectIndex[i]+") td:nth-child(7)").text() != "") {
|
|
|
- $("#keywords tbody tr:nth-child("+selectIndex[i]+") td:nth-child("+setValue+")").html(matchNameStr);
|
|
|
- o_rules[j]["s_notkeymatch"] = codeStr;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- $('#modal-select-match').modal("hide");
|
|
|
- matchName.length = 0;
|
|
|
- matchCode.length = 0;
|
|
|
- }
|
|
|
- //采购单位modal
|
|
|
- function selectBuyer(val) {
|
|
|
- setValue = val;
|
|
|
- if (val == 2) {
|
|
|
- $('#modal-select-buyer').modal("show");
|
|
|
- }else {
|
|
|
- if (keyTableChecked) {
|
|
|
- $('#modal-select-buyer').modal("show");
|
|
|
- }else {
|
|
|
- alert("请选中关键词")
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- //采购单位点击
|
|
|
- function clickBuyerBtn(obj) {
|
|
|
- if ($(obj).hasClass("active-btn-match")) {
|
|
|
- $(obj).removeClass("active-btn-match")
|
|
|
- buyerArr.splice($.inArray($(obj).val(), buyerArr), 1)
|
|
|
- } else {
|
|
|
- $(obj).addClass("active-btn-match");
|
|
|
- buyerArr.push($(obj).val())
|
|
|
- }
|
|
|
- }
|
|
|
- function saveBuyer() {
|
|
|
- $('#btnGroupBuyer').find("input").each(function () {
|
|
|
- $(this).removeClass("active-btn-match");
|
|
|
- });
|
|
|
- $('#modal-select-buyer').modal("hide");
|
|
|
- var buyerStr = "";
|
|
|
- for (var i in buyerArr) {
|
|
|
- if ("" === buyerStr) {
|
|
|
- buyerStr = buyerArr[i];
|
|
|
- } else {
|
|
|
- buyerStr += "," + buyerArr[i]
|
|
|
- }
|
|
|
- }
|
|
|
- if (setValue == 2) {
|
|
|
- $('#s_buyerclass').val(buyerStr);
|
|
|
- $('#s_buyerclass').attr('title', buyerStr);
|
|
|
- dataMap["s_globalbuyerclass"] = buyerStr;
|
|
|
- }else {
|
|
|
- for (var i in selectIndex) {
|
|
|
- var j = selectIndex[i] - 1;
|
|
|
- //采购单位
|
|
|
- $("#keywords tbody tr:nth-child("+selectIndex[i]+") td:nth-child(9)").html(buyerStr);
|
|
|
- o_rules[j]["s_buyerclass"] = buyerStr;
|
|
|
- }
|
|
|
- }
|
|
|
- $('#modal-select-buyer').modal("hide");
|
|
|
- buyerArr.length = 0;
|
|
|
- }
|
|
|
- //公告行业modal
|
|
|
- function selectScope(val) {
|
|
|
- setValue = val;
|
|
|
- if (val == 3) {
|
|
|
- $('#modal-select-scope').modal("show");
|
|
|
- }else {
|
|
|
- if (keyTableChecked) {
|
|
|
- $('#modal-select-scope').modal("show");
|
|
|
- }else {
|
|
|
- alert("请选中关键词")
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- //公告行业一级点击
|
|
|
- function btnTopScopeClick(obj) {
|
|
|
- if ($(obj).hasClass("active-btn-match")) {
|
|
|
- $(obj).removeClass("active-btn-match");
|
|
|
- scopeTopArr.splice($.inArray($(obj).val(), scopeTopArr), 1)
|
|
|
- } else {
|
|
|
- $(obj).addClass("active-btn-match");
|
|
|
- scopeTopArr.push($(obj).val())
|
|
|
- }
|
|
|
-
|
|
|
- //选择一级行业,取消掉所选择的所有二级行业
|
|
|
- if (scopeSubArr.length > 0) {
|
|
|
- $('#btnGroupSub .btn-default').each(function () {
|
|
|
- $(this).removeClass("active-btn-match");
|
|
|
- });
|
|
|
- scopeSubArr.length = 0
|
|
|
- }
|
|
|
- }
|
|
|
- //公告行业二级点击
|
|
|
- function btnSubScopeClick(obj) {
|
|
|
- if ($(obj).hasClass("active-btn-match")) {
|
|
|
- $(obj).removeClass("active-btn-match")
|
|
|
- scopeSubArr.splice($.inArray($(obj).val(), scopeSubArr), 1)
|
|
|
- } else {
|
|
|
- $(obj).addClass("active-btn-match");
|
|
|
- var topid = "#top_" + $(obj).attr("index");
|
|
|
- $(topid).removeClass("active-btn-match");
|
|
|
- scopeSubArr.push($(obj).attr("code"))
|
|
|
- }
|
|
|
-
|
|
|
- //选择二级行业,取消掉所选择的所有一级行业
|
|
|
- if (scopeTopArr.length > 0) {
|
|
|
- $('#btnGroupTop .btn-default').each(function () {
|
|
|
- $(this).removeClass("active-btn-match");
|
|
|
- });
|
|
|
- scopeTopArr.length = 0
|
|
|
- }
|
|
|
- }
|
|
|
- function saveScope() {
|
|
|
- $('#btnGroupTop').find("input").each(function () {
|
|
|
- $(this).removeClass("active-btn-match");
|
|
|
- });
|
|
|
- $('#btnGroupSub').find("input").each(function () {
|
|
|
- $(this).removeClass("active-btn-match");
|
|
|
- });
|
|
|
- var scopeStr = "";
|
|
|
- var topStr = "";
|
|
|
- var subStr = "";
|
|
|
- for (var i in scopeTopArr) {
|
|
|
- if ("" == scopeStr) {
|
|
|
- scopeStr = scopeTopArr[i];
|
|
|
- } else {
|
|
|
- scopeStr += "," + scopeTopArr[i]
|
|
|
- }
|
|
|
- if (topStr == "") {
|
|
|
- topStr = scopeTopArr[i]
|
|
|
- } else {
|
|
|
- topStr = topStr + "," + scopeTopArr[i]
|
|
|
- }
|
|
|
- }
|
|
|
- for (var i in scopeSubArr) {
|
|
|
- if ("" == scopeStr) {
|
|
|
- scopeStr = scopeSubArr[i];
|
|
|
- } else {
|
|
|
- scopeStr += "," + scopeSubArr[i]
|
|
|
- }
|
|
|
- if (subStr == "") {
|
|
|
- subStr = scopeSubArr[i]
|
|
|
- } else {
|
|
|
- subStr = subStr + "," + scopeSubArr[i]
|
|
|
- }
|
|
|
- }
|
|
|
- if (setValue == 3) {
|
|
|
- $('#s_scopeclass').val(scopeStr);
|
|
|
- $('#s_scopeclass').attr('title', scopeStr);
|
|
|
- dataMap["s_globaltopscopeclass"] = topStr;
|
|
|
- dataMap["s_globalsubscopeclass"] = subStr;
|
|
|
- }else {
|
|
|
- for (var i in selectIndex) {
|
|
|
- var j = selectIndex[i] - 1;
|
|
|
- $("#keywords tbody tr:nth-child("+selectIndex[i]+") td:nth-child(10)").html(scopeStr);
|
|
|
- o_rules[j]["s_topscopeclass"] = topStr;
|
|
|
- o_rules[j]["s_subscopeclass"] = subStr;
|
|
|
- }
|
|
|
- }
|
|
|
- $('#modal-select-scope').modal("hide");
|
|
|
- scopeTopArr.length = 0;
|
|
|
- scopeSubArr.length = 0;
|
|
|
- }
|
|
|
- //页面添加附加词、排除词
|
|
|
- function addkeyWord(rdata) {
|
|
|
- o_rules = rdata["o_rules"];
|
|
|
- $('#g_addkey').attr("value", rdata["s_globaladdkey"]);
|
|
|
- $('#g_notkey').attr("value", rdata["s_globalnotkey"]);
|
|
|
- dataMap["s_globaladdkey"] = rdata["s_globaladdkey"];
|
|
|
- dataMap["s_globalnotkey"] = rdata["s_globalnotkey"];
|
|
|
-
|
|
|
- $('#keywords').dataTable().fnClearTable();
|
|
|
- $('#keywords').dataTable().fnAddData(rdata["o_rules"]);
|
|
|
- }
|
|
|
- //表格全选
|
|
|
- function allSelect(obj) {
|
|
|
- if ($(obj).is(':checked')) {
|
|
|
- keyTableChecked = true;
|
|
|
- keyTableAllChecked = true;
|
|
|
- $('input[name="ckb-keyid"]').each(function () {
|
|
|
- this.checked = true;
|
|
|
- selectIndex.push($(this).parents("tr").index() + 1);
|
|
|
- })
|
|
|
- } 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-keyid"]').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 saveTag() {
|
|
|
- let obj = checkArea(dataMap.s_area, dataMap.s_city, dataMap.s_district);
|
|
|
- if (!obj.flag) {
|
|
|
- let msg = "选择的" + obj.v1 + "和" + obj.v2 + "生成es语句时会产生错误,请重新选择其中一个";
|
|
|
- showMsg(msg);
|
|
|
- return
|
|
|
- }
|
|
|
- //通用规则采购单位行业和关键词中的采购单位行业只能存在一个
|
|
|
- if (o_rules && o_rules.length > 0) {
|
|
|
- let tag = false;
|
|
|
- for (var i in o_rules) {
|
|
|
- if (o_rules[i].s_buyerclass) {
|
|
|
- tag = true
|
|
|
- }
|
|
|
- }
|
|
|
- if (tag && dataMap.s_globalbuyerclass) {
|
|
|
- showMsg("保存失败,采购单位行业在通用规则和关键词规则中不能同时存在!")
|
|
|
- return;
|
|
|
- }
|
|
|
- }
|
|
|
- //关键词、附加词、排除词存在,则必须有相应的匹配方式
|
|
|
- if (dataMap.s_globaladdkey && !dataMap.s_globaladdkeymatch) {
|
|
|
- showMsg("保存失败,全局附加词必须有对应的匹配方式!")
|
|
|
- return;
|
|
|
- }
|
|
|
- if (dataMap.s_globalnotkey && !dataMap.s_globalnotkeymatch) {
|
|
|
- showMsg("保存失败,全局附加词必须有对应的匹配方式!")
|
|
|
- return;
|
|
|
- }
|
|
|
- if (o_rules && o_rules.length > 0) {
|
|
|
- for (const i in o_rules) {
|
|
|
- if (o_rules[i].s_matchkey && !o_rules[i].s_keymatch) {
|
|
|
- showMsg("保存失败,关键词规则中有关键词未对应匹配方式!")
|
|
|
- return;
|
|
|
- }
|
|
|
- if (o_rules[i].s_addkey && !o_rules[i].s_addkeymatch) {
|
|
|
- showMsg("保存失败,关键词规则中有附加词未对应匹配方式!")
|
|
|
- return;
|
|
|
- }
|
|
|
- if (o_rules[i].s_notkey && !o_rules[i].s_notkeymatch) {
|
|
|
- showMsg("保存失败,关键词规则中有排除词未对应匹配方式!")
|
|
|
- return;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- dataMap["s_customer"] = $('#customer').val();
|
|
|
- dataMap["s_tagname"] = $('#tagname').val();
|
|
|
- dataMap["s_salesperson"] = $('#salename').val();
|
|
|
- dataMap["s_serverperson"] = $("#serverperson").val();
|
|
|
- dataMap["s_customername"] = $("#customername").val();
|
|
|
- dataMap["s_globaladdkey"] = $('#g_addkey').val();
|
|
|
- dataMap["s_globalnotkey"] = $('#g_notkey').val();
|
|
|
- dataMap["s_globalclearkey"] = $('#s_globalclearkey').val();
|
|
|
- if (dataMap["s_customer"] == "" || dataMap["s_tagname"] == "" || dataMap["s_salesperson"] == "" || dataMap["s_serverperson"] == "") {
|
|
|
- alert("请填写必须字段!")
|
|
|
- return
|
|
|
- }
|
|
|
- if ($('#starttime').find("input").val() != "") {
|
|
|
- var start = $('#starttime').find("input").val();
|
|
|
- start = new Date(start).getTime() / 1000;
|
|
|
- dataMap["i_starttime"] = start;
|
|
|
- }else {
|
|
|
- delete dataMap["i_starttime"]
|
|
|
- }
|
|
|
- if ($('#endtime').find("input").val() != "") {
|
|
|
- var end = $('#endtime').find("input").val();
|
|
|
- end = new Date(end).getTime() / 1000;
|
|
|
- dataMap["i_endtime"] = end;
|
|
|
- }else {
|
|
|
- delete dataMap["i_endtime"]
|
|
|
- }
|
|
|
- var budget = "";
|
|
|
- if ($('#s_budget_min').val() != "") {
|
|
|
- budget = "大于" + $('#s_budget_min').val()
|
|
|
- }
|
|
|
- if ($('#s_budget_max').val() != "") {
|
|
|
- if (budget == "") {
|
|
|
- budget = "小于" + $('#s_budget_max').val()
|
|
|
- }else {
|
|
|
- budget = budget + ",小于" + $('#s_budget_max').val()
|
|
|
- }
|
|
|
- }
|
|
|
- dataMap["s_budgetlimit"] = budget;
|
|
|
- var bidamount = "";
|
|
|
- if ($('#s_bidamount_min').val() != "") {
|
|
|
- bidamount = "大于" + $('#s_bidamount_min').val()
|
|
|
- }
|
|
|
- if ($('#s_bidamount_max').val() != "") {
|
|
|
- if (bidamount == "") {
|
|
|
- bidamount = "小于" + $('#s_bidamount_max').val()
|
|
|
- }else {
|
|
|
- bidamount = bidamount + ",小于" + $('#s_bidamount_max').val()
|
|
|
- }
|
|
|
- }
|
|
|
- dataMap["s_bidamountlimit"] = bidamount;
|
|
|
- if ($('#maxnum').val() !== "") {
|
|
|
- dataMap["i_maxnum"] = $('#maxnum').val();
|
|
|
- }
|
|
|
- if (dataMap.s_globaladdkeymatch.indexOf("1") > -1 || dataMap.s_globaladdkeymatch.indexOf("2") > -1 || dataMap.s_globaladdkeymatch.indexOf("3") > -1 ||
|
|
|
- dataMap.s_globaladdkeymatch.indexOf("4") > -1 || dataMap.s_globaladdkeymatch.indexOf("5") > -1) {
|
|
|
- dataMap["i_globaladdkeytype"] = 1
|
|
|
- }else if (dataMap.s_globaladdkeymatch.indexOf("6") > -1 || dataMap.s_globaladdkeymatch.indexOf("7") > -1 ||
|
|
|
- dataMap.s_globaladdkeymatch.indexOf("8") > -1 || dataMap.s_globaladdkeymatch.indexOf("9") > -1) {
|
|
|
- dataMap["i_globaladdkeytype"] = 2
|
|
|
- }else {
|
|
|
- dataMap["i_globaladdkeytype"] = 0
|
|
|
- }
|
|
|
- if (dataMap.s_globalnotkeymatch.indexOf("1") > -1 || dataMap.s_globalnotkeymatch.indexOf("2") > -1 || dataMap.s_globalnotkeymatch.indexOf("3") > -1 ||
|
|
|
- dataMap.s_globalnotkeymatch.indexOf("4") > -1 || dataMap.s_globalnotkeymatch.indexOf("5") > -1) {
|
|
|
- dataMap["i_globalnotkeytype"] = 1
|
|
|
- }else if (dataMap.s_globalnotkeymatch.indexOf("6") > -1 || dataMap.s_globalnotkeymatch.indexOf("7") > -1 ||
|
|
|
- dataMap.s_globalnotkeymatch.indexOf("8") > -1 || dataMap.s_globalnotkeymatch.indexOf("9") > -1) {
|
|
|
- dataMap["i_globalnotkeytype"] = 2
|
|
|
- }else {
|
|
|
- dataMap["i_globalnotkeytype"] = 0
|
|
|
- }
|
|
|
- dataMap["o_rules"] = JSON.stringify(o_rules);
|
|
|
- $.ajax({
|
|
|
- url: "/service/rule/save",
|
|
|
- type: 'POST',
|
|
|
- data: dataMap,
|
|
|
- success: function (r) {
|
|
|
- if (r.rep && r.id) {
|
|
|
- $('#estxt').val(r.s_esquery);
|
|
|
- state = 2;
|
|
|
- showTip("保存成功",1000);
|
|
|
- } else {
|
|
|
- showTip("保存失败",1000);
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
-
|
|
|
- //生成数据
|
|
|
- function produceData() {
|
|
|
- com.maskShow("正在生成数据...");
|
|
|
- $.ajax({
|
|
|
- url: "/service/rule/produce",
|
|
|
- type: "post",
|
|
|
- data: {"id": dataMap.id},
|
|
|
- success: function (r) {
|
|
|
- com.maskHide();
|
|
|
- if (r.rep) {
|
|
|
- dataMap.i_estotal = r.count;
|
|
|
- showTip("数据生成成功", 1000);
|
|
|
- } else {
|
|
|
- showTip("数据生成失败", 1000);
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
-
|
|
|
- //预览数据
|
|
|
- function previewData() {
|
|
|
- myDataTable = $('#previewData').DataTable({
|
|
|
- "destroy": true,
|
|
|
- "paging": true,
|
|
|
- "lengthChange": false,
|
|
|
- "searching": false,
|
|
|
- "ordering": false,
|
|
|
- "info": true,
|
|
|
- "autoWidth": true,
|
|
|
- "serverSide": true,
|
|
|
- "ajax": {
|
|
|
- url: "/service/rule/preview",
|
|
|
- type: "post",
|
|
|
- data: {"s_dataid": dataMap.s_dataid},
|
|
|
- },
|
|
|
- "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;
|
|
|
- }
|
|
|
- myDataTable.page(redirectpage).draw(false);
|
|
|
- });
|
|
|
- this.api().column(0).nodes().each(function (cell, i) {
|
|
|
- cell.innerHTML = i + 1;
|
|
|
- });
|
|
|
- },
|
|
|
- "columns": [
|
|
|
- {"data": null, width: "2%"},
|
|
|
- {"data": function (row) {
|
|
|
- if (row.s_matchkey) {
|
|
|
- return row.s_matchkey
|
|
|
- } else {
|
|
|
- return ""
|
|
|
- }
|
|
|
- }, width: "8%"},
|
|
|
- {"data": function (row) {
|
|
|
- if (row.area) {
|
|
|
- return row.area
|
|
|
- } else {
|
|
|
- return ""
|
|
|
- }
|
|
|
- }, width: "4%"},
|
|
|
- {"data": function (row) {
|
|
|
- if (row.city) {
|
|
|
- return row.city
|
|
|
- } else {
|
|
|
- return ""
|
|
|
- }
|
|
|
- }, width: "4%"},
|
|
|
- {"data": function (row) {
|
|
|
- if (row.s_jyhref) {
|
|
|
- if (row.title.length > 36) {
|
|
|
- var str = row.title.substring(0, 36) + "..."
|
|
|
- } else {
|
|
|
- var str = row.title
|
|
|
- }
|
|
|
- tmp = '<a class="" target="_blank" href=' + row.s_jyhref + '>' + str + '</a>';
|
|
|
- return tmp
|
|
|
- } else {
|
|
|
- return row.title
|
|
|
- }
|
|
|
- }, width: "5%"},
|
|
|
- {"data": function (row) {
|
|
|
- if (row.subtype) {
|
|
|
- return row.subtype
|
|
|
- } else {
|
|
|
- return ""
|
|
|
- }
|
|
|
- }, width: "4%"},
|
|
|
- {"data": function (row) {
|
|
|
- var str = com.trimStr(row.detail);
|
|
|
- if (str.length > 14) {
|
|
|
- return str.substring(0, 14) + "..."
|
|
|
- } else {
|
|
|
- return str
|
|
|
- }
|
|
|
- }, width: "5%"},
|
|
|
- {"data": function (row) {
|
|
|
- var dt = new Date();
|
|
|
- dt.setTime(parseInt(row.publishtime) * 1000);
|
|
|
- return dt.format("yyyy-MM-dd")
|
|
|
- }, width: "4%"},
|
|
|
- {"data": function (row) {
|
|
|
- if (row.href) {
|
|
|
- var shref = row.href;
|
|
|
- tmp = '<a class="" target="_blank" href=' + shref + '>公告地址</a>';
|
|
|
- return tmp
|
|
|
- } else {
|
|
|
- return ""
|
|
|
- }
|
|
|
- }, width: "5%"},
|
|
|
- {"data": function (row) {
|
|
|
- if (row.projectcode) {
|
|
|
- return row.projectcode
|
|
|
- }else {
|
|
|
- return ""
|
|
|
- }
|
|
|
- }, width: "5%"},
|
|
|
- {"data": "projectname", width: "5%"},
|
|
|
- {"data": function (row) {
|
|
|
- if (row.projectscope) {
|
|
|
- if (row.projectscope.length > 14) {
|
|
|
- return row.projectscope.substring(0, 14) + "..."
|
|
|
- } else {
|
|
|
- return row.projectscope
|
|
|
- }
|
|
|
- }
|
|
|
- return ""
|
|
|
- }, width: "3%"},
|
|
|
- {"data": function (row) {
|
|
|
- if (row.budget == undefined) {
|
|
|
- return ""
|
|
|
- } else {
|
|
|
- return row.budget
|
|
|
- }
|
|
|
- }, width: "3%"},
|
|
|
- {"data": function (row) {
|
|
|
- if (row.bidamount == undefined) {
|
|
|
- return ""
|
|
|
- } else {
|
|
|
- return row.bidamount
|
|
|
- }
|
|
|
- }, width: "3%"},
|
|
|
- {"data": "bidopentime", width: "3%", render: function (val) {
|
|
|
- if (val) {
|
|
|
- var dt = new Date();
|
|
|
- dt.setTime(parseInt(val) * 1000);
|
|
|
- return dt.format("yyyy-MM-dd")
|
|
|
- } else {
|
|
|
- return ""
|
|
|
- }
|
|
|
- }},
|
|
|
- {"data": "buyer", width: "3%", render: function (val) {
|
|
|
- if (val == undefined) {
|
|
|
- val = ""
|
|
|
- }
|
|
|
- return val
|
|
|
- }},
|
|
|
- {
|
|
|
- "data": function (row) {
|
|
|
- if (row.buyerperson) {
|
|
|
- return row.buyerperson
|
|
|
- } else {
|
|
|
- return ""
|
|
|
- }
|
|
|
- }, width: "4%"
|
|
|
- },
|
|
|
- {
|
|
|
- "data": function (row) {
|
|
|
- if (row.buyertel) {
|
|
|
- return row.buyertel
|
|
|
- } else {
|
|
|
- return ""
|
|
|
- }
|
|
|
- }, width: "4%"
|
|
|
- },
|
|
|
- {
|
|
|
- "data": "agency", width: "5%", render: function (val) {
|
|
|
- if (val == undefined) {
|
|
|
- val = ""
|
|
|
- }
|
|
|
- return val
|
|
|
- }
|
|
|
- },
|
|
|
- {
|
|
|
- "data": "s_winner", width: "3%", render: function (val) {
|
|
|
- if (val == undefined) {
|
|
|
- val = ""
|
|
|
- }
|
|
|
- return val
|
|
|
- }
|
|
|
- },
|
|
|
- {
|
|
|
- "data": function (row) {
|
|
|
- if (row.winnerperson) {
|
|
|
- return row.winnerperson
|
|
|
- } else {
|
|
|
- return ""
|
|
|
- }
|
|
|
- }, width: "4%"
|
|
|
- },
|
|
|
- {
|
|
|
- "data": function (row) {
|
|
|
- if (row.winnertel) {
|
|
|
- return row.winnertel
|
|
|
- } else {
|
|
|
- return ""
|
|
|
- }
|
|
|
- }, width: "4%"
|
|
|
- },
|
|
|
- {
|
|
|
- "data": function (row) {
|
|
|
- if (row.legal_person) {
|
|
|
- return row.legal_person
|
|
|
- } else {
|
|
|
- return ""
|
|
|
- }
|
|
|
- }, width: "4%"
|
|
|
- },
|
|
|
- {
|
|
|
- "data": function (row) {
|
|
|
- if (row.company_phone) {
|
|
|
- return row.company_phone
|
|
|
- } else {
|
|
|
- return ""
|
|
|
- }
|
|
|
- }, width: "4%"
|
|
|
- },
|
|
|
- {
|
|
|
- "data": function (row) {
|
|
|
- if (row.company_email) {
|
|
|
- return row.company_email
|
|
|
- } else {
|
|
|
- return ""
|
|
|
- }
|
|
|
- }, width: "4%"
|
|
|
- },
|
|
|
- ]
|
|
|
- });
|
|
|
- $('#modal-preview').modal("show");
|
|
|
- if (dataMap.i_extfieldstype == 1) {
|
|
|
- var str = "标准字段包 " + dataMap.i_maxnum + "/" + dataMap.i_estotal;
|
|
|
- $('#dataCount').html(str)
|
|
|
- } else {
|
|
|
- var str = "高级字段包 " + dataMap.i_maxnum + "/" + dataMap.i_estotal;
|
|
|
- $('#dataCount').html(str)
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- //导入标签
|
|
|
- function importRule() {
|
|
|
- $("#file").click();
|
|
|
- }
|
|
|
-
|
|
|
- $(function () {
|
|
|
- $("#uploadform").find("input").change(function () {
|
|
|
- var val = $(this).val() ? $(this).val() : "";
|
|
|
- if (val.indexOf(".xlsx") < 0) {
|
|
|
- showMsg("文件格式非法", function () {
|
|
|
- });
|
|
|
- } else {
|
|
|
- var myform = new FormData();
|
|
|
- myform.append('xlsx', $("#file")[0].files[0]);
|
|
|
- $.ajax({
|
|
|
- url: "/service/rule/import",
|
|
|
- type: 'POST',
|
|
|
- data: myform,
|
|
|
- async: false,
|
|
|
- contentType: false,//不要设置Content-Type请求头
|
|
|
- processData: false,// 使数据不做处理
|
|
|
- success: function (r) {
|
|
|
- if (r.rep) {
|
|
|
- // dataMap["id"] = r.id;
|
|
|
- addkeyWord(r.rdata);
|
|
|
- alert("导入成功")
|
|
|
- } else {
|
|
|
- alert("导入失败")
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
- })
|
|
|
-
|
|
|
- //下载es
|
|
|
- function downloades() {
|
|
|
- if (state == 1) {
|
|
|
- alert("请先保存标签")
|
|
|
- } else {
|
|
|
- $("#download").attr("href", "/service/rule/exportes?id={{.T.data.id}}")
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- //存档
|
|
|
- function archive() {
|
|
|
- showConfirm("是否存档?", function () {
|
|
|
- $.ajax({
|
|
|
- url: "/service/rule/archive",
|
|
|
- type: "post",
|
|
|
- data: {"_id": dataMap["id"]},
|
|
|
- success: function (r) {
|
|
|
- if (r.rep) {
|
|
|
- showTip("存档成功", 1000);
|
|
|
- //ttable.ajax.reload();
|
|
|
- } else {
|
|
|
- showTip("存档失败", 1000);
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
- var key_flag = -1; // 0:新增,1:修改
|
|
|
- //关键词表格新增
|
|
|
- function add_Rule() {
|
|
|
- key_flag = 0;
|
|
|
- $('#keyword_txt').val("");
|
|
|
- $('#addword_txt').val("");
|
|
|
- $('#notword_txt').val("");
|
|
|
- $('#modal-add-keyword').modal("show");
|
|
|
- }
|
|
|
- //关键词修改
|
|
|
- function modify_Rule(){
|
|
|
- if (selectIndex.length == 1) {
|
|
|
- key_flag = 1;
|
|
|
- var index = selectIndex[0] - 1;
|
|
|
- $('#modal-add-keyword').modal("show");
|
|
|
- $('#keyword_txt').val(o_rules[index].s_matchkey);
|
|
|
- $('#addword_txt').val(o_rules[index].s_addkey);
|
|
|
- $('#notword_txt').val(o_rules[index].s_notkey);
|
|
|
- }else {
|
|
|
- showTip("请选中需要修改的关键词,且只能选中一条", 1000)
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- function saveKeyword() {
|
|
|
- var key = $('#keyword_txt').val();
|
|
|
- var addkey = $('#addword_txt').val();
|
|
|
- var notkey = $('#notword_txt').val();
|
|
|
- if (key != "") {
|
|
|
- var rule = {};
|
|
|
- rule["s_matchkey"] = key.replace(",", ",");
|
|
|
- if (addkey != "") rule["s_addkey"] = addkey.replace(",", ",");
|
|
|
- if (notkey != "") rule["s_notkey"] = notkey.replace(",", ",");
|
|
|
- $('#modal-add-keyword').modal('hide');
|
|
|
- if (key_flag == 1) {
|
|
|
- var index = selectIndex[0] - 1;
|
|
|
- o_rules.splice(index, 1, rule)
|
|
|
- }else {
|
|
|
- o_rules.push(rule)
|
|
|
- }
|
|
|
- $('#keywords').dataTable().fnClearTable();
|
|
|
- $('#keywords').dataTable().fnAddData(o_rules);
|
|
|
- }else {
|
|
|
- showTip("关键词不能为空", 500)
|
|
|
- }
|
|
|
- }
|
|
|
- //关键词删除
|
|
|
- function del_Rule() {
|
|
|
- console.log(selectIndex);
|
|
|
- if (keyTableChecked && selectIndex.length > 0) {
|
|
|
- showConfirm("确定删除?", function() {
|
|
|
- var tmp = []
|
|
|
- for (var i in selectIndex) {
|
|
|
- var j = selectIndex[i] - 1;
|
|
|
- tmp.push(j)
|
|
|
- }
|
|
|
- o_rules = deleteArrayVal(o_rules, tmp)
|
|
|
- $('#keywords').dataTable().fnClearTable();
|
|
|
- $('#keywords').dataTable().fnAddData(o_rules);
|
|
|
-
|
|
|
- keyTableChecked = false;
|
|
|
- if (o_rules.length == 0) {
|
|
|
- $('#allCheckbox').prop("checked", false);
|
|
|
- $('#keywords').dataTable().fnClearTable();
|
|
|
- }
|
|
|
- })
|
|
|
- }else {
|
|
|
- showTip("请选中需要删除的关键词", 500)
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- function checkArea(area, city, district) {
|
|
|
- let flag = true;
|
|
|
- let v1 = "";
|
|
|
- let v2 = ""
|
|
|
- if (area == "" && city == "" && district == "") {
|
|
|
- flag = true
|
|
|
- }
|
|
|
- if (city != "" && area != "") {
|
|
|
- var areaArr = area.split(",");
|
|
|
- var cityArr = city.split(",");
|
|
|
- for (var i in areaArr) {
|
|
|
- if (cityMap[areaArr[i]] != undefined) {
|
|
|
- for (var j in cityArr) {
|
|
|
- if ($.inArray(cityArr[j], cityMap[areaArr[i]]) > -1) {
|
|
|
- flag = false;
|
|
|
- v1 = areaArr[i];
|
|
|
- v2 = cityArr[j]
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- return {flag: flag, v1: v1, v2: v2}
|
|
|
- }
|
|
|
- if (city != "" && district != "") {
|
|
|
- var cityArr = city.split(",");
|
|
|
- var districtArr = district.split(",");
|
|
|
- for (var i in cityArr) {
|
|
|
- if (districtMap[cityArr[i]] != undefined) {
|
|
|
- for (var j in districtArr) {
|
|
|
- let dis = districtArr[j].split("-")[1];
|
|
|
- if ($.inArray(dis, districtMap[cityArr[i]]) > -1) {
|
|
|
- flag = false;
|
|
|
- v1 = cityArr[i];
|
|
|
- v2 = districtArr[j]
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- return {flag: flag, v1: v1, v2: v2}
|
|
|
- }
|
|
|
- return {flag: flag, v1: v1, v2: v2}
|
|
|
- }
|
|
|
-</script>
|