dealer.js 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423
  1. var CONTACT_ID_PREFIX = "CONTACT_";
  2. var CONTACT_ID_NUM = 0;
  3. var CONTACT_IS_UPDATE = 1; //用来标识此事对接人的弹窗是添加还是修改, 1添加 2修改
  4. //-----------------------对接人 start -----------------------------
  5. /**
  6. * 展示添加的对接人信息
  7. */
  8. function showContact(contact){
  9. if(CONTACT_IS_UPDATE == 1){ //添加
  10. var html = '<tr class="text-c" >';
  11. html += ' <input type="hidden" class="input-text dealContactId" value="" >';
  12. html += ' <input type="hidden" class="input-text dealContactStr" value="'+ cufte(contact.dealContactStr) +'" >';
  13. html += '<td class="dealContactName">'+ cufte(contact.dealContactName) +'</td>';
  14. html += '<td class="dealContactType">'+ cufte(contact.dealContactType) +'</td>';
  15. html += '<td class="dealContactPhone">'+ cufte(contact.dealContactPhone) +'</td>';
  16. html += '<td class="dealContactEmail">'+ cufte(contact.dealContactEmail) +'</td>';
  17. html += '<td class="dealContactWechat">'+ cufte(contact.dealContactWechat) +'</td>';
  18. html += '<td class="dealContactQq">'+ cufte(contact.dealContactQq) +'</td>';
  19. html += '<td><a href="javascript:void(0)" onclick="updateDealerContact($(this))">修改</a>&nbsp;&nbsp;<a href="javascript:void(0)" onclick="delTableByTr($(this),1)">删除</a></td>';
  20. if(CONTACT_TR_NUM == 0){
  21. $("#add_contact").html(html);
  22. CONTACT_TR_NUM =1;
  23. }else{
  24. $("#add_contact").append(html);
  25. }
  26. }else{
  27. //修改
  28. var $contactTr;
  29. $("#add_contact").find("tr").each(function () {
  30. var dealContactStr = $(this).find(".dealContactStr").val();
  31. if(dealContactStr == contact.dealContactStr){
  32. $contactTr = $(this);
  33. }
  34. });
  35. $contactTr.find(".dealContactName").text(cufte(contact.dealContactName));
  36. $contactTr.find(".dealContactType").text(cufte(contact.dealContactType));
  37. $contactTr.find(".dealContactPhone").text(cufte(contact.dealContactPhone));
  38. $contactTr.find(".dealContactEmail").text(cufte(contact.dealContactEmail));
  39. $contactTr.find(".dealContactWechat").text(cufte(contact.dealContactWechat));
  40. $contactTr.find(".dealContactQq").text(cufte(contact.dealContactQq));
  41. }
  42. }
  43. /**
  44. * 添加对接人
  45. */
  46. function addDealerContact() {
  47. CONTACT_IS_UPDATE = 1;
  48. CONTACT_ID_NUM ++;
  49. var dealContactStr = CONTACT_ID_PREFIX + CONTACT_ID_NUM;
  50. layer_show_height("添加对接人",url_path+"/admin/dealer/to_add_dealer_contact?dealContactStr="+dealContactStr,1);
  51. }
  52. /**
  53. * 修改对接人
  54. */
  55. function updateDealerContact($this) {
  56. CONTACT_IS_UPDATE =2;
  57. var $contact = $this.parents("tr");
  58. var contact = new Object();
  59. contact.dealContactId = $contact.find(".dealContactId").val();
  60. contact.dealContactStr = $contact.find(".dealContactStr").val();
  61. contact.dealContactName= $contact.find(".dealContactName").text();
  62. contact.dealContactPhone=$contact.find(".dealContactPhone").text();
  63. contact.dealContactType=$contact.find(".dealContactType").text();
  64. contact.dealContactEmail=$contact.find(".dealContactEmail").text();
  65. contact.dealContactWechat=$contact.find(".dealContactWechat").text();
  66. contact.dealContactQq=$contact.find(".dealContactQq").text();
  67. layer_show_height("添加对接人",url_path+"/admin/dealer/to_add_dealer_contact?"+parseParam(contact),1);
  68. }
  69. //-----------------------对接人 END -----------------------------
  70. var CHANNEL_ID_PREFIX = "CHANNEL_";
  71. var CHANNEL_ID_NUM = 0;
  72. var CHANNEL_IS_UPDATE = 1; //用来标识渠道的弹窗是添加还是修改, 1添加 2修改
  73. /**
  74. * 添加渠道商
  75. */
  76. function addDealerChannnel() {
  77. CHANNEL_IS_UPDATE = 1;
  78. CHANNEL_ID_NUM ++;
  79. var dealChannelIdStr = CHANNEL_ID_PREFIX + CHANNEL_ID_NUM;
  80. layer_show_height("添加对接人",url_path + "/admin/dealer/to_add_dealer_channel?dealChannelIdStr="+dealChannelIdStr,1);
  81. }
  82. function showChannel(channel) {
  83. var $addHtmlNode = $("#add_dealer_channel");
  84. if(CHANNEL_IS_UPDATE == 1){ //添加
  85. var html = '<tr class="text-c" >';
  86. html += ' <input type="hidden" class="input-text dealChannelId" value="" >';
  87. html += ' <input type="hidden" class="input-text dealChannelIdStr" value="'+ cufte(channel.dealChannelIdStr) +'" >';
  88. html += ' <input type="hidden" class="input-text channelId" value="'+ cufte(channel.channelId) +'" >';
  89. html += ' <input type="hidden" class="input-text channelTypeId" value="'+ cufte(channel.channelTypeId) +'" >';
  90. html += ' <input type="hidden" class="input-text storeId" value="'+ cufte(channel.storeId) +'" >';
  91. html += '<td class="channelTypeName">'+ cufte(channel.channelTypeName) +'</td>';
  92. html += '<td class="channelName">'+ cufte(channel.channelName) +'</td>';
  93. html += '<td class="storeName">'+ cufte(channel.storeName) +'</td>';
  94. html += '<td class="dealChannelAccountPeriod">'+ cufte(channel.dealChannelAccountPeriod) +'</td>';
  95. html += '<td><a href="javascript:void(0)" onclick="updateDealerChannel($(this))">修改</a>&nbsp;&nbsp;<a href="javascript:void(0)" onclick="delTableByTr($(this),2)">删除</a></td>';
  96. if(CHANNEL_TR_NUM == 0){
  97. $addHtmlNode.html(html);
  98. CHANNEL_TR_NUM =1;
  99. }else{
  100. $addHtmlNode.append(html);
  101. }
  102. }else{
  103. //修改
  104. var $channelTr;
  105. $addHtmlNode.find("tr").each(function () {
  106. var dealChannelIdStr = $(this).find(".dealChannelIdStr").val();
  107. if(dealChannelIdStr == channel.dealChannelIdStr){
  108. $channelTr = $(this);
  109. }
  110. });
  111. $channelTr.find(".channelId").val(cufte(channel.channelId));
  112. $channelTr.find(".storeId").val(cufte(channel.storeId));
  113. $channelTr.find(".channelTypeId").val(cufte(channel.channelTypeId));
  114. $channelTr.find(".channelTypeName").text(cufte(channel.channelTypeName));
  115. $channelTr.find(".channelName").text(cufte(channel.channelName));
  116. $channelTr.find(".storeName").text(cufte(channel.storeName));
  117. $channelTr.find(".dealChannelAccountPeriod").text(cufte(channel.dealChannelAccountPeriod));
  118. }
  119. }
  120. /**
  121. * 修改渠道商
  122. */
  123. function updateDealerChannel($this) {
  124. CHANNEL_IS_UPDATE =2;
  125. var $contact = $this.parents("tr");
  126. var channel = new Object();
  127. channel.dealChannelId = $contact.find(".dealChannelId").val();
  128. channel.dealChannelIdStr = $contact.find(".dealChannelIdStr").val();
  129. channel.channelId= $contact.find(".channelId").val();
  130. channel.channelTypeId= $contact.find(".channelTypeId").val();
  131. channel.storeId=$contact.find(".storeId").val();
  132. channel.dealChannelAccountPeriod=$contact.find(".dealChannelAccountPeriod").text();
  133. layer_show_height("添加对接人",url_path+"/admin/dealer/to_add_dealer_channel?"+parseParam(channel),1);
  134. }
  135. //-----------------------渠道商 END -----------------------------
  136. var PRODUCT_ID_PREFIX = "PRODUCT_";
  137. var PRODUCT_ID_NUM = 0;
  138. var PRODUCT_IS_UPDATE = 1; //用来标识渠道的弹窗是添加还是修改, 1添加 2修改
  139. /**
  140. * 添加产品
  141. */
  142. function addDealerProduct() {
  143. PRODUCT_IS_UPDATE = 1;
  144. PRODUCT_ID_NUM ++;
  145. var dealProdIdStr = PRODUCT_ID_PREFIX + PRODUCT_ID_NUM;
  146. var storeArray = new Array();
  147. $("#add_dealer_channel").find("tr").each(function () {
  148. var store = new Object();
  149. if(!isEmpty($(this).find(".storeId").val())){
  150. return false;
  151. }
  152. store.storeId = $(this).find(".storeId").val();
  153. store.storeName = $(this).find(".storeName").text();
  154. store.productStoreIsSelect = 2;
  155. storeArray.push(store);
  156. });
  157. if(storeArray.length < 1){
  158. vailErrorMsg_3($("#add_dealer_channel_make"),"必须要有一个渠道信息");
  159. return false;
  160. }
  161. var url = url_path + '/admin/dealer/to_add_dealer_product?dealProdIdStr='+dealProdIdStr+'&storeJson='+ JSON.stringify(storeArray);
  162. url = encodeURI(url);
  163. layer_show_norm("添加供应产品",url,5);
  164. }
  165. function showDealerProduct(dealerProductArray) {
  166. var $addHtmlNode = $("#add_product");
  167. if(PRODUCT_IS_UPDATE == 1){ //添加
  168. for(var i=0;i<dealerProductArray.length;i++){
  169. var obj = dealerProductArray[i];
  170. var html = '<tr class="text-c" >';
  171. html += ' <input type="hidden" class="input-text dealProdId" value="" >';
  172. html += ' <input type="hidden" class="input-text dealProdIdStr" value="'+ cufte(obj.dealProdIdStr) +'" >';
  173. html += ' <input type="hidden" class="input-text colorProductId" value="'+ cufte(obj.colorProductId) +'" >';
  174. html += ' <input type="hidden" class="input-text colorId" value="'+ cufte(obj.colorId) +'" >';
  175. html += ' <input type="hidden" class="input-text dealProdStoreArea" value="'+ cufte(obj.dealProdStoreArea) +'" >';
  176. html += ' <input type="hidden" class="input-text dealerProductStoreIds" value="'+ cufte(obj.dealerProductStoreIds) +'" >';
  177. html += '<td class="productName">'+ cufte(obj.productName) +'</td>';
  178. html += '<td class="colorName">'+ cufte(obj.colorName) +'</td>';
  179. html += '<td><input type="text" style="text-align: center;" class="input-text input-number dealProdPrice" value="'+ cufte(obj.dealProdPrice) +'" onkeyup="keyFun($(this),99999,0)" onpaste="keyFun($(this),99999,0)"></td>';
  180. if(obj.dealProdStoreArea == 1){
  181. html += '<td class="dealerProductStoreName">全部店铺</td>';
  182. }else{
  183. html += '<td class="dealerProductStoreName">'+ cufte(obj.dealerProductStoreName) +'</td>';
  184. }
  185. html += '<td><a href="javascript:void(0)" onclick="delTableByTr($(this),3)">删除</a></td>';
  186. if(PRODUCT_TR_NUM == 0){
  187. $addHtmlNode.html(html);
  188. PRODUCT_TR_NUM =1;
  189. }else{
  190. $addHtmlNode.append(html);
  191. }
  192. }
  193. }
  194. }
  195. //-----------------------供应产品 END -----------------------------
  196. var COOPERATIONAGREE_ID_PREFIX = "COOPERATIONAGREE_";
  197. var COOPERATIONAGREE_ID_NUM = 0;
  198. var COOPERATIONAGREE_IS_UPDATE = 1; //用来标识渠道的弹窗是添加还是修改, 1添加 2修改
  199. /**
  200. * 展示添加的合作协议
  201. */
  202. function showCoopAgree(coopAgree){
  203. var $addHtmlNode = $("#add_coop_agree");
  204. if(COOPERATIONAGREE_IS_UPDATE == 1){ //添加
  205. var html = '<tr class="text-c" >';
  206. html += ' <input type="hidden" class="input-text coopAgreeId" value="" >';
  207. html += ' <input type="hidden" class="input-text coopAgreeIdStr" value="'+ cufte(coopAgree.coopAgreeIdStr) +'" >';
  208. html += ' <input type="hidden" class="input-text coopAgreeImg" value="'+ cufte(coopAgree.coopAgreeImg) +'" >';
  209. html += ' <input type="hidden" class="input-text coopAgreeBeforeDate" value="'+ cufte(coopAgree.coopAgreeBeforeDate) +'" >';
  210. html += ' <input type="hidden" class="input-text coopAgreeEndDate" value="'+ cufte(coopAgree.coopAgreeEndDate) +'" >';
  211. html += '<td class="coopAgreeDateHtml">'+ cufte(coopAgree.coopAgreeBeforeDate) +'&nbsp; - &nbsp;'+ cufte(coopAgree.coopAgreeEndDate) +'</td>';
  212. html += '<td class="coopAgreeImgHtml"><img style="width: 75px;" src="'+ url_path + '/' + cufte(coopAgree.coopAgreeImg) +'"></td>';
  213. html += '<td class="coopAgreeRemake">'+ cufte(coopAgree.coopAgreeRemake) +'</td>';
  214. html += '<td><a href="javascript:void(0)" onclick="updateCoopAgree($(this))">修改</a>&nbsp;&nbsp;<a href="javascript:void(0)" onclick="delTableByTr($(this),4)">删除</a></td>';
  215. if(COOPERATIONAGREE_TR_NUM == 0){
  216. $addHtmlNode.html(html);
  217. COOPERATIONAGREE_TR_NUM =1;
  218. }else{
  219. $addHtmlNode.append(html);
  220. }
  221. }else{
  222. //修改
  223. var $contactTr;
  224. $addHtmlNode.find("tr").each(function () {
  225. var coopAgreeIdStr = $(this).find(".coopAgreeIdStr").val();
  226. if(coopAgreeIdStr == coopAgree.coopAgreeIdStr){
  227. $contactTr = $(this);
  228. }
  229. });
  230. $contactTr.find(".coopAgreeId").val(cufte(coopAgree.coopAgreeId));
  231. $contactTr.find(".coopAgreeIdStr").val(cufte(coopAgree.coopAgreeIdStr));
  232. $contactTr.find(".coopAgreeImg").val(cufte(coopAgree.coopAgreeImg));
  233. $contactTr.find(".coopAgreeBeforeDate").val(cufte(coopAgree.coopAgreeBeforeDate));
  234. $contactTr.find(".coopAgreeEndDate").val(cufte(coopAgree.coopAgreeEndDate));
  235. $contactTr.find(".coopAgreeRemake").text(cufte(coopAgree.coopAgreeRemake));
  236. $contactTr.find(".coopAgreeDateHtml").html(cufte(coopAgree.coopAgreeBeforeDate) +'&nbsp; - &nbsp;'+ cufte(coopAgree.coopAgreeEndDate));
  237. $contactTr.find(".coopAgreeImgHtml").html('<img style="width: 75px;" src="'+ url_path + '/' + cufte(coopAgree.coopAgreeImg) +'">');
  238. }
  239. }
  240. /**
  241. * 添加合作协议
  242. */
  243. function addCoopAgree() {
  244. COOPERATIONAGREE_IS_UPDATE = 1;
  245. COOPERATIONAGREE_ID_NUM ++;
  246. var coopAgreeIdStr = COOPERATIONAGREE_ID_PREFIX + COOPERATIONAGREE_ID_NUM;
  247. layer_show_height("合作协议",url_path+"/admin/dealer/to_add_coop_agree?coopAgreeIdStr="+coopAgreeIdStr,0);
  248. }
  249. /**
  250. * 修改合作协议
  251. */
  252. function updateCoopAgree($this) {
  253. COOPERATIONAGREE_IS_UPDATE =2;
  254. var $coopAgree = $this.parents("tr");
  255. var coopAgree = new Object();
  256. coopAgree.coopAgreeId = $coopAgree.find(".coopAgreeId").val();
  257. coopAgree.coopAgreeIdStr = $coopAgree.find(".coopAgreeIdStr").val();
  258. coopAgree.coopAgreeImg = $coopAgree.find(".coopAgreeImg").val();
  259. coopAgree.coopAgreeBeforeDate = $coopAgree.find(".coopAgreeBeforeDate").val();
  260. coopAgree.coopAgreeEndDate = $coopAgree.find(".coopAgreeEndDate").val();
  261. coopAgree.coopAgreeRemake= $coopAgree.find(".coopAgreeRemake").text();
  262. var url = url_path+"/admin/dealer/to_add_coop_agree?"+parseParam(coopAgree);
  263. url = encodeURI(url);
  264. layer_show_height("合作协议",url,0);
  265. }
  266. //-----------------------合作协议 END -----------------------------
  267. /**
  268. * 删除
  269. * @param $this
  270. */
  271. function delTableByTr($this,type) {
  272. var typeDesc = '';
  273. if(type == 1 && $("#add_contact").find("tr").length < 2){
  274. vailErrorMsg_3($("#add_contact_make"),"必须要有一个对接人");
  275. }else if(type == 2 && $("#add_dealer_channel").find("tr").length < 2){
  276. vailErrorMsg_3($("#add_dealer_channel_make"),"必须要有一个渠道信息");
  277. }else{
  278. $this.parents("tr").remove();
  279. }
  280. }
  281. //将对象转成url 参数
  282. var parseParam=function(param, key){
  283. var paramStr="";
  284. if(param instanceof String||param instanceof Number||param instanceof Boolean){
  285. paramStr+="&"+key+"="+encodeURIComponent(param);
  286. }else{
  287. $.each(param,function(i){
  288. var k=key==null?i:key+(param instanceof Array?"["+i+"]":"."+i);
  289. paramStr+='&'+parseParam(this, k);
  290. });
  291. }
  292. return paramStr.substr(1);
  293. };
  294. //-------------------------提交 strat----------------------------
  295. $(function(){
  296. var loadIndex = 0;
  297. $("#form-dealer").Validform({
  298. tiptype: function (msg, o, cssctl) {
  299. if (o.type == 3) {//失败
  300. layer.msg(msg, {icon: 5, time: 3000});
  301. $(window).scrollTop(o.obj.offset().top - 40);
  302. }
  303. },
  304. datatype: {//自定义验证类型
  305. },
  306. ignoreHidden: true,
  307. tipSweep: true, //若为true,则只在表单提交时验证
  308. ajaxPost: true, //异步提交
  309. beforeCheck: function (curform) { //验证通过之前执行的函数
  310. var flag = false;
  311. },
  312. beforeSubmit: function (curform) { //验证通过之后执行的函数
  313. var contactArray = new Array();
  314. $("#add_contact").find("tr").each(function () {
  315. var $contact = $(this);
  316. var contact = new Object();
  317. contact.dealContactId = $contact.find(".dealContactId").val();
  318. contact.dealContactStr = $contact.find(".dealContactStr").val();
  319. contact.dealContactName= $contact.find(".dealContactName").text();
  320. contact.dealContactPhone=$contact.find(".dealContactPhone").text();
  321. contact.dealContactType=$contact.find(".dealContactType").text();
  322. contact.dealContactEmail=$contact.find(".dealContactEmail").text();
  323. contact.dealContactWechat=$contact.find(".dealContactWechat").text();
  324. contact.dealContactQq=$contact.find(".dealContactQq").text();
  325. contactArray.push(contact);
  326. });
  327. if(contactArray.length > 0){
  328. $("#add_contact_json").val(JSON.stringify(contactArray));
  329. }else{
  330. vailErrorMsg_3($("#add_contact_make"),"必须要有一个对接人");
  331. return false;
  332. }
  333. var channelArray = new Array();
  334. $("#add_dealer_channel").find("tr").each(function () {
  335. var $contact = $(this);
  336. var channel = new Object();
  337. channel.dealChannelId = $contact.find(".dealChannelId").val();
  338. channel.dealChannelIdStr = $contact.find(".dealChannelIdStr").val();
  339. channel.channelId= $contact.find(".channelId").val();
  340. channel.channelTypeId= $contact.find(".channelTypeId").val();
  341. channel.storeId=$contact.find(".storeId").val();
  342. channel.dealChannelAccountPeriod=$contact.find(".dealChannelAccountPeriod").text();
  343. channelArray.push(channel);
  344. });
  345. if(channelArray.length > 0){
  346. $("#add_dealer_channel_json").val(JSON.stringify(channelArray));
  347. }else{
  348. vailErrorMsg_3($("#add_dealer_channel_make"),"必须要有一个渠道信息");
  349. return false;
  350. }
  351. var productColorArray = new Array();
  352. $("#add_product").find("tr").each(function () {
  353. var $productColor = $(this);
  354. var productColor = new Object();
  355. productColor.colorId = $productColor.find(".colorId").val();
  356. productColor.dealProdStoreArea = $productColor.find(".dealProdStoreArea").val();
  357. productColor.dealProdPrice = $productColor.find(".dealProdPrice").val();
  358. productColor.dealerProductStoreIds = $productColor.find(".dealerProductStoreIds").val();
  359. productColorArray.push(productColor);
  360. });
  361. if(productColorArray.length > 0){
  362. $("#add_product_json").val(JSON.stringify(productColorArray));
  363. }
  364. var productColorArray = new Array();
  365. $("#add_coop_agree").find("tr").each(function () {
  366. var $coopAgree = $(this);
  367. var coopAgree = new Object();
  368. coopAgree.coopAgreeId = $coopAgree.find(".coopAgreeId").val();
  369. coopAgree.coopAgreeIdStr = $coopAgree.find(".coopAgreeIdStr").val();
  370. coopAgree.coopAgreeImg = $coopAgree.find(".coopAgreeImg").val();
  371. coopAgree.coopAgreeBeforeDate = $coopAgree.find(".coopAgreeBeforeDate").val();
  372. coopAgree.coopAgreeEndDate = $coopAgree.find(".coopAgreeEndDate").val();
  373. coopAgree.coopAgreeRemake= $coopAgree.find(".coopAgreeRemake").text();
  374. productColorArray.push(coopAgree);
  375. });
  376. if(productColorArray.length > 0){
  377. $("#add_coop_agree_json").val(JSON.stringify(productColorArray));
  378. }
  379. loadIndex = layer.load(1, {
  380. shade: [0.5,'#fff'] //0.1透明度的白色背景
  381. });
  382. },
  383. callback: function (data) {//异步回调函数
  384. if (data) {
  385. var index = layer.alert(data.resultMsg, function (index) {
  386. if (data.returnCode == 200) {
  387. location.href = url_path + "/admin/dealer/list_page_dealer";
  388. }else {
  389. layer.close(index);
  390. }
  391. });
  392. if(loadIndex != 0 ){
  393. layer.close(loadIndex);
  394. }
  395. }
  396. return false;
  397. }
  398. });
  399. });
  400. //-------------------------提交 end----------------------------