mkstorecampminus.js 89 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791
  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') {//已结束,适用类型是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') {//进行中,适用类型是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') {//未开始,适用类型是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.reloadOrderSearch();
  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="+vm.currentPage+"&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 + ' 太大,不能超过 100K。'
  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. if (vm.minusTypeUnitAttrList[index].yuanMinusCond>=vm.minusTypeUnitAttrList[index].yuanMinusPref) {
  1176. $("#"+(index+'unit')).html('');
  1177. $("#"+(index+'unit_pref')).html('');
  1178. vm.isValidationByUnit = true;
  1179. }else{
  1180. $("#"+(index+'unit')).html('* 不能小于满元减优惠'+vm.minusTypeUnitAttrList[index].yuanMinusPref);
  1181. vm.isValidationByUnit = false;
  1182. return;
  1183. }
  1184. }
  1185. if(minusTypeUnitAttrList[0].yuanMinusCond != null){
  1186. for (var i = 0; i < minusTypeUnitAttrList.length; i++) {
  1187. if(minusTypeUnitAttrList[i].yuanMinusCond != ''){
  1188. //下层比较
  1189. if(index<i){
  1190. // console.log(index+"<="+i+";输入:"+inputY+"<比较"+minusTypeUnitAttrList[i].yuanMinusCond);
  1191. if(inputY >= minusTypeUnitAttrList[i].yuanMinusCond && minusTypeUnitAttrList[i].yuanMinusCond != ''){
  1192. // console.log("下层比较,不满足条件1:"+(index+10));
  1193. $("#"+(index+'unit')).html('* 层级必须递增且不可相同');
  1194. $("#"+(i+'unit')).html('* 层级必须递增且不可相同');
  1195. vm.isValidationByUnit = false;
  1196. }
  1197. if(inputY < minusTypeUnitAttrList[i].yuanMinusCond && minusTypeUnitAttrList[i].yuanMinusCond != ''){
  1198. if(minusTypeUnitAttrList.length > 1){
  1199. var yuanMinusCond = '';
  1200. if((i+1) == minusTypeUnitAttrList.length){
  1201. yuanMinusCond = '';
  1202. }else{
  1203. yuanMinusCond = minusTypeUnitAttrList[i+1].yuanMinusCond;
  1204. }
  1205. // console.log("下层比较,"+minusTypeUnitAttrList[i].yuanMinusCond+">"+(i+1)+"层比较:"+yuanMinusCond);
  1206. if(yuanMinusCond != '' && minusTypeUnitAttrList[i].yuanMinusCond >= parseFloat(yuanMinusCond)){
  1207. // console.log("下层比较,不满足条件1:"+(i+10));
  1208. $("#"+(i+'unit')).html('* 层级必须递增且不可相同');
  1209. $("#"+(index+'unit')).html('* 层级必须递增且不可相同');
  1210. vm.isValidationByUnit = false;
  1211. }else {
  1212. // console.log("下层比较,满足条件1:"+(i+10));
  1213. $("#"+(i+'unit')).html('');
  1214. $("#"+(index+'unit')).html('');
  1215. vm.isValidationByUnit = true;
  1216. }
  1217. }else{
  1218. // console.log("下层比较,满足条件1:"+(i+10));
  1219. $("#"+(i+'unit')).html('');
  1220. $("#"+(index+'unit')).html('');
  1221. vm.isValidationByUnit = true;
  1222. }
  1223. }
  1224. }
  1225. //上层比较
  1226. if(index>i){
  1227. // console.log(index+">"+i+";输入:"+inputY+">比较"+minusTypeUnitAttrList[i].yuanMinusCond);
  1228. if(inputY <= minusTypeUnitAttrList[i].yuanMinusCond && minusTypeUnitAttrList[i].yuanMinusCond != ''){
  1229. // console.log("上层比较,不满足条件2:"+(index+10));
  1230. $("#"+(index+'unit')).html('* 层级必须递增且不可相同');
  1231. $("#"+(i+'unit')).html('* 层级必须递增且不可相同');
  1232. vm.isValidationByUnit = false;
  1233. }
  1234. if(inputY > minusTypeUnitAttrList[i].yuanMinusCond && minusTypeUnitAttrList[i].yuanMinusCond != ''){
  1235. if(minusTypeUnitAttrList.length > 1){
  1236. var yuanMinusCond = '';
  1237. if((i+1) == minusTypeUnitAttrList.length){
  1238. yuanMinusCond = '';
  1239. }else{
  1240. yuanMinusCond = minusTypeUnitAttrList[i+1].yuanMinusCond;
  1241. }
  1242. // console.log("上层比较,"+minusTypeUnitAttrList[i].yuanMinusCond+">"+(i+1)+"层比较:"+yuanMinusCond);
  1243. if(yuanMinusCond != '' && minusTypeUnitAttrList[i].yuanMinusCond >= parseFloat(yuanMinusCond)){
  1244. // console.log("上层比较,不满足条件1:"+(i+10));
  1245. $("#"+(i+'unit')).html('* 层级必须递增且不可相同');
  1246. $("#"+(index+'unit')).html('* 层级必须递增且不可相同');
  1247. vm.isValidationByUnit = false;
  1248. }else {
  1249. // console.log("上层比较,满足条件2:"+(i+10));
  1250. $("#"+(i+'unit')).html('');
  1251. $("#"+(index+'unit')).html('');
  1252. vm.isValidationByUnit = true;
  1253. }
  1254. }else{
  1255. // console.log("上层比较,满足条件2:"+(i+10));
  1256. $("#"+(i+'unit')).html('');
  1257. $("#"+(index+'unit')).html('');
  1258. vm.isValidationByUnit = true;
  1259. }
  1260. }
  1261. }
  1262. }else{
  1263. $("#"+(index+'unit')).html('');
  1264. vm.isValidationByUnit = true;
  1265. }
  1266. }
  1267. }
  1268. },
  1269. /**
  1270. * 满元满减,校验【满元减优惠】
  1271. * @param index
  1272. */
  1273. checkYuanMinusPref: function (index) {
  1274. //先把非数字的都替换掉,除了数字和.
  1275. vm.minusTypeUnitAttrList[index].yuanMinusPref = vm.minusTypeUnitAttrList[index].yuanMinusPref.replace(/[^\d.]/g,"");
  1276. var re = /^\d+(\.\d{1,2})?$/;
  1277. if (vm.minusTypeUnitAttrList[index].yuanMinusPref != '') {
  1278. if (!re.test(vm.minusTypeUnitAttrList[index].yuanMinusPref)) {
  1279. $("#"+(index+'unit_pref')).html('* 最多只保留小数点后2位的正数');
  1280. vm.isValidationByUnit = false;
  1281. }else if (vm.minusTypeUnitAttrList[index].yuanMinusPref<= 0) {
  1282. $("#"+(index+'unit_pref')).html('* 不能小于等于0');
  1283. vm.isValidationByUnit = false;
  1284. }else if (vm.minusTypeUnitAttrList[index].yuanMinusPref>vm.minusTypeUnitAttrList[index].yuanMinusCond) {
  1285. $("#"+(index+'unit_pref')).html('* 不能大于满元减条件'+vm.minusTypeUnitAttrList[index].yuanMinusCond);
  1286. vm.isValidationByUnit = false;
  1287. }else{
  1288. if(vm.minusTypeUnitAttrList[index].yuanMinusPref<vm.minusTypeUnitAttrList[index].yuanMinusCond){
  1289. $("#"+(index+'unit')).html('');
  1290. }
  1291. $("#"+(index+'unit_pref')).html('');
  1292. vm.isValidationByUnit = true;
  1293. }
  1294. }
  1295. },
  1296. /**
  1297. * 满件满减,校验【满件减条件】
  1298. * @param index 当前编辑的活动层级条件
  1299. */
  1300. checkCoudByPieceAttr: function (index) {
  1301. vm.minusTypePieceAttrList[index].pieceMinusConf = vm.minusTypePieceAttrList[index].pieceMinusConf.replace(/[^\d]/g,"");
  1302. var re = /^[+]{0,1}(\d+)$/;
  1303. if (vm.minusTypePieceAttrList[index].pieceMinusConf != '') {
  1304. if (!re.test(vm.minusTypePieceAttrList[index].pieceMinusConf)) {
  1305. $("#"+(index+'piece_conf')).html('* 只允许输入大于等于0的整数');
  1306. vm.isValidationByPiece = false;
  1307. }else if(vm.minusTypePieceAttrList[index].pieceMinusConf < 0){
  1308. $("#"+(index+'piece_conf')).html('* 只允许输入大于等于0的整数');
  1309. vm.isValidationByPiece = false;
  1310. }else{
  1311. $("#"+(index+'piece_conf')).html('');
  1312. vm.isValidationByPiece = true;
  1313. }
  1314. var minusTypePieceAttrList = vm.minusTypePieceAttrList;
  1315. var inputY = parseInt(minusTypePieceAttrList[index].pieceMinusConf);
  1316. for (var i = 0; i < minusTypePieceAttrList.length; i++) {
  1317. if(minusTypePieceAttrList[i].pieceMinusConf != ''){
  1318. //下层比较
  1319. if(index<i){
  1320. if(inputY >= minusTypePieceAttrList[i].pieceMinusConf && minusTypePieceAttrList[i].pieceMinusConf != ''){
  1321. $("#"+(index+'piece_conf')).html('* 层级必须递增且不可相同');
  1322. $("#"+(i+'piece_conf')).html('* 层级必须递增且不可相同');
  1323. vm.isValidationByPiece = false;
  1324. }
  1325. if(inputY < minusTypePieceAttrList[i].pieceMinusConf && minusTypePieceAttrList[i].pieceMinusConf != ''){
  1326. if(minusTypePieceAttrList.length > 1){
  1327. var pieceMinusConf = '';
  1328. if((i+1) == minusTypePieceAttrList.length){
  1329. pieceMinusConf = '';
  1330. }else{
  1331. pieceMinusConf = minusTypePieceAttrList[i+1].pieceMinusConf;
  1332. }
  1333. if(pieceMinusConf != '' && minusTypePieceAttrList[i].pieceMinusConf >= parseInt(pieceMinusConf)){
  1334. $("#"+(i+'piece_conf')).html('* 层级必须递增且不可相同');
  1335. $("#"+(index+'piece_conf')).html('* 层级必须递增且不可相同');
  1336. vm.isValidationByPiece = false;
  1337. }else {
  1338. $("#"+(i+'piece_conf')).html('');
  1339. $("#"+(index+'piece_conf')).html('');
  1340. vm.isValidationByPiece = true;
  1341. }
  1342. }else{
  1343. $("#"+(i+'piece_conf')).html('');
  1344. $("#"+(index+'piece_conf')).html('');
  1345. vm.isValidationByPiece = true;
  1346. }
  1347. }
  1348. }
  1349. //上层比较
  1350. if(index>i){
  1351. if(inputY <= minusTypePieceAttrList[i].pieceMinusConf && minusTypePieceAttrList[i].pieceMinusConf != ''){
  1352. $("#"+(index+'piece_conf')).html('* 层级必须递增且不可相同');
  1353. $("#"+(i+'piece_conf')).html('* 层级必须递增且不可相同');
  1354. vm.isValidationByPiece = false;
  1355. }
  1356. if(inputY > minusTypePieceAttrList[i].pieceMinusConf && minusTypePieceAttrList[i].pieceMinusConf != ''){
  1357. if(minusTypePieceAttrList.length > 1){
  1358. var pieceMinusConf = '';
  1359. if((i+1) == minusTypePieceAttrList.length){
  1360. pieceMinusConf = '';
  1361. }else{
  1362. pieceMinusConf = minusTypePieceAttrList[i+1].pieceMinusConf;
  1363. }
  1364. if(pieceMinusConf != '' && minusTypePieceAttrList[i].pieceMinusConf >= parseInt(pieceMinusConf)){
  1365. $("#"+(i+'piece_conf')).html('* 层级必须递增且不可相同');
  1366. $("#"+(index+'piece_conf')).html('* 层级必须递增且不可相同');
  1367. vm.isValidationByPiece = false;
  1368. }else {
  1369. $("#"+(i+'piece_conf')).html('');
  1370. $("#"+(index+'piece_conf')).html('');
  1371. vm.isValidationByPiece = true;
  1372. }
  1373. }else{
  1374. $("#"+(i+'piece_conf')).html('');
  1375. $("#"+(index+'piece_conf')).html('');
  1376. vm.isValidationByPiece = true;
  1377. }
  1378. }
  1379. }
  1380. }else{
  1381. $("#"+(index+'piece_conf')).html('');
  1382. vm.isValidationByPiece = true;
  1383. }
  1384. }
  1385. }
  1386. },
  1387. /**
  1388. * 满件满减,校验【满件减优惠】
  1389. * @param index
  1390. */
  1391. checkPieceMinusPref: function (index) {
  1392. vm.minusTypePieceAttrList[index].pieceMinusPref = vm.minusTypePieceAttrList[index].pieceMinusPref.replace(/[^\d.]/g,"");
  1393. var re = /^\d+(\.\d{1,2})?$/
  1394. if (vm.minusTypePieceAttrList[index].pieceMinusPref != '') {
  1395. if (!re.test(vm.minusTypePieceAttrList[index].pieceMinusPref)) {
  1396. $("#"+(index+'piece_pref')).html('* 最多只保留小数点后2位的正数');
  1397. vm.isValidationByPiece = false;
  1398. }else if (vm.minusTypePieceAttrList[index].pieceMinusPref<= 0) {
  1399. $("#"+(index+'piece_pref')).html('* 不能小于等于0');
  1400. vm.isValidationByPiece = false;
  1401. }else{
  1402. $("#"+(index+'piece_pref')).html('');
  1403. vm.isValidationByPiece = true;
  1404. }
  1405. }
  1406. },
  1407. /**
  1408. * 满元满折,校验【满元折条件】
  1409. * @param index
  1410. */
  1411. checkYuanDiscCondByDiscUnit: function (index) {
  1412. vm.minusTypeDiscUnitAttrList[index].yuanDiscCond = vm.minusTypeDiscUnitAttrList[index].yuanDiscCond.replace(/[^\d.]/g,"");
  1413. var re = /^\d+(\.\d{1,2})?$/
  1414. if (vm.minusTypeDiscUnitAttrList[index].yuanDiscCond != '') {
  1415. if (!re.test(vm.minusTypeDiscUnitAttrList[index].yuanDiscCond)) {
  1416. $("#"+(index+'disc_unit_cond')).html('* 最多只保留小数点后2位的正数');
  1417. vm.isValidationByDiscUnit = false;
  1418. }else if (vm.minusTypeDiscUnitAttrList[index].yuanDiscCond< 0) {
  1419. $("#"+(index+'disc_unit_cond')).html('* 不能小于0');
  1420. vm.isValidationByDiscUnit = false;
  1421. }else{
  1422. $("#"+(index+'disc_unit_cond')).html('');
  1423. vm.isValidationByDiscUnit = true;
  1424. }
  1425. var minusTypeDiscUnitAttrList = vm.minusTypeDiscUnitAttrList;
  1426. var inputY = parseFloat(minusTypeDiscUnitAttrList[index].yuanDiscCond);
  1427. for (var i = 0; i < minusTypeDiscUnitAttrList.length; i++) {
  1428. if(minusTypeDiscUnitAttrList[i].yuanDiscCond != ''){
  1429. //下层比较
  1430. if(index<i){
  1431. if(inputY >= minusTypeDiscUnitAttrList[i].yuanDiscCond && minusTypeDiscUnitAttrList[i].yuanDiscCond != ''){
  1432. $("#"+(index+'disc_unit_cond')).html('* 层级必须递增且不可相同');
  1433. $("#"+(i+'disc_unit_cond')).html('* 层级必须递增且不可相同');
  1434. vm.isValidationByDiscUnit = false;
  1435. }
  1436. if(inputY < minusTypeDiscUnitAttrList[i].yuanDiscCond && minusTypeDiscUnitAttrList[i].yuanDiscCond != ''){
  1437. if(minusTypeDiscUnitAttrList.length > 1){
  1438. var yuanDiscCond = '';
  1439. if((i+1) == minusTypeDiscUnitAttrList.length){
  1440. yuanDiscCond = '';
  1441. }else{
  1442. yuanDiscCond = minusTypeDiscUnitAttrList[i+1].yuanDiscCond;
  1443. }
  1444. if(yuanDiscCond != '' && minusTypeDiscUnitAttrList[i].yuanDiscCond >= parseFloat(yuanDiscCond)){
  1445. $("#"+(i+'disc_unit_cond')).html('* 层级必须递增且不可相同');
  1446. $("#"+(index+'disc_unit_cond')).html('* 层级必须递增且不可相同');
  1447. vm.isValidationByDiscUnit = false;
  1448. }else {
  1449. $("#"+(i+'disc_unit_cond')).html('');
  1450. $("#"+(index+'disc_unit_cond')).html('');
  1451. vm.isValidationByDiscUnit = true;
  1452. }
  1453. }else{
  1454. $("#"+(i+'disc_unit_cond')).html('');
  1455. $("#"+(index+'disc_unit_cond')).html('');
  1456. vm.isValidationByDiscUnit = true;
  1457. }
  1458. }
  1459. }
  1460. //上层比较
  1461. if(index>i){
  1462. if(inputY <= minusTypeDiscUnitAttrList[i].yuanDiscCond && minusTypeDiscUnitAttrList[i].yuanDiscCond != ''){
  1463. $("#"+(index+'disc_unit_cond')).html('* 层级必须递增且不可相同');
  1464. $("#"+(i+'disc_unit_cond')).html('* 层级必须递增且不可相同');
  1465. vm.isValidationByDiscUnit = false;
  1466. }
  1467. if(inputY > minusTypeDiscUnitAttrList[i].yuanDiscCond && minusTypeDiscUnitAttrList[i].yuanDiscCond != ''){
  1468. if(minusTypeDiscUnitAttrList.length > 1){
  1469. var yuanDiscCond = '';
  1470. if((i+1) == minusTypeDiscUnitAttrList.length){
  1471. yuanDiscCond = '';
  1472. }else{
  1473. yuanDiscCond = minusTypeDiscUnitAttrList[i+1].yuanDiscCond;
  1474. }
  1475. if(yuanDiscCond != '' && minusTypeDiscUnitAttrList[i].yuanDiscCond >= parseFloat(yuanDiscCond)){
  1476. $("#"+(i+'disc_unit_cond')).html('* 层级必须递增且不可相同');
  1477. $("#"+(index+'disc_unit_cond')).html('* 层级必须递增且不可相同');
  1478. vm.isValidationByDiscUnit = false;
  1479. }else {
  1480. $("#"+(i+'disc_unit_cond')).html('');
  1481. $("#"+(index+'disc_unit_cond')).html('');
  1482. vm.isValidationByDiscUnit = true;
  1483. }
  1484. }else{
  1485. $("#"+(i+'disc_unit_cond')).html('');
  1486. $("#"+(index+'disc_unit_cond')).html('');
  1487. vm.isValidationByDiscUnit = true;
  1488. }
  1489. }
  1490. }
  1491. }else{
  1492. $("#"+(index+'disc_unit_cond')).html('');
  1493. vm.isValidationByDiscUnit = true;
  1494. }
  1495. }
  1496. }
  1497. },
  1498. /**
  1499. * 满元满折,校验【满元折优惠】
  1500. * @param index
  1501. */
  1502. checkYuanDiscPrefByDiscUnit: function (index) {
  1503. vm.minusTypeDiscUnitAttrList[index].yuanDiscPref = vm.minusTypeDiscUnitAttrList[index].yuanDiscPref.replace(/[^\d.]/g,"");
  1504. var re = /^\d+(\.\d{1,1})?$/
  1505. if (vm.minusTypeDiscUnitAttrList[index].yuanDiscPref != '') {
  1506. if (!re.test(vm.minusTypeDiscUnitAttrList[index].yuanDiscPref)) {
  1507. $("#"+(index+'disc_unit_pref')).html('* 最多只保留小数点后1位的正数');
  1508. vm.isValidationByDiscUnit = false;
  1509. }else if(vm.minusTypeDiscUnitAttrList[index].yuanDiscPref > 10){
  1510. $("#"+(index+'disc_unit_pref')).html('* 请输入不大于 10 的数值');
  1511. vm.isValidationByDiscUnit = false;
  1512. }else if(vm.minusTypeDiscUnitAttrList[index].yuanDiscPref <= 0){
  1513. $("#"+(index+'disc_unit_pref')).html('* 数值不能小于等于0');
  1514. vm.isValidationByDiscUnit = false;
  1515. }else{
  1516. $("#"+(index+'disc_unit_pref')).html('');
  1517. vm.isValidationByDiscUnit = true;
  1518. }
  1519. }
  1520. },
  1521. /**
  1522. * 满件满折,校验【满件折条件】
  1523. * @param index
  1524. */
  1525. checkConfByDiscPiece: function (index) {
  1526. vm.minusTypeDiscPieceAttrList[index].pieceDiscConf = vm.minusTypeDiscPieceAttrList[index].pieceDiscConf.replace(/[^\d]/g,"");
  1527. var re = /^[+]{0,1}(\d+)$/;
  1528. if (vm.minusTypeDiscPieceAttrList[index].pieceDiscConf != '') {
  1529. if (!re.test(vm.minusTypeDiscPieceAttrList[index].pieceDiscConf)) {
  1530. $("#"+(index+'piece_disc_conf')).html('* 只允许输入大于等于0的整数');
  1531. vm.isValidationByDiscPiece = false;
  1532. }else if(vm.minusTypeDiscPieceAttrList[index].pieceDiscConf < 0){
  1533. $("#"+(index+'piece_disc_conf')).html('* 只允许输入大于等于0的整数');
  1534. vm.isValidationByDiscPiece = false;
  1535. }else{
  1536. $("#"+(index+'piece_disc_conf')).html('');
  1537. vm.isValidationByDiscPiece = true;
  1538. }
  1539. var minusTypeDiscPieceAttrList = vm.minusTypeDiscPieceAttrList;
  1540. var inputY = parseInt(minusTypeDiscPieceAttrList[index].pieceDiscConf);
  1541. for (var i = 0; i < minusTypeDiscPieceAttrList.length; i++) {
  1542. if(minusTypeDiscPieceAttrList[i].pieceDiscConf != ''){
  1543. //下层比较
  1544. if(index<i){
  1545. if(inputY >= minusTypeDiscPieceAttrList[i].pieceDiscConf && minusTypeDiscPieceAttrList[i].pieceDiscConf != ''){
  1546. $("#"+(index+'piece_disc_conf')).html('* 层级必须递增且不可相同');
  1547. $("#"+(i+'piece_disc_conf')).html('* 层级必须递增且不可相同');
  1548. vm.isValidationByDiscPiece = false;
  1549. }
  1550. if(inputY < minusTypeDiscPieceAttrList[i].pieceDiscConf && minusTypeDiscPieceAttrList[i].pieceDiscConf != ''){
  1551. if(minusTypeDiscPieceAttrList.length > 1){
  1552. var pieceDiscConf = '';
  1553. if((i+1) == minusTypeDiscPieceAttrList.length){
  1554. pieceDiscConf = '';
  1555. }else{
  1556. pieceDiscConf = minusTypeDiscPieceAttrList[i+1].pieceDiscConf;
  1557. }
  1558. if(pieceDiscConf != '' && minusTypeDiscPieceAttrList[i].pieceDiscConf >= parseInt(pieceDiscConf)){
  1559. $("#"+(i+'piece_disc_conf')).html('* 层级必须递增且不可相同');
  1560. $("#"+(index+'piece_disc_conf')).html('* 层级必须递增且不可相同');
  1561. vm.isValidationByDiscPiece = false;
  1562. }else {
  1563. $("#"+(i+'piece_disc_conf')).html('');
  1564. $("#"+(index+'piece_disc_conf')).html('');
  1565. vm.isValidationByDiscPiece = true;
  1566. }
  1567. }else{
  1568. $("#"+(i+'piece_disc_conf')).html('');
  1569. $("#"+(index+'piece_disc_conf')).html('');
  1570. vm.isValidationByDiscPiece = true;
  1571. }
  1572. }
  1573. }
  1574. //上层比较
  1575. if(index>i){
  1576. if(inputY <= minusTypeDiscPieceAttrList[i].pieceDiscConf && minusTypeDiscPieceAttrList[i].pieceDiscConf != ''){
  1577. $("#"+(index+'piece_disc_conf')).html('* 层级必须递增且不可相同');
  1578. $("#"+(i+'piece_disc_conf')).html('* 层级必须递增且不可相同');
  1579. vm.isValidationByDiscPiece = false;
  1580. }
  1581. if(inputY > minusTypeDiscPieceAttrList[i].pieceDiscConf && minusTypeDiscPieceAttrList[i].pieceDiscConf != ''){
  1582. if(minusTypeDiscPieceAttrList.length > 1){
  1583. var pieceDiscConf = '';
  1584. if((i+1) == minusTypeDiscPieceAttrList.length){
  1585. pieceDiscConf = '';
  1586. }else{
  1587. pieceDiscConf = minusTypeDiscPieceAttrList[i+1].pieceDiscConf;
  1588. }
  1589. if(pieceDiscConf != '' && minusTypeDiscPieceAttrList[i].pieceDiscConf >= parseInt(pieceDiscConf)){
  1590. $("#"+(i+'piece_disc_conf')).html('* 层级必须递增且不可相同');
  1591. $("#"+(index+'piece_disc_conf')).html('* 层级必须递增且不可相同');
  1592. vm.isValidationByDiscPiece = false;
  1593. }else {
  1594. $("#"+(i+'piece_disc_conf')).html('');
  1595. $("#"+(index+'piece_disc_conf')).html('');
  1596. vm.isValidationByDiscPiece = true;
  1597. }
  1598. }else{
  1599. $("#"+(i+'piece_disc_conf')).html('');
  1600. $("#"+(index+'piece_disc_conf')).html('');
  1601. vm.isValidationByDiscPiece = true;
  1602. }
  1603. }
  1604. }
  1605. }else{
  1606. $("#"+(index+'piece_disc_conf')).html('');
  1607. vm.isValidationByDiscPiece = true;
  1608. }
  1609. }
  1610. }else {
  1611. $("#"+(index+'piece_disc_conf')).html('* 不能为空');
  1612. vm.isValidationByDiscPiece = false;
  1613. }
  1614. },
  1615. /**
  1616. * 满件满折,校验【满件折优惠】
  1617. * @param index
  1618. */
  1619. checkPrefByDiscPiece: function (index) {
  1620. vm.minusTypeDiscPieceAttrList[index].pieceDiscPref = vm.minusTypeDiscPieceAttrList[index].pieceDiscPref.replace(/[^\d.]/g,"");
  1621. var re = /^\d+(\.\d{1,1})?$/
  1622. if (vm.minusTypeDiscPieceAttrList[index].pieceDiscPref != '') {
  1623. if (!re.test(vm.minusTypeDiscPieceAttrList[index].pieceDiscPref)) {
  1624. $("#"+(index+'piece_disc_ref')).html('* 最多只保留小数点后1位的正数');
  1625. vm.isValidationByDiscPiece = false;
  1626. }else if(vm.minusTypeDiscPieceAttrList[index].pieceDiscPref > 10){
  1627. $("#"+(index+'piece_disc_ref')).html('* 请输入不大于 10 的数值');
  1628. vm.isValidationByDiscPiece = false;
  1629. }else if(vm.minusTypeDiscPieceAttrList[index].pieceDiscPref <= 0){
  1630. $("#"+(index+'piece_disc_ref')).html('* 数值不能小于等于0');
  1631. vm.isValidationByDiscPiece = false;
  1632. }else{
  1633. $("#"+(index+'piece_disc_ref')).html('');
  1634. vm.isValidationByDiscPiece = true;
  1635. }
  1636. }
  1637. },
  1638. /**
  1639. * 满元满减,且减免类型为每满一次减一次,校验【满元减条件】
  1640. * @param index
  1641. */
  1642. checkYuanCondByMode: function (index) {
  1643. vm.minusTypeUnitMode10List[index].yuanMinusCond = vm.minusTypeUnitMode10List[index].yuanMinusCond.replace(/[^\d.]/g,"");
  1644. var re = /^\d+(\.\d{1,2})?$/
  1645. if (vm.minusTypeUnitMode10List[index].yuanMinusCond != '') {
  1646. if (!re.test(vm.minusTypeUnitMode10List[index].yuanMinusCond)) {
  1647. $("#"+(index+'unit_mode')).html('* 最多只保留小数点后2位的正数');
  1648. vm.isValidationByUnitMode = false;
  1649. }else if (vm.minusTypeUnitMode10List[index].yuanMinusCond<= 0) {
  1650. $("#"+(index+'unit_mode')).html('* 不能小于等于0');
  1651. vm.isValidationByUnitMode = false;
  1652. }else{
  1653. $("#"+(index+'unit_mode')).html('');
  1654. vm.isValidationByUnitMode = true;
  1655. }
  1656. }
  1657. },
  1658. /**
  1659. * 满元满减,且减免类型为每满一次减一次,校验【满元减优惠】
  1660. * @param index
  1661. */
  1662. checkYuanPrefByMode: function (index) {
  1663. vm.minusTypeUnitMode10List[index].yuanMinusPref = vm.minusTypeUnitMode10List[index].yuanMinusPref.replace(/[^\d.]/g,"");
  1664. var re = /^\d+(\.\d{1,2})?$/
  1665. if (vm.minusTypeUnitMode10List[index].yuanMinusPref != '') {
  1666. if (!re.test(vm.minusTypeUnitMode10List[index].yuanMinusPref)) {
  1667. $("#"+(index+'unit_mode_pref')).html('* 最多只保留小数点后2位的正数');
  1668. vm.isValidationByUnitMode = false;
  1669. }else if (vm.minusTypeUnitMode10List[index].yuanMinusPref<= 0) {
  1670. $("#"+(index+'unit_mode_pref')).html('* 不能小于等于0');
  1671. vm.isValidationByUnitMode = false;
  1672. }else{
  1673. $("#"+(index+'unit_mode_pref')).html('');
  1674. vm.isValidationByUnitMode = true;
  1675. }
  1676. }
  1677. },
  1678. /**
  1679. * 满元满减,且减免类型为每满一次减一次,校验【每人最多】
  1680. * @param index
  1681. */
  1682. checkEachDiscByUnitMode: function (index) {
  1683. vm.minusTypeUnitMode10List[index].pieceMinusEachDisc = vm.minusTypeUnitMode10List[index].pieceMinusEachDisc.replace(/[^\d.]/g,"");
  1684. var re = /^\d+(\.\d{1,2})?$/
  1685. if (vm.minusTypeUnitMode10List[index].pieceMinusEachDisc != '') {
  1686. if (!re.test(vm.minusTypeUnitMode10List[index].pieceMinusEachDisc)) {
  1687. $("#"+(index+'unit_mode_each')).html('* 最多只保留小数点后2位的正数');
  1688. vm.isValidationByUnitMode = false;
  1689. }else if (vm.minusTypeUnitMode10List[index].pieceMinusEachDisc< 0) {
  1690. $("#"+(index+'unit_mode_each')).html('* 不能小于0');
  1691. vm.isValidationByUnitMode = false;
  1692. }else{
  1693. $("#"+(index+'unit_mode_each')).html('');
  1694. vm.isValidationByUnitMode = true;
  1695. }
  1696. }
  1697. },
  1698. /**
  1699. * 满件满减,且减免类型为每满一次减一次,校验【满件减条件】
  1700. * @param index
  1701. */
  1702. checkPieceConfByMode: function (index) {
  1703. vm.minusTypePieceMode10List[index].pieceMinusConf = vm.minusTypePieceMode10List[index].pieceMinusConf.replace(/[^\d]/g,"");
  1704. var re = /^[+]{0,1}(\d+)$/;
  1705. if (vm.minusTypePieceMode10List[index].pieceMinusConf != '') {
  1706. if (!re.test(vm.minusTypePieceMode10List[index].pieceMinusConf)) {
  1707. $("#"+(index+'piece_mode')).html('* 只允许输入大于0的整数');
  1708. vm.isValidationByPieceMode = false;
  1709. }else if(vm.minusTypePieceMode10List[index].pieceMinusConf <= 0){
  1710. $("#"+(index+'piece_mode')).html('* 只允许输入大于0的整数');
  1711. vm.isValidationByPieceMode = false;
  1712. }else{
  1713. $("#"+(index+'piece_mode')).html('');
  1714. vm.isValidationByPieceMode = true;
  1715. }
  1716. }
  1717. },
  1718. /**
  1719. * 满件满减,且减免类型为每满一次减一次,校验【满件减优惠】
  1720. * @param index
  1721. */
  1722. checkPiecePrefByMode: function (index) {
  1723. vm.minusTypePieceMode10List[index].pieceMinusPref = vm.minusTypePieceMode10List[index].pieceMinusPref.replace(/[^\d.]/g,"");
  1724. var re = /^\d+(\.\d{1,2})?$/
  1725. if (vm.minusTypePieceMode10List[index].pieceMinusPref != '') {
  1726. if (!re.test(vm.minusTypePieceMode10List[index].pieceMinusPref)) {
  1727. $("#"+(index+'piece_mode_pref')).html('* 最多只保留小数点后2位的正数');
  1728. vm.isValidationByPieceMode = false;
  1729. }else if (vm.minusTypePieceMode10List[index].pieceMinusPref<= 0) {
  1730. $("#"+(index+'piece_mode_pref')).html('* 不能小于等于0');
  1731. vm.isValidationByPieceMode = false;
  1732. }else{
  1733. $("#"+(index+'piece_mode_pref')).html('');
  1734. vm.isValidationByPieceMode = true;
  1735. }
  1736. }
  1737. },
  1738. /**
  1739. * 满件满减,且减免类型为每满一次减一次,校验【每人最多】
  1740. * @param index
  1741. */
  1742. checkEachDiscByPieceMode: function (index) {
  1743. vm.minusTypePieceMode10List[index].pieceMinusEachDisc = vm.minusTypePieceMode10List[index].pieceMinusEachDisc.replace(/[^\d.]/g,"");
  1744. var re = /^\d+(\.\d{1,2})?$/
  1745. if (vm.minusTypePieceMode10List[index].pieceMinusEachDisc != '') {
  1746. if (!re.test(vm.minusTypePieceMode10List[index].pieceMinusEachDisc)) {
  1747. $("#"+(index+'piece_mode_each')).html('* 最多只保留小数点后2位的正数');
  1748. vm.isValidationByPieceMode = false;
  1749. }else if (vm.minusTypePieceMode10List[index].pieceMinusEachDisc< 0) {
  1750. $("#"+(index+'piece_mode_each')).html('* 不能小于0');
  1751. vm.isValidationByPieceMode = false;
  1752. }else{
  1753. $("#"+(index+'piece_mode_each')).html('');
  1754. vm.isValidationByPieceMode = true;
  1755. }
  1756. }
  1757. },
  1758. },
  1759. mounted() {
  1760. $.get("../sys/macro/queryMacrosByValue?value=goodsBizType", function (r) {
  1761. vm.macros = r.list;
  1762. });
  1763. }
  1764. });