|
@@ -1777,7 +1777,6 @@
|
|
|
dataMap["s_globalnotkey"] = $('#g_notkey').val();
|
|
|
dataMap["s_globalclearkey"] = $('#s_globalclearkey').val();
|
|
|
dataMap["s_exactRule"] = exactRuleArrToStr()
|
|
|
- debugger
|
|
|
if (dataMap["s_customer"] == "" || dataMap["s_name"] == "" || dataMap["s_salesperson"] == "" || dataMap["s_serverperson"] == "") {
|
|
|
alert("请填写必须字段!")
|
|
|
return
|
|
@@ -2834,15 +2833,28 @@
|
|
|
var groupList = new Array()
|
|
|
// 精准筛选规则-新增按钮点击方法
|
|
|
function addExactRuleShow(){
|
|
|
- //初始化
|
|
|
- $("#insertexactRule").html("");
|
|
|
- $("#addExactRuleButton").show();
|
|
|
// 判断是否设置关键词
|
|
|
// 判断是否设置关键词匹配方式
|
|
|
- //
|
|
|
+ // debugger
|
|
|
+ // 判断是否设置关键词
|
|
|
+ if (o_rules.length===0) {
|
|
|
+ showTip("请先设置关键词")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 判断是否设置关键词匹配方式
|
|
|
+ if (!hasMatchWay()){
|
|
|
+ showTip("请先设置关键词匹配方式")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 清空数据
|
|
|
$("#modal-add-exactRule select[name='groupSelect']").empty()
|
|
|
$("#modal-add-exactRule input[name='count']").val('')
|
|
|
- // debugger
|
|
|
+ matchWayShow("#insertexactRule")
|
|
|
+ $("#insertexactRule select[name=matchWay]").val("").trigger("change")
|
|
|
+ $("#insertexactRule select[name=matchWay]").selectpicker('val', 'title');
|
|
|
+ //初始化
|
|
|
+ $("#insertexactRule").html("");
|
|
|
+ $("#addExactRuleButton").show();
|
|
|
// 新增精准筛选规则弹框
|
|
|
// 请求分组列表接口获取数据
|
|
|
$.ajax({
|
|
@@ -2866,7 +2878,7 @@
|
|
|
|
|
|
$("#modal-add-exactRule").modal("show");
|
|
|
}
|
|
|
- // 精准筛选规则-新增按钮
|
|
|
+ // 精准筛选规则-新增页面 +新增按钮
|
|
|
function addExactRule(){
|
|
|
// $("#insertexactRule .exact-rule-2").addClass("insertexactRule-form")
|
|
|
// $("#insertexactRule .exact-rule-2").show()
|
|
@@ -2879,7 +2891,6 @@
|
|
|
}
|
|
|
// 精准筛选规则-新增精准匹配规则保存按钮点击事件
|
|
|
function add_exactRule_save(){
|
|
|
- debugger
|
|
|
// 获取值
|
|
|
let ruleArr = []
|
|
|
let formList = $("#insertexactRule .insertexactRule-form")
|
|
@@ -2890,6 +2901,7 @@
|
|
|
let tmp = '#insertexactRule .exact-rule-'+(i+1)+' select[name=matchWay]'
|
|
|
let matchWay = $(tmp).val();
|
|
|
if (groupName==""||matchWay.length==0||count==""){
|
|
|
+ // todo
|
|
|
showMsg("必填项缺失")
|
|
|
return
|
|
|
}
|
|
@@ -3020,12 +3032,34 @@
|
|
|
})
|
|
|
|
|
|
}
|
|
|
+ function showGroupListData(mId){
|
|
|
+ $.ajax({
|
|
|
+ url: "/service/cuser/groupList",
|
|
|
+ type: "post",
|
|
|
+ data: {"id": dataMap.id},
|
|
|
+ async: false,
|
|
|
+ success: function (r) {
|
|
|
+ if (r.data) {
|
|
|
+ for (var i in r.data) {
|
|
|
+ var groupOption = document.createElement('option');
|
|
|
+ groupOption.innerText =r.data[i].name
|
|
|
+ groupOption.value = r.data[i].name
|
|
|
+ let s = mId+" select[name='groupSelect']"
|
|
|
+ $(s).append(groupOption)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }})
|
|
|
+ }
|
|
|
// 编辑点击事件
|
|
|
function editExacRuleClick(index){
|
|
|
+ showGroupListData("#modal-edit-exactRule") // 铺分组下拉列表数据
|
|
|
+ matchWayShow("#editexactRule")
|
|
|
+ $("#editexactRuleId").text(index) // 隐藏选中的数组行号
|
|
|
+ // 铺数据
|
|
|
let contentArr = exactRuleTableArr[index]
|
|
|
// keyArr 定义数组 维持最后有序
|
|
|
let keyArr = []
|
|
|
- // 合并 标题正文 如果
|
|
|
+ // 合并 标题正文
|
|
|
let tmpDict = {}
|
|
|
for (let i = 0; i < contentArr.length; i++) {
|
|
|
let keyGroupCount = contentArr[i].group+"_"+ contentArr[i].count
|
|
@@ -3039,47 +3073,97 @@
|
|
|
keyArr.push(keyGroupCount)
|
|
|
}
|
|
|
}
|
|
|
- if(keyArr.length===0){
|
|
|
+ if((keyArr.length===0)||(keyArr.length>2)){// 因为现在是写死的俩 后续有时间再优化
|
|
|
showTip("数据有误")
|
|
|
}
|
|
|
-
|
|
|
- if(keyArr.length==2) { // 铺俩
|
|
|
- $("#").val(tmpDict[keyArr[0]].count)
|
|
|
- }
|
|
|
-
|
|
|
- let str = ""
|
|
|
- for (let tmpDictKey in keyArr) {
|
|
|
- str += "关键词分组:"+tmpDict[keyArr[tmpDictKey]].group+",出现次数>="+tmpDict[keyArr[tmpDictKey]].count+",匹配方式:"+Array.from(tmpDict[keyArr[tmpDictKey]].match_way).join(",")+";"
|
|
|
+ //
|
|
|
+ if(keyArr.length==2){
|
|
|
+ $("#editexactRule .exact-rule-2").addClass("editexactRule-form")
|
|
|
+ $("#editexactRule .exact-rule-2").show() // 展示表单2
|
|
|
+ $("#editExactRuleButton").hide() // 隐藏新增按钮
|
|
|
}
|
|
|
// 铺数据
|
|
|
- $.ajax({
|
|
|
- url: "/service/cuser/groupList",
|
|
|
- type: "post",
|
|
|
- data: {"id": dataMap.id},
|
|
|
- async: false,
|
|
|
- success: function (r) {
|
|
|
- if (r.data) {
|
|
|
- for (var i in r.data) {
|
|
|
- var groupOption = document.createElement('option');
|
|
|
- groupOption.innerText =r.data[i].name
|
|
|
- groupOption.value = r.data[i].name
|
|
|
- groupOption.selected = true
|
|
|
- if (selectElement.options[i].value === selectedValue) {
|
|
|
- selectElement.options[i].selected = true;
|
|
|
- $("#modal-edit-exactRule select[name='groupSelect']").append(groupOption)
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }})
|
|
|
-
|
|
|
+ for (let i = 0; i < keyArr.length; i++) {
|
|
|
+ $('#editexactRule .exact-rule-'+(i+1)+' select[name=groupSelect]').selectpicker('val',tmpDict[keyArr[i]].group)
|
|
|
+ $('#editexactRule .exact-rule-'+(i+1)+' select[name=matchWay]').val("").trigger("change")
|
|
|
+ let matchWayArr = Array.from(tmpDict[keyArr[i]].match_way)
|
|
|
+ $('#editexactRule .exact-rule-'+(i+1)+' select[name=matchWay]').selectpicker('val',matchWayArr);
|
|
|
+ $('#editexactRule .exact-rule-'+(i+1)+' input[name=count]').val(tmpDict[keyArr[i]].count)
|
|
|
+ }
|
|
|
$("#modal-edit-exactRule").modal("show");
|
|
|
|
|
|
}
|
|
|
- function edit_exactRule_save(index){
|
|
|
- debugger
|
|
|
+ // 编辑保存
|
|
|
+ function edit_exactRule_save(){
|
|
|
+ let index = $("#editexactRuleId").text()
|
|
|
+ // 获取数
|
|
|
+ let ruleArr = []
|
|
|
+ let formList = $("#editexactRule .editexactRule-form")
|
|
|
+ for (let i = 0; i < formList.length; i++) {
|
|
|
+ let groupName = formList[i].querySelector('[name=groupSelect]').value
|
|
|
+ let count = formList[i].querySelector('[name=count]').value
|
|
|
+ // 这是因为现在新增的表单是写死的两个
|
|
|
+ let tmp = '#editexactRule .exact-rule-'+(i+1)+' select[name=matchWay]'
|
|
|
+ let matchWay = $(tmp).val();
|
|
|
+ if (groupName==""||matchWay.length==0||count==""){
|
|
|
+ // todo
|
|
|
+ showMsg("必填项缺失")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for (let j = 0; j < matchWay.length; j++) {
|
|
|
+ let rule = {
|
|
|
+ "group":groupName,"match_way":matchWay[j],"count":count
|
|
|
+ }
|
|
|
+ ruleArr.push(rule)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 保存到exactRuleTableArr 临时数组
|
|
|
+ exactRuleTableArr[index] = ruleArr
|
|
|
+ $('#exactRuleTable').dataTable().fnClearTable();
|
|
|
+ $('#exactRuleTable').dataTable().fnAddData(exactRuleTableArr);
|
|
|
+ if (exactRuleTableArr.length == 0) {
|
|
|
+ $('#exactRuleTable').dataTable().fnClearTable();
|
|
|
+ }
|
|
|
+ $("#modal-edit-exactRule").modal("hide");
|
|
|
+ }
|
|
|
+ // 精准筛选规则-编辑页面 +新增按钮
|
|
|
+ function editExactRule(){
|
|
|
+ $("#editexactRule .exact-rule-2").addClass("editexactRule-form")
|
|
|
+ $("#editexactRule .exact-rule-2").show()
|
|
|
+ $("#editExactRuleButton").hide() // 隐藏新增按钮
|
|
|
+ // $(".insertexactRule-form").selectpicker("refresh");
|
|
|
}
|
|
|
- // 判断是否设置关键词
|
|
|
-
|
|
|
// 判断是否设置匹配方式
|
|
|
+ function hasMatchWay() {
|
|
|
+ for (let i = 0; i < o_rules.length; i++) {
|
|
|
+ if (o_rules[i]["s_keymatch"]!=""&&o_rules[i]["s_keymatch"]!=undefined){
|
|
|
+ return true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ // 获取已经设置的匹配方式 但是目前仅支持 标题和正文
|
|
|
+ const ruleMatchMruleStr = {
|
|
|
+ "1":"title",
|
|
|
+ "2":"content"
|
|
|
+ }
|
|
|
+ function matchWayShow(mId) {
|
|
|
+ let arr = new Set();
|
|
|
+ for (let i = 0; i < o_rules.length; i++) {
|
|
|
+ if (o_rules[i]["s_keymatch"] != "" && o_rules[i]["s_keymatch"] != undefined) {
|
|
|
+ if (ruleMatchMruleStr.hasOwnProperty(o_rules[i]["s_keymatch"])){
|
|
|
+ let matchWay = ruleMatchMruleStr[o_rules[i]["s_keymatch"]]
|
|
|
+ arr.add({ value: matchWay, text: matchWayMap[matchWay] })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ let arr2 = Array.from(arr)
|
|
|
+ for (let i = 0; i <arr2.length; i++) {
|
|
|
+ let option = arr2[i]
|
|
|
+ let s = `<option value="`+option.value+`">`+option.text+`</option>`
|
|
|
+ $(mId+' select[name=matchWay]').append(`<option value="`+option.value+`">`+option.text+`</option>`)
|
|
|
+ }
|
|
|
+ $(mId+' select[name=matchWay]').selectpicker('refresh');
|
|
|
|
|
|
+ }
|
|
|
</script>
|