新乡民调(来自息县民调) - 主标

taskAdd.html 22KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <script src="../Script/Common/huayi.load.js"></script>
  6. <script src="../Script/Common/huayi.http.js"></script>
  7. <script src="../Script/Common/huayi.config.js"></script>
  8. <link rel="stylesheet" href="css/jquery-ui.css" />
  9. <link rel="stylesheet" href="css/tpkerjqui.css" />
  10. <link rel="stylesheet" href="css/timePicker.css" />
  11. <link rel="stylesheet" href="../css/plugins/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css">
  12. <link rel="stylesheet" href="css/stty.css" />
  13. <link rel="stylesheet" href="css/init.css" />
  14. <title>添加任务</title>
  15. <style>
  16. .page-title {
  17. padding: 0px;
  18. font-size: 16px;
  19. font-weight: bold;
  20. letter-spacing: -1px;
  21. display: block;
  22. color: #1570A6;
  23. margin: 20px 0px 15px 0px;
  24. }
  25. hr {
  26. margin: 20px 0;
  27. border: 0;
  28. border-top: 1px solid #E0DFDF;
  29. border-bottom: 1px solid #FEFEFE;
  30. }
  31. .bj-title {
  32. color: #ffffff;
  33. background-color: #1ab394;
  34. padding: 8px 35px 8px 14px;
  35. text-shadow: 0 1px 0 rgba(179, 142, 142, 0.5);
  36. border: 1px solid #e5e5e5;
  37. }
  38. .bjCon table th {
  39. padding: 5px 8px 5px 0;
  40. text-align: right;
  41. width: 30%;
  42. }
  43. .bjCon table td {
  44. padding: 6px 0 5px 10px;
  45. text-align: left;
  46. color: #717171;
  47. line-height: 200%;
  48. position: relative;
  49. }
  50. .bjCon table td input {
  51. border: 1px solid #e5e5e5;
  52. width: 240px;
  53. outline: 0;
  54. margin-right: 5px;
  55. padding-left: 10px;
  56. }
  57. .bjCon table td select {
  58. width: 240px;
  59. background-color: #ffffff;
  60. background-image: none !important;
  61. filter: none !important;
  62. border: 1px solid #e5e5e5;
  63. outline: none;
  64. height: 34px !important;
  65. line-height: 30px;
  66. margin-right: 5px;
  67. padding-left: 10px;
  68. }
  69. .bjCon {
  70. padding-top: 20px;
  71. border: 1px solid #e5e5e5;
  72. border-top: 0;
  73. }
  74. .bjright table td input {
  75. padding-left: 30px;
  76. }
  77. .tub {
  78. position: absolute;
  79. left: 18px;
  80. top: 13px;
  81. font-size: 18px;
  82. color: #ccc;
  83. }
  84. .ui-datepicker.ui-widget-content {
  85. background: none !important;
  86. background-color: #eee !important;
  87. }
  88. .ui-widget-header .ui-icon {
  89. background-image: url(img/ui-icons_444444_256x240.png) !important;
  90. }
  91. .box {
  92. width: 55%;
  93. margin: 0 auto;
  94. margin-top: 5%;
  95. }
  96. .box .btop {
  97. height: 35px;
  98. background: #1ab394;
  99. color: #fff;
  100. line-height: 35px;
  101. padding: 0 15px;
  102. /* margin-bottom: 15px; */
  103. }
  104. .btl {
  105. float: left;
  106. margin: 0;
  107. }
  108. .btr {
  109. float: right;
  110. margin: 0;
  111. cursor: pointer;
  112. }
  113. .boxCon {
  114. width: 100%;
  115. min-height: 400px;
  116. background: #fff;
  117. text-align: center;
  118. padding: 10px 15px;
  119. height: auto;
  120. overflow-y: auto;
  121. }
  122. .model {
  123. position: fixed;
  124. top: 0;
  125. right: 0;
  126. bottom: 0;
  127. left: 0;
  128. height: 100%;
  129. width: 100%;
  130. background: rgba(0, 0, 0, 0.48);
  131. z-index: 100;
  132. display: none;
  133. }
  134. .tab-content {
  135. text-align: left;
  136. height: 200px;
  137. }
  138. .checkbox label {
  139. padding-right: 15px;
  140. }
  141. .drfs {
  142. display: none;
  143. }
  144. </style>
  145. </head>
  146. <body>
  147. <div class="container-fluid">
  148. <div class="page-title">
  149. 添加任务
  150. </div>
  151. <hr />
  152. <div class="row-fluid clearfix">
  153. <div class="bjleft col-md-6">
  154. <div class="bj-title">
  155. <i class="fa fa-user"></i> 基本信息
  156. </div>
  157. <div class="bjCon">
  158. <table style="width: 100%;">
  159. <tr>
  160. <th>任务名称:</th>
  161. <td><input type="text" class="taskName" /><span>(必填)</span></td>
  162. </tr>
  163. <tr>
  164. <th>并发数:</th>
  165. <td><input type="text" class="bingfa" /><span>(必填)</span></td>
  166. </tr>
  167. <tr>
  168. <th>录音文件:</th>
  169. <td>
  170. <select name="" id="videoFiel">
  171. <option value="">不播放录音</option>
  172. <option value="">2017茶叶录音</option>
  173. </select><span>(必填)</span>
  174. </td>
  175. </tr>
  176. <tr>
  177. <th>技能队列:</th>
  178. <td>
  179. <select name="" id="jineng"></select><span>(必填)</span>
  180. </td>
  181. </tr>
  182. <tr>
  183. <th>被叫号码:</th>
  184. <td>
  185. <button class="btns set_called" style="padding: 3px 10px;"><i class="fa fa-wrench" style="margin-right: 5px;"></i>设置</button>
  186. <span class="drfs" style="background-color: #ed4e2a;font-size: 12px;padding: 0 3px;margin-left: 5px;color: #fff;"></span>
  187. </td>
  188. </tr>
  189. </table>
  190. <br />
  191. <br />
  192. </div>
  193. </div>
  194. <div class="bjright col-md-6">
  195. <div class="bj-title">
  196. <i class="fa fa-calendar"></i> 发送时间
  197. </div>
  198. <div class="bjCon ">
  199. <table style="width: 100%;">
  200. <tr>
  201. <th>任务发送时间:</th>
  202. <td>
  203. <i class="fa fa-calendar tub"></i>
  204. <input type="text" id="sendTime" readonly="readonly" /><span>(必填)</span>
  205. </td>
  206. </tr>
  207. <tr>
  208. <th>任务结束时间:</th>
  209. <td>
  210. <i class="fa fa-calendar tub"></i>
  211. <input type="text" id="taskEndTime" readonly="readonly" /><span>(必填)</span>
  212. </td>
  213. </tr>
  214. <tr>
  215. <th>生效开始时间段1:</th>
  216. <td>
  217. <i class="fa fa-clock-o tub"></i>
  218. <input type="text" id="usestrTime1" readonly="readonly" /><span>(必填)</span>
  219. </td>
  220. </tr>
  221. <tr>
  222. <th>生效结束时间段1:</th>
  223. <td>
  224. <i class="fa fa-clock-o tub"></i>
  225. <input type="text" id="useendTime1" readonly="readonly" /><span>(必填)</span>
  226. </td>
  227. </tr>
  228. <tr>
  229. <th>生效开始时间段2:</th>
  230. <td>
  231. <i class="fa fa-clock-o tub"></i>
  232. <input type="text" id="usestrTime2" /><span>(必填)</span>
  233. </td>
  234. </tr>
  235. <tr>
  236. <th>生效结束时间段2:</th>
  237. <td>
  238. <i class="fa fa-clock-o tub"></i>
  239. <input type="text" id="useendTime2" /><span>(必填)</span>
  240. </td>
  241. </tr>
  242. </table>
  243. </div>
  244. </div>
  245. </div>
  246. <p style="text-align: center; padding: 20px 0;">
  247. <button class="btns sureCun">保存</button>
  248. <button class="btns return">取消</button>
  249. </p>
  250. <!--设置被叫号码-->
  251. <div class="model addCall">
  252. <div class="box">
  253. <div class="btop clearfix">
  254. <p class="btl">设置被叫号码</p>
  255. <p class="btr addcbtr"><i class="fa fa-remove"></i></p>
  256. </div>
  257. <div class="boxCon">
  258. <ul class="nav nav-tabs" role="tablist">
  259. <li class="active"><a href="#import_from_file" role="tab" data-toggle="tab"><i class="fa fa-file"></i>文件导出</a></li>
  260. <li><a href="#import_from_hmd" role="tab" data-toggle="tab"><i class="fa fa-table"></i>号段</a></li>
  261. <li><a href="#import_from_telnos" role="tab" data-toggle="tab"><i class="fa fa-reorder"></i>号码列表</a></li>
  262. <!--<li><a href="#import_from_excel" role="tab" data-toggle="tab"><i class="fa fa-sticky-note"></i>Excel导入</a></li>-->
  263. </ul>
  264. <div class="tab-content">
  265. <div class="tab-pane fade active in" id="import_from_file">
  266. <br />
  267. 支持的文本文件格式,每行一个号码,最多10万个号码:
  268. <br />
  269. <br />
  270. <input type="file" name="fileField" id="fileField" placeholder="号码列表" />
  271. </div>
  272. <div class="tab-pane fade" id="import_from_hmd">
  273. <br />
  274. 支持的文本文件格式,每行一个号码,最多10万个号码:
  275. <br />
  276. <br />
  277. <textarea class="haoDuan" name="" rows="7" style="width: 100%; resize: none;"></textarea>
  278. </div>
  279. <div class="tab-pane fade" id="import_from_telnos">
  280. <br />
  281. 每行一个号码,最多支持5万个号码:
  282. <br />
  283. <br />
  284. <textarea class="haomaList" name="" rows="7" style="width: 100%;resize: none;"></textarea>
  285. </div>
  286. <!--<div class="tab-pane fade" id="import_from_excel">
  287. <br />
  288. 每行一个号码,最多支持5万个号码:
  289. <br />
  290. <br />
  291. <textarea name="" rows="7" style="width: 100%;resize: none;"></textarea>
  292. </div>-->
  293. </div>
  294. <div class="check" style="text-align: left;padding-left: 25px;">
  295. <div class="checkbox checkbox-warning checkbox-inline" class="ag">
  296. <input id="ag" type="checkbox">
  297. <label for="ag">过滤Excel中重复号码</label>
  298. </div>
  299. <div class="checkbox checkbox-warning checkbox-inline">
  300. <input id="nag" type="checkbox">
  301. <label for="nag">过滤三个月内外呼回访的号码</label>
  302. </div>
  303. </div>
  304. <div style="text-align: right;"><button class="btns queren">确认</button></div>
  305. </div>
  306. </div>
  307. </div>
  308. </div>
  309. <script src="js/jquery-ui.js"></script>
  310. <script src="js/timePicker.js"></script>
  311. <script src="js/ajaxfileupload.js"></script>
  312. <script>
  313. var token = $.cookie("token");
  314. var ImportType;//号码导入方式
  315. var haoma;
  316. var setting = {
  317. dateFormat: 'yy-mm-dd', //日期格式
  318. clearText: "清除", //清除日期的按钮名称
  319. closeText: "关闭", //关闭选择框的按钮名称
  320. yearSuffix: '年', //年的后缀
  321. showMonthAfterYear: true, //是否把月放在年的后面
  322. monthNames: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
  323. dayNames: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'],
  324. dayNamesShort: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],
  325. dayNamesMin: ['日', '一', '二', '三', '四', '五', '六']
  326. }
  327. $("#sendTime").datepicker(setting); //任务发送时间
  328. $("#taskEndTime").datepicker(setting); //任务结束时间
  329. var set2 = {
  330. timeSeparator: ':', // The character to use to separate hours and minutes. (default: ':')
  331. showLeadingZero: true, // Define whether or not to show a leading zero for hours < 10. (default: true)
  332. showMinutesLeadingZero: true, // Define whether or not to show a leading zero for minutes < 10.(default: true)
  333. defaultTime: 'now', // Used as default time when input field is empty or for inline timePicker
  334. // Localization
  335. hourText: '时', // Define the locale text for "Hours"
  336. minuteText: '分', // Define the locale text for "Minute"
  337. amPmText: ['', ''], // Define the locale text for periods
  338. // custom hours and minutes
  339. hours: {
  340. starts: 0,
  341. ends: 23
  342. },
  343. minutes: {
  344. starts: 0,
  345. ends: 55,
  346. interval: 5,
  347. manual: []
  348. },
  349. rows: 4,
  350. showHours: true,
  351. showMinutes: true,
  352. // buttons
  353. showCloseButton: true, // shows an OK button to confirm the edit
  354. closeButtonText: '关闭', // Text for the confirmation button (ok button)
  355. showNowButton: true, // Shows the 'now' button
  356. nowButtonText: '现在', // Text for the now button
  357. }
  358. $("#usestrTime1").timepicker(set2); // 生效开始时间段1
  359. $("#useendTime1").timepicker(set2); // 生效结束时间段1
  360. $("#usestrTime2").timepicker(set2); // 生效开始时间段2
  361. $("#useendTime2").timepicker(set2); // 生效结束时间段2
  362. $('.set_called').click(function () {
  363. $('.addCall').show()
  364. })
  365. $('.addcbtr').click(function () {
  366. $('.addCall').hide();
  367. })
  368. $('.sureCun').click(function () {
  369. if ($('.taskName').val() == '') {
  370. layer.confirm('请输入任务名称!', {
  371. btn: ['确定']
  372. });
  373. return;
  374. } else if ($('.bingfa').val() == '') {
  375. layer.confirm('请输入并发值!', {
  376. btn: ['确定']
  377. });
  378. return;
  379. } else if ($('#jineng').val() == '') {
  380. layer.confirm('请选择技能!', {
  381. btn: ['确定']
  382. });
  383. return;
  384. } else if ($('#sendTime').val() == '') {
  385. layer.confirm('请选择任务发送时间!', {
  386. btn: ['确定']
  387. });
  388. return;
  389. } else if ($('#taskEndTime').val() == '') {
  390. layer.confirm('请选择任务结束时间!', {
  391. btn: ['确定']
  392. });
  393. return;
  394. } else if ($('#usestrTime1').val() == '') {
  395. layer.confirm('请选择任务开始时间段1!', {
  396. btn: ['确定']
  397. });
  398. return;
  399. } else if ($('#useendTime1').val() == '') {
  400. layer.confirm('请选择任务结束时间段1!', {
  401. btn: ['确定']
  402. });
  403. return;
  404. } else if ($('#usestrTime2').val() == '') {
  405. layer.confirm('请选择任务开始时间段2!', {
  406. btn: ['确定']
  407. });
  408. return;
  409. } else if ($('#useendTime2').val() == '') {
  410. layer.confirm('请选择任务结束时间段2!', {
  411. btn: ['确定']
  412. });
  413. return;
  414. } else {
  415. $.ajax({
  416. type: "post",
  417. url: huayi.config.callcenter_url + "CallPlan/CreateOrUpdate",
  418. async: true,
  419. dataType: 'json',
  420. data: {
  421. token: token,
  422. Name: $('.taskName').val(),//外呼任务名称
  423. Type: '',//1=点击外呼 2=自动外呼默认为2
  424. // ConcurrencyType: '',//并发类型0=并发数1=进号速率 下拉选择框,默认选中 “并发数”
  425. Concurrency: $('.bingfa').val(),//并发值 文本框,默认为0
  426. AgentGroupId: $('#jineng').val(),//坐席组Id ps:技能队列
  427. // RecordPathId: '',//自动语音文件Id
  428. // PagerId: '',//话术模板Id 下拉选择框,数据源为接口“获取话术模板列表(下拉框)”
  429. //Pre: '',//线路前缀下拉选择框,数据源为接口“获取字典值”参数为:XLQZ
  430. PlanStartDate: $("#sendTime").val(),//外呼任务开始时间
  431. PlanEndDate: $("#taskEndTime").val(),//外呼任务停止时间
  432. StartTime1: $("#usestrTime1").val(),//生效开始时间1
  433. EndTime1: $("#useendTime1").val(),//生效结束时间1
  434. StartTime2: $("#usestrTime2").val(),//生效开始时间2
  435. EndTime2: $("#useendTime2").val(),//生效结束时间2
  436. phonestr: haoma,//号码(非必需)type=2和 type=3 时需要传该值(仅添加时需要)
  437. checkfilter1: $("#ag").is(":checked"),
  438. checkfilter2: $("#nag").is(":checked"),
  439. ImportType: ImportType
  440. },
  441. success: function (data) {
  442. if (data.state.toLowerCase() == "success") {
  443. ajaxFileUpload(data.data);
  444. }
  445. else {
  446. layer.msg(data.message);
  447. }
  448. }
  449. });
  450. }
  451. })
  452. //上传文件
  453. function ajaxFileUpload(id) {
  454. $.ajaxFileUpload({
  455. url: huayi.config.callcenter_url + 'CallPlan/ImportData?TaskId=' + id + '&Type=' + ImportType, //用于文件上传的服务器端请求地址
  456. secureuri: false, //是否需要安全协议,一般设置为false
  457. fileElementId: 'fileField', //文件上传域的ID
  458. dataType: 'json', //返回值类型 一般设置为json
  459. success: function (data) //服务器成功响应处理函数
  460. {
  461. if (data.state.toLowerCase() == "success") {
  462. layer.msg(data.message);
  463. }
  464. else {
  465. layer.msg(data.message);
  466. }
  467. }
  468. })
  469. return false;
  470. }
  471. $('.queren').click(function () {
  472. $('.drfs').show();
  473. if ($('#import_from_file').hasClass('active')) {
  474. ImportType = 1;//文件导入
  475. $('.drfs').html('选择从文件导入');
  476. } else if ($('#import_from_hmd').hasClass('active')) {
  477. ImportType = 3;//号段导入
  478. haoma = $('.haoDuan').val();
  479. $('.drfs').html('选择从号段导入');
  480. } else if ($('#import_from_telnos').hasClass('active')) {
  481. ImportType = 2;//号码列表导入
  482. haoma = $('.haomaList').val();
  483. $('.drfs').html('选择从号码列表导入');
  484. }
  485. console.log(ImportType);
  486. $('.addCall').hide();
  487. })
  488. //技能列表
  489. $.ajax({
  490. type: "get",
  491. url: huayi.config.callcenter_url + "Dictionary/GetDicValueListByFlag?flag=ZXZ",
  492. // url:"http://117.158.196.116:8878/Dictionary/GetDicValueListByFlag",
  493. async: true,
  494. dataType: 'json',
  495. data: {
  496. token: token
  497. },
  498. success: function (data) {
  499. var con = data.data;
  500. $(con).each(function (i, n) {
  501. $('#jineng').append('<option value="' + n.F_DictionaryValueId + '">' + n.F_Name + '</option>');
  502. })
  503. }
  504. });
  505. </script>
  506. </body>
  507. </html>