Nav apraksta

taskAdd.html 28KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954
  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. <link rel="stylesheet" type="text/css" href="../js/bootstrap-treeview/bootstrap-treeview.min.css" />
  15. <title>添加任务</title>
  16. <style>
  17. .page-title {
  18. padding: 0px;
  19. font-size: 16px;
  20. font-weight: bold;
  21. letter-spacing: -1px;
  22. display: block;
  23. color: #1570A6;
  24. margin: 20px 0px 15px 0px;
  25. }
  26. hr {
  27. margin: 20px 0;
  28. border: 0;
  29. border-top: 1px solid #E0DFDF;
  30. border-bottom: 1px solid #FEFEFE;
  31. }
  32. .bj-title {
  33. color: #ffffff;
  34. background-color: #1ab394;
  35. padding: 8px 35px 8px 14px;
  36. text-shadow: 0 1px 0 rgba(179, 142, 142, 0.5);
  37. border: 1px solid #e5e5e5;
  38. }
  39. .bjCon table th {
  40. padding: 5px 8px 5px 0;
  41. text-align: right;
  42. width: 30%;
  43. }
  44. .bjCon table td {
  45. padding: 6px 0 5px 10px;
  46. text-align: left;
  47. color: #717171;
  48. line-height: 200%;
  49. position: relative;
  50. }
  51. .bjCon table td input {
  52. border: 1px solid #e5e5e5;
  53. width: 240px;
  54. outline: 0;
  55. margin-right: 5px;
  56. padding-left: 10px;
  57. }
  58. .bjCon table td select {
  59. width: 240px;
  60. background-color: #ffffff;
  61. background-image: none !important;
  62. filter: none !important;
  63. border: 1px solid #e5e5e5;
  64. outline: none;
  65. height: 34px !important;
  66. line-height: 30px;
  67. margin-right: 5px;
  68. padding-left: 10px;
  69. }
  70. .bjCon {
  71. padding-top: 20px;
  72. border: 1px solid #e5e5e5;
  73. border-top: 0;
  74. }
  75. .bjright table td input {
  76. padding-left: 30px;
  77. }
  78. .tub {
  79. position: absolute;
  80. left: 18px;
  81. top: 13px;
  82. font-size: 18px;
  83. color: #ccc;
  84. }
  85. .ui-datepicker.ui-widget-content {
  86. background: none !important;
  87. background-color: #eee !important;
  88. }
  89. .ui-widget-header .ui-icon {
  90. background-image: url(../img/ui-icons_444444_256x240.png) !important;
  91. }
  92. .box {
  93. width: 55%;
  94. margin: 0 auto;
  95. margin-top: 5%;
  96. }
  97. .box .btop {
  98. height: 35px;
  99. background: #1ab394;
  100. color: #fff;
  101. line-height: 35px;
  102. padding: 0 15px;
  103. /* margin-bottom: 15px; */
  104. }
  105. .btl {
  106. float: left;
  107. margin: 0;
  108. }
  109. .btr {
  110. float: right;
  111. margin: 0;
  112. cursor: pointer;
  113. }
  114. .boxCon {
  115. width: 100%;
  116. min-height: 400px;
  117. background: #fff;
  118. text-align: center;
  119. padding: 10px 15px;
  120. height: auto;
  121. overflow-y: scroll;
  122. }
  123. .model {
  124. position: fixed;
  125. top: 0;
  126. right: 0;
  127. bottom: 0;
  128. left: 0;
  129. height: 100%;
  130. width: 100%;
  131. background: rgba(0, 0, 0, 0.48);
  132. z-index: 100;
  133. display: none;
  134. }
  135. .tab-content {
  136. text-align: left;
  137. height: 260px;
  138. overflow-x: auto;
  139. overflow-y: auto;
  140. }
  141. .checkbox label {
  142. padding-right: 15px;
  143. }
  144. .drfs {
  145. display: none;
  146. }
  147. #import_from_excel table {
  148. margin: 20px auto;
  149. width: 99%;
  150. text-align: center;
  151. }
  152. #import_from_excel table thead th,
  153. #import_from_excel table tbody td {
  154. text-align: center;
  155. }
  156. #import_from_excel table thead th {
  157. width: 10%;
  158. }
  159. .select_ {
  160. width: 150px;
  161. background-color: #FFF;
  162. background-image: none;
  163. border: 1px solid #ccc;
  164. border-radius: 1px;
  165. color: inherit;
  166. padding: 6px 12px;
  167. outline: none;
  168. vertical-align: middle;
  169. margin-top: 20px;
  170. margin-right: 20px;
  171. }
  172. .excelName {
  173. padding-left: 10px;
  174. }
  175. .select_ {
  176. width: 150px;
  177. background-color: #FFF;
  178. background-image: none;
  179. border: 1px solid #ccc;
  180. border-radius: 1px;
  181. color: inherit;
  182. padding: 6px 12px;
  183. outline: none;
  184. vertical-align: middle;
  185. margin-top: 20px;
  186. margin-right: 20px;
  187. }
  188. #import_from_excel table thead th {
  189. width: 10%;
  190. }
  191. .drop_down {
  192. position: relative;
  193. }
  194. .caret {
  195. margin: 0 7px 0 -23px;
  196. }
  197. #deptTreeView {
  198. width: 280px;
  199. max-height: 256px;
  200. overflow-y: auto;
  201. position: absolute;
  202. z-index: 2;
  203. top: 30px;
  204. left: 0px;
  205. background-color: #fff;
  206. }
  207. </style>
  208. </head>
  209. <body>
  210. <form class="container-fluid" enctype="multipart/form-data">
  211. <div class="page-title">
  212. 添加任务
  213. </div>
  214. <hr />
  215. <div class="row-fluid clearfix">
  216. <div class="bjleft col-md-6">
  217. <div class="bj-title">
  218. <i class="fa fa-user"></i> 基本信息
  219. </div>
  220. <div class="bjCon">
  221. <table style="width: 100%;">
  222. <tr>
  223. <th>任务名称:</th>
  224. <td><input type="text" class="taskName" name="name" /><span>(必填)</span></td>
  225. </tr>
  226. <tr>
  227. <th>并发类型:</th>
  228. <td>
  229. <select name="concurrencytype" id="concurrencytype" class="bingfa">
  230. <option value="0">并发数</option>
  231. <option value="1">进号速率</option>
  232. </select><span>(必填)</span>
  233. </td>
  234. </tr>
  235. <tr>
  236. <th>并发数:</th>
  237. <td><input type="text" class="bingfa" name="concurrency" /><span>(必填)</span></td>
  238. </tr>
  239. <!--<tr>
  240. <th>录音文件:</th>
  241. <td>
  242. <select name="RecordPathId" id="videoFiel"></select><span>(必填)</span>
  243. </td>
  244. </tr>-->
  245. <tr>
  246. <th>任务所属:</th>
  247. <td>
  248. <div class="drop_down">
  249. <input type="text" class="" id="department" data-id="-1" placeholder="请选择部门" />
  250. <span class="caret"></span>
  251. <span>(必填)</span>
  252. <div id="deptTreeView" class="hidden"></div>
  253. </div>
  254. </td>
  255. </tr>
  256. <tr>
  257. <th>问卷设置:</th>
  258. <td>
  259. <select name="pagerid" id="pager"></select><span>(必填)</span>
  260. </td>
  261. </tr>
  262. <tr>
  263. <th>坐席组:</th>
  264. <td>
  265. <select name="agentgroupid" id="jineng"></select><span>(必填)</span>
  266. </td>
  267. </tr>
  268. <tr>
  269. <th>计划页面设置:</th>
  270. <td>
  271. <a class="fa fa-pencil " id='Plan'>设置</a>
  272. </td>
  273. </tr>
  274. <tr>
  275. <th>被叫号码:</th>
  276. <td>
  277. <button class="btns set_called" style="padding: 3px 10px;" type="button"><i class="fa fa-wrench" style="margin-right: 5px;"></i>设置</button>
  278. <span class="drfs" style="background-color: #ed4e2a;font-size: 12px;padding: 0 3px;margin-left: 5px;color: #fff;"></span>
  279. <input type="hidden" name="importtype" value="" id="importtype" />
  280. </td>
  281. </tr>
  282. </table>
  283. <br />
  284. <br />
  285. </div>
  286. </div>
  287. <div class="bjright col-md-6">
  288. <div class="bj-title">
  289. <i class="fa fa-calendar"></i> 发送时间
  290. </div>
  291. <div class="bjCon ">
  292. <table style="width: 100%;">
  293. <tr>
  294. <th>任务开始日期:</th>
  295. <td>
  296. <i class="fa fa-calendar tub"></i>
  297. <input type="text" id="sendTime" readonly="readonly" name="planstartdate" /><span>(必填)</span>
  298. </td>
  299. </tr>
  300. <tr>
  301. <th>任务结束日期:</th>
  302. <td>
  303. <i class="fa fa-calendar tub"></i>
  304. <input type="text" id="taskEndTime" readonly="readonly" name="planenddate" /><span>(必填)</span>
  305. </td>
  306. </tr>
  307. <tr>
  308. <th>生效开始时间段1:</th>
  309. <td>
  310. <i class="fa fa-clock-o tub"></i>
  311. <input type="text" id="usestrTime1" readonly="readonly" name="starttime1" /><span>(必填)</span>
  312. </td>
  313. </tr>
  314. <tr>
  315. <th>生效结束时间段1:</th>
  316. <td>
  317. <i class="fa fa-clock-o tub"></i>
  318. <input type="text" id="useendTime1" readonly="readonly" name="endtime1" /><span>(必填)</span>
  319. </td>
  320. </tr>
  321. <tr>
  322. <th>生效开始时间段2:</th>
  323. <td>
  324. <i class="fa fa-clock-o tub"></i>
  325. <input type="text" id="usestrTime2" readonly="readonly" name="starttime2" /><span>(必填)</span>
  326. </td>
  327. </tr>
  328. <tr>
  329. <th>生效结束时间段2:</th>
  330. <td>
  331. <i class="fa fa-clock-o tub"></i>
  332. <input type="text" id="useendTime2" readonly="readonly" name="endtime2" /><span>(必填)</span>
  333. </td>
  334. </tr>
  335. </table>
  336. <br />
  337. <br />
  338. <br />
  339. </div>
  340. </div>
  341. </div>
  342. <p style="text-align: center; padding: 20px 0;">
  343. <button class="btns sureCun" type="button">保存</button>
  344. <button class="btns return" type="button">取消</button>
  345. </p>
  346. <!--设置被叫号码-->
  347. <div class="model addCall">
  348. <div class="box">
  349. <div class="btop clearfix">
  350. <p class="btl">设置被叫号码</p>
  351. <p class="btr addcbtr"><i class="fa fa-remove"></i></p>
  352. </div>
  353. <div class="boxCon">
  354. <ul class="nav nav-tabs" role="tablist">
  355. <li class="active">
  356. <a href="#import_from_file" role="tab" data-toggle="tab"><i class="fa fa-file"></i>文件导入</a>
  357. </li>
  358. <li>
  359. <a href="#import_from_hmd" role="tab" data-toggle="tab"><i class="fa fa-table"></i>号段</a>
  360. </li>
  361. <li>
  362. <a href="#import_from_telnos" role="tab" data-toggle="tab"><i class="fa fa-reorder"></i>号码列表</a>
  363. </li>
  364. <li>
  365. <a href="#import_from_excel" role="tab" data-toggle="tab"><i class="fa fa-file"></i>EXCEL导入</a>
  366. </li>
  367. <!--<li><a href="#import_from_excel" role="tab" data-toggle="tab"><i class="fa fa-sticky-note"></i>Excel导入</a></li>-->
  368. </ul>
  369. <div class="tab-content">
  370. <div class="tab-pane fade active in" id="import_from_file">
  371. <br /> 支持的文本文件格式,每行一个号码,最多10万个号码:
  372. <br />
  373. <br />
  374. <input type="file" name="fileField" id="fileField" placeholder="号码列表" />
  375. </div>
  376. <div class="tab-pane fade" id="import_from_hmd">
  377. <br /> 支持的文本文件格式,每行一个号码,最多10万个号码:
  378. <br />
  379. <br />
  380. <textarea class="haoDuan" name="phonestr" rows="7" style="width: 100%; resize: none;"></textarea>
  381. </div>
  382. <div class="tab-pane fade" id="import_from_telnos">
  383. <br /> 每行一个号码,最多支持5万个号码:
  384. <br />
  385. <br />
  386. <textarea class="haomaList" name="phonelist" rows="7" style="width: 100%;resize: none;"></textarea>
  387. </div>
  388. <div class="tab-pane fade in" id="import_from_excel">
  389. <br /> 支持的excel文件格式,每行一个号码,最多10万个号码:
  390. <br />
  391. <br />
  392. <input type="file" name="fileExcel" id="fileExcel" style="display: none;" accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel" />
  393. <input type="button" value="上传Excel文件" id="upFileExcel" />
  394. <span class="excelName"></span>
  395. <div id="select_in">
  396. <!--<span>
  397. <select name="select_1" id="select_1" class="select_"></select>
  398. </span>
  399. <span>
  400. <select name="select_2" id="select_2" class="select_"></select>
  401. </span>
  402. <span>
  403. <select name="select_3" id="select_3" class="select_"></select>
  404. </span>-->
  405. </div>
  406. <input type="hidden" id="filepath" name="filepath" value="" />
  407. <input type="hidden" id="selectids" name="selectids" value="" />
  408. <table border="1" cellspacing="2" cellpadding="2" bordercolor="#ccc">
  409. <thead>
  410. <tr id="excelHead"></tr>
  411. </thead>
  412. <tbody id="excelBody">
  413. <tr id="noData">
  414. <td colspan="3">暂时没有数据,请选择文件加载数据。</td>
  415. </tr>
  416. </tbody>
  417. </table>
  418. <div style="width: 50%;margin: 0 auto;position: absolute;top: 50%;left: 25%;display: none;" class="barr">
  419. <div class="progress">
  420. <div class="progress-bar progress-bar progress-bar-striped active" role="progressbar" aria-valuenow="45" aria-valuemin="0" aria-valuemax="100" style="width: 100%">
  421. <!--<span class="sr-only">100% Complete</span>-->
  422. 正在导入,请稍后...
  423. </div>
  424. </div>
  425. </div>
  426. </div>
  427. </div>
  428. <div class="check" style="text-align: left;padding-left: 25px;">
  429. <div class="checkbox checkbox-warning checkbox-inline">
  430. <input id="ag" type="checkbox" name="checkfilter1">
  431. <label for="ag">过滤Excel中重复号码</label>
  432. </div>
  433. <div class="checkbox checkbox-warning checkbox-inline">
  434. <input id="nag" type="checkbox" name="checkfilter2">
  435. <label for="nag">过滤三个月内外呼回访的号码</label>
  436. </div>
  437. </div>
  438. <div style="text-align: right;"><button class="btns queren" type="button">确认</button></div>
  439. </div>
  440. </div>
  441. </div>
  442. </form>
  443. <script src="../js/jquery-ui.js"></script>
  444. <script src="../js/timePicker.js"></script>
  445. <!--<script src="../js/ajaxfileupload.js"></script>-->
  446. <script src="../dianXiao/js/jquery.form.min.js"></script>
  447. <script src="../js/bootstrap-treeview/bootstrap-treeview.min.js"></script>
  448. <script>
  449. var token = $.cookie("token");
  450. var ImportType; //号码导入方式
  451. var haoma;
  452. var myDate = new Date();
  453. var month;
  454. var day;
  455. if(myDate.getMonth() + 1 < 10) {
  456. month = '0' + (myDate.getMonth() + 1);
  457. } else {
  458. month = myDate.getMonth() + 1;
  459. }
  460. if(myDate.getDate() < 10) {
  461. day = '0' + myDate.getDate();
  462. } else {
  463. day = myDate.getDate();
  464. }
  465. $("#sendTime").val(myDate.getFullYear() + '-' + month + '-' + day);
  466. $("#taskEndTime").val(myDate.getFullYear() + '-' + month + '-' + day);
  467. $("#usestrTime1").val('08:00');
  468. $("#useendTime1").val('12:00');
  469. $("#usestrTime2").val('14:00')
  470. $("#useendTime2").val('18:00')
  471. var setting = {
  472. dateFormat: 'yy-mm-dd', //日期格式
  473. clearText: "清除", //清除日期的按钮名称
  474. closeText: "关闭", //关闭选择框的按钮名称
  475. yearSuffix: '年', //年的后缀
  476. showMonthAfterYear: true, //是否把月放在年的后面
  477. monthNames: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
  478. dayNames: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'],
  479. dayNamesShort: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],
  480. dayNamesMin: ['日', '一', '二', '三', '四', '五', '六']
  481. }
  482. $("#sendTime").datepicker(setting); //任务发送时间
  483. $("#taskEndTime").datepicker(setting); //任务结束时间
  484. var set2 = {
  485. timeSeparator: ':', // The character to use to separate hours and minutes. (default: ':')
  486. showLeadingZero: true, // Define whether or not to show a leading zero for hours < 10. (default: true)
  487. showMinutesLeadingZero: true, // Define whether or not to show a leading zero for minutes < 10.(default: true)
  488. defaultTime: 'now', // Used as default time when input field is empty or for inline timePicker
  489. // Localization
  490. hourText: '时', // Define the locale text for "Hours"
  491. minuteText: '分', // Define the locale text for "Minute"
  492. amPmText: ['', ''], // Define the locale text for periods
  493. // custom hours and minutes
  494. hours: {
  495. starts: 0,
  496. ends: 23
  497. },
  498. minutes: {
  499. starts: 0,
  500. ends: 55,
  501. interval: 5,
  502. manual: []
  503. },
  504. rows: 4,
  505. showHours: true,
  506. showMinutes: true,
  507. // buttons
  508. showCloseButton: true, // shows an OK button to confirm the edit
  509. closeButtonText: '关闭', // Text for the confirmation button (ok button)
  510. showNowButton: true, // Shows the 'now' button
  511. nowButtonText: '现在', // Text for the now button
  512. }
  513. $("#usestrTime1").timepicker(set2); // 生效开始时间段1
  514. $("#useendTime1").timepicker(set2); // 生效结束时间段1
  515. $("#usestrTime2").timepicker(set2); // 生效开始时间段2
  516. $("#useendTime2").timepicker(set2); // 生效结束时间段2
  517. $(document).ready(function() {
  518. //部门下拉数据
  519. getDeptLists();
  520. $('#department').on('focus click', function() {
  521. $('#deptTreeView').removeClass('hidden').addClass('show');
  522. });
  523. $('#department').on('keyup', function() {
  524. if($(this).val() == '') {
  525. $('deptTreeView').treeview('uncheckAll', {
  526. silent: true
  527. });
  528. $(this).attr('data-id', '-1');
  529. }
  530. });
  531. $('#department + .caret').on('click', function() {
  532. $('#deptTreeView').removeClass('hidden').addClass('show');
  533. });
  534. $('#deptTreeView').mouseleave(function() {
  535. $(this).removeClass('show').addClass('hidden');
  536. });
  537. $('.set_called').click(function() {
  538. $('.addCall').show()
  539. })
  540. $('.addcbtr').click(function() {
  541. $('.addCall').hide();
  542. })
  543. $('.sureCun').click(function() {
  544. if($('.taskName').val() == '') {
  545. layer.confirm('请输入任务名称!', {
  546. btn: ['确定']
  547. });
  548. return;
  549. } else if($('#concurrencytype').val() == '') {
  550. layer.confirm('请选择并发类型!', {
  551. btn: ['确定']
  552. });
  553. return;
  554. } else if($('.bingfa').val() == '') {
  555. layer.confirm('请输入并发值!', {
  556. btn: ['确定']
  557. });
  558. return;
  559. } else if($('#jineng').val() == '') {
  560. layer.confirm('请选择技能!', {
  561. btn: ['确定']
  562. });
  563. return;
  564. } else if($('#sendTime').val() == '') {
  565. layer.confirm('请选择任务发送时间!', {
  566. btn: ['确定']
  567. });
  568. return;
  569. } else if($('#taskEndTime').val() == '') {
  570. layer.confirm('请选择任务结束时间!', {
  571. btn: ['确定']
  572. });
  573. return;
  574. } else if($('#usestrTime1').val() == '') {
  575. layer.confirm('请选择任务开始时间段1!', {
  576. btn: ['确定']
  577. });
  578. return;
  579. } else if($('#useendTime1').val() == '') {
  580. layer.confirm('请选择任务结束时间段1!', {
  581. btn: ['确定']
  582. });
  583. return;
  584. } else if($('#usestrTime2').val() == '') {
  585. layer.confirm('请选择任务开始时间段2!', {
  586. btn: ['确定']
  587. });
  588. return;
  589. } else if($('#useendTime2').val() == '') {
  590. layer.confirm('请选择任务结束时间段2!', {
  591. btn: ['确定']
  592. });
  593. return;
  594. } else {
  595. $(".container-fluid")
  596. .attr("method", "post")
  597. .attr("action", huayi.config.callcenter_url + "CallPlan/CreateOrUpdate")
  598. .attr("enctype", "multipart/form-data");
  599. $(".container-fluid").ajaxSubmit({
  600. dataType: "json",
  601. data: {
  602. deptid: $("#department").attr('data-id'),
  603. token: token
  604. },
  605. success: function(res) {
  606. //debugger;
  607. if(res.state == "success") {
  608. top.$("iframe:visible")[0].src = "huJiaoManger/renWuManger.html";
  609. } else {
  610. layer.msg(res.message);
  611. }
  612. }
  613. });
  614. }
  615. })
  616. $('.return').click(function() {
  617. top.$("iframe:visible")[0].src = "huJiaoManger/renWuManger.html";
  618. })
  619. $("#upFileExcel").click(function() {
  620. $("#fileExcel").trigger("click")
  621. .change(function() {
  622. upload();
  623. });
  624. });
  625. $('.queren').click(function() {
  626. $('.drfs').show();
  627. if($('#import_from_file').hasClass('active')) {
  628. ImportType = 1; //文件导入
  629. $('.drfs').html('选择从文件导入');
  630. } else if($('#import_from_hmd').hasClass('active')) {
  631. ImportType = 3; //号段导入
  632. haoma = $('.haoDuan').val();
  633. $('.drfs').html('选择从号段导入');
  634. } else if($('#import_from_telnos').hasClass('active')) {
  635. ImportType = 2; //号码列表导入
  636. haoma = $('.haomaList').val();
  637. $('.drfs').html('选择从号码列表导入');
  638. } else if($('#import_from_excel').hasClass('active')) {
  639. ImportType = 4; //文件导入
  640. $('.drfs').html('选择从EXCEL文件导入');
  641. }
  642. //console.log(ImportType);
  643. $("#importtype").val(ImportType);
  644. $('.addCall').hide();
  645. })
  646. //技能列表
  647. $.ajax({
  648. type: "get",
  649. url: huayi.config.callcenter_url + "SeatGroup/GetListDrop",
  650. async: true,
  651. dataType: 'json',
  652. data: {
  653. token: token
  654. },
  655. success: function(data) {
  656. var con = data.data;
  657. $('#jineng').append('<option value="0">请选择</option>');
  658. $('#jineng').append('<option value="-999">不转坐席</option>');
  659. $(con).each(function(i, n) {
  660. $('#jineng').append('<option value="' + n.id + '">' + n.name + '</option>');
  661. })
  662. }
  663. });
  664. $.ajax({
  665. type: "get",
  666. url: huayi.config.callcenter_url + "Questionnaire/GetAllPagerInfo",
  667. async: true,
  668. dataType: 'json',
  669. data: {
  670. token: token
  671. },
  672. success: function(data) {
  673. var con = data.data;
  674. $('#pager').append('<option value="0">请选择</option>');
  675. $(con).each(function(i, n) {
  676. $('#pager').append('<option value="' + n.id + '">' + n.name + '</option>');
  677. })
  678. }
  679. });
  680. //编辑页面跳转
  681. $("#Plan").click(function() {
  682. layer.open({
  683. type: 2,
  684. content: "../hujiaoManger/Plan.html?wid=", //iframe的url,no代表不显示滚动条
  685. title: '页面设置',
  686. area: ['75%', '80%'], //宽高
  687. });
  688. })
  689. //上传EXCEL文件
  690. $("#upFileExcel").click(function() {
  691. $("#fileExcel").trigger("click")
  692. .change(function() {
  693. upload();
  694. });
  695. });
  696. });
  697. //上传文件
  698. function ajaxFileUpload() {
  699. $.ajaxFileUpload({
  700. url: huayi.config.callcenter_url + 'CallPlan/ImportData', //用于文件上传的服务器端请求地址
  701. secureuri: false, //是否需要安全协议,一般设置为false
  702. fileElementId: 'fileField', //文件上传域的ID
  703. dataType: 'json', //返回值类型 一般设置为json
  704. success: function(data) //服务器成功响应处理函数
  705. {
  706. console.log(data);
  707. layer.msg("导入成功!");
  708. }
  709. })
  710. return false;
  711. }
  712. //上传文件
  713. function upload() {
  714. var Files = document.getElementById("fileExcel").files;
  715. if(Files.length > 0) {
  716. var formData = new FormData();
  717. for(var i = 0; i < Files.length; i++) {
  718. formData.append('file' + i, Files[i]);
  719. }
  720. formData.append("token", $.cookie("token"));
  721. $.ajax({
  722. url: huayi.config.callcenter_url + "/CallPlan/ImportData",
  723. type: "POST",
  724. data: formData,
  725. /**
  726. *必须false才会自动加上正确的Content-Type
  727. */
  728. contentType: false,
  729. /**
  730. * 必须false才会避开jQuery对 formdata 的默认处理
  731. * XMLHttpRequest会对 formdata 进行正确的处理
  732. */
  733. processData: false,
  734. beforeSend: function() {
  735. $('.barr').show();
  736. },
  737. success: function(result) {
  738. document.getElementById("fileExcel").outerHTML = document.getElementById("fileExcel").outerHTML;
  739. $("#fileExcel").change(function() {
  740. upload();
  741. });
  742. var r = $.parseJSON(result);
  743. if(r.state.toLowerCase() == "success") {
  744. $('.barr').hide();
  745. var excelData = r.data;
  746. var excelfileName = excelData.filepath;
  747. var selectsLength = excelData.heads.length;
  748. $('#import_from_excel .excelName').html(Files[0].name); //文件名称
  749. $('#filepath').val(excelfileName);
  750. getFields(selectsLength);
  751. //加载表头
  752. $('#excelHead').html('');
  753. for(var x = 0; x < selectsLength; x++) {
  754. $('#excelHead').append('<th>' + excelData.heads[x] + '</th>');
  755. $('#noData').css('display', 'none');
  756. }
  757. //加载表格内容
  758. $('#excelBody').html('');
  759. for(var i = 0; i < excelData.items.length; i++) {
  760. var tr = $('<tr></tr>');
  761. $('#excelBody').append(tr);
  762. for(var l = 0; l < selectsLength; l++) {
  763. var excelHtml = '<td>' + excelData.items[i][l] + '</td>';
  764. tr.append(excelHtml);
  765. }
  766. }
  767. }
  768. }
  769. });
  770. } else {
  771. layer.confirm('请上传文件!', {
  772. btn: ['确定']
  773. });
  774. }
  775. }
  776. //获取字段
  777. function getFields(sLength) {
  778. $.getJSON(huayi.config.callcenter_url + "ExcelTmp/GetSelectedList", {
  779. taskid: -1,
  780. tempid: $('#tempid').val(),
  781. "token": token
  782. }, function(result) {
  783. if(result.state.toLowerCase() == "success") {
  784. selectlists = result.data;
  785. if($(selectlists)) {
  786. //根据表头列数加载字段
  787. $('#select_in').html('');
  788. $('#selectids').val('');
  789. for(var j = 0; j < sLength; j++) {
  790. var jcount = j + 1;
  791. $('#select_in').append('<span><select name="select_' + j + '" id="select_' + j + '" class="select_"></select></span>');
  792. $('#select_in select:eq(' + j + ')').append('<option data-selectId="" value="0">请选择字段' + jcount + '</option>');
  793. }
  794. $(selectlists).each(function(k, selectCon) {
  795. $('#select_in select').append('<option data-selectId="' + selectCon.id + '" value="' + selectCon.name + '">' + selectCon.name + '</option>');
  796. });
  797. var oldVal = "";
  798. $('#select_in select').each(function() {
  799. if($(this).find("option:selected")) {
  800. var _thisVal = $(this).find('option:selected').val();
  801. oldVal = $(this).attr("old", _thisVal)
  802. $('#select_in select').parent().siblings("span").find("option[value=" + _thisVal + "]").not("option[value=0]").hide()
  803. }
  804. })
  805. $("#select_in select").change(function() {
  806. oldVal = $(this).attr("old");
  807. var _thisVal = $(this).find('option:selected').val();
  808. var id = $(this).attr("id");
  809. $(this).parent().siblings("span").find("option[value=" + _thisVal + "]").not("option[value=0]").hide();
  810. $(this).parent().siblings("span").find("option[value=" + oldVal + "]").show();
  811. $(this).find("option[value=" + oldVal + "]").show();
  812. $(this).attr("old", _thisVal)
  813. var selectids = '';
  814. for(var m = 0; m < sLength; m++) {
  815. var selectid = $("#select_in select:eq(" + m + ")").find('option:selected').attr('data-selectId');
  816. selectids += selectid + ',';
  817. }
  818. $('#selectids').val(selectids.substring(0, selectids.length - 1));
  819. });
  820. }
  821. }
  822. });
  823. }
  824. //获取部门
  825. function getDeptLists() {
  826. $.getJSON(huayi.config.callcenter_url + 'Department/GetDeptListForReport', {
  827. token: $.cookie("token")
  828. }, function(result) {
  829. //debugger;
  830. if(result.state.toLowerCase() == "success") {
  831. var defaultDatas = result.data;
  832. var $sTree = $('#deptTreeView').treeview({
  833. color: "#428bca",
  834. expandIcon: 'glyphicon glyphicon-chevron-right',
  835. collapseIcon: 'glyphicon glyphicon-chevron-down',
  836. nodeIcon: 'glyphicon glyphicon-bookmark',
  837. data: defaultDatas,
  838. onNodeSelected: function(event, node) {
  839. $sTree.treeview('clearSearch');
  840. $('#department').val(node.text);
  841. $('#department').attr('data-id', node.id);
  842. $('#deptTreeView').removeClass('show').addClass('hidden');
  843. },
  844. onNodeUnselected: function(event, node) {
  845. $('#department').val('');
  846. $('#department').attr('data-id', '-1');
  847. }
  848. });
  849. var findSNodes = function() {
  850. return $sTree.treeview('search', [$('#department').val(), {
  851. ignoreCase: false,
  852. exactMatch: false
  853. }]);
  854. };
  855. $('#department').on('keyup', function(e) {
  856. var selectableNodes = findSNodes();
  857. });
  858. }
  859. })
  860. }
  861. //$.getJSON(huayi.config.callcenter_url + "CallPlan/GetRecordDropList", {
  862. // "token": token
  863. //}, function (result) {
  864. // if (result.state.toLowerCase() == "success") {
  865. // goodslist = result.data;
  866. // bindseat($("#videoFiel"));
  867. // }
  868. //});
  869. //下拉框
  870. //function bindseat(obj) {
  871. // obj.append('<option value="0">请选择</option>');
  872. // obj.append('<option value="-1">不播放录音</option>');
  873. // $(goodslist).each(function (i, n) {
  874. // obj.append('<option value="' + n.id + '">' + n.name + '</option>');
  875. // })
  876. //}
  877. </script>
  878. </body>
  879. </html>