From 7e389247b3b2877c12f1eaae6e33c9c33e91d2dd Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 08 一月 2021 18:41:59 +0800 Subject: [PATCH] 活动添加后台完善 --- service-daylucky/src/main/resources/static/activity-add.html | 455 ++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 273 insertions(+), 182 deletions(-) diff --git a/service-daylucky/src/main/resources/static/activity-add.html b/service-daylucky/src/main/resources/static/activity-add.html index 812f8fc..5bad625 100644 --- a/service-daylucky/src/main/resources/static/activity-add.html +++ b/service-daylucky/src/main/resources/static/activity-add.html @@ -20,6 +20,8 @@ <!--[if lt IE 9]> <script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script> <script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script> + <script src="js/http.js"></script> + <![endif]--> <style> @@ -137,7 +139,7 @@ </div> </div> - <button class="layui-btn layui-btn-radius layui-btn-normal" + <button class="layui-btn layui-btn-radius layui-btn-normal hidden" id="saveActivityInfo" lay-submit="">淇濆瓨 </button> @@ -192,7 +194,7 @@ </div> </div> </div> - <button class="layui-btn layui-btn-radius layui-btn-normal" id="saveAwardInfo" lay-submit="">淇濆瓨 + <button class="layui-btn layui-btn-radius layui-btn-normal hidden" id="saveAwardInfo" lay-submit="">淇濆瓨 </button> @@ -259,7 +261,7 @@ autocomplete="off" class="layui-textarea" maxlength="256"></textarea></div> </div> - <button class="layui-btn layui-btn-radius layui-btn-normal" id="saveJoinInfo" + <button class="layui-btn layui-btn-radius layui-btn-normal hidden" id="saveJoinInfo" lay-filter="save-activity" lay-submit="">淇濆瓨 </button> </form> @@ -307,8 +309,7 @@ </div> </div> - <button class="layui-btn layui-btn-radius layui-btn-normal" id="saveOpenInfo" - lay-filter="save-activity" lay-submit="">淇濆瓨 + <button class="layui-btn layui-btn-radius layui-btn-normal hidden" id="saveOpenInfo" lay-submit="">淇濆瓨 </button> </form> </div> @@ -316,133 +317,148 @@ <button class="layui-btn layui-btn-warm layui-btn-lg" v-on:click="submit">绔嬪嵆鎻愪氦</button> </div> - - </div> + +<script src="js/lodash.js"></script> <script src="js/common.js"></script> -<script> - //楠岃瘉绠$悊鍣� - var validManager = { - //楠岃瘉鎶藉淇℃伅 - verifyActivityInfo() { - const field = common.layuiForm.val('form-activity-info'); - if (!$("#poster").attr("src")) { - common.notify.error("璇烽�夋嫨灏侀潰鍥剧墖"); - return false; - } - - //鍒ゆ柇鏉′欢 - if (field.showBanner == 1 && $(".banner").find("img").length == 0) { - common.notify.error("璇烽�夋嫨banner鍥剧墖"); - return false; - } - - if (field.showBanner == 1 && $(".banner").find("img").length > 3) { - common.notify.error("banner鍥炬渶澶�3寮�"); - return false; - } - return true; - }, - //楠岃瘉濂栧搧淇℃伅 - verifyAwardInfo() { - console.log("verifyAwardInfo"); - if (app.tempAwardsList == null || app.tempAwardsList.length == 0) { - common.notify.error("璇锋坊鍔犲椤�"); - return false; - } - var hasAward = false; - for (var i = 0; i < app.tempAwardsList.length; i++) { - if (app.tempAwardsList[i].data && app.tempAwardsList[i].data.type) { - hasAward = true; - break; - } - } - - if (!hasAward) { - common.notify.error("璇烽�夋嫨濂栭」绫诲瀷"); - return false; - } - - const field = common.layuiForm.val('form-award-info'); - - return true; - }, - //楠岃瘉鍙備笌淇℃伅 - verifyJoinInfo() { - const field = common.layuiForm.val('form-join-info'); - console.log(field); - if (!app.joinInfo.adInfo.data) { - common.notify.error("璇烽�夋嫨鍙備笌鏉′欢-璺宠浆閾捐矾"); - return false; - } - - - return true; - }, - //楠岃瘉寮�濂栨潯浠� - verifyOpenInfo() { - const field = common.layuiForm.val('form-open-info'); - console.log(field); - if (parseInt(field.minPersonCount) < 1000 || parseInt(field.minPersonCount) > 10000) { - common.notify.error("鑷冲皯鍙備笌浜烘暟鐨勮寖鍥翠负锛�1000-10000"); - return false; - } - - if (parseInt(field.day) < 1 || parseInt(field.day) > 7) { - common.notify.error("娲诲姩鏈夋晥鏈熺殑鑼冨洿涓猴細1-7"); - return false; - } - - return true; - }, - verify(es) { - - for (var i = 0; i < es.length; i++) { - if (!es[i]()) { - return false; - } - } - return true; - }, - verifyAll() { - return this.verify([this.verifyActivityInfo, this.verifyAwardInfo, this.verifyJoinInfo, this.verifyOpenInfo]); - } - }; - - var formManager = { - - //淇濆瓨鍒颁复鏃跺彉閲� - saveActivityInfoToTemp() { - app.temp.activity = app.activity; - }, - saveAwardInfoToTemp() { - app.temp.awardInfo = app.tempAwardsList; - }, - saveJoinInfoToTemp() { - //璧嬪�� - const field = common.layuiForm.val('form-join-info'); - var joinInfo = app.joinInfo; - joinInfo.must = field.must; - joinInfo.desc = field.desc; - app.temp.joinInfo = joinInfo; - }, - saveOpenInfoToTemp() { - const field = common.layuiForm.val('form-open-info'); - var openInfo = app.openInfo; - for (key in field) { - openInfo[key] = field[key]; - } - app.temp.openInfo = openInfo; - }, - saveToTemp() { - this.saveActivityInfoToTemp(); - this.saveAwardInfoToTemp(); - this.saveJoinInfoToTemp(); - this.saveOpenInfoToTemp(); +<script>; +//楠岃瘉绠$悊鍣� +var validManager = { + //楠岃瘉鎶藉淇℃伅 + verifyActivityInfo() { + console.log("楠岃瘉鎶藉淇℃伅"); + const field = common.layuiForm.val('form-activity-info'); + if (!$("#poster").attr("src")) { + common.notify.error("璇烽�夋嫨灏侀潰鍥剧墖"); + return false; } - }; + //鍒ゆ柇鏉′欢 + if (field.showBanner == 1 && $(".banner").find("img").length == 0) { + common.notify.error("璇烽�夋嫨banner鍥剧墖"); + return false; + } + + if (field.showBanner == 1 && $(".banner").find("img").length > 3) { + common.notify.error("banner鍥炬渶澶�3寮�"); + return false; + } + return true; + }, + //楠岃瘉濂栧搧淇℃伅 + verifyAwardInfo() { + console.log("楠岃瘉濂栧搧淇℃伅"); + if (app.tempAwardsList == null || app.tempAwardsList.length == 0) { + common.notify.error("璇锋坊鍔犲椤�"); + return false; + } + var hasAward = false; + for (var i = 0; i < app.tempAwardsList.length; i++) { + if (app.tempAwardsList[i].data && app.tempAwardsList[i].data.type) { + hasAward = true; + break; + } + } + + if (!hasAward) { + common.notify.error("璇烽�夋嫨濂栭」绫诲瀷"); + return false; + } + + const field = common.layuiForm.val('form-award-info'); + + return true; + }, + //楠岃瘉鍙備笌淇℃伅 + verifyJoinInfo() { + console.log("楠岃瘉鍙備笌鏉′欢"); + const field = common.layuiForm.val('form-join-info'); + console.log(field); + if (!app.joinInfo.adInfo.data) { + common.notify.error("璇烽�夋嫨鍙備笌鏉′欢-璺宠浆閾捐矾"); + return false; + } + + + return true; + }, + //楠岃瘉寮�濂栨潯浠� + verifyOpenInfo() { + console.log("楠岃瘉寮�濂栨潯浠�"); + const field = common.layuiForm.val('form-open-info'); + console.log(field); + alert(parseInt(field.minPersonCount)); + alert(parseInt(field.day)); + + if (!parseInt(field.minPersonCount)) { + common.notify.error("璇峰~鍐欐纭殑鍙備笌浜烘暟"); + return false; + } + + if (!parseInt(field.day)) { + common.notify.error("璇峰~鍐欐纭殑澶╂暟"); + return false; + } + + if (parseInt(field.minPersonCount) < 1000 || parseInt(field.minPersonCount) > 10000) { + common.notify.error("鑷冲皯鍙備笌浜烘暟鐨勮寖鍥翠负锛�1000-10000"); + return false; + } + + if (parseInt(field.day) < 1 || parseInt(field.day) > 7) { + common.notify.error("娲诲姩鏈夋晥鏈熺殑鑼冨洿涓猴細1-7"); + return false; + } + + return true; + }, + verify(es) { + + for (var i = 0; i < es.length; i++) { + if (!es[i]()) { + return false; + } + } + return true; + }, + verifyAll() { + return this.verify([this.verifyActivityInfo, this.verifyAwardInfo, this.verifyJoinInfo, this.verifyOpenInfo]); + } +}; + +var formManager = { + + //淇濆瓨鍒颁复鏃跺彉閲� + saveActivityInfoToTemp() { + app.temp.activity = app.activity; + }, + saveAwardInfoToTemp() { + app.temp.awardInfo = app.tempAwardsList; + }, + saveJoinInfoToTemp() { + //璧嬪�� + const field = common.layuiForm.val('form-join-info'); + var joinInfo = app.joinInfo; + joinInfo.must = field.must; + joinInfo.desc = field.desc; + app.temp.joinInfo = joinInfo; + }, + saveOpenInfoToTemp() { + const field = common.layuiForm.val('form-open-info'); + var openInfo = app.openInfo; + for (key in field) { + openInfo[key] = field[key]; + } + app.temp.openInfo = openInfo; + }, + saveToTemp() { + this.saveActivityInfoToTemp(); + this.saveAwardInfoToTemp(); + this.saveJoinInfoToTemp(); + this.saveOpenInfoToTemp(); + } +}; </script> @@ -450,25 +466,40 @@ //鏂囦欢涓婁紶鍒濆鍖� var uploadPoster; var uploadBanner; + var posterFileList; var bannerFileList; common.initLayui(function () { //layui鐩稿叧鍒濆鍖栨垚鍔� app.initData(); - uploadPoster = common.initUploadImagePlugin({ + + const uploadPosterParams = { elem: "#choicePoster", showElem: "#poster", uploadUrl: "/admin/upload/image?from=activity", dir: 'poster', field: "image", + choose(obj) { + var files = posterFileList = obj.pushFile(); + obj.preview(function (index, file, result) { + $("#poster").attr("src", result); + }); + }, uploadSuccess: function (res) { app.posterUploadSuccess(res.data); + //閲嶇疆鏂囦欢浼犺緭 + for (key in posterFileList) { + delete posterFileList[key]; + } } - }); + }; + + + uploadPoster = common.initUploadImagePlugin(uploadPosterParams); var bannerUrlList = new Array(); - uploadBanner = common.initUploadImagePlugin({ + var uploadBannerParams = { elem: "#choiceBanner", uploadUrl: "/admin/upload/image?from=activity", dir: 'banner', @@ -496,12 +527,18 @@ count++; } bannerUrlList.push(res.data); + }, + allDone: function (res) { //鏂囦欢涓婁紶瀹屾瘯 - if (bannerUrlList.length == count) { - app.bannerUploadSuccess(bannerUrlList); + app.bannerUploadSuccess(bannerUrlList); + for (key in bannerFileList) { + delete bannerFileList[key]; } } - }); + } + + uploadBanner = common.initUploadImagePlugin(uploadBannerParams); + console.log(uploadBanner); }); @@ -520,8 +557,10 @@ data: { activity: {}, tempAwardsList: [], - openInfo: {}, - joinInfo: {adInfo: {}}, + openInfo: { + }, + joinInfo: { + adInfo: {}}, temp: {//涓存椂鏁版嵁锛岀敤浜庢彁浜ゅ埌鏈嶅姟绔� }, @@ -547,26 +586,35 @@ this.addAward(); }, methods: { + //璁剧疆鏁版嵁 + setTempData(temp) { + //娲诲姩淇℃伅璧嬪��(娣辨嫹璐�) + this.activity = _.cloneDeep(temp.activity); + this.tempAwardsList = _.cloneDeep(temp.awardInfo); + this.openInfo = _.cloneDeep(temp.openInfo); + this.joinInfo = _.cloneDeep(temp.joinInfo); + }, //鍒濆鍖栨暟鎹� initData() { $this = this; /**************鍒濆鍖栨娊濂栦俊鎭�************/ - if (this.activity.poster) - $("#poster").attr("src", this.activity.poster); - if (this.activity.banner && this.activity.banner.length > 0) { - for (var i = 0; i < this.activity.banner.length; i++) { - var url = this.activity.banner[i].img; - var item = getBannerItemHtml(url); - item.find("i").on('click', function () { - //鍒犻櫎褰撳墠鏁版嵁 - app.activity.banner.splice(i, 1); - item.remove(); - }); - $(".banner").append(item); - } + + //鍒犻櫎鎵�鏈夐�夋嫨鐨勬枃浠� + for (key in posterFileList) { + delete posterFileList[key]; } - //閫夋嫨banner + for (key in bannerFileList) { + delete bannerFileList[key]; + } + + + $(".banner").empty(); + if (this.activity.poster) + $("#poster").attr("src", this.activity.poster); + + + //閫夋嫨banner鐩戝惉 common.layuiForm.on('radio(banner)', function (data) { if (data.value == 1) { $(".banner-container").css("display", "block"); @@ -575,11 +623,31 @@ } }); + if (this.activity.bannerList && this.activity.bannerList.length > 0) { + for (var i = 0; i < this.activity.bannerList.length; i++) { + var url = this.activity.bannerList[i].url; + var item = getBannerItemHtml(url); + item.find("i").on('click', function () { + //鍒犻櫎褰撳墠鏁版嵁 + app.activity.bannerList.splice(i, 1); + item.remove(); + }); + $(".banner").append(item); + } + //璁剧疆閫夐」 + $("input[name=showBanner][value=1]").prop("checked", "true"); + } else { + console.log("閫夋嫨banner"); + $("input[name=showBanner][value=0]").prop("checked", "true"); + } + common.layuiForm.on('submit(form-activity-info)', function (data) { field = common.layuiForm.val('form-activity-info'); - if (!validManager.verifyActivityInfo()) + if (!validManager.verifyActivityInfo()) { + app.finishSubmit(); return false; + } // 鏁版嵁鏆傚瓨 app.tempField.activity = field; //鏈夊皝闈㈠浘 @@ -595,8 +663,14 @@ common.layuiForm.on('submit(form-award-info)', function (data) { console.log("鎻愪氦濂栧搧淇℃伅"); - if (!validManager.verifyAwardInfo()) + if (!validManager.verifyAwardInfo()) { + app.finishSubmit(); return false; + } + + //鏆傚瓨 + formManager.saveAwardInfoToTemp() + //璧嬪�� $("#saveJoinInfo").click(); @@ -607,28 +681,46 @@ common.layuiForm.on('submit(form-join-info)', function (data) { console.log("鎻愪氦鍙備笌鏉′欢"); - if (!validManager.verifyJoinInfo()) + if (!validManager.verifyJoinInfo()) { + app.finishSubmit(); return false; - $("#saveOpenInfo").click(); + } + //鏆傚瓨 + formManager.saveJoinInfoToTemp(); + $("form[lay-filter=form-open-info]").submit() return false; }); + + //鍒濆鍖栬〃鍗曠殑鍊� + common.layuiForm.val("form-join-info", this.joinInfo); + /**************鍒濆鍖栧紑濂栨潯浠�************/ common.layuiForm.on('submit(form-open-info)', function (data) { console.log("鎻愪氦寮�濂栨潯浠�"); - if (!validManager.verifyOpenInfo()) + if (!validManager.verifyOpenInfo()) { + app.finishSubmit(); return false; - - + } + //鏆傚瓨 + formManager.saveOpenInfoToTemp(); + app.finishSubmit(true); return false; }); + common.layuiForm.val("form-open-info", this.openInfo); + + common.layuiForm.render(); }, //灏侀潰鍥句笂浼犳垚鍔� posterUploadSuccess(res) { console.log("灏侀潰鍥句笂浼犳垚鍔�"); console.log(res); + if (res) {//涓婁紶浜嗘枃浠� + $("#poster").attr("src", res); + this.activity.poster = res; + } //涓婁紶鏂囦欢 var bannerEmpty = true; for (key in bannerFileList) { @@ -657,32 +749,23 @@ this.activity.bannerList.push(banner); } } + + //鏆傚瓨娲诲姩淇℃伅 + formManager.saveActivityInfoToTemp(); + //鎻愪氦濂栭」 $("#saveAwardInfo").click(); }, //娣诲姞 - requestAdd: function () { - //缁勮鏁版嵁 - if (this.data.awardsList.length == 0) { - return; - } - if (this.data.poster == null || this.data.poster.length == 0) { - return; - } - + requestAdd: function (data) { var params = { - activity: this.data.activity, - awardsList: this.data.awardsList, - openInfo: this.data.openInfo, - adInfo: this.data.adInfo, + data: data, } - - this.activity.poster = this.data.poster; //鍙戝紓姝ワ紝鎶婃暟鎹彁浜ょ粰php - ksapp.post('/admin/api/app/add', params, function (res) { + ksapp.post('/admin/activity/addActivity', params, function (res) { if (res.code == 0) { layer.alert("澧炲姞鎴愬姛", { icon: 6 @@ -706,17 +789,24 @@ if (!validManager.verifyAll()) { return; } + var loading = layer.load(0, {shade: false}); + app.submitLoading = loading; //瑙﹀彂琛ㄥ崟鎻愪氦 $("#saveActivityInfo").click(); - //淇濆瓨涓存椂鍙橀噺 - formManager.saveToTemp(); - console.log("涓存椂鍙橀噺") - //灏嗘暟鎹彁浜ゅ埌鏈嶅姟鍣� - var temp = this.temp; - - - - console.log(this.temp); + }, + finishSubmit: function (finish) { + console.log(JSON.stringify(this.temp)); + if (app.submitLoading) { + layer.close(app.submitLoading) + } + //鎵�鏈夋暟鎹凡缁忓彇瀹� + if (finish) { + console.log("鑾峰彇鍒扮殑缁撴灉"); + console.log(this.temp); + app.setTempData(this.temp); + app.initData(); + //this.requestAdd(JSON.stringify(this.temp)); + } }, /** @@ -837,9 +927,10 @@ title: params.title, width: 500, height: 400, - content: params.url + "?data=" + encodeURIComponent(JSON.stringify(award)), + content: params.url + "?data=" + escape(JSON.stringify(award)), submit(res) { var award = app.tempAwardsList[index]; + award.type = "alipayRedPackage"; var data = award.data; data.total = res.total; data.count = res.count; -- Gitblit v1.8.0