mkstorecampminus.js 88 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775
  1. $(function () {
  2. $("#jqGrid").jqGrid({
  3. url: '../mkstorecampminus/list',
  4. datatype: "json",
  5. colModel: [
  6. {label: 'campMinusId', name: 'campMinusId', index: 'camp_minus_id', key: true, hidden: true},
  7. {
  8. label: '活动图片', name: 'advImgUrl', index: 'advImgUrl', align: 'center', width: 30,
  9. formatter: function (value) {
  10. return transImg(value);
  11. }
  12. },
  13. {label: '活动名称', name: 'campName', index: 'camp_name', width: 60, align: 'center'},
  14. {label: '减免活动类型', name: 'campMinusType', index: 'camp_minus_type', width: 50, align: 'center',
  15. formatter: function (value) {
  16. if (value == '00') {
  17. return '满x元减';
  18. } else if (value == '01') {
  19. return '满x件减';
  20. } else if (value == '10') {
  21. return '满x元折';
  22. } else if (value == '11') {
  23. return '满x件折';
  24. }
  25. return '';
  26. }},
  27. // {label: '第三方商户id', name: 'thirdMerchSn', index: 'third_merch_sn', width: 80},
  28. {label: '所属门店', name: 'storeName', index: 'storeName', width: 60, align: 'center'},
  29. // {label: '活动id', name: 'storeTopicId', index: 'store_topic_id', width: 80},
  30. {label: '活动时间', name: 'inValidTime', index: 'inValidTime', width: 110, align: 'center'},
  31. // {label: '减免方式【minus_mode,00:满足最高层级减一次,10:每满一次减一次】,1、减免方式选择10时,满件、满元每人最多项必填;2、减免方式为00,如设置每满100(2件)减10元,满200(4件)减20元....等; 按最高层级优惠满减,仅减一次。', name: 'minusMode', index: 'minus_mode', width: 80},
  32. // {label: '满元减条件(元)', name: 'yuanMinusCond', index: 'yuan_minus_cond', width: 80},
  33. // {label: '满元减优惠(元)', name: 'yuanMinusPref', index: 'yuan_minus_pref', width: 80},
  34. // {label: '满件减条件(件)', name: 'pieceMinusConf', index: 'piece_minus_conf', width: 80},
  35. // {label: '满件减优惠(元)', name: 'pieceMinusPref', index: 'piece_minus_pref', width: 80},
  36. // {label: '满减件每人优惠(元),填0代表不设置上限,减免活动类型为10,且减免方式选择10时,满件每人最多项必填。', name: 'pieceMinusEachDisc', index: 'piece_minus_each_disc', width: 80},
  37. // {label: '满元折条件(元),大于等于0的2位小数', name: 'yuanDiscCond', index: 'yuan_disc_cond', width: 80},
  38. // {label: '满元折优惠(折),大于0且小于10的1位小数。', name: 'yuanDiscPref', index: 'yuan_disc_pref', width: 80},
  39. // {label: '满件折条件(件),大于等于0的整数', name: 'pieceDiscConf', index: 'piece_disc_conf', width: 80},
  40. // {label: '满件折优惠(折),大于0且小于10的数,可带1位小数。', name: 'pieceDiscPref', index: 'piece_disc_pref', width: 80},
  41. // {label: '适用类型,【apply_type,00:全部商品参与,01:指定商品参与,02:指定商品不参与】', name: 'applyType', index: 'apply_type', width: 80},
  42. {label: '是否有效', name: 'isValid', index: 'is_valid', width: 50, align: 'center',
  43. formatter: function (value) {
  44. if (value == '0') {
  45. return '有效';
  46. } else if (value == '1') {
  47. return '无效';
  48. }
  49. return '';
  50. }},
  51. {label: '活动状态', name: 'isPast', index: 'is_past', width: 50, align: 'center',
  52. formatter: function (value) {
  53. if (value == '0') {
  54. return '<span style="font-weight: bolder;background: #58d44d;color: white">进行中</span>';
  55. } else if (value == '1') {
  56. return '<span style="font-weight: bolder;background: #B2AEBC;color: white;">已结束</span>';
  57. }else if (value == '2') {
  58. return '<span style="font-weight: bolder;background: red;color: white">未开始</span>';
  59. }
  60. return '';
  61. }},
  62. {label: '统计', name: 'minusStat', index: 'promStat', width: 70, align: 'center'},
  63. {label: '操作', width: 150, align: 'center', sortable: false,
  64. formatter: function (value, col, row) {
  65. let htmlStr = '';
  66. if ((row.isPast == '1' || row.isValid == 1) && row.applyType != '00') {//已结束
  67. htmlStr = "<button class='btn btn-outline btn-primary' " +
  68. "onclick='vm.showInfo(" + row.campMinusId + ")'>活动详情</button>&nbsp;&nbsp;&nbsp;&nbsp;" +
  69. "<button class='btn btn-outline btn-primary' " +
  70. "onclick='vm.showGoods(" + row.campMinusId + ")'>查看商品</button>&nbsp;&nbsp;&nbsp;&nbsp;" +
  71. "<button class='btn btn-outline btn-primary' " +
  72. "onclick='vm.delById(" + row.campMinusId + ")'>删除活动</button>";
  73. }
  74. if ((row.isPast == '0' && row.isValid == 0) && row.applyType != '00') {//进行中
  75. htmlStr = "<button class='btn btn-outline btn-primary' " +
  76. "onclick='vm.updateById(" + row.campMinusId + ")'>编辑活动</button>&nbsp;&nbsp;&nbsp;&nbsp;" +
  77. "<button class='btn btn-outline btn-primary' " +
  78. "onclick='vm.updatePastById(" + row.campMinusId + ")'>结束活动</button>&nbsp;&nbsp;&nbsp;&nbsp;" +
  79. "<button class='btn btn-outline btn-primary' " +
  80. "onclick='vm.updateGoods("+row.storeId+",\""+row.goodsBizType+"\","+row.campMinusId+",\""+row.applyType+"\","+row.storeTopicId+")'>管理商品</button>&nbsp;&nbsp;&nbsp;&nbsp;" +
  81. "<button class='btn btn-outline btn-primary' " +
  82. "onclick='vm.putOn(" + row.campMinusId + ")'>投放</button>";
  83. }
  84. if ((row.isPast == '2' && row.isValid == 0) && row.applyType != '00') {//未开始
  85. htmlStr = "<button class='btn btn-outline btn-primary' " +
  86. "onclick='vm.updateById(" + row.campMinusId + ")'>编辑活动</button>&nbsp;&nbsp;&nbsp;&nbsp;" +
  87. "<button class='btn btn-outline btn-primary' " +
  88. "onclick='vm.updateStartPastById(" + row.campMinusId + ")'>立即开始</button>&nbsp;&nbsp;&nbsp;&nbsp;" +
  89. "<button class='btn btn-outline btn-primary' " +
  90. "onclick='vm.updateGoods("+row.storeId+",\""+row.goodsBizType+"\","+row.campMinusId+",\""+row.applyType+"\","+row.storeTopicId+")'>管理商品</button>&nbsp;&nbsp;&nbsp;&nbsp;" +
  91. "<button class='btn btn-outline btn-primary' " +
  92. "onclick='vm.putOn(" + row.campMinusId + ")'>投放</button>";
  93. }
  94. if ((row.isPast == '1' || row.isValid == 1) && row.applyType == '00') {//已结束
  95. htmlStr = "<button class='btn btn-outline btn-primary' " +
  96. "onclick='vm.showInfo(" + row.campMinusId + ")'>活动详情</button>&nbsp;&nbsp;&nbsp;&nbsp;" +
  97. "<button class='btn btn-outline btn-primary' " +
  98. "onclick='vm.delById(" + row.campMinusId + ")'>删除活动</button>";
  99. }
  100. if ((row.isPast == '0' && row.isValid == 0) && row.applyType == '00') {//进行中
  101. htmlStr = "<button class='btn btn-outline btn-primary' " +
  102. "onclick='vm.updateById(" + row.campMinusId + ")'>编辑活动</button>&nbsp;&nbsp;&nbsp;&nbsp;" +
  103. "<button class='btn btn-outline btn-primary' " +
  104. "onclick='vm.updatePastById(" + row.campMinusId + ")'>结束活动</button>&nbsp;&nbsp;&nbsp;&nbsp;" +
  105. "<button class='btn btn-outline btn-primary' " +
  106. "onclick='vm.putOn(" + row.campMinusId + ")'>投放</button>";
  107. }
  108. if ((row.isPast == '2' && row.isValid == 0) && row.applyType == '00') {//未开始
  109. htmlStr = "<button class='btn btn-outline btn-primary' " +
  110. "onclick='vm.updateById(" + row.campMinusId + ")'>编辑活动</button>&nbsp;&nbsp;&nbsp;&nbsp;" +
  111. "<button class='btn btn-outline btn-primary' " +
  112. "onclick='vm.updateStartPastById(" + row.campMinusId + ")'>立即开始</button>&nbsp;&nbsp;&nbsp;&nbsp;" +
  113. "<button class='btn btn-outline btn-primary' " +
  114. "onclick='vm.putOn(" + row.campMinusId + ")'>投放</button>";
  115. }
  116. return htmlStr;
  117. }
  118. }
  119. ],
  120. viewrecords: true,
  121. height: 580,
  122. rowNum: 10,
  123. rowList: [10, 30, 50],
  124. rownumbers: true,
  125. rownumWidth: 25,
  126. autowidth: true,
  127. multiselect: true,
  128. pager: "#jqGridPager",
  129. jsonReader: {
  130. root: "page.list",
  131. page: "page.currPage",
  132. total: "page.totalPage",
  133. records: "page.totalCount"
  134. },
  135. prmNames: {
  136. page: "page",
  137. rows: "limit",
  138. order: "order"
  139. },
  140. gridComplete: function () {
  141. $("#jqGrid").closest(".ui-jqgrid-bdiv").css({"overflow-x": "hidden"});
  142. }
  143. });
  144. $("#jqGridOrder").jqGrid({
  145. url: '../mkstorecampminusgoods/queryCampMinusGoodsByIdList',
  146. datatype: "json",
  147. colModel: [
  148. {label: '所属门店', name: 'storeName', index: 'storeName', width: 80, align: 'center'},
  149. {label: '商品名称', name: 'goodsName', index: 'goodsName', width: 80, align: 'center'},
  150. {label: '销售价', name: 'retailPrice', index: 'retailPrice', width: 60, align: 'center'},
  151. {label: '成本价', name: 'marketPrice', index: 'marketPrice', width: 120, align: 'center'},
  152. {label: '实际销量', name: 'actualTotalPrice', index: 'actualTotalPrice', width: 120, align: 'center',
  153. formatter: function (value) {
  154. if (value == null) {
  155. return '0';
  156. }
  157. return value;
  158. }},
  159. {label: '商品状态', name: 'isOnSale', index: 'isOnSale', width: 120, align: 'center',
  160. formatter: function (value) {
  161. if (value == '0') {
  162. return '下架';
  163. } else if (value == '1') {
  164. return '上架';
  165. }
  166. return value;
  167. }
  168. },
  169. {label: '操作', width: 130, align: 'center', sortable: false,
  170. formatter: function (value, col, row) {
  171. let htmlStr = "-" ;
  172. if(!vm.isShowGoods){
  173. htmlStr = "<button class='btn btn-outline btn-primary' " +
  174. "onclick='vm.delCheckGoods(" + row.minusGoodId + ")'>移除</button>" ;
  175. }
  176. return htmlStr;
  177. }
  178. }
  179. ],
  180. viewrecords: true,
  181. height: 550,
  182. width:1680,
  183. rowNum: 10,
  184. rowList: [10, 30, 50],
  185. rownumbers: true,
  186. rownumWidth: 25,
  187. autowidth: false,
  188. multiselect: true,
  189. pager: "#jqGridPagerOrder",
  190. jsonReader: {
  191. root: "page.list",
  192. page: "page.currPage",
  193. total: "page.totalPage",
  194. records: "page.totalCount"
  195. },
  196. prmNames: {
  197. page: "page",
  198. rows: "limit",
  199. order: "order"
  200. },
  201. gridComplete: function () {
  202. $("#jqGridOrder").closest(".ui-jqgrid-bdiv").css({"overflow-x": "hidden"});
  203. }
  204. });
  205. });
  206. let vm = new Vue({
  207. el: '#rrapp',
  208. data: {
  209. title: null,
  210. mkStoreCampMinus: {},
  211. ruleValidate: {
  212. name: [
  213. {required: true, message: '名称不能为空', trigger: 'blur'}
  214. ]
  215. },
  216. q: {
  217. campName: '',
  218. isPast:''
  219. },
  220. isOperatorShow: false,
  221. thirdMerchantBizList: [],
  222. storeList: [],
  223. showList: true,//新增修改活动框
  224. showViewList: false,//查询页面框
  225. showInfoList: true,//查询明细框
  226. isShowGoods: true,//为true在查看商品页则不能操作【添加商品】,为false则在管理商品页可以操作【添加商品】
  227. updateGoodsList: true,//管理商品框
  228. showStoreGoodsList: true,//添加活动商品框
  229. macros: [],
  230. minusTypeUnitAttrList: [{'yuanMinusCond': '', 'yuanMinusPref': '', 'isDelete': 0}],//满元满减
  231. minusTypePieceAttrList: [{'pieceMinusConf': '', 'pieceMinusPref': '', 'isDelete': 0}],//满件满减
  232. minusTypeDiscUnitAttrList: [{'yuanDiscCond': '', 'yuanDiscPref': '', 'isDelete': 0}],//满元满折
  233. minusTypeDiscPieceAttrList: [{'pieceDiscConf': '', 'pieceDiscPref': '', 'isDelete': 0}],//满件满折
  234. minusTypeUnitMode10List: [{'yuanMinusCond': '', 'yuanMinusPref': '', 'pieceMinusEachDisc': '', 'isDelete': 0}],//满元满减,且减免类型为每满一次减一次
  235. minusTypePieceMode10List: [{'pieceMinusConf': '', 'pieceMinusPref': '', 'pieceMinusEachDisc': '', 'isDelete': 0}],//满件满减,且减免类型为每满一次减一次
  236. isMinusShow: false,
  237. isUnitAttrShow: false,//满元满减
  238. isPieceAttrShow: false,//满件满减
  239. isDiscUnitAttrShow: false,//满元满折
  240. isDiscPieceAttrShow: false,//满件满折
  241. isUnitMode10Show: false,//满元满减,且减免类型为每满一次减一次
  242. isPieceMode10Show: false,//满件满减,且减免类型为每满一次减一次
  243. minusModeType: '',
  244. campMinusType:'',
  245. isValidationByUnit: true,
  246. isValidationByPiece: true,
  247. isValidationByDiscUnit: true,
  248. isValidationByDiscPiece: true,
  249. isValidationByUnitMode: true,
  250. isValidationByPieceMode: true,
  251. g:{
  252. goodsName:''
  253. },
  254. campMinusId: '',
  255. storeId: '',
  256. goodsBizType: '',
  257. applyType: '',
  258. storeTopicId: '',
  259. currentPage: 1,
  260. limit: 30,
  261. totalPage:'',
  262. totalCount:'',
  263. goodsList: [],
  264. s:{
  265. goodsName:''
  266. },
  267. checkGoodsByHtmlList:[],//选择商品前端储存的数组
  268. mkStoreTicketDiscountGoods:{checkGoodsList:[]},
  269. mkStoreCampMinusGoodsEntity:{}
  270. },
  271. methods: {
  272. query: function () {
  273. vm.reload();
  274. },
  275. add: function () {
  276. vm.showList = false;
  277. vm.showViewList = true;
  278. vm.showInfoList = true;
  279. vm.showGoodsList = true;
  280. vm.updateGoodsList = true;
  281. vm.showStoreGoodsList = true;
  282. vm.mkStoreCampMinus = {isValid:'0',isStoreShow:'0',applyType:'00',campMinusType:'00',minusMode:'00',advImgUrl:''};
  283. vm.isMinusShow = true;
  284. vm.minusModeType = '00';
  285. vm.chanCampMinusType('00');
  286. vm.chanMinusMode('00');
  287. vm.title = "新增满减满折活动";
  288. vm.thirdMerchantBizList = [];
  289. vm.storeList = [];
  290. vm.minusTypeUnitAttrList = [{'yuanMinusCond': '', 'yuanMinusPref': '', 'isDelete': 0}];
  291. vm.minusTypePieceAttrList = [{'pieceMinusConf': '', 'pieceMinusPref': '', 'isDelete': 0}];
  292. vm.minusTypeDiscUnitAttrList = [{'yuanDiscCond': '', 'yuanDiscPref': '', 'isDelete': 0}];
  293. vm.minusTypeDiscPieceAttrList = [{'pieceDiscConf': '', 'pieceDiscPref': '', 'isDelete': 0}];
  294. vm.minusTypeUnitMode10List = [{'yuanMinusCond': '', 'yuanMinusPref': '', 'pieceMinusEachDisc': '', 'isDelete': 0}];
  295. vm.minusTypePieceMode10List = [{'pieceMinusConf': '', 'pieceMinusPref': '', 'pieceMinusEachDisc': '', 'isDelete': 0}];
  296. vm.getThirdMerchantBizList();
  297. vm.isOperatorShow = false;
  298. },
  299. update: function (event) {
  300. let campMinusId = getSelectedRow();
  301. if (campMinusId == null) {
  302. return;
  303. }
  304. vm.showList = false;
  305. vm.showViewList = true;
  306. vm.showInfoList = true;
  307. vm.showGoodsList = true;
  308. vm.updateGoodsList = true;
  309. vm.showStoreGoodsList = true;
  310. vm.title = "修改满减满折活动";
  311. vm.isOperatorShow = true;
  312. vm.getThirdMerchantBizList();
  313. vm.getInfo(campMinusId)
  314. },
  315. updateById: function (campMinusId) {
  316. if (campMinusId == null) {
  317. return;
  318. }
  319. vm.showList = false;
  320. vm.showViewList = true;
  321. vm.showInfoList = true;
  322. vm.showGoodsList = true;
  323. vm.updateGoodsList = true;
  324. vm.showStoreGoodsList = true;
  325. vm.isMinusShow = true;
  326. vm.title = "修改满减满折活动";
  327. vm.getThirdMerchantBizList();
  328. vm.getInfo(campMinusId);
  329. vm.isOperatorShow = true;
  330. },
  331. showInfo: function(campMinusId){
  332. if(campMinusId == null){
  333. return;
  334. }
  335. vm.title = "查看满减满折信息";
  336. vm.showList = true;
  337. vm.showViewList = true;
  338. vm.showInfoList = false;
  339. vm.showGoodsList = true;
  340. vm.updateGoodsList = true;
  341. vm.showStoreGoodsList = true;
  342. vm.getShowInfo(campMinusId);
  343. },
  344. showGoods: function (campMinusId) {
  345. if(campMinusId == null){
  346. return;
  347. }
  348. vm.title = "查看商品";
  349. vm.showList = true;
  350. vm.showViewList = true;
  351. vm.showInfoList = true;
  352. vm.updateGoodsList = false;
  353. vm.isShowGoods = true;//为true则不可以添加商品
  354. vm.showStoreGoodsList = true;
  355. vm.reloadOrder();
  356. },
  357. updateGoods: function (storeId,goodsBizType,campMinusId,applyType,storeTopicId) {
  358. if(storeId == null || goodsBizType == null || campMinusId == null || applyType == null || storeTopicId == null){
  359. return;
  360. }
  361. vm.campMinusId = campMinusId;
  362. vm.storeId = storeId;
  363. vm.goodsBizType = goodsBizType;
  364. vm.applyType = applyType;
  365. vm.storeTopicId = storeTopicId;
  366. vm.title = "管理商品";
  367. vm.showList = true;
  368. vm.showViewList = true;
  369. vm.showInfoList = true;
  370. vm.updateGoodsList = false;
  371. vm.isShowGoods = false;//为false则可以添加商品
  372. vm.showStoreGoodsList = true;
  373. vm.reloadOrder();
  374. },
  375. queryOrder: function () {
  376. vm.reloadOrder();
  377. },
  378. reloadOrderSearch: function() {
  379. vm.g = {
  380. goodsName: ''
  381. }
  382. vm.reloadOrder();
  383. },
  384. reloadOrder: function () {
  385. let page = $("#jqGridOrder").jqGrid('getGridParam', 'page');
  386. $("#jqGridOrder").jqGrid('setGridParam', {
  387. postData: {'goodsName': vm.g.goodsName, 'campMinusId': vm.campMinusId},
  388. page: page
  389. }).trigger("reloadGrid");
  390. },
  391. saveCampMinusGoods: function () {
  392. if(vm.storeId == null || vm.goodsBizType == null || vm.storeTopicId == null){
  393. return;
  394. }
  395. vm.title = "添加活动商品";
  396. vm.showList = true;
  397. vm.showViewList = true;
  398. vm.showInfoList = true;
  399. vm.updateGoodsList = true;
  400. vm.showStoreGoodsList = false;
  401. //查询门店业务类型下的商品列表
  402. vm.getGoodsList(vm.storeId,vm.goodsBizType);
  403. },
  404. /**
  405. * 选择商品参数查询
  406. */
  407. reloadGoodsByStore: function (){
  408. vm.getGoodsList(vm.storeId,vm.goodsBizType);
  409. },
  410. /**
  411. * 选择商品重置参数查询
  412. */
  413. reloadGoodsSearch: function (){
  414. vm.s.goodsName='';
  415. vm.getGoodsList(vm.storeId,vm.goodsBizType);
  416. },
  417. /**
  418. * 返回管理商品
  419. */
  420. reloadCampGoods: function () {
  421. vm.showList = true;
  422. vm.showViewList = true;
  423. vm.showInfoList = true;
  424. vm.updateGoodsList = false;
  425. vm.isShowGoods = false;//为false则可以添加商品
  426. vm.showStoreGoodsList = true;
  427. vm.reloadOrder();
  428. },
  429. /**
  430. * 商品选中
  431. * @param item 商品信息
  432. */
  433. selectThisGoods: function (item) {
  434. if(item.isCheck==0){
  435. for(var i = 0; i < vm.goodsList.length; i++){
  436. if(vm.goodsList[i].goodsId == item.goodsId){
  437. vm.goodsList[i].isCheck = 1;
  438. }
  439. }
  440. vm.checkGoodsByHtmlList.push({goodsId: item.goodsId, storeRealId: item.id, goodsName: item.goodsName, applyType: vm.applyType, discGoodTempId:item.discGoodTempId});
  441. }else{
  442. for(var i = 0; i < vm.goodsList.length; i++){
  443. if(vm.goodsList[i].goodsId == item.goodsId){
  444. vm.goodsList[i].isCheck = 0;
  445. }
  446. }
  447. for (var g = 0; g < vm.checkGoodsByHtmlList.length; g++) {
  448. if(item.goodsId == vm.checkGoodsByHtmlList[g].goodsId){
  449. vm.checkGoodsByHtmlList.remove(vm.checkGoodsByHtmlList[g]);
  450. }
  451. }
  452. //删除取消选中的商品
  453. vm.mkStoreTicketDiscountGoods.storeRelaId=item.id;
  454. $.ajax({
  455. type: "POST",
  456. url: '../mkstoreticketgoodstemp/updateTempByStoreTopicIsValid',
  457. contentType: "application/json",
  458. data: JSON.stringify(vm.mkStoreTicketDiscountGoods),
  459. success: function (r) {
  460. }
  461. });
  462. }
  463. },
  464. /**
  465. * 选择指定商品保存按钮
  466. */
  467. ok : function () {
  468. vm.checkGoodsDataList =[];
  469. vm.mkStoreTicketDiscountGoods.checkGoodsList = vm.checkGoodsByHtmlList;
  470. vm.mkStoreTicketDiscountGoods.isSubmit = 0;//ok按钮提交的数据则为0
  471. vm.mkStoreTicketDiscountGoods.storeTopicId = vm.storeTopicId;
  472. $.ajax({
  473. type: "POST",
  474. url: '../mkstoreticketgoodstemp/batchSaveStoreTopicGoods',
  475. contentType: "application/json",
  476. data: JSON.stringify(vm.mkStoreTicketDiscountGoods),
  477. success: function (r) {
  478. if (r.code === 0) {
  479. vm.mkStoreCampMinusGoodsEntity.storeTopicId = vm.storeTopicId;
  480. vm.mkStoreCampMinusGoodsEntity.campMinusId = vm.campMinusId;
  481. $.ajax({
  482. type: "POST",
  483. url: '../mkstorecampminusgoods/batchSaveCampMinusGoods',
  484. contentType: "application/json",
  485. data: JSON.stringify(vm.mkStoreCampMinusGoodsEntity),
  486. success: function (r) {
  487. if (r.code === 0) {
  488. vm.reloadCampGoods();
  489. } else {
  490. alert(r.msg);
  491. }
  492. }
  493. });
  494. } else {
  495. alert(r.msg);
  496. }
  497. }
  498. });
  499. },
  500. /**
  501. * 选择指定商品取消按钮
  502. */
  503. cancel: function () {
  504. vm.checkGoodsByHtmlList =[];
  505. // console.log(vm.checkGoodsByHtmlList);
  506. //点击取消按钮如有分页记录的数据就删除
  507. vm.mkStoreTicketDiscountGoods.checkGoodsList=vm.checkGoodsByHtmlList;
  508. vm.mkStoreTicketDiscountGoods.isSubmit = 1;//cancel按钮提交的数据则为1
  509. $.ajax({
  510. type: "POST",
  511. url: '../mkstoreticketgoodstemp/batchSaveStoreTopicGoods',
  512. contentType: "application/json",
  513. data: JSON.stringify(vm.mkStoreTicketDiscountGoods),
  514. success: function (r) {
  515. if (r.code === 0) {
  516. vm.reloadCampGoods();
  517. } else {
  518. alert(r.msg);
  519. }
  520. }
  521. });
  522. },
  523. /**
  524. * 指定商品分页,分页则将当前页选中的商品保存
  525. */
  526. loadGoodsDataByPage: function (value) {
  527. vm.currentPage = value;
  528. vm.mkStoreTicketDiscountGoods.checkGoodsList=vm.checkGoodsByHtmlList;//选择商品前端储存的数组
  529. vm.mkStoreTicketDiscountGoods.isSubmit = 1;//分页记录的数据则为1
  530. vm.mkStoreTicketDiscountGoods.storeTopicId = vm.storeTopicId;
  531. $.ajax({
  532. type: "POST",
  533. url: '../mkstoreticketgoodstemp/batchSaveStoreTopicGoods',
  534. contentType: "application/json",
  535. data: JSON.stringify(vm.mkStoreTicketDiscountGoods),
  536. success: function (r) {
  537. if (r.code === 0) {
  538. } else {
  539. alert(r.msg);
  540. }
  541. }
  542. });
  543. vm.getGoodsList(vm.storeId, vm.goodsBizType);
  544. },
  545. handlePageSize: function (value) {
  546. vm.limit = value;
  547. vm.currentPage = 1;
  548. vm.getGoodsList(vm.storeId);
  549. },
  550. /**
  551. * 删除已选中商品
  552. * @param minusGoodId
  553. */
  554. delCheckGoods: function (minusGoodId) {
  555. var minusGoodIds = [minusGoodId];
  556. if (minusGoodIds == null){
  557. return;
  558. }
  559. confirm('所选中的商品移除后,将不再参加此活动', function () {
  560. $.ajax({
  561. type: "POST",
  562. url: "../mkstorecampminusgoods/delete",
  563. contentType: "application/json",
  564. data: JSON.stringify(minusGoodIds),
  565. success: function (r) {
  566. if (r.code == 0) {
  567. alert('操作成功', function (index) {
  568. vm.reloadOrder();
  569. });
  570. } else {
  571. alert(r.msg);
  572. }
  573. }
  574. });
  575. });
  576. },
  577. /**
  578. * 查询选择商品分页
  579. * @param storeId
  580. */
  581. getGoodsList: function(storeId,goodsBizType){
  582. if(vm.storeId == null || vm.goodsBizType == null || vm.storeTopicId == null){
  583. return;
  584. }
  585. $.get("../productstorerela/queryGoodsRealListByTopicId?storeId=" + storeId +"&goodsName="+vm.s.goodsName+"&applyType="+vm.applyType+"&goodsBizType="+goodsBizType
  586. +"&storeTopicId="+vm.storeTopicId+"&page="+1+"&limit="+vm.limit, function (r) {
  587. if(r.code == 0){
  588. vm.goodsList = r.page.list;
  589. vm.totalPage = r.page.totalPage;
  590. vm.totalCount = r.page.totalCount;
  591. vm.currentPage = r.page.currPage;
  592. vm.limit = r.page.pageSize;
  593. }
  594. });
  595. },
  596. putOn: function (campMinusId) {
  597. if (campMinusId == null) {
  598. return;
  599. }
  600. $("#qrcodeCanvas").html("");
  601. $.get("../mkstorecampminus/qrcodeCanvasByCampMinus/" + campMinusId, function (r) {
  602. var qrcSrc = r.url;
  603. $("#qrcImg .qrcImg").attr("src", qrcSrc);
  604. $("#qrcodeCanvas").html($("#qrcImg").html());
  605. openWindow({
  606. title: "二维码",
  607. area: ['450px', '450px'],
  608. content: jQuery("#qrcode"),
  609. btn1: function (index) {
  610. $("#qrcImg").show();
  611. $("#qrcImg").hide();
  612. layer.close(index);
  613. }
  614. });
  615. });
  616. $("#qrcImg").hide();
  617. },
  618. saveOrUpdate: function (event) {
  619. let url = vm.mkStoreCampMinus.campMinusId == null ? "../mkstorecampminus/save" : "../mkstorecampminus/update";
  620. vm.mkStoreCampMinus.minusTypeUnitAttrList = vm.minusTypeUnitAttrList;
  621. vm.mkStoreCampMinus.minusTypePieceAttrList = vm.minusTypePieceAttrList;
  622. vm.mkStoreCampMinus.minusTypeDiscUnitAttrList = vm.minusTypeDiscUnitAttrList;
  623. vm.mkStoreCampMinus.minusTypeDiscPieceAttrList = vm.minusTypeDiscPieceAttrList;
  624. vm.mkStoreCampMinus.minusTypeUnitMode10List = vm.minusTypeUnitMode10List;
  625. vm.mkStoreCampMinus.minusTypePieceMode10List = vm.minusTypePieceMode10List;
  626. if(vm.mkStoreCampMinus.campMinusType=='00' && vm.mkStoreCampMinus.minusMode=='00'){
  627. if(!vm.isValidationByUnit){
  628. alert('优惠内容活动层级信息错误,请根据错误提示修改正确');
  629. return;
  630. }
  631. }
  632. if(vm.mkStoreCampMinus.campMinusType=='00' && vm.mkStoreCampMinus.minusMode=='10'){
  633. if(!vm.isValidationByUnitMode){
  634. alert('优惠内容活动层级信息错误,请根据错误提示修改正确');
  635. return;
  636. }
  637. }
  638. if(vm.mkStoreCampMinus.campMinusType=='01' && vm.mkStoreCampMinus.minusMode=='00'){
  639. if(!vm.isValidationByPiece){
  640. alert('优惠内容活动层级信息错误,请根据错误提示修改正确');
  641. return;
  642. }
  643. }
  644. if(vm.mkStoreCampMinus.campMinusType=='01' && vm.mkStoreCampMinus.minusMode=='10'){
  645. if(!vm.isValidationByPieceMode){
  646. alert('优惠内容活动层级信息错误,请根据错误提示修改正确');
  647. return;
  648. }
  649. }
  650. if(vm.mkStoreCampMinus.campMinusType=='10'){
  651. if(!vm.isValidationByDiscUnit){
  652. alert('优惠内容活动层级信息错误,请根据错误提示修改正确');
  653. return;
  654. }
  655. }
  656. if(vm.mkStoreCampMinus.campMinusType=='11'){
  657. if(!vm.isValidationByDiscPiece){
  658. alert('优惠内容活动层级信息错误,请根据错误提示修改正确');
  659. return;
  660. }
  661. }
  662. $.ajax({
  663. type: "POST",
  664. url: url,
  665. contentType: "application/json",
  666. data: JSON.stringify(vm.mkStoreCampMinus),
  667. success: function (r) {
  668. if (r.code === 0) {
  669. alert('操作成功', function (index) {
  670. vm.reload();
  671. });
  672. } else {
  673. alert(r.msg);
  674. }
  675. }
  676. });
  677. },
  678. del: function (event) {
  679. let campMinusIds = getSelectedRows();
  680. if (campMinusIds == null){
  681. return;
  682. }
  683. confirm('确定要删除选中的记录?', function () {
  684. $.ajax({
  685. type: "POST",
  686. url: "../mkstorecampminus/delete",
  687. contentType: "application/json",
  688. data: JSON.stringify(campMinusIds),
  689. success: function (r) {
  690. if (r.code == 0) {
  691. alert('操作成功', function (index) {
  692. $("#jqGrid").trigger("reloadGrid");
  693. });
  694. } else {
  695. alert(r.msg);
  696. }
  697. }
  698. });
  699. });
  700. },
  701. delById: function (campMinusId) {
  702. if (campMinusId == null){
  703. return;
  704. }
  705. let campMinusIds = [campMinusId];
  706. confirm('确定要删除选中的记录?', function () {
  707. $.ajax({
  708. type: "POST",
  709. url: "../mkstorecampminus/delete",
  710. contentType: "application/json",
  711. data: JSON.stringify(campMinusIds),
  712. success: function (r) {
  713. if (r.code == 0) {
  714. alert('操作成功', function (index) {
  715. $("#jqGrid").trigger("reloadGrid");
  716. });
  717. } else {
  718. alert(r.msg);
  719. }
  720. }
  721. });
  722. });
  723. },
  724. updatePastById: function (campMinusId) {
  725. if (campMinusId == null){
  726. return;
  727. }
  728. confirm('结束进行中的活动会影响用户正常购买,建议您提前告知或说明,确定要结束活动吗?', function () {
  729. $.ajax({
  730. type: "POST",
  731. url: "../mkstorecampminus/updatePastById",
  732. contentType: "application/json",
  733. data: JSON.stringify(campMinusId),
  734. success: function (r) {
  735. if (r.code == 0) {
  736. alert('操作成功', function (index) {
  737. $("#jqGrid").trigger("reloadGrid");
  738. });
  739. } else {
  740. alert(r.msg);
  741. }
  742. }
  743. });
  744. });
  745. },
  746. updateStartPastById: function (campMinusId) {
  747. if (campMinusId == null){
  748. return;
  749. }
  750. confirm('开始后,活动立即生效,确定要开始活动吗?', function () {
  751. $.ajax({
  752. type: "POST",
  753. url: "../mkstorecampminus/updateStartPastById",
  754. contentType: "application/json",
  755. data: JSON.stringify(campMinusId),
  756. success: function (r) {
  757. if (r.code == 0) {
  758. alert('操作成功', function (index) {
  759. $("#jqGrid").trigger("reloadGrid");
  760. });
  761. } else {
  762. alert(r.msg);
  763. }
  764. }
  765. });
  766. });
  767. },
  768. getInfo: function(campMinusId){
  769. $.get("../mkstorecampminus/info/"+campMinusId, function (r) {
  770. vm.mkStoreCampMinus = r.mkStoreCampMinus;
  771. vm.minusModeType = r.mkStoreCampMinus.minusModeType;
  772. vm.minusMode = r.mkStoreCampMinus.minusMode;
  773. vm.chanCampMinusType(r.mkStoreCampMinus.campMinusType);
  774. vm.chanMinusMode(r.mkStoreCampMinus.minusMode);
  775. if (r.mkStoreCampMinus.minusTypeUnitAttrList.length > 0) {
  776. vm.minusTypeUnitAttrList = r.mkStoreCampMinus.minusTypeUnitAttrList;
  777. for(var i=0; i<r.mkStoreCampMinus.minusTypeUnitAttrList.length; i++){
  778. $("#"+(i+'unit')).html('');
  779. $("#"+(i+'unit_pref')).html('');
  780. }
  781. } else {
  782. vm.minusTypeUnitAttrList = [{'yuanMinusCond': '', 'yuanMinusPref': '', 'isDelete': 0}];
  783. }
  784. if (r.mkStoreCampMinus.minusTypePieceAttrList.length > 0) {
  785. vm.minusTypePieceAttrList = r.mkStoreCampMinus.minusTypePieceAttrList;
  786. for(var i=0; i<r.mkStoreCampMinus.minusTypePieceAttrList.length; i++){
  787. $("#"+(i+'piece_conf')).html('');
  788. $("#"+(i+'piece_pref')).html('');
  789. }
  790. } else {
  791. vm.minusTypePieceAttrList = [{'pieceMinusConf': '', 'pieceMinusPref': '', 'isDelete': 0}];
  792. }
  793. if (r.mkStoreCampMinus.minusTypeDiscUnitAttrList.length > 0) {
  794. vm.minusTypeDiscUnitAttrList = r.mkStoreCampMinus.minusTypeDiscUnitAttrList;
  795. for(var i=0; i<r.mkStoreCampMinus.minusTypeDiscUnitAttrList.length; i++){
  796. $("#"+(i+'disc_unit_cond')).html('');
  797. $("#"+(i+'disc_unit_pref')).html('');
  798. }
  799. } else {
  800. vm.minusTypeDiscUnitAttrList = [{'yuanDiscCond': '', 'yuanDiscPref': '', 'isDelete': 0}];
  801. }
  802. if (r.mkStoreCampMinus.minusTypeDiscPieceAttrList.length > 0) {
  803. vm.minusTypeDiscPieceAttrList = r.mkStoreCampMinus.minusTypeDiscPieceAttrList;
  804. for(var i=0; i<r.mkStoreCampMinus.minusTypeDiscPieceAttrList.length; i++){
  805. $("#"+(i+'piece_disc_conf')).html('');
  806. $("#"+(i+'piece_disc_ref')).html('');
  807. }
  808. } else {
  809. vm.minusTypeDiscPieceAttrList = [{'pieceDiscConf': '', 'pieceDiscPref': '', 'isDelete': 0}];
  810. }
  811. if (r.mkStoreCampMinus.minusTypeUnitMode10List.length > 0) {
  812. vm.minusTypeUnitMode10List = r.mkStoreCampMinus.minusTypeUnitMode10List;
  813. for(var i=0; i<r.mkStoreCampMinus.minusTypeUnitMode10List.length; i++){
  814. $("#"+(i+'unit_mode')).html('');
  815. $("#"+(i+'unit_mode_pref')).html('');
  816. $("#"+(i+'unit_mode_each')).html('');
  817. }
  818. } else {
  819. vm.minusTypeUnitMode10List = [{'yuanMinusCond': '', 'yuanMinusPref': '', 'pieceMinusEachDisc': '', 'isDelete': 0}];
  820. }
  821. if (r.mkStoreCampMinus.minusTypePieceMode10List.length > 0) {
  822. vm.minusTypePieceMode10List = r.mkStoreCampMinus.minusTypePieceMode10List;
  823. for(var i=0; i<r.mkStoreCampMinus.minusTypePieceMode10List.length; i++){
  824. $("#"+(i+'piece_mode')).html('');
  825. $("#"+(i+'piece_mode_pref')).html('');
  826. $("#"+(i+'piece_mode_each')).html('');
  827. }
  828. } else {
  829. vm.minusTypePieceMode10List = [{'pieceMinusConf': '', 'pieceMinusPref': '', 'pieceMinusEachDisc': '', 'isDelete': 0}];
  830. }
  831. });
  832. },
  833. getShowInfo: function(campMinusId){
  834. $.get("../mkstorecampminus/info/"+campMinusId, function (r) {
  835. vm.mkStoreCampMinus = r.mkStoreCampMinus;
  836. if (r.mkStoreCampMinus.minusTypeUnitAttrList.length > 0) {
  837. vm.minusTypeUnitAttrList = r.mkStoreCampMinus.minusTypeUnitAttrList;
  838. } else {
  839. vm.minusTypeUnitAttrList = [];
  840. }
  841. if (r.mkStoreCampMinus.minusTypePieceAttrList.length > 0) {
  842. vm.minusTypePieceAttrList = r.mkStoreCampMinus.minusTypePieceAttrList;
  843. } else {
  844. vm.minusTypePieceAttrList = [];
  845. }
  846. if (r.mkStoreCampMinus.minusTypeDiscUnitAttrList.length > 0) {
  847. vm.minusTypeDiscUnitAttrList = r.mkStoreCampMinus.minusTypeDiscUnitAttrList;
  848. } else {
  849. vm.minusTypeDiscUnitAttrList = [];
  850. }
  851. if (r.mkStoreCampMinus.minusTypeDiscPieceAttrList.length > 0) {
  852. vm.minusTypeDiscPieceAttrList = r.mkStoreCampMinus.minusTypeDiscPieceAttrList;
  853. } else {
  854. vm.minusTypeDiscPieceAttrList = [];
  855. }
  856. if (r.mkStoreCampMinus.minusTypeUnitMode10List.length > 0) {
  857. vm.minusTypeUnitMode10List = r.mkStoreCampMinus.minusTypeUnitMode10List;
  858. } else {
  859. vm.minusTypeUnitMode10List = [];
  860. }
  861. if (r.mkStoreCampMinus.minusTypePieceMode10List.length > 0) {
  862. vm.minusTypePieceMode10List = r.mkStoreCampMinus.minusTypePieceMode10List;
  863. } else {
  864. vm.minusTypePieceMode10List = [];
  865. }
  866. });
  867. },
  868. getThirdMerchantBizList: function() {
  869. $.get("../thirdmerchantbiz/queryAll", function (r) {
  870. vm.thirdMerchantBizList = r.list;
  871. });
  872. },
  873. changeStore: function (option) {
  874. var thirdMerchSn = option.value;
  875. if(thirdMerchSn){
  876. vm.getStoreList(thirdMerchSn);
  877. }
  878. },
  879. getStoreList: function(thirdMerchSn){
  880. $.get("../store/queryAll?thirdMerchSn=" + thirdMerchSn, function (r) {
  881. vm.storeList = r.list;
  882. });
  883. },
  884. reloadSearch: function() {
  885. vm.q = {
  886. campName: '',
  887. isPast:''
  888. }
  889. vm.reload();
  890. },
  891. reload: function (event) {
  892. vm.showList = true;
  893. vm.showViewList = false;
  894. vm.showInfoList = true;
  895. vm.updateGoodsList = true;
  896. vm.showStoreGoodsList = true;
  897. let page = $("#jqGrid").jqGrid('getGridParam', 'page');
  898. $("#jqGrid").jqGrid('setGridParam', {
  899. postData: {'campName': vm.q.campName,"isPast":vm.q.isPast},
  900. page: page
  901. }).trigger("reloadGrid");
  902. vm.handleReset('formValidate');
  903. },
  904. /**
  905. * 详情页返回
  906. * @param event
  907. */
  908. reloadInfoBack: function (event) {
  909. vm.showList = true;
  910. vm.showViewList = false;
  911. vm.showInfoList = true;
  912. vm.updateGoodsList = true;
  913. vm.showStoreGoodsList = true;
  914. let page = $("#jqGrid").jqGrid('getGridParam', 'page');
  915. $("#jqGrid").jqGrid('setGridParam', {
  916. postData: {'campName': vm.q.campName,"isPast":vm.q.isPast},
  917. page: page
  918. }).trigger("reloadGrid");
  919. vm.handleReset('formValidate');
  920. },
  921. handleSubmit: function (name) {
  922. handleSubmitValidate(this, name, function () {
  923. vm.saveOrUpdate()
  924. });
  925. },
  926. handleReset: function (name) {
  927. handleResetForm(this, name);
  928. },
  929. handleSuccessAdvImgUrl: function (res, file) {
  930. vm.mkStoreCampMinus.advImgUrl = file.response.url;
  931. },
  932. handleFormatError: function (file) {
  933. this.$Notice.warning({
  934. title: '文件格式不正确',
  935. desc: '文件 ' + file.name + ' 格式不正确,请上传 jpg 或 png 格式的图片。'
  936. });
  937. },
  938. handleMaxSize: function (file) {
  939. this.$Notice.warning({
  940. title: '超出文件大小限制',
  941. desc: '文件 ' + file.name + ' 太大,不能超过 2M。'
  942. });
  943. },
  944. eyeImageAdvImgUrl: function () {
  945. var url = vm.mkStoreCampMinus.advImgUrl;
  946. eyeImage(url);
  947. },
  948. /**
  949. * 减免活动类型联动 00:满x元减,01:满x件减,10:满x元折,11:满x件折,减免活动类型为00,01时,减免方式必选
  950. * @param value
  951. */
  952. chanCampMinusType: function (value) {
  953. if(value == '00'){
  954. vm.campMinusType = '00';
  955. vm.isMinusShow = true;
  956. vm.isUnitAttrShow = true;
  957. vm.isPieceAttrShow = false;
  958. vm.isDiscUnitAttrShow = false;
  959. vm.isDiscPieceAttrShow = false;
  960. vm.isUnitMode10Show = false;
  961. vm.isPieceMode10Show = false;
  962. if(!vm.isOperatorShow){
  963. vm.mkStoreCampMinus.minusMode='00';
  964. }
  965. }
  966. if(value == '01'){
  967. vm.campMinusType = '01';
  968. vm.isMinusShow = true;
  969. vm.isUnitAttrShow = false;
  970. vm.isPieceAttrShow = true;
  971. vm.isDiscUnitAttrShow = false;
  972. vm.isDiscPieceAttrShow = false;
  973. vm.isUnitMode10Show = false;
  974. vm.isPieceMode10Show = false;
  975. if(!vm.isOperatorShow){
  976. vm.mkStoreCampMinus.minusMode='00';
  977. }
  978. }
  979. if(value == '10'){
  980. vm.campMinusType = '10';
  981. vm.isMinusShow = false;
  982. vm.isUnitAttrShow = false;
  983. vm.isPieceAttrShow = false;
  984. vm.isDiscUnitAttrShow = true;
  985. vm.isDiscPieceAttrShow = false;
  986. vm.isUnitMode10Show = false;
  987. vm.isPieceMode10Show = false;
  988. }
  989. if(value == '11'){
  990. vm.campMinusType = '11';
  991. vm.isMinusShow = false;
  992. vm.isUnitAttrShow = false;
  993. vm.isPieceAttrShow = false;
  994. vm.isDiscUnitAttrShow = false;
  995. vm.isDiscPieceAttrShow = true;
  996. vm.isUnitMode10Show = false;
  997. vm.isPieceMode10Show = false;
  998. }
  999. },
  1000. /**
  1001. * 减免方式联动 00:满足最高层级减一次,10:每满一次减一次
  1002. * @param value
  1003. */
  1004. chanMinusMode: function (value) {
  1005. //满x元减,满足最高层级减一次
  1006. if(value == '00' && vm.campMinusType == '00'){
  1007. vm.minusModeType = '00';
  1008. vm.isMinusShow = true;
  1009. vm.isUnitAttrShow = true;
  1010. vm.isPieceAttrShow = false;
  1011. vm.isDiscUnitAttrShow = false;
  1012. vm.isDiscPieceAttrShow = false;
  1013. vm.isUnitMode10Show = false;
  1014. vm.isPieceMode10Show = false;
  1015. }
  1016. if(value == '00' && vm.campMinusType == '01'){
  1017. vm.minusModeType = '00';
  1018. vm.isMinusShow = true;
  1019. vm.isUnitAttrShow = false;
  1020. vm.isPieceAttrShow = true;
  1021. vm.isDiscUnitAttrShow = false;
  1022. vm.isDiscPieceAttrShow = false;
  1023. vm.isUnitMode10Show = false;
  1024. vm.isPieceMode10Show = false;
  1025. }
  1026. if(value == '10' && vm.campMinusType == '00'){
  1027. vm.minusModeType = '10';
  1028. vm.isMinusShow = true;
  1029. vm.isUnitAttrShow = false;
  1030. vm.isPieceAttrShow = false;
  1031. vm.isDiscUnitAttrShow = false;
  1032. vm.isDiscPieceAttrShow = false;
  1033. vm.isUnitMode10Show = true;
  1034. vm.isPieceMode10Show = false;
  1035. }
  1036. if(value == '10' && vm.campMinusType == '01'){
  1037. vm.minusModeType = '10';
  1038. vm.isMinusShow = true;
  1039. vm.isUnitAttrShow = false;
  1040. vm.isPieceAttrShow = false;
  1041. vm.isDiscUnitAttrShow = false;
  1042. vm.isDiscPieceAttrShow = false;
  1043. vm.isUnitMode10Show = false;
  1044. vm.isPieceMode10Show = true;
  1045. }
  1046. },
  1047. addAttrRow1: function () {
  1048. if(vm.minusTypeUnitAttrList.length <10){
  1049. vm.minusTypeUnitAttrList.push({'yuanMinusCond': '', 'yuanMinusPref': '', 'isDelete': 0});
  1050. }
  1051. },
  1052. delAttrRow1: function (index) {
  1053. //最后一行时禁止删除
  1054. if (vm.minusTypeUnitAttrList.length == 1) {
  1055. return;
  1056. }
  1057. vm.minusTypeUnitAttrList[index].isDelete = 1;
  1058. var minusTypeUnitAttrList = [];
  1059. for(var i=0;i<vm.minusTypeUnitAttrList.length;i++){
  1060. if(vm.minusTypeUnitAttrList[i].isDelete == 0){
  1061. minusTypeUnitAttrList.push(vm.minusTypeUnitAttrList[i]);
  1062. }
  1063. }
  1064. vm.minusTypeUnitAttrList = minusTypeUnitAttrList;
  1065. },
  1066. addAttrRow2: function () {
  1067. if(vm.minusTypePieceAttrList.length <10) {
  1068. vm.minusTypePieceAttrList.push({'pieceMinusConf': '', 'pieceMinusPref': '', 'isDelete': 0});
  1069. }
  1070. },
  1071. delAttrRow2: function (index) {
  1072. //最后一行时禁止删除
  1073. if (vm.minusTypePieceAttrList.length == 1) {
  1074. return;
  1075. }
  1076. vm.minusTypePieceAttrList[index].isDelete = 1;
  1077. var minusTypePieceAttrList = [];
  1078. for(var i=0;i<vm.minusTypePieceAttrList.length;i++){
  1079. if(vm.minusTypePieceAttrList[i].isDelete == 0){
  1080. minusTypePieceAttrList.push(vm.minusTypePieceAttrList[i]);
  1081. }
  1082. }
  1083. vm.minusTypePieceAttrList = minusTypePieceAttrList;
  1084. },
  1085. addAttrRow3: function () {
  1086. if(vm.minusTypeDiscUnitAttrList.length <10) {
  1087. vm.minusTypeDiscUnitAttrList.push({'yuanDiscCond': '', 'yuanDiscPref': '', 'isDelete': 0});
  1088. }
  1089. },
  1090. delAttrRow3: function (index) {
  1091. //最后一行时禁止删除
  1092. if (vm.minusTypeDiscUnitAttrList.length == 1) {
  1093. return;
  1094. }
  1095. vm.minusTypeDiscUnitAttrList[index].isDelete = 1;
  1096. var minusTypeDiscUnitAttrList = [];
  1097. for(var i=0;i<vm.minusTypeDiscUnitAttrList.length;i++){
  1098. if(vm.minusTypeDiscUnitAttrList[i].isDelete == 0){
  1099. minusTypeDiscUnitAttrList.push(vm.minusTypeDiscUnitAttrList[i]);
  1100. }
  1101. }
  1102. vm.minusTypeDiscUnitAttrList = minusTypeDiscUnitAttrList;
  1103. },
  1104. addAttrRow4: function () {
  1105. if(vm.minusTypeDiscPieceAttrList.length <10) {
  1106. vm.minusTypeDiscPieceAttrList.push({'pieceDiscConf': '', 'pieceDiscPref': '', 'isDelete': 0});
  1107. }
  1108. },
  1109. delAttrRow4: function (index) {
  1110. //最后一行时禁止删除
  1111. if (vm.minusTypeDiscPieceAttrList.length == 1) {
  1112. return;
  1113. }
  1114. vm.minusTypeDiscPieceAttrList[index].isDelete = 1;
  1115. var minusTypeDiscUnitAttrList = [];
  1116. for(var i=0;i<vm.minusTypeDiscPieceAttrList.length;i++){
  1117. if(vm.minusTypeDiscPieceAttrList[i].isDelete == 0){
  1118. minusTypeDiscUnitAttrList.push(vm.minusTypeDiscPieceAttrList[i]);
  1119. }
  1120. }
  1121. vm.minusTypeDiscPieceAttrList = minusTypeDiscPieceAttrList;
  1122. },
  1123. checkNumber: function(value) {
  1124. var re = /^\d+(\.\d{1,2})?$/;
  1125. if (value != "") {
  1126. if (!re.test(value)) {
  1127. return false;
  1128. }
  1129. }
  1130. return true;
  1131. },
  1132. checkList: function (list, value) {
  1133. for(var i=0; i < list.length; i++){
  1134. if(list[i] != null && list[i] != undefined && list[i] != ''){
  1135. if(value >= list[i]){
  1136. return false;
  1137. }
  1138. }
  1139. }
  1140. return true;
  1141. },
  1142. /**
  1143. * 满元满减,校验【满元减条件】
  1144. * @param index 当前编辑的活动层级条件
  1145. */
  1146. checkCoudByUnitAttr: function (index) {
  1147. var minusTypeUnitAttrList = vm.minusTypeUnitAttrList;
  1148. var inputY = parseFloat(minusTypeUnitAttrList[index].yuanMinusCond);
  1149. if(minusTypeUnitAttrList[index].yuanMinusCond == ''){
  1150. $("#"+(index+'unit')).html('* 不能为空');
  1151. vm.isValidationByUnit = false;
  1152. return;
  1153. }else {
  1154. //先把非数字的都替换掉,除了数字和.
  1155. minusTypeUnitAttrList[index].yuanMinusCond = minusTypeUnitAttrList[index].yuanMinusCond.replace(/[^\d.]/g,"");
  1156. //必须保证第一个为数字而不是.
  1157. minusTypeUnitAttrList[index].yuanMinusCond = minusTypeUnitAttrList[index].yuanMinusCond.replace(/^\./g,"");
  1158. //保证只有出现一个.而没有多个.
  1159. minusTypeUnitAttrList[index].yuanMinusCond = minusTypeUnitAttrList[index].yuanMinusCond.replace(/\.{2,}/g,".");
  1160. //保证.只出现一次,而不能出现两次以上
  1161. minusTypeUnitAttrList[index].yuanMinusCond = minusTypeUnitAttrList[index].yuanMinusCond.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
  1162. minusTypeUnitAttrList[index].yuanMinusCond = minusTypeUnitAttrList[index].yuanMinusCond.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');//只能输入两个小数
  1163. if(minusTypeUnitAttrList[index].yuanMinusCond.indexOf(".")< 0 && minusTypeUnitAttrList[index].yuanMinusCond !=""){//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额
  1164. minusTypeUnitAttrList[index].yuanMinusCond= parseFloat(minusTypeUnitAttrList[index].yuanMinusCond)+'';
  1165. }
  1166. var re = /^\d+(\.\d{1,2})?$/
  1167. if (!re.test(vm.minusTypeUnitAttrList[index].yuanMinusCond)) {
  1168. $("#"+(index+'unit')).html('* 最多只保留小数点后2位的正数');
  1169. vm.isValidationByUnit = false;
  1170. return;
  1171. }else{
  1172. $("#"+(index+'unit')).html('');
  1173. vm.isValidationByUnit = true;
  1174. }
  1175. }
  1176. if(minusTypeUnitAttrList[0].yuanMinusCond != null){
  1177. for (var i = 0; i < minusTypeUnitAttrList.length; i++) {
  1178. if(minusTypeUnitAttrList[i].yuanMinusCond != ''){
  1179. //下层比较
  1180. if(index<i){
  1181. // console.log(index+"<="+i+";输入:"+inputY+"<比较"+minusTypeUnitAttrList[i].yuanMinusCond);
  1182. if(inputY >= minusTypeUnitAttrList[i].yuanMinusCond && minusTypeUnitAttrList[i].yuanMinusCond != ''){
  1183. // console.log("下层比较,不满足条件1:"+(index+10));
  1184. $("#"+(index+'unit')).html('* 层级必须递增且不可相同');
  1185. $("#"+(i+'unit')).html('* 层级必须递增且不可相同');
  1186. vm.isValidationByUnit = false;
  1187. }
  1188. if(inputY < minusTypeUnitAttrList[i].yuanMinusCond && minusTypeUnitAttrList[i].yuanMinusCond != ''){
  1189. if(minusTypeUnitAttrList.length > 1){
  1190. var yuanMinusCond = '';
  1191. if((i+1) == minusTypeUnitAttrList.length){
  1192. yuanMinusCond = '';
  1193. }else{
  1194. yuanMinusCond = minusTypeUnitAttrList[i+1].yuanMinusCond;
  1195. }
  1196. // console.log("下层比较,"+minusTypeUnitAttrList[i].yuanMinusCond+">"+(i+1)+"层比较:"+yuanMinusCond);
  1197. if(yuanMinusCond != '' && minusTypeUnitAttrList[i].yuanMinusCond >= parseFloat(yuanMinusCond)){
  1198. // console.log("下层比较,不满足条件1:"+(i+10));
  1199. $("#"+(i+'unit')).html('* 层级必须递增且不可相同');
  1200. $("#"+(index+'unit')).html('* 层级必须递增且不可相同');
  1201. vm.isValidationByUnit = false;
  1202. }else {
  1203. // console.log("下层比较,满足条件1:"+(i+10));
  1204. $("#"+(i+'unit')).html('');
  1205. $("#"+(index+'unit')).html('');
  1206. vm.isValidationByUnit = true;
  1207. }
  1208. }else{
  1209. // console.log("下层比较,满足条件1:"+(i+10));
  1210. $("#"+(i+'unit')).html('');
  1211. $("#"+(index+'unit')).html('');
  1212. vm.isValidationByUnit = true;
  1213. }
  1214. }
  1215. }
  1216. //上层比较
  1217. if(index>i){
  1218. // console.log(index+">"+i+";输入:"+inputY+">比较"+minusTypeUnitAttrList[i].yuanMinusCond);
  1219. if(inputY <= minusTypeUnitAttrList[i].yuanMinusCond && minusTypeUnitAttrList[i].yuanMinusCond != ''){
  1220. // console.log("上层比较,不满足条件2:"+(index+10));
  1221. $("#"+(index+'unit')).html('* 层级必须递增且不可相同');
  1222. $("#"+(i+'unit')).html('* 层级必须递增且不可相同');
  1223. vm.isValidationByUnit = false;
  1224. }
  1225. if(inputY > minusTypeUnitAttrList[i].yuanMinusCond && minusTypeUnitAttrList[i].yuanMinusCond != ''){
  1226. if(minusTypeUnitAttrList.length > 1){
  1227. var yuanMinusCond = '';
  1228. if((i+1) == minusTypeUnitAttrList.length){
  1229. yuanMinusCond = '';
  1230. }else{
  1231. yuanMinusCond = minusTypeUnitAttrList[i+1].yuanMinusCond;
  1232. }
  1233. // console.log("上层比较,"+minusTypeUnitAttrList[i].yuanMinusCond+">"+(i+1)+"层比较:"+yuanMinusCond);
  1234. if(yuanMinusCond != '' && minusTypeUnitAttrList[i].yuanMinusCond >= parseFloat(yuanMinusCond)){
  1235. // console.log("上层比较,不满足条件1:"+(i+10));
  1236. $("#"+(i+'unit')).html('* 层级必须递增且不可相同');
  1237. $("#"+(index+'unit')).html('* 层级必须递增且不可相同');
  1238. vm.isValidationByUnit = false;
  1239. }else {
  1240. // console.log("上层比较,满足条件2:"+(i+10));
  1241. $("#"+(i+'unit')).html('');
  1242. $("#"+(index+'unit')).html('');
  1243. vm.isValidationByUnit = true;
  1244. }
  1245. }else{
  1246. // console.log("上层比较,满足条件2:"+(i+10));
  1247. $("#"+(i+'unit')).html('');
  1248. $("#"+(index+'unit')).html('');
  1249. vm.isValidationByUnit = true;
  1250. }
  1251. }
  1252. }
  1253. }else{
  1254. $("#"+(index+'unit')).html('');
  1255. vm.isValidationByUnit = true;
  1256. }
  1257. }
  1258. }
  1259. },
  1260. /**
  1261. * 满元满减,校验【满元减优惠】
  1262. * @param index
  1263. */
  1264. checkYuanMinusPref: function (index) {
  1265. //先把非数字的都替换掉,除了数字和.
  1266. vm.minusTypeUnitAttrList[index].yuanMinusPref = vm.minusTypeUnitAttrList[index].yuanMinusPref.replace(/[^\d.]/g,"");
  1267. var re = /^\d+(\.\d{1,2})?$/;
  1268. if (vm.minusTypeUnitAttrList[index].yuanMinusPref != '') {
  1269. if (!re.test(vm.minusTypeUnitAttrList[index].yuanMinusPref)) {
  1270. $("#"+(index+'unit_pref')).html('* 最多只保留小数点后2位的正数');
  1271. vm.isValidationByUnit = false;
  1272. }else if (vm.minusTypeUnitAttrList[index].yuanMinusPref<= 0) {
  1273. $("#"+(index+'unit_pref')).html('* 不能小于等于0');
  1274. vm.isValidationByUnit = false;
  1275. }else{
  1276. $("#"+(index+'unit_pref')).html('');
  1277. vm.isValidationByUnit = true;
  1278. }
  1279. }
  1280. },
  1281. /**
  1282. * 满件满减,校验【满件减条件】
  1283. * @param index 当前编辑的活动层级条件
  1284. */
  1285. checkCoudByPieceAttr: function (index) {
  1286. vm.minusTypePieceAttrList[index].pieceMinusConf = vm.minusTypePieceAttrList[index].pieceMinusConf.replace(/[^\d]/g,"");
  1287. var re = /^[+]{0,1}(\d+)$/;
  1288. if (vm.minusTypePieceAttrList[index].pieceMinusConf != '') {
  1289. if (!re.test(vm.minusTypePieceAttrList[index].pieceMinusConf)) {
  1290. $("#"+(index+'piece_conf')).html('* 只允许输入大于等于0的整数');
  1291. vm.isValidationByPiece = false;
  1292. }else if(vm.minusTypePieceAttrList[index].pieceMinusConf < 0){
  1293. $("#"+(index+'piece_conf')).html('* 只允许输入大于等于0的整数');
  1294. vm.isValidationByPiece = false;
  1295. }else{
  1296. $("#"+(index+'piece_conf')).html('');
  1297. vm.isValidationByPiece = true;
  1298. }
  1299. var minusTypePieceAttrList = vm.minusTypePieceAttrList;
  1300. var inputY = parseInt(minusTypePieceAttrList[index].pieceMinusConf);
  1301. for (var i = 0; i < minusTypePieceAttrList.length; i++) {
  1302. if(minusTypePieceAttrList[i].pieceMinusConf != ''){
  1303. //下层比较
  1304. if(index<i){
  1305. if(inputY >= minusTypePieceAttrList[i].pieceMinusConf && minusTypePieceAttrList[i].pieceMinusConf != ''){
  1306. $("#"+(index+'piece_conf')).html('* 层级必须递增且不可相同');
  1307. $("#"+(i+'piece_conf')).html('* 层级必须递增且不可相同');
  1308. vm.isValidationByPiece = false;
  1309. }
  1310. if(inputY < minusTypePieceAttrList[i].pieceMinusConf && minusTypePieceAttrList[i].pieceMinusConf != ''){
  1311. if(minusTypePieceAttrList.length > 1){
  1312. var pieceMinusConf = '';
  1313. if((i+1) == minusTypePieceAttrList.length){
  1314. pieceMinusConf = '';
  1315. }else{
  1316. pieceMinusConf = minusTypePieceAttrList[i+1].pieceMinusConf;
  1317. }
  1318. if(pieceMinusConf != '' && minusTypePieceAttrList[i].pieceMinusConf >= parseInt(pieceMinusConf)){
  1319. $("#"+(i+'piece_conf')).html('* 层级必须递增且不可相同');
  1320. $("#"+(index+'piece_conf')).html('* 层级必须递增且不可相同');
  1321. vm.isValidationByPiece = false;
  1322. }else {
  1323. $("#"+(i+'piece_conf')).html('');
  1324. $("#"+(index+'piece_conf')).html('');
  1325. vm.isValidationByPiece = true;
  1326. }
  1327. }else{
  1328. $("#"+(i+'piece_conf')).html('');
  1329. $("#"+(index+'piece_conf')).html('');
  1330. vm.isValidationByPiece = true;
  1331. }
  1332. }
  1333. }
  1334. //上层比较
  1335. if(index>i){
  1336. if(inputY <= minusTypePieceAttrList[i].pieceMinusConf && minusTypePieceAttrList[i].pieceMinusConf != ''){
  1337. $("#"+(index+'piece_conf')).html('* 层级必须递增且不可相同');
  1338. $("#"+(i+'piece_conf')).html('* 层级必须递增且不可相同');
  1339. vm.isValidationByPiece = false;
  1340. }
  1341. if(inputY > minusTypePieceAttrList[i].pieceMinusConf && minusTypePieceAttrList[i].pieceMinusConf != ''){
  1342. if(minusTypePieceAttrList.length > 1){
  1343. var pieceMinusConf = '';
  1344. if((i+1) == minusTypePieceAttrList.length){
  1345. pieceMinusConf = '';
  1346. }else{
  1347. pieceMinusConf = minusTypePieceAttrList[i+1].pieceMinusConf;
  1348. }
  1349. if(pieceMinusConf != '' && minusTypePieceAttrList[i].pieceMinusConf >= parseInt(pieceMinusConf)){
  1350. $("#"+(i+'piece_conf')).html('* 层级必须递增且不可相同');
  1351. $("#"+(index+'piece_conf')).html('* 层级必须递增且不可相同');
  1352. vm.isValidationByPiece = false;
  1353. }else {
  1354. $("#"+(i+'piece_conf')).html('');
  1355. $("#"+(index+'piece_conf')).html('');
  1356. vm.isValidationByPiece = true;
  1357. }
  1358. }else{
  1359. $("#"+(i+'piece_conf')).html('');
  1360. $("#"+(index+'piece_conf')).html('');
  1361. vm.isValidationByPiece = true;
  1362. }
  1363. }
  1364. }
  1365. }else{
  1366. $("#"+(index+'piece_conf')).html('');
  1367. vm.isValidationByPiece = true;
  1368. }
  1369. }
  1370. }
  1371. },
  1372. /**
  1373. * 满件满减,校验【满件减优惠】
  1374. * @param index
  1375. */
  1376. checkPieceMinusPref: function (index) {
  1377. vm.minusTypePieceAttrList[index].pieceMinusPref = vm.minusTypePieceAttrList[index].pieceMinusPref.replace(/[^\d.]/g,"");
  1378. var re = /^\d+(\.\d{1,2})?$/
  1379. if (vm.minusTypePieceAttrList[index].pieceMinusPref != '') {
  1380. if (!re.test(vm.minusTypePieceAttrList[index].pieceMinusPref)) {
  1381. $("#"+(index+'piece_pref')).html('* 最多只保留小数点后2位的正数');
  1382. vm.isValidationByPiece = false;
  1383. }else if (vm.minusTypePieceAttrList[index].pieceMinusPref<= 0) {
  1384. $("#"+(index+'piece_pref')).html('* 不能小于等于0');
  1385. vm.isValidationByPiece = false;
  1386. }else{
  1387. $("#"+(index+'piece_pref')).html('');
  1388. vm.isValidationByPiece = true;
  1389. }
  1390. }
  1391. },
  1392. /**
  1393. * 满元满折,校验【满元折条件】
  1394. * @param index
  1395. */
  1396. checkYuanDiscCondByDiscUnit: function (index) {
  1397. vm.minusTypeDiscUnitAttrList[index].yuanDiscCond = vm.minusTypeDiscUnitAttrList[index].yuanDiscCond.replace(/[^\d.]/g,"");
  1398. var re = /^\d+(\.\d{1,2})?$/
  1399. if (vm.minusTypeDiscUnitAttrList[index].yuanDiscCond != '') {
  1400. if (!re.test(vm.minusTypeDiscUnitAttrList[index].yuanDiscCond)) {
  1401. $("#"+(index+'disc_unit_cond')).html('* 最多只保留小数点后2位的正数');
  1402. vm.isValidationByDiscUnit = false;
  1403. }else if (vm.minusTypeDiscUnitAttrList[index].yuanDiscCond< 0) {
  1404. $("#"+(index+'disc_unit_cond')).html('* 不能小于0');
  1405. vm.isValidationByDiscUnit = false;
  1406. }else{
  1407. $("#"+(index+'disc_unit_cond')).html('');
  1408. vm.isValidationByDiscUnit = true;
  1409. }
  1410. var minusTypeDiscUnitAttrList = vm.minusTypeDiscUnitAttrList;
  1411. var inputY = parseFloat(minusTypeDiscUnitAttrList[index].yuanDiscCond);
  1412. for (var i = 0; i < minusTypeDiscUnitAttrList.length; i++) {
  1413. if(minusTypeDiscUnitAttrList[i].yuanDiscCond != ''){
  1414. //下层比较
  1415. if(index<i){
  1416. if(inputY >= minusTypeDiscUnitAttrList[i].yuanDiscCond && minusTypeDiscUnitAttrList[i].yuanDiscCond != ''){
  1417. $("#"+(index+'disc_unit_cond')).html('* 层级必须递增且不可相同');
  1418. $("#"+(i+'disc_unit_cond')).html('* 层级必须递增且不可相同');
  1419. vm.isValidationByDiscUnit = false;
  1420. }
  1421. if(inputY < minusTypeDiscUnitAttrList[i].yuanDiscCond && minusTypeDiscUnitAttrList[i].yuanDiscCond != ''){
  1422. if(minusTypeDiscUnitAttrList.length > 1){
  1423. var yuanDiscCond = '';
  1424. if((i+1) == minusTypeDiscUnitAttrList.length){
  1425. yuanDiscCond = '';
  1426. }else{
  1427. yuanDiscCond = minusTypeDiscUnitAttrList[i+1].yuanDiscCond;
  1428. }
  1429. if(yuanDiscCond != '' && minusTypeDiscUnitAttrList[i].yuanDiscCond >= parseFloat(yuanDiscCond)){
  1430. $("#"+(i+'disc_unit_cond')).html('* 层级必须递增且不可相同');
  1431. $("#"+(index+'disc_unit_cond')).html('* 层级必须递增且不可相同');
  1432. vm.isValidationByDiscUnit = false;
  1433. }else {
  1434. $("#"+(i+'disc_unit_cond')).html('');
  1435. $("#"+(index+'disc_unit_cond')).html('');
  1436. vm.isValidationByDiscUnit = true;
  1437. }
  1438. }else{
  1439. $("#"+(i+'disc_unit_cond')).html('');
  1440. $("#"+(index+'disc_unit_cond')).html('');
  1441. vm.isValidationByDiscUnit = true;
  1442. }
  1443. }
  1444. }
  1445. //上层比较
  1446. if(index>i){
  1447. if(inputY <= minusTypeDiscUnitAttrList[i].yuanDiscCond && minusTypeDiscUnitAttrList[i].yuanDiscCond != ''){
  1448. $("#"+(index+'disc_unit_cond')).html('* 层级必须递增且不可相同');
  1449. $("#"+(i+'disc_unit_cond')).html('* 层级必须递增且不可相同');
  1450. vm.isValidationByDiscUnit = false;
  1451. }
  1452. if(inputY > minusTypeDiscUnitAttrList[i].yuanDiscCond && minusTypeDiscUnitAttrList[i].yuanDiscCond != ''){
  1453. if(minusTypeDiscUnitAttrList.length > 1){
  1454. var yuanDiscCond = '';
  1455. if((i+1) == minusTypeDiscUnitAttrList.length){
  1456. yuanDiscCond = '';
  1457. }else{
  1458. yuanDiscCond = minusTypeDiscUnitAttrList[i+1].yuanDiscCond;
  1459. }
  1460. if(yuanDiscCond != '' && minusTypeDiscUnitAttrList[i].yuanDiscCond >= parseFloat(yuanDiscCond)){
  1461. $("#"+(i+'disc_unit_cond')).html('* 层级必须递增且不可相同');
  1462. $("#"+(index+'disc_unit_cond')).html('* 层级必须递增且不可相同');
  1463. vm.isValidationByDiscUnit = false;
  1464. }else {
  1465. $("#"+(i+'disc_unit_cond')).html('');
  1466. $("#"+(index+'disc_unit_cond')).html('');
  1467. vm.isValidationByDiscUnit = true;
  1468. }
  1469. }else{
  1470. $("#"+(i+'disc_unit_cond')).html('');
  1471. $("#"+(index+'disc_unit_cond')).html('');
  1472. vm.isValidationByDiscUnit = true;
  1473. }
  1474. }
  1475. }
  1476. }else{
  1477. $("#"+(index+'disc_unit_cond')).html('');
  1478. vm.isValidationByDiscUnit = true;
  1479. }
  1480. }
  1481. }
  1482. },
  1483. /**
  1484. * 满元满折,校验【满元折优惠】
  1485. * @param index
  1486. */
  1487. checkYuanDiscPrefByDiscUnit: function (index) {
  1488. vm.minusTypeDiscUnitAttrList[index].yuanDiscPref = vm.minusTypeDiscUnitAttrList[index].yuanDiscPref.replace(/[^\d.]/g,"");
  1489. var re = /^\d+(\.\d{1,1})?$/
  1490. if (vm.minusTypeDiscUnitAttrList[index].yuanDiscPref != '') {
  1491. if (!re.test(vm.minusTypeDiscUnitAttrList[index].yuanDiscPref)) {
  1492. $("#"+(index+'disc_unit_pref')).html('* 最多只保留小数点后1位的正数');
  1493. vm.isValidationByDiscUnit = false;
  1494. }else if(vm.minusTypeDiscUnitAttrList[index].yuanDiscPref > 10){
  1495. $("#"+(index+'disc_unit_pref')).html('* 请输入不大于 10 的数值');
  1496. vm.isValidationByDiscUnit = false;
  1497. }else if(vm.minusTypeDiscUnitAttrList[index].yuanDiscPref <= 0){
  1498. $("#"+(index+'disc_unit_pref')).html('* 数值不能小于等于0');
  1499. vm.isValidationByDiscUnit = false;
  1500. }else{
  1501. $("#"+(index+'disc_unit_pref')).html('');
  1502. vm.isValidationByDiscUnit = true;
  1503. }
  1504. }
  1505. },
  1506. /**
  1507. * 满件满折,校验【满件折条件】
  1508. * @param index
  1509. */
  1510. checkConfByDiscPiece: function (index) {
  1511. vm.minusTypeDiscPieceAttrList[index].pieceDiscConf = vm.minusTypeDiscPieceAttrList[index].pieceDiscConf.replace(/[^\d]/g,"");
  1512. var re = /^[+]{0,1}(\d+)$/;
  1513. if (vm.minusTypeDiscPieceAttrList[index].pieceDiscConf != '') {
  1514. if (!re.test(vm.minusTypeDiscPieceAttrList[index].pieceDiscConf)) {
  1515. $("#"+(index+'piece_disc_conf')).html('* 只允许输入大于等于0的整数');
  1516. vm.isValidationByDiscPiece = false;
  1517. }else if(vm.minusTypeDiscPieceAttrList[index].pieceDiscConf < 0){
  1518. $("#"+(index+'piece_disc_conf')).html('* 只允许输入大于等于0的整数');
  1519. vm.isValidationByDiscPiece = false;
  1520. }else{
  1521. $("#"+(index+'piece_disc_conf')).html('');
  1522. vm.isValidationByDiscPiece = true;
  1523. }
  1524. var minusTypeDiscPieceAttrList = vm.minusTypeDiscPieceAttrList;
  1525. var inputY = parseInt(minusTypeDiscPieceAttrList[index].pieceDiscConf);
  1526. for (var i = 0; i < minusTypeDiscPieceAttrList.length; i++) {
  1527. if(minusTypeDiscPieceAttrList[i].pieceDiscConf != ''){
  1528. //下层比较
  1529. if(index<i){
  1530. if(inputY >= minusTypeDiscPieceAttrList[i].pieceDiscConf && minusTypeDiscPieceAttrList[i].pieceDiscConf != ''){
  1531. $("#"+(index+'piece_disc_conf')).html('* 层级必须递增且不可相同');
  1532. $("#"+(i+'piece_disc_conf')).html('* 层级必须递增且不可相同');
  1533. vm.isValidationByDiscPiece = false;
  1534. }
  1535. if(inputY < minusTypeDiscPieceAttrList[i].pieceDiscConf && minusTypeDiscPieceAttrList[i].pieceDiscConf != ''){
  1536. if(minusTypeDiscPieceAttrList.length > 1){
  1537. var pieceDiscConf = '';
  1538. if((i+1) == minusTypeDiscPieceAttrList.length){
  1539. pieceDiscConf = '';
  1540. }else{
  1541. pieceDiscConf = minusTypeDiscPieceAttrList[i+1].pieceDiscConf;
  1542. }
  1543. if(pieceDiscConf != '' && minusTypeDiscPieceAttrList[i].pieceDiscConf >= parseInt(pieceDiscConf)){
  1544. $("#"+(i+'piece_disc_conf')).html('* 层级必须递增且不可相同');
  1545. $("#"+(index+'piece_disc_conf')).html('* 层级必须递增且不可相同');
  1546. vm.isValidationByDiscPiece = false;
  1547. }else {
  1548. $("#"+(i+'piece_disc_conf')).html('');
  1549. $("#"+(index+'piece_disc_conf')).html('');
  1550. vm.isValidationByDiscPiece = true;
  1551. }
  1552. }else{
  1553. $("#"+(i+'piece_disc_conf')).html('');
  1554. $("#"+(index+'piece_disc_conf')).html('');
  1555. vm.isValidationByDiscPiece = true;
  1556. }
  1557. }
  1558. }
  1559. //上层比较
  1560. if(index>i){
  1561. if(inputY <= minusTypeDiscPieceAttrList[i].pieceDiscConf && minusTypeDiscPieceAttrList[i].pieceDiscConf != ''){
  1562. $("#"+(index+'piece_disc_conf')).html('* 层级必须递增且不可相同');
  1563. $("#"+(i+'piece_disc_conf')).html('* 层级必须递增且不可相同');
  1564. vm.isValidationByDiscPiece = false;
  1565. }
  1566. if(inputY > minusTypeDiscPieceAttrList[i].pieceDiscConf && minusTypeDiscPieceAttrList[i].pieceDiscConf != ''){
  1567. if(minusTypeDiscPieceAttrList.length > 1){
  1568. var pieceDiscConf = '';
  1569. if((i+1) == minusTypeDiscPieceAttrList.length){
  1570. pieceDiscConf = '';
  1571. }else{
  1572. pieceDiscConf = minusTypeDiscPieceAttrList[i+1].pieceDiscConf;
  1573. }
  1574. if(pieceDiscConf != '' && minusTypeDiscPieceAttrList[i].pieceDiscConf >= parseInt(pieceDiscConf)){
  1575. $("#"+(i+'piece_disc_conf')).html('* 层级必须递增且不可相同');
  1576. $("#"+(index+'piece_disc_conf')).html('* 层级必须递增且不可相同');
  1577. vm.isValidationByDiscPiece = false;
  1578. }else {
  1579. $("#"+(i+'piece_disc_conf')).html('');
  1580. $("#"+(index+'piece_disc_conf')).html('');
  1581. vm.isValidationByDiscPiece = true;
  1582. }
  1583. }else{
  1584. $("#"+(i+'piece_disc_conf')).html('');
  1585. $("#"+(index+'piece_disc_conf')).html('');
  1586. vm.isValidationByDiscPiece = true;
  1587. }
  1588. }
  1589. }
  1590. }else{
  1591. $("#"+(index+'piece_disc_conf')).html('');
  1592. vm.isValidationByDiscPiece = true;
  1593. }
  1594. }
  1595. }else {
  1596. $("#"+(index+'piece_disc_conf')).html('* 不能为空');
  1597. vm.isValidationByDiscPiece = false;
  1598. }
  1599. },
  1600. /**
  1601. * 满件满折,校验【满件折优惠】
  1602. * @param index
  1603. */
  1604. checkPrefByDiscPiece: function (index) {
  1605. vm.minusTypeDiscPieceAttrList[index].pieceDiscPref = vm.minusTypeDiscPieceAttrList[index].pieceDiscPref.replace(/[^\d.]/g,"");
  1606. var re = /^\d+(\.\d{1,1})?$/
  1607. if (vm.minusTypeDiscPieceAttrList[index].pieceDiscPref != '') {
  1608. if (!re.test(vm.minusTypeDiscPieceAttrList[index].pieceDiscPref)) {
  1609. $("#"+(index+'piece_disc_ref')).html('* 最多只保留小数点后1位的正数');
  1610. vm.isValidationByDiscPiece = false;
  1611. }else if(vm.minusTypeDiscPieceAttrList[index].pieceDiscPref > 10){
  1612. $("#"+(index+'piece_disc_ref')).html('* 请输入不大于 10 的数值');
  1613. vm.isValidationByDiscPiece = false;
  1614. }else if(vm.minusTypeDiscPieceAttrList[index].pieceDiscPref <= 0){
  1615. $("#"+(index+'piece_disc_ref')).html('* 数值不能小于等于0');
  1616. vm.isValidationByDiscPiece = false;
  1617. }else{
  1618. $("#"+(index+'piece_disc_ref')).html('');
  1619. vm.isValidationByDiscPiece = true;
  1620. }
  1621. }
  1622. },
  1623. /**
  1624. * 满元满减,且减免类型为每满一次减一次,校验【满元减条件】
  1625. * @param index
  1626. */
  1627. checkYuanCondByMode: function (index) {
  1628. vm.minusTypeUnitMode10List[index].yuanMinusCond = vm.minusTypeUnitMode10List[index].yuanMinusCond.replace(/[^\d.]/g,"");
  1629. var re = /^\d+(\.\d{1,2})?$/
  1630. if (vm.minusTypeUnitMode10List[index].yuanMinusCond != '') {
  1631. if (!re.test(vm.minusTypeUnitMode10List[index].yuanMinusCond)) {
  1632. $("#"+(index+'unit_mode')).html('* 最多只保留小数点后2位的正数');
  1633. vm.isValidationByUnitMode = false;
  1634. }else if (vm.minusTypeUnitMode10List[index].yuanMinusCond<= 0) {
  1635. $("#"+(index+'unit_mode')).html('* 不能小于等于0');
  1636. vm.isValidationByUnitMode = false;
  1637. }else{
  1638. $("#"+(index+'unit_mode')).html('');
  1639. vm.isValidationByUnitMode = true;
  1640. }
  1641. }
  1642. },
  1643. /**
  1644. * 满元满减,且减免类型为每满一次减一次,校验【满元减优惠】
  1645. * @param index
  1646. */
  1647. checkYuanPrefByMode: function (index) {
  1648. vm.minusTypeUnitMode10List[index].yuanMinusPref = vm.minusTypeUnitMode10List[index].yuanMinusPref.replace(/[^\d.]/g,"");
  1649. var re = /^\d+(\.\d{1,2})?$/
  1650. if (vm.minusTypeUnitMode10List[index].yuanMinusPref != '') {
  1651. if (!re.test(vm.minusTypeUnitMode10List[index].yuanMinusPref)) {
  1652. $("#"+(index+'unit_mode_pref')).html('* 最多只保留小数点后2位的正数');
  1653. vm.isValidationByUnitMode = false;
  1654. }else if (vm.minusTypeUnitMode10List[index].yuanMinusPref<= 0) {
  1655. $("#"+(index+'unit_mode_pref')).html('* 不能小于等于0');
  1656. vm.isValidationByUnitMode = false;
  1657. }else{
  1658. $("#"+(index+'unit_mode_pref')).html('');
  1659. vm.isValidationByUnitMode = true;
  1660. }
  1661. }
  1662. },
  1663. /**
  1664. * 满元满减,且减免类型为每满一次减一次,校验【每人最多】
  1665. * @param index
  1666. */
  1667. checkEachDiscByUnitMode: function (index) {
  1668. vm.minusTypeUnitMode10List[index].pieceMinusEachDisc = vm.minusTypeUnitMode10List[index].pieceMinusEachDisc.replace(/[^\d.]/g,"");
  1669. var re = /^\d+(\.\d{1,2})?$/
  1670. if (vm.minusTypeUnitMode10List[index].pieceMinusEachDisc != '') {
  1671. if (!re.test(vm.minusTypeUnitMode10List[index].pieceMinusEachDisc)) {
  1672. $("#"+(index+'unit_mode_each')).html('* 最多只保留小数点后2位的正数');
  1673. vm.isValidationByUnitMode = false;
  1674. }else if (vm.minusTypeUnitMode10List[index].pieceMinusEachDisc< 0) {
  1675. $("#"+(index+'unit_mode_each')).html('* 不能小于0');
  1676. vm.isValidationByUnitMode = false;
  1677. }else{
  1678. $("#"+(index+'unit_mode_each')).html('');
  1679. vm.isValidationByUnitMode = true;
  1680. }
  1681. }
  1682. },
  1683. /**
  1684. * 满件满减,且减免类型为每满一次减一次,校验【满件减条件】
  1685. * @param index
  1686. */
  1687. checkPieceConfByMode: function (index) {
  1688. vm.minusTypePieceMode10List[index].pieceMinusConf = vm.minusTypePieceMode10List[index].pieceMinusConf.replace(/[^\d]/g,"");
  1689. var re = /^[+]{0,1}(\d+)$/;
  1690. if (vm.minusTypePieceMode10List[index].pieceMinusConf != '') {
  1691. if (!re.test(vm.minusTypePieceMode10List[index].pieceMinusConf)) {
  1692. $("#"+(index+'piece_mode')).html('* 只允许输入大于0的整数');
  1693. vm.isValidationByPieceMode = false;
  1694. }else if(vm.minusTypePieceMode10List[index].pieceMinusConf <= 0){
  1695. $("#"+(index+'piece_mode')).html('* 只允许输入大于0的整数');
  1696. vm.isValidationByPieceMode = false;
  1697. }else{
  1698. $("#"+(index+'piece_mode')).html('');
  1699. vm.isValidationByPieceMode = true;
  1700. }
  1701. }
  1702. },
  1703. /**
  1704. * 满件满减,且减免类型为每满一次减一次,校验【满件减优惠】
  1705. * @param index
  1706. */
  1707. checkPiecePrefByMode: function (index) {
  1708. vm.minusTypePieceMode10List[index].pieceMinusPref = vm.minusTypePieceMode10List[index].pieceMinusPref.replace(/[^\d.]/g,"");
  1709. var re = /^\d+(\.\d{1,2})?$/
  1710. if (vm.minusTypePieceMode10List[index].pieceMinusPref != '') {
  1711. if (!re.test(vm.minusTypePieceMode10List[index].pieceMinusPref)) {
  1712. $("#"+(index+'piece_mode_pref')).html('* 最多只保留小数点后2位的正数');
  1713. vm.isValidationByPieceMode = false;
  1714. }else if (vm.minusTypePieceMode10List[index].pieceMinusPref<= 0) {
  1715. $("#"+(index+'piece_mode_pref')).html('* 不能小于等于0');
  1716. vm.isValidationByPieceMode = false;
  1717. }else{
  1718. $("#"+(index+'piece_mode_pref')).html('');
  1719. vm.isValidationByPieceMode = true;
  1720. }
  1721. }
  1722. },
  1723. /**
  1724. * 满件满减,且减免类型为每满一次减一次,校验【每人最多】
  1725. * @param index
  1726. */
  1727. checkEachDiscByPieceMode: function (index) {
  1728. vm.minusTypePieceMode10List[index].pieceMinusEachDisc = vm.minusTypePieceMode10List[index].pieceMinusEachDisc.replace(/[^\d.]/g,"");
  1729. var re = /^\d+(\.\d{1,2})?$/
  1730. if (vm.minusTypePieceMode10List[index].pieceMinusEachDisc != '') {
  1731. if (!re.test(vm.minusTypePieceMode10List[index].pieceMinusEachDisc)) {
  1732. $("#"+(index+'piece_mode_each')).html('* 最多只保留小数点后2位的正数');
  1733. vm.isValidationByPieceMode = false;
  1734. }else if (vm.minusTypePieceMode10List[index].pieceMinusEachDisc< 0) {
  1735. $("#"+(index+'piece_mode_each')).html('* 不能小于0');
  1736. vm.isValidationByPieceMode = false;
  1737. }else{
  1738. $("#"+(index+'piece_mode_each')).html('');
  1739. vm.isValidationByPieceMode = true;
  1740. }
  1741. }
  1742. },
  1743. },
  1744. mounted() {
  1745. $.get("../sys/macro/queryMacrosByValue?value=goodsBizType", function (r) {
  1746. vm.macros = r.list;
  1747. });
  1748. }
  1749. });