ComplianceServer/oldcode/Core.Web/Views/ComplianceOrder/Index.cshtml

1141 lines
50 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@using CRM.Core.Model.Entity
@using Core.Web.WebHelper
@{
/**/
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<style>
.self-table-click td {
background-color: #f3ebbc;
}
.showMsg {
cursor: pointer;
}
.hidden {
display: none;
}
.more {
cursor: pointer;
color: blue;
}
.rounded-triangle {
position: relative;
background-color: orange;
}
.rounded-triangle:before,
.rounded-triangle:after {
content: '';
position: absolute;
background-color: inherit;
}
.rounded-triangle,
.rounded-triangle:before,
.rounded-triangle:after {
width: 16px;
height: 16px;
border-top-right-radius: 30%;
}
.rounded-triangle {
transform: rotate(-60deg) skewX(-30deg) scale(1,.866);
}
.rounded-triangle:before {
transform: rotate(-135deg) skewX(-45deg) scale(1.414, .707) translate(0,-50%);
}
.rounded-triangle:after {
transform: rotate(135deg) skewY(-45deg) scale(.707, 1.414) translate(50%);
}
</style>
<div class="x-body">
<div class="layui-btn-group" style="padding-bottom:10px;">
@Html.Action("ToolBar", "Home",
new
{
area = "",
rightcode = (ViewBag.rightCode as string),
otherToolBars = new ToolBar[]
{
new Core.Web.WebHelper.ToolBar(ToolBarConfig.CONST_Other1, "选择回访录音", " " ,"",true),
new Core.Web.WebHelper.ToolBar(ToolBarConfig.CONST_Other2, "订单合规审核", " " ,"",true),
new Core.Web.WebHelper.ToolBar(ToolBarConfig.CONST_Other3, "查看退款协议", "layui-btn-danger" ,"",true),
new Core.Web.WebHelper.ToolBar(ToolBarConfig.CONST_Other5, "电子回访", " " ,"",true),
new Core.Web.WebHelper.ToolBar(ToolBarConfig.CONST_Other6, "质检", "layui-btn-danger" ,"",true),
new Core.Web.WebHelper.ToolBar(ToolBarConfig.CONST_Other7, "重新发起AI外呼", "layui-btn-normal" ,"",true),
new Core.Web.WebHelper.ToolBar(ToolBarConfig.CONST_Other8, "导出", " " ,"",true),
new Core.Web.WebHelper.ToolBar(ToolBarConfig.CONST_Other9, "三要素合规审核", " " ,"",true),
new Core.Web.WebHelper.ToolBar(ToolBarConfig.CONST_Other4, "查看赠送订单列表", " " ,"",true),
}
})
</div>
<form id="mytoolbar">
客户姓名:
<div class="layui-inline">
<input type="text" name="txt_cname" placeholder="请输入" autocomplete="off" class="layui-input" style="width:120px;">
</div>
@*客户编号:
<div class="layui-inline">
<input type="text" name="txt_resId" placeholder="请输入" autocomplete="off" class="layui-input" style="width:150px;" value="@Request.QueryString["resid"]">
</div>*@
客户编号:
<div class="layui-inline">
<input type="text" name="txt_UMID" placeholder="请输入" autocomplete="off" class="layui-input" style="width:250px;" value="@Request.QueryString["UMID"]">
</div>
手机号:
<div class="layui-inline">
<input type="text" name="txt_mobile" placeholder="请输入" autocomplete="off" class="layui-input" style="width:120px;">
</div>
订单号:
<div class="layui-inline">
<input type="text" name="txt_orderId" placeholder="请输入" autocomplete="off" class="layui-input" style="width:120px;">
</div>
软件用户名:
<div class="layui-inline">
<input type="text" name="txt_softusername" placeholder="请输入" autocomplete="off" class="layui-input" style="width:120px;">
</div>
事业部:
<div class="layui-inline">
<div id="selectChannel" style="width: 200px"></div>
</div>
订单状态:
<div class="layui-inline">
<select name="txt_orderStatus" style="height: 35px; width: 200px;">
<option value="">请选择</option>
<option value="1" selected="selected">默认</option>
<option value="180">新订单</option>
<option value="190">已提交支付</option>
<option value="195">支付驳回</option>
<option value="200">已支付</option>
<option value="201">待开通</option>
<option value="220">已开通</option>
<option value="205">已升级</option>
<option value="90">已退款</option>
<option value="80">已到期</option>
<option value="70">已取消</option>
<option value="60">已关闭</option>
<option value="220,205">已开通+已升级</option>
<option value="200,220,205,80">已支付+已开通+已升级+已到期</option>
<option value="220,205,80,90">已开通+已升级+已到期+已退款</option>
<option value="200,220,205,80,90">已支付+已开通+已升级+已到期+已退款</option>
</select>
</div>
合规审核:
<div class="layui-inline">
<select name="txt_riskctrlstatus" style="height:35px;">
<option value="">请选择</option>
@*<option value="-2">未签约</option>*@
<option value="0">未审核</option>
<option value="2">已通过</option>
<option value="-1">驳回</option>
</select>
</div>
审核时间:
<div class="layui-inline">
<input class="layui-input" placeholder="开始日" name="txt_kstime" id="kstart" style="width:120px;">
</div>
<div class="layui-inline">
<input class="layui-input" placeholder="截止日" name="txt_ketime" id="kend" style="width:120px;">
</div>
AI外呼日期
<div class="layui-inline">
<input class="layui-input" placeholder="开始日" name="txt_aistime" id="aistart" style="width:120px;" autocomplete="off">
</div>
<div class="layui-inline">
<input class="layui-input" placeholder="截止日" name="txt_aietime" id="aiend" style="width:120px;" autocomplete="off">
</div>
回访状态:
<div class="layui-inline">
<div id="aiCallStatusChannel" style="width: 200px"></div>
@*<select name="txt_aiCallStatus" style="height:35px;">
<option value="-3">全部</option>
@foreach (var item in ViewBag.aiCallType as List<SelectListItem>)
{
<option value="@item.Value">@item.Text</option>
}
</select>*@
</div>
销售留痕状态:
<div class="layui-inline">
<select name="txt_MarkStatus" style="height:35px;">
<option value="">全部</option>
<option value="true">已留痕</option>
<option value="false">未留痕</option>
</select>
</div>
质检状态:
<div class="layui-inline">
<select name="txt_checkStatus" id="checkStatus" style="height:35px;">
<option value="">全部</option>
<option value="0">未质检</option>
<option value="1">合规</option>
<option value="2">违规</option>
</select>
</div>
<div class="layui-inline" id="divrank" style="display:none;">
<select name="txt_checkrank" id="checkrank" style="height:35px;">
<option value="">全部</option>
<option value="1">红线违规</option>
<option value="2">一类违规</option>
<option value="3">二类违规</option>
</select>
</div>
@*销售留痕状态:
<div class="layui-inline">
<select name="txt_MarkStatus" style="height:35px;">
<option value="">全部</option>
<option value="true">已留痕</option>
<option value="false">未留痕</option>
</select>
</div>*@
<div id="searchHidden" class="hidden">
系列:
<div class="layui-inline">
<select name="txt_productId" style="height:35px;" onChange="changeProduct(this.value)">
<option value="0">--请选中系列--</option>
@foreach (var item in ViewBag.productList as List<SelectListItem>)
{
<option value="@item.Value">【@item.Text】</option>
}
</select>
</div>
产品大类:
<div class="layui-inline">
<select name="txt_ProductId1" id="txt_ProductId1" style="height:35px;" onChange="changeProductId1(this.value)">
<option value="">全部</option>
</select>
</div>
产品小类:
<div class="layui-inline">
<select name="txt_ProductId2" id="txt_ProductId2" style="height:35px;" onChange="changeProductId2(this.value)">
<option value="">全部</option>
</select>
</div>
产品名:
<div class="layui-inline">
@*<select name="txt_subProductId" id="txt_subProductId" style="height:35px;">
<option value="">全部</option>
</select>*@
<div id="subProduct" style="width: 300px"></div>
</div>
权限单号:
<div class="layui-inline">
<input type="text" name="txt_szzyOrderId" placeholder="请输入" autocomplete="off" class="layui-input" style="width:120px;">
</div>
@*事业部订单号:
<div class="layui-inline">
<input type="text" name="txt_outOrderNo" placeholder="请输入" autocomplete="off" class="layui-input" style="width:120px;">
</div>*@
下单金额
<select name="txt_needpayType" id="txt_needpayType" style="height: 35px; width: 90px">
<option value="1" selected>大于</option>
<option value="2">小于</option>
<option value="3">等于</option>
</select>
<div class="layui-inline">
<input type="text" name="txt_needpay" placeholder="请输入" autocomplete="off" class="layui-input" style="width:120px;">
</div>
下单日期:
<div class="layui-inline">
<input class="layui-input" placeholder="开始日" name="txt_xstime" id="xstart" style="width:120px;">
</div>
<div class="layui-inline">
<input class="layui-input" placeholder="截止日" name="txt_xetime" id="xend" style="width:120px;">
</div>
到账日期:
<div class="layui-inline">
<input class="layui-input" placeholder="开始日" name="txt_stime" id="start" style="width:120px;">
</div>
<div class="layui-inline">
<input class="layui-input" placeholder="截止日" name="txt_etime" id="end" style="width:120px;">
</div>
包含未开通:
<div class="layui-inline">
<input type="checkbox" id="hastime" name="hastime" lay-skin="primary" title="">
</div>
</div>
<br />
<a href="javascript:searchHiddenAndShow()" style="margin: 0 5px" class="more">
<span id="more_text">展开搜索</span>
<i id="searchHiddenAndShow-icon" style="font-weight: bold;" class="layui-icon layui-icon-right"></i>
</a>
<button class="layui-btn" type="button" id="search" data-type="reload">搜索</button>
<button class="layui-btn layui-btn-reset" id="reset" type="reset">清空</button>
</form>
<table class="layui-hide" id="tabl1" lay-filter="tabl1"></table>
<iframe id="BillOpen" width="0" height="0" scrolling="no" frameborder="0" style="display:none;"></iframe>
</div>
<script src="~/Scripts/layui_ext/xm-select/xm-select.js"></script>
<script>
var selectRow = {};
var table;
var tableCols;
var subProduct;
var subProductId;
var hgcrmHost = "@Html.Raw(ViewBag.hgServiceHost)";
layui.use('laydate', function () {
var laydate = layui.laydate;
//执行一个laydate实例
laydate.render({ elem: '#start' });
//执行一个laydate实例
laydate.render({ elem: '#end' });
laydate.render({ elem: '#xstart' });
laydate.render({ elem: '#xend' });
laydate.render({ elem: '#kstart' });
laydate.render({ elem: '#kend' });
laydate.render({ elem: '#aistart' });
laydate.render({ elem: '#aiend' });
$("#checkStatus").change(function () {
if (this.value == 2) {
$("#divrank").show();
}
else {
$("#checkrank").val("");
$("#divrank").hide();
}
});
});
layui.config({
base: '../Scripts/layui_ext/',
}).extend({
selectInput: 'selectInput/selectInput'
}).use(['table', 'form'], function () {
table = layui.table;
var form = layui.form;
var param2 = GetParams("mytoolbar");
console.log("param2:" + param2);
InitSelectInput([]);
tableCols = [[
//{ type: 'checkbox' }
//,
{
field: 'ORDERID', title: '订单号', width: 100, fixed: 'left', templet: function (res) { if (res.ORDERID == 1) return "当页合计:"; else return "<a href=\"javascript:void(0)\" style=\"color:blue\" onclick=\"parent.gotoOrderPay(" + res.ORDERID + ")\">" + res.ORDERID + "</a>"; }
}
, { field: 'CNAME', title: '客户姓名', width: 80, fixed: 'left' }
, { field: 'Canopenorder', title: '营销状态', width: 90, templet: '#canopenorderTpl', fixed: 'left' }
, {
field: 'UMID', title: '客户ID', width: 300, templet: function (res) {
if (res.ORDERID != 1) {
var url = hgcrmHost + "Csvr/CustomerInfo/CustomerDetail?hgCustomer=1&isFromHg=1&resid=" + res.UMID + "&name=" + encodeURIComponent(res.CNAME);
var title = "客户明细";
if (res.CNAME) {
title = res.CNAME + "--客户明细";
}
return "<a href=\"javascript:void(0)\" style=\"color:blue\" onclick=\"parent.AddNewTab('" + title + "','" + url + "')\">" + res.UMID + "</a>";
} else {
return ""
}
}
}
, { field: 'CHANNELNAME', title: '事业部', width: 140 }
, { field: 'SUBPRODUCTNAME', title: '产品名', width: 200 }
, { field: 'NEEDPAY', title: '下单金额', width: 90 }
, { field: 'ARRIVALPAY', title: '到账金额', width: 90 }
, { field: 'OPENDAYS', title: '购买天数', width: 90 }
, { field: 'giftdays', title: '赠送天数', width: 90 }
, { field: 'giftdays2', title: '赠送天数2', width: 90 }
, { field: 'ORDERSTATUSNAME', title: '订单状态', width: 90 }
//, { field: 'contract_status', title: '合同状态', templet: '#ContractStatusTpl', width: 100 }
//, { field: 'OTIME', title: '审核时间', width: 120 }
//, { field: 'RISKCTRLSTATUS', title: '合规审核状态', templet: '#riskctrlStatusTpl', width: 100 }
, { field: 'ORIGINPAY', title: '订单原价', width: 90 }
, { field: 'ORDERTYPE', title: '订单类型', width: 90, templet: '#orderTypeTpl' }
, { field: 'contractctime', title: '签约时间', width: 120 }
//, { field: 'CTIME', title: '合同生成时间', width: 120 }
, { field: 'auditor', title: '合同审核人', width: 120 }
, { field: 'auditTime', title: '合同审核时间', width: 120 }
, { field: 'SOFTUSERNAME', title: '用户名', width: 120 }
, { field: 'innerUserName', title: '客服', width: 110 }
//, {
// field: 'CHANNEL', title: '渠道', width: 100, templet: function (res) { if (res.CHANNEL == 0) return ""; else return res.CHANNEL; }, hide: true
//}
, { field: 'ai_hgrecord_time', title: '希望回访时间', templet: '#hgrecordtimeTpl', width: 160 }
, { field: 'SZZYORDERID', title: '权限单号', width: 100 }
, { field: 'productcode', title: '产品编号', width: 160 }
//, { field: 'ARRIVALTIME', title: '到账时间', width: 120 }
, { field: 'CONTRACTCODE', title: '合同编号', width: 90, templet: '#contractTpl'}
, { field: 'ai_hgrecord_statusname', fixed: 'right', title: '回访状态', templet: '#hgrecordstatusTpl', width: 160 }
, { field: 'call', title: '录音', fixed: 'right', templet: '#callTpl', width: 60 }
, { field: 'checkStatusName', title: '留痕质检', fixed: 'right', templet: '#checkTpl', width: 90 }
, { field: 'CheckRankTxt', title: '违规等级', fixed: 'right', width: 100 }
//, { field: 'MarkStatus', title: '销售留痕状态', fixed: 'right', templet: '#markStatusTpl', width: 120 }
, { field: 'wx', title: '聊天记录', fixed: 'right', templet: '#wxTpl', width: 120 }
, { field: 'screenRecord', title: '远程记录', fixed: 'right', templet: '#screenRecordTpl', width: 90 }
//, { field: 'UPGRADEORDERIDS', title: '升级订单', width: 100 }
//, { field: 'MidProductName', title: '小类', width: 100 }
//, { field: 'outorderno', title: '事业部订单号', width: 100 }
//, { field: 'SZZYORDERID', title: '权限单号', width: 100 }
//, { field: 'estimateotime', title: '预计开通时间', width: 120 }
// fixed: 'right'
//, { field: 'hashgrecord', title: '回访录音', templet: '#hgrecordTpl', fixed: 'right', width: 90 }
]];
table.render({
id: 'testReload',//列表别名ID
elem: '#tabl1',//表ID
url: '/ComplianceOrder/Index',
method: 'POST',
even: true, //开启隔行背景
cols: tableCols
,
done: function (res, curr, count) {
$('th').each(function (i) {
var className = $(this).attr('data-key');
if ($(this).attr('data-field') == "ai_hgrecord_time") {
//一些操作代码
this.innerHTML = "<div class='layui-table-cell laytable-cell-" + className + "'><span>希望回访时间</span><img src='/images/tip.png' class='showMsg' style='margin-left: 20px;' title='希望回访时间是客户希望接受回访的时间,&#10AI外呼会优先按照这个时间进行呼叫' /></div>";
}
if ($(this).attr('data-field') == "ai_hgrecord_statusname") {
//一些操作代码
var statusTitle = "回访状态说明: &#10";
statusTitle += " 1.忽略不做AI外呼订单不在AI外呼范围内不进行AI外呼 &#10";
statusTitle += " 2.尚未进行AI外呼订单尚未完全满足AI外呼要求因此暂不进行AI外呼 &#10";
statusTitle += " 3.等待AI外呼订单正在等待AI外呼 &#10";
statusTitle += " 4.AI外呼需人工介入订单AI外呼需要人工介入处理 &#10";
statusTitle += " 5.AI外呼成功订单已经AI外呼成功 &#10";
statusTitle += " 6.人工回访成功:订单已经人工回访成功 &#10";
statusTitle += " 7.电子回访成功:订单已经电子回访成功 &#10";
this.innerHTML = "<div class='layui-table-cell laytable-cell-" + className +"'><span>回访状态</span><img src='/images/tip.png' class='showMsg' style='margin-left: 20px;' title='" + statusTitle + "' /></div>";
}
})
},
page: { //支持传入 laypage 组件的所有参数某些参数除外jump/elem - 详见文档
layout: ['limit', 'count', 'prev', 'page', 'next', 'skip', 'refresh'] //自定义分页布局
//,curr: 5 //设定初始在第 5 页
, groups: 5 //只显示 1 个连续页码
}
, where: param2
});
$('#mytoolbar #search').on('click', function (data) {
var param = GetParams("mytoolbar");
var hastime = $("#hastime").is(':checked');
console.log("hastime:" + hastime);
if (hastime) {
param["hastime"] = 1;
}
else {
param["hastime"] = 0;
}
//console.log("hastime:" + hastime);
param.subProduct = subProduct;
param.subProductId = subProductId;
console.log(param);
var mobile = param.mobile;
if (mobile != '' && !isPhoneNo(mobile)) {
layer.msg("手机号码格式错误!");
return;
}
table.reload('testReload', {
page: {
layout: ['limit', 'count', 'prev', 'page', 'next', 'skip', 'refresh'],
curr: 1 //重新从第 1 页开始
},
where: param
});
});
//监听行单击事件
table.on('row(tabl1)', function (obj) {
var data = obj.data;
//console.log(data);
//标注选中样式
obj.tr.addClass('self-table-click').siblings().removeClass('self-table-click');
selectRow = data;
});
});
function InitSelectInput(da, initValue) {
subProduct = initValue;
subProductId = initValue;
layui.use('selectInput', function () {
var selectInput = layui.selectInput;
var data = da.map(function (d) {
return { value: d.Value, name: d.Text }
});
var ins = selectInput.render('#subProduct', {
// 容器id必传参数
name: 'subProduct', // 渲染的input的name值
hasSelectIcon: true,
layFilter: 'subProduct', //同layui form参数lay-filter
//layVerify: 'required', //同layui form参数lay-verify
layVerType: '', // 同layui form参数lay-verType
layReqText: '请输入或选择产品名', //同layui form参数lay-ReqText
initValue: initValue, // 渲染初始化默认值
placeholder: '请输入或选择产品名', // 渲染的inputplaceholder值
// 联想select的初始化本地值数组格式里面的对象属性必须为valuenamevalue是实际选中值name是展示值两者可以一样
invisibleMode: true,
ignoreCase: true,
data: data,
hasCut: true, // 是否允许剪贴
//url: "http://toys.shop.com/site/test", // 异步加载的url异步加载联想词的数组值设置urldata参数赋的值将会无效url和data参数两者不要同时设置
remoteSearch: false, // 是否启用远程搜索 默认是false和远程搜索回调保存同步
parseData: function (res) { // 此参数仅在异步加载data数据下或者远程搜索模式下有效解析回调如果你的异步返回的data不是上述的data格式请在此回调格式成对应的数据格式回调参数是异步加载的数据
let data = [];
res.map(item => {
data.push({ name: item.title, value: item.val })
});
console.log(data)
return data;
},
error: function (error) { // 异步加载出错的回调 回调参数是错误msg
},
done: function (data) { // 异步加载成功后的回调 回调参数加载返回数据
console.log(data)
},
remoteMethod: function (value, cb) { // 远程搜索的回调函数
// value 是input实施输入的value值
// cb是回调处理函数请在执行ajax搜索请求成功之后执行此回调函数
//案例
//这里如果val为空, 则不触发搜索
if (!value) {
return cb([]);
}
//这里的$.ajax去请求后台拿回数据
$.ajax({
method: 'get',
url: 'http://toys.shop.api.com/user/test', // 此处是你服务端的接口
data: {
keyword: value,
},
success: function (data) {
// 此处最好直接返回取你返回的 data属性data.data这样不限制你后端返回的数据对象格式如果整体传参必须满足{"code":0,"msg":"success","data":[]}
return cb(data)
}
})
}
});
// 监听input 实时输入事件
ins.on('itemInput(subProduct)', function (obj) {
subProduct = obj.data;
subProductId = null;
});
// 监听select 选择事件
ins.on('itemSelect(subProduct)', function (obj) {
subProductId = obj.data;
subProduct = null;
});
});
}
layui.use('layer', function () {
var layer = layui.layer;
var active = {
addPay: function () {
if (selectRow.ORDERID === "undefined" || selectRow.ORDERID == null) {
layer.alert("请先选中一条记录!", { title: '提示' });
return;
}
layer.open({
title: '添加到款记录',
type: 2,
content: '/OrderPay/Add?orderid=' + selectRow.ORDERID,
area: ['850px', '600px']
});
},
other1: function () {
if (selectRow.ORDERID === "undefined" || selectRow.ORDERID == null) {
layer.alert("请先选中一条记录!", { title: '提示' });
return;
}
var hgServiceHost = '@ViewBag.hgServiceHost';
layer.open({
type: 2,
content: hgServiceHost + '/WeiXin/JZOrder/HgRecord?orderid=' + selectRow.ORDERID + '&resid=' + selectRow.RESID + '&mytoken=' + parent._mytoken,
area: ['850px', '600px']
});
},
refund: function () {
if (selectRow.ORDERID === "undefined" || selectRow.ORDERID == null) {
layer.alert("请先选中一条记录!", { title: '提示' });
return;
}
layer.open({
type: 2,
content: '/OrderRefund/Add?orderid=' + selectRow.ORDERID,
area: ['850px', '650px']
});
},
other2: function () {
if (selectRow.ORDERID === "undefined" || selectRow.ORDERID == null) {
layer.alert("请先选中一条记录!", { title: '提示' });
return;
}
layer.open({
type: 2,
content: '/RiskCtrl/Audit?orderid=' + selectRow.ORDERID,
area: ['600px', '520px']
});
},
other3: function () {
if (selectRow.ORDERID === "undefined" || selectRow.ORDERID == null) {
layer.alert("请先选中一条记录!", { title: '提示' });
return;
}
layer.open({
type: 2,
content: '/OrderRefund/Contract?orderid=' + selectRow.ORDERID,
area: ['600px', '520px']
});
},
SupplyOrder: function () {
layer.open({
type: 2,
content: '/Order/SupplyOrder',
area: ['80%', '80%']
});
},
other4: function () {
if (selectRow.UMID === "undefined" || selectRow.UMID == null) {
layer.alert("请先选中一条记录!", { title: '提示' });
return;
}
parent.AddNewTab('赠送订单', '/HandleGift/index?resid=' + selectRow.UMID);
},
other5: function () {
if (selectRow.ORDERID === "undefined" || selectRow.ORDERID == null) {
layer.alert("请先选中一条记录!", { title: '提示' });
return;
}
layer.open({
type: 2,
content: '/Compliance/Index?orderid=' + selectRow.ORDERID,
area: ['600px', '520px']
});
},
other8: function () {
var param = GetParams("mytoolbar");
var hastime = $("#hastime").is(':checked');
console.log("hastime:" + hastime);
if (hastime) {
param["hastime"] = 1;
}
else {
param["hastime"] = 0;
}
if (param.ProductId1 == "" && param.ProductId2 == "" && param.aiCallStatus == "-3" && param.aietime == "" && param.aistime == "" && param.channel == "" && param.cname == "" && param.etime == "" && param.ketime == "" && param.kstime == "" && param.mobile == "" && param.needpay == "" && param.orderId == "" && param.orderStatus == "1" && param.productId == "0" && param.resId == "" && param.riskctrlstatus == "" && param.softusername == "" && param.stime == "" && param.subProductId == "" && param.szzyOrderId == "" && param.xetime == "" && param.xstime == "")
{
layer.msg("筛选条件不能全为空");
return;
}
//$("#modalwindow").html(GetIframeHtml("/Control/ExcelExport?Query=" + encodeURIComponent("/ComplianceOrder/ExportData?param=" + JSON.stringify(param))));
//$("#modalwindow").window({ title: '导出', width: 480, height: 300, iconCls: 'icon-export' }).window('open');
layer.open({
title:'<i class="layui-icon layui-icon-export" style="font-size: 20px; color: #1E9FFF;"></i>&nbsp;导出',
type: 2,
content: "/Control/ExcelExport_cookie?Query=" + encodeURIComponent("/ComplianceOrder/ExportData?param=" + JSON.stringify(param)),
area: ['850px', '400px']
});
//$("#BillOpen").attr("src", "/ComplianceOrder/ExportData?param=" + JSON.stringify(param));
},
other7: function () {
if (selectRow.ORDERID === "undefined" || selectRow.ORDERID == null) {
layer.alert("请先选中一条记录!", { title: '提示' });
return;
}
if (selectRow.ai_hgrecord_status != -2 && selectRow.ai_hgrecord_status != 3 && selectRow.ai_hgrecord_status != 8) {
layer.alert("只有AI外呼需人工介入的订单才能够发起重新发起外呼", { title: '提示' });
return;
}
if (selectRow.hasaiaudio == 1 && (selectRow.ai_hgrecord_status == 3 || selectRow.ai_hgrecord_status == -2)) {
layer.open({
content: '该客户已接通AI外呼AI回访未答完是否确认重新发起AI外呼?'
, btn: ['查看AI录音', '确认']
, yes: function (index, layero) {
onPlay(selectRow.ORDERID, selectRow.companycod);
//按钮【按钮一】的回调
}
, btn2: function (index, layero) {
recall(selectRow.RESID);
//按钮【按钮二】的回调
//return false 开启该代码可禁止点击该按钮关闭
}
})
return;
}
recall(selectRow.RESID);
},
other9: function () {
if (selectRow.ORDERID === "undefined" || selectRow.ORDERID == null) {
layer.alert("请先选中一条记录!", { title: '提示' });
return;
}
layer.open({
type: 2,
content: '/RiskCtrl/AuditNew?orderid=' + selectRow.ORDERID,
area: ['1000px', '720px']
});
},
detail: function () {
if (selectRow.ORDERID === "undefined" || selectRow.ORDERID == null) {
layer.alert("请先选中一条记录!", { title: '提示' });
return;
}
layer.open({
title: '订单明细',
type: 2,
content: '/ComplianceOrder/Detail?orderid=' + selectRow.ORDERID,
area: ['850px', '600px']
});
},
};
function recall(resid) {
$.ajax({
type: "GET",
url: '@Html.Raw(ViewBag.aiCallServiceHost)' + '/api/AiOrder/Creat?resid=' + resid,
dataType: "json",
contentType: "application/json",
success: function (da) {
layer.msg('已重新发起AI外呼', { icon: 1 });
table.reload('testReload', {
page: {
curr: 1 //重新从第 1 页开始
}
});
},
error: function () {
layer.msg('操作失败!', { icon: 2 });
}
});
}
$('.layui-btn-group .layui-btn').on('click', function () {
var othis = $(this), method = othis.data('method');
active[method] ? active[method].call(this, othis) : '';
});
$('#reset').on('click', function () {
selectChannel.reset();
allChannel.forEach(function (item) {
item.selected = false;
})
selectChannel = xmSelect.render(optionsChannel);
selectChannel.update({ data: allChannel });
aiCallStatusChannel.reset();
aiCallType.forEach(function (item) {
item.selected = false;
})
aiCallStatusChannel = xmSelect.render(optionsAiCallStatusChannel);
aiCallStatusChannel.update({ data: aiCallType });
$("#txt_subProductId").empty().append(new Option("全部", ""));
$("#txt_ProductId2").empty().append(new Option("全部", ""));
$("#txt_ProductId1").empty().append(new Option("全部", ""));
InitSelectInput([]);
})
});
//获取datagrid头部及字段
function getDataGridHeader() {
var newcolumns = [];
var columns = tableCols[0];
for (var i = 0; i < columns.length; i++) {
if (columns[i].field != "checkbox" && columns[i].type != "numbers" && columns[i].field != "call" && columns[i].field != "wx" && columns[i].field != "screenRecord") {
newcolumns.push(columns[i])
};
}
return newcolumns;
}
function changeProduct(productId) {
$("#txt_subProductId").empty().append(new Option("全部", ""));
$("#txt_ProductId2").empty().append(new Option("全部", ""));
$("#txt_ProductId1").empty().append(new Option("全部", ""));
InitSelectInput([]);
if (productId == 0) {
return;
}
$.r_post('/Order/GetMidProductList', { productId: productId }, function (data) {
$(data).each(function (i, j) {
$("#txt_ProductId1").append(new Option(j.PRODUCTNAME, j.PRODUCTID));
});
}, "json");
}
function changeProductId1(productId) {
$("#txt_subProductId").empty().append(new Option("全部", ""));
$("#txt_ProductId2").empty().append(new Option("全部", ""));
InitSelectInput([]);
if (productId == "") {
return;
}
$.r_post("/Order/GetMidProductList", { productId: productId }, function (data) {
$(data).each(function (i, j) {
$("#txt_ProductId2").append(new Option(j.PRODUCTNAME, j.PRODUCTID));
});
}, "json");
}
function changeProductId2(midproductId) {
/*$("#txt_subProductId").empty().html("<option value=''>全部</option>");*/
/* $("#txt_subProductId").hide();*/
if (midproductId == "") {
return;
}
$.r_post("/Order/GetAllSubProductList", { productId: 0, midproductId: midproductId }, function (data) {
//$(data).each(function (n, m) {
// $("#txt_subProductId").append("<option value='" + m.Value + "'>" + m.Text + "</option>");
//});
InitSelectInput(data);
}, "json");
}
function onPlay(orderid, companycode) {
layui.use('layer', function () {
var layer = layui.layer;
layer.open({
title: '录音列表',
type: 2,
content: '/AiAudioList/HgRecordList?orderId=' + orderid + "&deptcode=" + companycode,
area: ['80%', '80%']
});
});
}
function onSetTime(orderid) {
layui.use('layer', function () {
var layer = layui.layer;
layer.open({
title: '设置时间',
type: 2,
content: '/ComplianceOrder/SetTime?orderId=' + orderid,
area: ['50%', '70%']
});
});
}
function openAudio(orderid) {
layui.use('layer', function () {
var layer = layui.layer;
layer.open({
title: '录音',
type: 2,
content: '/ComplianceOrder/openAudio?orderId=' + orderid,
area: ['50%', '70%']
});
});
}
function onVideo(orderid) {
var path = "/UploadFile/video/" + orderid + ".mp4";
layui.use('layer', function () {
var layer = layui.layer;
layer.open({
title: '播放视频',
type: 1,
content: '<video src=' + path + ' controls autoplay />',
area: ['80%', '80%']
});
});
}
function wxMessage(resid, companycode) {
//alert(resid);
//alert(companycode);
layui.use('layer', function () {
var layer = layui.layer;
layer.open({
title: '微信聊天列表',
type: 2,
content: '/WxMessage/List?resid=' + resid + "&companycode=" + companycode,
area: ['80%', '80%']
});
});
}
function qwMessage(resid, companycode) {
layui.use('layer', function () {
var layer = layui.layer;
layer.open({
title: '企微聊天列表',
type: 2,
content: '/QwMessage/List?resid=' + resid + "&companycode=" + companycode,
area: ['80%', '80%']
});
});
}
function qw2Message(resid, external_userid, companycode) {
layui.use('layer', function () {
var layer = layui.layer;
layer.open({
title: '企微2聊天列表',
type: 2,
content: '/QwMessage/QwFFBan?resid=' + resid + "&exuserid=" + external_userid + "&companycode=" + companycode + "&showstyle=center&isHg=True",
area: ['80%', '80%']
});
});
}
function showfujian(fujian, companycode) {
window.open(fujian);
//layui.use('layer', function () {
// var layer = layui.layer;
// layer.open({
// title: '企微2聊天列表',
// type: 2,
// content: '/QwMessage/QwFFBan?resid=' + resid + "&exuserid=" + external_userid + "&companycode=" + companycode + "&showstyle=center&isHg=True",
// area: ['80%', '80%']
// });
//});
}
function ComplianceConfirm(orderId, sId) {
layui.use('layer', function () {
var layer = layui.layer;
layer.open({
title: '电子回访',
type: 2,
content: '/Compliance/Audit?mode=1&orderId=' + orderId + "&sId=" + $.md5(sId),
area: ['650px', '80%']
});
});
}
function ScreenRecordMessage(resid, external_userid, companycode) {
layui.use('layer', function () {
var layer = layui.layer;
layer.open({
title: '查看远程记录',
type: 2,
content: '/ComplianceOrder/ScreenRecordList?resid=' + resid,
area: ['80%', '80%']
});
});
}
function show(umid, code) {
parent.gotoCallRecord(umid, code)
}
function checkOrder(umid, orderid) {
$.ajax({
type: "Get",
url: "ComplianceOrder/CheckOrderRoot?umid=" + umid+"&orderid="+orderid,
dataType: "json",
success: function (da) {
if (da.result == true) {
parent.gotoCheckOrder(umid, orderid)
} else if (da.retmsg != "" || da.retmsg != undefined) {
layer.msg("抱歉,您没有质检权限!", { icon: 2 });
$(".price_tip").show();
}
else {
layer.msg("操作失败!", { icon: 2 });
}
},
error: function () {
layer.msg('操作失败!', { icon: 2 });
}
});
}
function searchHiddenAndShow() {
var item = document.getElementById('searchHidden');
var span = document.getElementById('searchHiddenAndShow');
var icon = document.getElementById('searchHiddenAndShow-icon');
if (item.className.indexOf('hidden') > -1) {
item.setAttribute("class", "");
document.getElementById('more_text').innerHTML = '缩小搜索';
icon.setAttribute("class", "layui-icon layui-icon-left")
} else {
item.setAttribute("class", "hidden");
document.getElementById('more_text').innerHTML = '展开搜索';
icon.setAttribute("class", "layui-icon layui-icon-right")
}
}
// 验证手机号
function isPhoneNo(phone) {
var pattern = /^1\d{10}$/;
return pattern.test(phone);
}
window.addEventListener('message', function (event) {
if (event.data != null && event.data.message) {
layer.msg(event.data.message, { icon: 1 }, function () {
layer.closeAll();
document.getElementById('search').click();
});
}
}, false);
var optionsChannel = {
el: '#selectChannel',
name: 'txt_channel',//表单的name属性
layVerify: '',
tips: '请选择事业部',
toolbar: {//工具条,全选,清空,反选,自定义
show: true,
list: [
'CLEAR'
]
},
data: []
};
var selectChannel = xmSelect.render(optionsChannel);
var allChannel = @Html.Raw(ViewBag.AllChannel);
selectChannel.update({ data: allChannel });
var optionsAiCallStatusChannel = {
el: '#aiCallStatusChannel',
name: 'txt_aiCallStatusList',//表单的name属性
layVerify: '',
tips: '请选择回访状态',
toolbar: {//工具条,全选,清空,反选,自定义
show: true,
list: [
'CLEAR'
]
},
data: []
};
var aiCallStatusChannel = xmSelect.render(optionsAiCallStatusChannel);
var aiCallType = @Html.Raw(ViewBag.aiCallTypeJson);
aiCallStatusChannel.update({ data: aiCallType });
function TableReload() {
table.reload('testReload', {
});
}
</script>
<script type="text/html" id="hgrecordstatusTpl">
<div class="setTime">
{{# if(d.ai_hgrecord_status == 0 && (d.ai_hgrecord_statusname==null || d.ai_hgrecord_statusname=="")) {}}
<span style="width:60%">尚未进行AI外呼</span>
{{# } else { }}
<span style="width:60%">{{d.ai_hgrecord_statusname}}</span>
{{# } }}
{{# if(d.hasaiaudio == '1' ){ }}
<a href="javascript:void(0)" onclick="onPlay({{d.ORDERID}},'{{ d.companycode }}')" style="color:red">录音</a>
{{# } else if(d.hashgrecord == '1'){ }}
<a href="javascript:void(0)" onclick="onPlay({{d.ORDERID}},'{{ d.companycode }}')" style="color:red">录音</a>
{{# } else if(d.hashgrecord == '2') { }}
<a href="/UploadFile/video/{{d.ORDERID}}.mp4" target="_blank" style="color:blue">视频</a>
{{# } }}
{{# if(d.CpConfirmOrderId != null) { }}
<a href="javascript:void(0)" onclick="ComplianceConfirm({{d.ORDERID}},'{{d.CpConfirmOrderId}}')" style="color:blue">电子回访</a>
{{# } }}
</div>
</script>
<script type="text/html" id="hgrecordtimeTpl">
{{# if(d.ai_hgrecord_time == "-") { }}
<span style="width:50%">不限制</span>
{{# } else {}}
<span style="width:50%">{{d.ai_hgrecord_time}}</span>
{{# } if(d.CpConfirmOrderId == null && (d.ai_hgrecord_status == '0' || d.ai_hgrecord_status == '1')){ }}
<a href="javascript:void(0)" onclick="onSetTime({{d.ORDERID}})" style="color: #38cb35">设置回访时间</a>
{{# } else if(d.CpConfirmOrderId == null && d.hasBtn == 1 && (d.ai_hgrecord_status == '4' || d.ai_hgrecord_status == '6' || d.ai_hgrecord_status == '3' || d.ai_hgrecord_status == '7')) { }}
<a href="javascript:void(0)" onclick="onSetTime({{d.ORDERID}})" style="color: #38cb35">设置重拨时间</a>
{{# } }}
</script>
<script type="text/html" id="wxTpl">
{{# if(d.ORDERID > 0){ }}
{{# if(d.CUSTOMERUSERNAME != null){ }}
<a href="javascript:void(0)" onclick="wxMessage('{{d.RESID}}','{{d.companycode}}')" style="color:blue">微信</a>
{{# } }}
{{# if(d.wework_remoteid != null) { }}
<a href="javascript:void(0)" onclick="qwMessage('{{d.RESID}}','{{d.companycode}}')" style="color:goldenrod">企微</a>
{{# } }}
{{# if(d.external_userid != null) { }}
<a href="javascript:void(0)" onclick="qw2Message('{{d.RESID}}','{{$.trim(d.external_userid)}}','{{d.companycode}}')" style="color:goldenrod">企微2</a>
{{# } }}
{{# if(d.fujian != null) { }}
<a href="javascript:void(0)" onclick="showfujian('{{d.fujian}}','{{d.companycode}}')" style="color:goldenrod">附件</a>
{{# } }}
{{# } }}
</script>
<script type="text/html" id="callTpl">
{{# if(d.ORDERID > 1){ }}
<a href="javascript:void(0)" onclick="show('{{d.UMID}}','{{d.companycode}}')">查看</a>
{{# } }}
</script>
<script type="text/html" id="screenRecordTpl">
{{# if(d.ScreenRecordCount > 0){ }}
<a href="javascript:void(0)" onclick="ScreenRecordMessage('{{d.RESID}}')">查看</a>
{{# } }}
</script>
<script type="text/html" id="contractTpl">
{{# if(d.RISKCTRLSTATUS == -1) {}}
<span style="color:orange">{{d.CONTRACTCODE}}</span>
{{# } else if(d.RISKCTRLSTATUS == 2) { }}
<span style="color: #38cb35">{{d.CONTRACTCODE}}</span>
{{# } else { }}
{{# if(d.CONTRACTCODE != null) { }}
{{d.CONTRACTCODE}}
{{# } }}
{{# } }}
</script>
<script type="text/html" id="riskctrlStatusTpl">
{{# if(d.RISKCTRLSTATUS == 0) {}}
<span>未审核</span>
{{# } else if(d.RISKCTRLSTATUS == 2) { }}
<span>已通过</span>
{{# } else { }}
<span>驳回</span>
{{# } }}
</script>
<script type="text/html" id="orderTypeTpl">
{{# if(d.ORDERTYPE == 1) {}}
<span>
普通订单
</span>
{{# } else if(d.ORDERTYPE == 2) { }}
<span>续费订单</span>
{{# } else { }}
<span>升级订单</span>
{{# } }}
</script>
<script type="text/html" id="ContractStatusTpl">
{{# if(d.contract_status == 1) {}}
<span>已通过</span>
{{# } else if(d.contract_status == -1) { }}
<span>驳回</span>
{{# } else { }}
<span>未审核</span>
{{# } }}
</script>
<script type="text/html" id="markStatusTpl">
{{# if(d.MarkStatus == null) {}}
<span></span>
{{# } else if(d.MarkStatus == true) { }}
<span>已留痕</span>
{{# } else { }}
<span>未留痕</span>
{{# } }}
</script>
<script type="text/html" id="checkTpl">
{{# if(d.ORDERID > 1){ }}
<a href="javascript:void(0)" onclick="checkOrder('{{d.UMID}}','{{d.ORDERID}}')">
{{d.checkStatusName}}
</a>
{{# } }}
</script>
<script type="text/html" id="canopenorderTpl">
<div style="display: flex; justify-content: center;">
{{# if(d.Canopenorder) {}}
<i class="layui-icon layui-icon-ok showMsg" style="font-size: 18px; color: green;" title="可以营销"></i>
{{# } else if(d.Canopenorder == null) { }}
{{# } else { }}
<div class="rounded-triangle showMsg" title="禁止营销" style="font-size: 20px; color: red;"></div>
<div class="showMsg" title="禁止营销" style="position: absolute; top: 4px; z-index: 99; font-size: 18px; color: white;">!</div>
{{# } }}
</div>
</script>