开封利通水务前端

addOrEditCusInfo.js 27KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635
  1. /**
  2. * 修改增加客户信息
  3. * */
  4. var indexNum = 0;
  5. $(function() {
  6. laydate.render({
  7. elem: '#customer_handoverDate',
  8. theme: '#1ab394',
  9. calendar: true
  10. });
  11. laydate.render({
  12. elem: '#customer_feeExpires',
  13. theme: '#1ab394',
  14. calendar: true
  15. });
  16. //获取所属部门
  17. getDepts('customerTreeView', 'customer_bedept')
  18. .then(function() {
  19. var edit_id = helper.request.queryString("edit_id");
  20. if (edit_id) {
  21. getCustomer(edit_id);
  22. }
  23. //绑定验证(所有 input.form-control)
  24. $('#tab_user_contents').find("input[class='form-control']").on('blur keyup', valideInput);
  25. });
  26. });
  27. //获取客户详情
  28. function getCustomer(ids) {
  29. $.getJSON(huayi.config.callcenter_url + "CustomerNew/GetCustomer", {
  30. cusid: ids, //客户id
  31. token: $.cookie("token")
  32. }, function(data) {
  33. if (data.state.toLowerCase() == "success") {
  34. $('#contactLists').hide();
  35. var cusBase = data.data.CustomerBase;
  36. $('#customer_bedept').val(data.data && data.data.BeDeptName); // int 客户归属部门
  37. if (cusBase) {
  38. // $('#customer_key').val(cusBase.F_KeyWords); //string 关键词
  39. $('#customer_code').val(cusBase.F_CustomerCode); //string 客户编号
  40. $('#customer_companyname').val(cusBase.F_CompanyName); //string 公司名称
  41. $('#customer_comaddress').val(cusBase.F_CompanyAddress); //string 公司地址
  42. $('#customer_legalName').val(cusBase.F_LegalName); //string 法人姓名
  43. $('#customer_lehalTel').val(cusBase.F_LegalTel); //string 法人电话
  44. $('#customer_subtrade').val(cusBase.F_SubTrade); // int 所属行业
  45. $('#customer_taxCategory').val(cusBase.F_TaxCategory); // int 税务类别
  46. $('#customer_taxPointDes').val(cusBase.F_TaxPointDes); //string 税点描述
  47. $('#customer_invoiceRange').val(cusBase.F_InvoiceRange); //string 开票范围
  48. $('#customer_layer').val(cusBase.F_Layer); // int 客户信誉等级
  49. $('#customer_bedept').attr('data-id', cusBase.F_BeDept); // int 客户归属部门
  50. $('#customer_berelatedAcc').val(cusBase.F_BeRelatedAcc); //string 客户归属涉税会计
  51. $('#customer_beauditAcc').val(cusBase.F_BeAuditAcc); //string 客户归属审核会计
  52. $('#customer_bemakeAcc').val(cusBase.F_BeMakeAcc); //string 客户归属做账会计
  53. $('#customer_RegisteredAddress').val(cusBase.F_RegisteredAddress); // string 注册地址
  54. $('#customer_LegalIDCards').val(cusBase.F_LegalIDCards); // string 法人身份证
  55. $('#customer_Qualification').val(cusBase.F_Qualification); // string 企业资质荣誉
  56. $('#customer_FinancialManager').val(cusBase.F_FinancialManager); // string 客户公司财务负责人
  57. $('#customer_BusinessOwner').val(cusBase.F_BusinessOwner); // string 客户归属业务负责人
  58. $('#customer_Remark1').val(cusBase.F_Remark1); // string 备注1(输入框即可)
  59. $('#customer_Remark2').val(cusBase.F_Remark2); // string 备注2(输入框即可)
  60. $('#customer_Remark3').val(cusBase.F_Remark3); // string 备注3(输入框即可)
  61. $('#customer_service').val(cusBase.F_CusService); // string 客服
  62. $('#customer_handoverDate').val(cusBase.F_HandoverDate); // string 交接日期
  63. $('#customer_isbankSlips').find('input[type="radio"][value="' + cusBase.F_ISBankSlips + '"]').prop('checked',
  64. true); // string 是否需要去银行拿回单(一般纳税人)
  65. $('#customer_address').val(cusBase.F_Address); // string 联系地址
  66. $('#customer_address1').val(cusBase.F_Address); // string 联系地址1
  67. $('#customer_address2').val(cusBase.F_Address1); // string 联系地址2
  68. $('#customer_address3').val(cusBase.F_Address2); // string 联系地址3
  69. $('#customer_address4').val(cusBase.F_Address3); // string 联系地址4
  70. $('#customer_feeExpires').val(cusBase.F_FeeExpires && cusBase.F_FeeExpires.split(' ')[0]); // datetime 代理费到期日期
  71. $('#customer_code').trigger('blur');
  72. }
  73. /* var cusLists = data.data.ContactList;
  74. if (cusLists && cusLists.length > 0) {
  75. for (var i = 0; i < cusLists.length; i++) {
  76. var tplstr = '';
  77. tplstr = '<div class="contactList_item col-md-offset-2 clearfix">' +
  78. '<div class="form-group col-md-5 col-sm-5">' +
  79. '<div class="input-group">' +
  80. '<span class="input-group-addon">联系人姓名</span>' +
  81. '<input id="F_Name_' + i + '" type="text" class="form-control" value="' + cusLists[i].F_Name +
  82. '" placeholder="请输入联系人姓名" aria-describedby="联系人姓名">' +
  83. '</div>' +
  84. '</div>' +
  85. '<div class="form-group col-md-5 col-sm-5">' +
  86. '<div class="input-group">' +
  87. '<span class="input-group-addon">联系人电话</span>' +
  88. '<input id="F_Telephone_' + i + '" value="' + cusLists[i].F_Telephone +
  89. '" type="text" class="form-control" placeholder="请输入联系人电话" aria-describedby="联系人电话">' +
  90. '</div>' +
  91. '</div>' +
  92. '<div class="form-group col-md-5 col-sm-5">' +
  93. '<div class="input-group">' +
  94. '<span class="input-group-addon">联系人邮箱</span>' +
  95. '<input id="F_Email_' + i + '" value="' + cusLists[i].F_Email +
  96. '" type="text" class="form-control" placeholder="请输入联系人邮箱" aria-describedby="联系人邮箱">' +
  97. '</div>' +
  98. '</div>' +
  99. '<div class="form-group col-md-5 col-sm-5">' +
  100. '<div class="input-group">' +
  101. '<span class="input-group-addon">联系人职务</span>' +
  102. '<input id="F_Duties_' + i + '" value="' + cusLists[i].F_Duties +
  103. '" type="text" class="form-control" placeholder="请输入联系人职务" aria-describedby="联系人职务">' +
  104. '</div>' +
  105. '</div>' +
  106. '<div class="form-group col-md-5 col-sm-5">' +
  107. '<div class="input-group">' +
  108. '<span class="input-group-addon">联系人QQ</span>' +
  109. '<input id="F_QQ_' + i + '" value="' + cusLists[i].F_QQ +
  110. '" type="text" class="form-control" placeholder="请输入联系人QQ" aria-describedby="联系人QQ">' +
  111. '</div>' +
  112. '</div>' +
  113. '<div class="form-group col-md-5 col-sm-5">' +
  114. '<div class="input-group">' +
  115. '<span class="input-group-addon">联系人MSN</span>' +
  116. '<input id="F_MSN_' + i + '" value="' + cusLists[i].F_MSN +
  117. '" type="text" class="form-control" placeholder="请输入联系人MSN" aria-describedby="联系人MSN">' +
  118. '</div>' +
  119. '</div>' +
  120. '<div class="form-group col-md-10 col-sm-10">' +
  121. '<div class="input-group">' +
  122. '<span class="input-group-addon">联系人备注</span>' +
  123. '<input id="F_Remark_' + i + '" value="' + cusLists[i].F_Remark +
  124. '" type="text" class="form-control" placeholder="请输入联系人备注" aria-describedby="联系人备注">' +
  125. '</div>' +
  126. '</div>' +
  127. '<div class="form-group col-md-5 col-sm-5">' +
  128. '<div class="input-group">' +
  129. '<span class="input-group-addon">是否主要联系人</span>' +
  130. '<div class="isMain" id="F_IsMain_' + i + '">' +
  131. '<label class="radio-inline">' +
  132. '<input type="radio" name="inlineOptions_' + i + '" value="true"> 是' +
  133. '</label>' +
  134. '<label class="radio-inline">' +
  135. '<input type="radio" name="inlineOptions_' + i + '" value="false"> 否' +
  136. '</label>' +
  137. '</div>' +
  138. '</div>' +
  139. '</div>' +
  140. '<button class="form-control btn btn-default" style="width:60px;margin-left:15px" onclick="btn_delete($(this))">删除</button>' +
  141. '</div>';
  142. $('#contactList').prepend(tplstr);
  143. $('#F_IsMain_' + i).find('input[type="radio"][value="' + cusLists[i].F_IsMain +'"]').prop('checked', true);
  144. }
  145. indexNum = cusLists.length;
  146. } */
  147. }
  148. });
  149. }
  150. //保存
  151. function saveCustomer() {
  152. var contactList = $('#contactList').find('.contactList_item');
  153. for (var i = 0; i < contactList.length; i++) {
  154. var F_Name = $(contactList[i]).find('input[id*="F_Name_"]').val();
  155. var F_Telephone = $(contactList[i]).find('input[id*="F_Telephone_"]').val();
  156. var F_Email = $(contactList[i]).find('input[id*="F_Email_"]').val();
  157. var F_Duties = $(contactList[i]).find('input[id*="F_Duties_"]').val();
  158. var F_QQ = $(contactList[i]).find('input[id*="F_QQ_"]').val();
  159. var F_MSN = $(contactList[i]).find('input[id*="F_MSN_"]').val();
  160. if (!regexs.chOrenOrnum.test($.trim(F_Name))) {
  161. layer.confirm('您添加的联系人姓名格式不正确(只能输入中文、英文、数字)!', {
  162. icon: 2,
  163. btn: ['确定']
  164. });
  165. return;
  166. }
  167. if (!regexs.phone.test($.trim(F_Telephone))) {
  168. layer.confirm('您添加的联系人电话号码格式不正确!', {
  169. icon: 2,
  170. btn: ['确定']
  171. });
  172. return;
  173. }
  174. if (F_Email && !regexs.email.test($.trim(F_Email))) {
  175. layer.confirm('您添加的联系人邮箱格式不正确!', {
  176. icon: 2,
  177. btn: ['确定']
  178. });
  179. return;
  180. }
  181. if (F_Duties && !regexs.chOrenOrnum.test($.trim(F_Duties))) {
  182. layer.confirm('您添加的联系人职务格式不正确!', {
  183. icon: 2,
  184. btn: ['确定']
  185. });
  186. return;
  187. }
  188. if (F_QQ && !regexs.QQreg.test($.trim(F_QQ))) {
  189. layer.confirm('您添加的联系人QQ格式不正确!', {
  190. icon: 2,
  191. btn: ['确定']
  192. });
  193. return;
  194. }
  195. if (F_MSN && !regexs.chOrenOrnum.test($.trim(F_MSN))) {
  196. layer.confirm('您添加的联系人MSN格式不正确!', {
  197. icon: 2,
  198. btn: ['确定']
  199. });
  200. return;
  201. }
  202. }
  203. var wURL, loadIndex, contactLists;
  204. var edit_id = helper.request.queryString("edit_id");
  205. if (edit_id) {
  206. wURL = "CustomerNew/Update";
  207. contactLists = null;
  208. } else {
  209. wURL = "CustomerNew/Add";
  210. contactLists = getFields();
  211. }
  212. $.ajax({
  213. type: 'post',
  214. url: huayi.config.callcenter_url + wURL,
  215. dataType: 'json',
  216. async: true,
  217. beforeSend: function() { //触发ajax请求开始时执行
  218. $('#save_btns').attr("disabled", true);
  219. $('#save_btns').text('保存中...');
  220. loadIndex = layer.load();
  221. },
  222. data: {
  223. F_CustomerId: edit_id, // 否 string id
  224. // F_KeyWords: $('#customer_key').val(), //string 关键词
  225. F_CustomerCode: $('#customer_code').val(), //string 客户编号
  226. F_CompanyName: $('#customer_companyname').val(), //string 公司名称
  227. F_CompanyAddress: $('#customer_comaddress').val(), //string 公司地址
  228. F_LegalName: $('#customer_legalName').val(), //string 法人姓名
  229. F_LegalTel: $('#customer_lehalTel').val(), //string 法人电话
  230. F_SubTrade: $('#customer_subtrade').val(), // int 所属行业
  231. F_TaxCategory: $('#customer_taxCategory').val(), // int 税务类别
  232. F_TaxPointDes: $('#customer_taxPointDes').val(), //string 税点描述
  233. F_InvoiceRange: $('#customer_invoiceRange').val(), //string 开票范围
  234. F_Layer: $('#customer_layer').val(), // int 客户信誉等级
  235. F_BeDept: $('#customer_bedept').attr('data-id'), // int 客户归属部门
  236. F_BeRelatedAcc: $('#customer_berelatedAcc').val(), //string 客户归属涉税会计
  237. F_BeAuditAcc: $('#customer_beauditAcc').val(), //string 客户归属审核会计
  238. F_BeMakeAcc: $('#customer_bemakeAcc').val(), //string 客户归属做账会计
  239. ContactList: contactLists, //List联系人列表
  240. F_RegisteredAddress: $('#customer_RegisteredAddress').val(), // string 注册地址
  241. F_LegalIDCards: $('#customer_LegalIDCards').val(), // string 法人身份证
  242. F_Qualification: $('#customer_Qualification').val(), // string 企业资质荣誉
  243. F_FinancialManager: $('#customer_FinancialManager').val(), // string 客户公司财务负责人
  244. F_BusinessOwner: $('#customer_BusinessOwner').val(), // string 客户归属业务负责人
  245. F_Remark1: $('#customer_Remark1').val(), // string 备注1(输入框即可)
  246. F_Remark2: $('#customer_Remark2').val(), // string 备注2(输入框即可)
  247. F_Remark3: $('#customer_Remark3').val(), // string 备注3(输入框即可)
  248. F_CusService: $('#customer_service').val(), // string 客服
  249. F_HandoverDate: $('#customer_handoverDate').val(), // string 交接日期
  250. F_ISBankSlips: $('#customer_isbankSlips').find('input[type="radio"]:checked').val(), // string 是否需要去银行拿回单(一般纳税人)
  251. F_Address: $('#customer_address').val(), // string 联系地址
  252. F_Address1: $('#customer_address1').val(), // string 联系地址1
  253. F_Address2: $('#customer_address2').val(), // string 联系地址2
  254. F_Address3: $('#customer_address3').val(), // string 联系地址3
  255. F_Address4: $('#customer_address4').val(), // string 联系地址4
  256. F_FeeExpires: $('#customer_feeExpires').val(), // datetime 代理费到期日期
  257. token: $.cookie("token")
  258. },
  259. success: function(data) {
  260. layer.close(loadIndex);
  261. if (data.state === "success") {
  262. var index = parent.layer.getFrameIndex(window.name);
  263. parent.layer.close(index);
  264. parent.$('#cusList').bootstrapTable('refresh');
  265. parent.layer.msg("保存成功");
  266. } else {
  267. $('#save_btns').attr("disabled", false);
  268. $('#save_btns').text('保存');
  269. }
  270. },
  271. error: function(textStatus) {
  272. layer.close(loadIndex);
  273. layer.confirm('网络繁忙,请稍后再试...', {
  274. icon: 7,
  275. closeBtn: 0,
  276. btn: ['确定'] //按钮
  277. });
  278. $('#save_btns').attr("disabled", false);
  279. $('#save_btns').text('保存');
  280. },
  281. complete: function(XMLHttpRequest, textStatus) {
  282. layer.close(loadIndex);
  283. if (textStatus == 'timeout') {
  284. var xmlhttp = window.XMLHttpRequest ? new window.XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHttp");
  285. xmlhttp.abort();
  286. layer.confirm('网络超时,请稍后再试...', {
  287. icon: 7,
  288. closeBtn: 0,
  289. btn: ['确定'] //按钮
  290. });
  291. }
  292. $('#save_btns').attr("disabled", false);
  293. $('#save_btns').text('保存');
  294. },
  295. });
  296. }
  297. //添加联系人
  298. function btn_add() {
  299. var tplstr = '';
  300. tplstr = '<div class="contactList_item col-md-offset-2 clearfix">' +
  301. '<div class="form-group col-md-5 col-sm-5">' +
  302. '<div class="input-group">' +
  303. '<span class="input-group-addon">联系人姓名</span>' +
  304. '<input id="F_Name_' + indexNum +
  305. '" type="text" class="form-control" placeholder="请输入联系人姓名" aria-describedby="联系人姓名">' +
  306. '</div>' +
  307. '</div>' +
  308. '<div class="form-group col-md-5 col-sm-5">' +
  309. '<div class="input-group">' +
  310. '<span class="input-group-addon">联系人电话</span>' +
  311. '<input id="F_Telephone_' + indexNum +
  312. '" type="text" class="form-control" placeholder="请输入联系人电话" aria-describedby="联系人电话">' +
  313. '</div>' +
  314. '</div>' +
  315. '<div class="form-group col-md-5 col-sm-5">' +
  316. '<div class="input-group">' +
  317. '<span class="input-group-addon">联系人邮箱</span>' +
  318. '<input id="F_Email_' + indexNum +
  319. '" type="text" class="form-control" placeholder="请输入联系人邮箱" aria-describedby="联系人邮箱">' +
  320. '</div>' +
  321. '</div>' +
  322. '<div class="form-group col-md-5 col-sm-5">' +
  323. '<div class="input-group">' +
  324. '<span class="input-group-addon">联系人职务</span>' +
  325. '<input id="F_Duties_' + indexNum +
  326. '" type="text" class="form-control" placeholder="请输入联系人职务" aria-describedby="联系人职务">' +
  327. '</div>' +
  328. '</div>' +
  329. '<div class="form-group col-md-5 col-sm-5">' +
  330. '<div class="input-group">' +
  331. '<span class="input-group-addon">联系人QQ</span>' +
  332. '<input id="F_QQ_' + indexNum + '" type="text" class="form-control" placeholder="请输入联系人QQ" aria-describedby="联系人QQ">' +
  333. '</div>' +
  334. '</div>' +
  335. '<div class="form-group col-md-5 col-sm-5">' +
  336. '<div class="input-group">' +
  337. '<span class="input-group-addon">联系人MSN</span>' +
  338. '<input id="F_MSN_' + indexNum +
  339. '" type="text" class="form-control" placeholder="请输入联系人MSN" aria-describedby="联系人MSN">' +
  340. '</div>' +
  341. '</div>' +
  342. '<div class="form-group col-md-10 col-sm-10">' +
  343. '<div class="input-group">' +
  344. '<span class="input-group-addon">联系人备注</span>' +
  345. '<input id="F_Remark_' + indexNum +
  346. '" type="text" class="form-control" placeholder="请输入联系人备注" aria-describedby="联系人备注">' +
  347. '</div>' +
  348. '</div>' +
  349. '<div class="form-group col-md-5 col-sm-5">' +
  350. '<div class="input-group">' +
  351. '<span class="input-group-addon">是否主要联系人</span>' +
  352. '<div class="isMain" id="F_IsMain_' + indexNum + '">' +
  353. '<label class="radio-inline">' +
  354. '<input type="radio" name="inlineOptions_' + indexNum + '" value="true"> 是' +
  355. '</label>' +
  356. '<label class="radio-inline">' +
  357. '<input type="radio" name="inlineOptions_' + indexNum + '" value="false" checked="checked"> 否' +
  358. '</label>' +
  359. '</div>' +
  360. '</div>' +
  361. '</div>' +
  362. '<button class="form-control btn btn-default" style="width:60px;margin-left:15px" onclick="btn_delete($(this))">删除</button>' +
  363. '</div>';
  364. $('#contactList').prepend(tplstr);
  365. indexNum++;
  366. }
  367. //删除联系人
  368. function btn_delete(el) {
  369. el.parent().remove();
  370. }
  371. //获取联系人信息
  372. function getFields() {
  373. var goodslists = [];
  374. var goodsLists_items = $('#contactList').find('.contactList_item');
  375. $.each(goodsLists_items, function(i, v) {
  376. goodslists.push({
  377. "F_Name": $(v).find('input[id*="F_Name_"]').val(),
  378. "F_Telephone": $(v).find('input[id*="F_Telephone_"]').val(),
  379. "F_Email": $(v).find('input[id*="F_Email_"]').val(),
  380. "F_Duties": $(v).find('input[id*="F_Duties_"]').val(),
  381. "F_QQ": $(v).find('input[id*="F_QQ_"]').val(),
  382. "F_MSN": $(v).find('input[id*="F_MSN_"]').val(),
  383. "F_Remark": $(v).find('input[id*="F_Remark_"]').val(),
  384. "F_IsMain": $(v).find('div[id*="F_IsMain_"]').find('input[type="radio"]:checked').val(),
  385. });
  386. });
  387. //去重
  388. // helper.methods.uniqueObjArray(goodslists, 'F_Name');
  389. return goodslists;
  390. }
  391. /**
  392. * 获取客户归属部门
  393. * el1, 树形结构元素id名 customerTreeView
  394. * el2, 搜索框元素id名 customer_bedept
  395. * */
  396. function getDepts(el1, el2) {
  397. var dtd = $.Deferred(); //在函数内部,新建一个Deferred对象
  398. //初始化 样式
  399. $('#' + el2).on('focus click', function() {
  400. $('#' + el1).removeClass('hidden').addClass('show');
  401. });
  402. $('#' + el2).on('keyup', function() {
  403. if ($(this).val() == '') {
  404. $('#' + el1).treeview('uncheckAll', {
  405. silent: true
  406. });
  407. $(this).attr('data-id', '0');
  408. }
  409. });
  410. $('#' + el2 + ' .caret').on('click', function() {
  411. $('#' + el1).removeClass('hidden').addClass('show');
  412. });
  413. $('#' + el1).mouseleave(function() {
  414. $(this).removeClass('show').addClass('hidden');
  415. });
  416. $.getJSON(huayi.config.callcenter_url + 'Department/GetDeptList', {
  417. token: $.cookie("token")
  418. }, function(result) {
  419. if (result.state.toLowerCase() == "success") {
  420. var defaultDatas = helper.methods.buildTree(result.data);
  421. var sortChildrenArr = helper.methods.objToArray(defaultDatas[0].children);
  422. sortChildrenArr.sort(helper.methods.compare('sort'));
  423. var sortChildrenObj = helper.methods.arrayToObj(sortChildrenArr);
  424. defaultDatas[0].children = sortChildrenObj;
  425. if (defaultDatas) {
  426. var $sTree = $('#' + el1).treeview({
  427. color: "#1ab394",
  428. selectedBackColor: '#1ab394',
  429. expandIcon: 'glyphicon glyphicon-chevron-right',
  430. collapseIcon: 'glyphicon glyphicon-chevron-down',
  431. nodeIcon: 'fa fa-folder-o',
  432. //selectedIcon: "glyphicon glyphicon-stop",
  433. //icon: "glyphicon glyphicon-stop",
  434. //emptyIcon: 'glyphicon',
  435. //showCheckbox: true,
  436. selectable: true,
  437. state: {
  438. selected: true
  439. },
  440. data: defaultDatas,
  441. onNodeSelected: function(event, node) {
  442. $sTree.treeview('clearSearch');
  443. $('#' + el2).val(node.text);
  444. $('#' + el2).attr('data-id', node.id);
  445. $('#' + el1).removeClass('show').addClass('hidden');
  446. },
  447. onNodeUnselected: function(event, node) {
  448. $('#' + el2).attr('data-id', 0);
  449. $('#' + el2).attr('placeholder', '请选择客户归属部门');
  450. }
  451. });
  452. // $('#' + el1).treeview('collapseAll', {
  453. // silent: true
  454. // });
  455. $('#' + el1).treeview('expandAll', {
  456. levels: 2,
  457. silent: true
  458. });
  459. var findSNodes = function() {
  460. return $sTree.treeview('search', [$('#' + el2).val(), {
  461. ignoreCase: false,
  462. exactMatch: false
  463. }]);
  464. };
  465. $('#' + el2).on('keyup focus', function(e) {
  466. var selectableNodes = findSNodes();
  467. //var m = $('#' + el1).treeview('getParent', selectableNodes);
  468. //$('#' + el1).treeview('selectNode', [ m, { silent: true } ]);
  469. });
  470. }
  471. dtd.resolve(); // 改变Deferred对象的执行状态
  472. }
  473. })
  474. return dtd.promise(); // 返回promise对象
  475. }
  476. //验证(所有 input.form-control)的方法
  477. function valideInput() {
  478. var _that = $(this);
  479. //console.log($(this).attr('id'));
  480. switch ($(this).attr('id')) {
  481. case 'customer_code': //验证客户编号
  482. valideMethods(_that, regexs.chOrenOrnum, '格式不正确(只能输入中文、英文、数字)!', false);
  483. break;
  484. case 'customer_companyname': //验证公司名称
  485. valideMethods(_that, regexs.chOrenOrnum, '格式不正确(只能输入中文、英文、数字)!', false);
  486. break;
  487. case 'customer_legalName': //验证法人姓名
  488. valideMethods(_that, regexs.userNameReg, '格式不正确(只能输入2-20位汉字可以包含·•)!', true);
  489. break;
  490. case 'customer_lehalTel': //验证法人电话
  491. valideMethods(_that, regexs.phone, '您输入的电话号码格式不正确!', true);
  492. break;
  493. case 'customer_subtrade': //验证所属行业
  494. valideMethods(_that, regexs.chOrenOrnum, '格式不正确(只能输入中文、英文、数字)!', true);
  495. break;
  496. case 'customer_taxCategory': //验证 税务类别
  497. valideMethods(_that, regexs.chOrenOrnum, '格式不正确(只能输入中文、英文、数字)!', true);
  498. break;
  499. // case 'customer_invoiceRange': //验证 开票范围
  500. // valideMethods(_that, regexs.chOrenOrnum, '格式不正确(只能输入中文、英文、数字)!', true);
  501. // break;
  502. case 'customer_layer': //验证 客户信誉等级
  503. valideMethods(_that, regexs.chOrenOrnum, '格式不正确(只能输入中文、英文、数字)!', true);
  504. break;
  505. case 'customer_berelatedAcc': //客户归属涉税会计
  506. valideMethods(_that, regexs.chOrenOrnum, '格式不正确(只能输入中文、英文、数字)!', true);
  507. break;
  508. case 'customer_beauditAcc': //客户归属审核会计
  509. valideMethods(_that, regexs.chOrenOrnum, '格式不正确(只能输入中文、英文、数字)!', true);
  510. break;
  511. case 'customer_bemakeAcc': //客户归属做账会计
  512. valideMethods(_that, regexs.chOrenOrnum, '格式不正确(只能输入中文、英文、数字)!', true);
  513. break;
  514. // case 'customer_RegisteredAddress': //注册地址
  515. // valideMethods(_that, regexs.chOrenOrnum, '格式不正确(只能输入中文、英文、数字)!', true);
  516. // break;
  517. case 'customer_LegalIDCards': //法人身份证
  518. valideMethods(_that, regexs.chOrenOrnum, '格式不正确(只能输入中文、英文、数字)!', true);
  519. break;
  520. case 'customer_Qualification': //企业资质荣誉
  521. valideMethods(_that, regexs.chOrenOrnum, '格式不正确(只能输入中文、英文、数字)!', true);
  522. break;
  523. case 'customer_FinancialManager': //客户公司财务负责人
  524. valideMethods(_that, regexs.chOrenOrnum, '格式不正确(只能输入中文、英文、数字)!', true);
  525. break;
  526. case 'customer_BusinessOwner': //客户归属业务负责人
  527. valideMethods(_that, regexs.chOrenOrnum, '格式不正确(只能输入中文、英文、数字)!', true);
  528. break;
  529. // case 'customer_Remark1': //备注1
  530. // valideMethods(_that, regexs.chOrenOrnum, '格式不正确(只能输入中文、英文、数字)!', true);
  531. // break;
  532. // case 'customer_Remark2': //备注2
  533. // valideMethods(_that, regexs.chOrenOrnum, '格式不正确(只能输入中文、英文、数字)!', true);
  534. // break;
  535. // case 'customer_Remark3': //备注3
  536. // valideMethods(_that, regexs.chOrenOrnum, '格式不正确(只能输入中文、英文、数字)!', true);
  537. // break;
  538. case 'customer_service': //客服
  539. valideMethods(_that, regexs.chOrenOrnum, '格式不正确(只能输入中文、英文、数字)!', true);
  540. break;
  541. // case 'customer_address': //地址
  542. // valideMethods(_that, regexs.chOrenOrnum, '格式不正确(只能输入中文、英文、数字)!', true);
  543. // break;
  544. // case 'customer_address1': //地址1
  545. // valideMethods(_that, regexs.chOrenOrnum, '格式不正确(只能输入中文、英文、数字)!', true);
  546. // break;
  547. // case 'customer_address2': //地址2
  548. // valideMethods(_that, regexs.chOrenOrnum, '格式不正确(只能输入中文、英文、数字)!', true);
  549. // break;
  550. // case 'customer_address3': //地址3
  551. // valideMethods(_that, regexs.chOrenOrnum, '格式不正确(只能输入中文、英文、数字)!', true);
  552. // break;
  553. // case 'customer_address4': //地址4
  554. // valideMethods(_that, regexs.chOrenOrnum, '格式不正确(只能输入中文、英文、数字)!', true);
  555. // break;
  556. }
  557. if ($('#tab_user_contents').find('.has-error').length > 0) {
  558. $('.project_save').attr('disabled', true);
  559. $('#save_btns').off('click', saveCustomer);
  560. } else {
  561. $('.project_save').attr('disabled', false);
  562. $('#save_btns').off('click', saveCustomer);
  563. $('#save_btns').on('click', saveCustomer);
  564. }
  565. }
  566. /**
  567. * 验证方法
  568. * _this :传递的this
  569. * regRlues: 验证的规则
  570. * msg: 提示信息
  571. * isRes:boolean 是否允许验证的内容为空,true:允许为空,false:不允许为空
  572. * */
  573. function valideMethods(_this, regRlues, msg, isRes) {
  574. var txtTpips = _this.parent().parent().find('.text-tips');
  575. if (txtTpips) {
  576. txtTpips.parent().remove();
  577. }
  578. if (!isRes) {
  579. //不为空
  580. if (!regRlues.test($.trim(_this.val()))) {
  581. _this.parent().parent().removeClass('has-success has-feedback').addClass('has-error has-feedback');
  582. _this.parent().find('.glyphicon').remove();
  583. $('<span class="glyphicon glyphicon-remove form-control-feedback" aria-hidden="true"></span>').appendTo(_this.parent());
  584. $('<div class="col-md-10 col-md-offset-2"><span class="text-tips">' + msg + '</span></div>').appendTo(_this.parent()
  585. .parent());
  586. $('.project_save').attr('disabled', true);
  587. } else {
  588. _this.parent().parent().removeClass('has-error has-feedback').addClass('has-success has-feedback');
  589. _this.parent().find('.glyphicon').remove();
  590. $('<span class="glyphicon glyphicon-ok form-control-feedback" aria-hidden="true"></span>').appendTo(_this.parent());
  591. }
  592. } else {
  593. //为空不验证;但是有内容就验证;
  594. if ($.trim(_this.val())) {
  595. if (!regRlues.test($.trim(_this.val()))) {
  596. _this.parent().parent().removeClass('has-success has-feedback').addClass('has-error has-feedback');
  597. _this.parent().find('.glyphicon').remove();
  598. $('<span class="glyphicon glyphicon-remove form-control-feedback" aria-hidden="true"></span>').appendTo(_this.parent());
  599. $('<div class="col-md-10 col-md-offset-2"><span class="text-tips">' + msg + '</span></div>').appendTo(_this.parent()
  600. .parent());
  601. $('.project_save').attr('disabled', true);
  602. } else {
  603. _this.parent().parent().removeClass('has-error has-feedback').addClass('has-success has-feedback');
  604. _this.parent().find('.glyphicon').remove();
  605. $('<span class="glyphicon glyphicon-ok form-control-feedback" aria-hidden="true"></span>').appendTo(_this.parent());
  606. }
  607. } else {
  608. _this.parent().find('.glyphicon').remove();
  609. _this.parent().parent().removeClass('has-error has-success has-feedback');
  610. }
  611. }
  612. }