From beb8523b95753065e67a48f9d7134fda8565bc89 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 06 一月 2021 19:32:27 +0800 Subject: [PATCH] 活动添加后台完善 --- service-daylucky/src/main/resources/static/activity-add.html | 981 ++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 751 insertions(+), 230 deletions(-) diff --git a/service-daylucky/src/main/resources/static/activity-add.html b/service-daylucky/src/main/resources/static/activity-add.html index 9108dec..812f8fc 100644 --- a/service-daylucky/src/main/resources/static/activity-add.html +++ b/service-daylucky/src/main/resources/static/activity-add.html @@ -1,5 +1,5 @@ <!DOCTYPE html> -<html class="x-admin-sm"> +<html class="x-admin-sm" xmlns:v-bind="http://www.w3.org/1999/xhtml"> <head> <meta charset="UTF-8"> @@ -10,6 +10,7 @@ content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi"/> <link rel="stylesheet" href="./css/font.css"> <link rel="stylesheet" href="./css/xadmin.css"> + <link rel="stylesheet" href="./css/common.css"> <script type="text/javascript" src="./lib/layui/layui.js" charset="utf-8"></script> <script type="text/javascript" src="./js/xadmin.js"></script> <script type="text/javascript" src="./js/vue.min.js"></script> @@ -23,9 +24,69 @@ <style> .poster { - max-width: 300px; - max-height: 300px; + max-width: 150px; + max-height: 150px; } + + .layui-input-inline { + width: auto !important; + } + + .btn-add-award { + color: white !important; + margin-left: 5px; + } + + .award-type-list { + display: flex; + } + + .award-type-list .award-type { + position: relative; + margin-right: 20px; + } + + .award-type-list img { + position: absolute; + right: -5px; + width: 20px; + height: 20px; + top: -5px; + } + + .desc { + color: #999; + padding-bottom: 5px; + } + + textarea { + width: 365px !important; + } + + .banner-container { + display: none; + } + + .banner { + display: flex; + } + + .banner-image-container { + position: relative; + margin-right: 5px; + } + + .banner-image-container i { + position: absolute; + top: 0; + right: 0; + } + + .hidden { + display: none; + } + + </style> </head> <body> @@ -34,82 +95,52 @@ <div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief"> <div class="layui-card"> - <div class="layui-card-header">娲诲姩鍐呭</div> + <div class="layui-card-header">鎶藉淇℃伅</div> <div class="layui-card-body"> <div class="layui-row"> - <form class="layui-form"> - <div class="layui-form-item"> - <label for="L_name" class="layui-form-label"> - <span class="x-red">*</span>娲诲姩鍚嶇О</label> - <div class="layui-input-inline"> - <input type="text" id="L_name" name="name" lay-verify="username|required" - autocomplete="off" class="layui-input"></div> - </div> - + <form class="layui-form" lay-filter="form-activity-info"> <div class="layui-form-item"> <label for="L_appName" class="layui-form-label"> - <span class="x-red">*</span>娲诲姩娴锋姤</label> + <span class="x-red">*</span>鎶藉娲诲姩灏侀潰</label> <div class="layui-input-inline"> - <div class="layui-upload"> - <button type="button" class="layui-btn" id="test1">閫夋嫨鍥剧墖</button> + <button type="button" class="layui-btn" id="choicePoster">閫夋嫨鍥剧墖</button> <div class="layui-upload-list"> <img class="layui-upload-img poster" id="poster"> </div> </div> + </div> </div> - <div class="layui-form-item"> - <label for="L_desc" class="layui-form-label"> - 娲诲姩绠�浠�</label> - <div class="layui-input-inline"> - <textarea id="L_desc" name="desc" required="" lay-verify="desc" - autocomplete="off" class="layui-textarea"></textarea></div> - </div> <div class="layui-form-item"> <label class="layui-form-label"> - <span class="x-red">*</span>鏈�澶у弬涓庝汉鏁�</label> - <div class="layui-input-inline"> - <input type="text" name="maxPersonCount" required="" lay-verify="required|number" - autocomplete="off" class="layui-input"></div> + <span class="x-red">*</span>鎶藉娲诲姩璇︽儏椤垫í骞呰缃�</label> + <div> + + <div> + + <!-- lay-filter="banner" --> + <input type="radio" name="showBanner" value="0" title="鍜屾娊濂栨椿鍔ㄥ皝闈竴鑷�" checked="" + lay-filter="banner"> + <input type="radio" name="showBanner" value="1" title="閲嶆柊璁剧疆" lay-filter="banner"> + </div> + + <div class="layui-upload layui-input-inline banner-container"> + <button type="button" class="layui-btn" id="choiceBanner">閫夋嫨鍥剧墖</button> + <div class="layui-upload-list banner"> + + </div> + </div> + + </div> </div> + <button class="layui-btn layui-btn-radius layui-btn-normal" + id="saveActivityInfo" lay-submit="">淇濆瓨 + </button> - - <div class="layui-form-item"> - <label class="layui-form-label"> - <span class="x-red">*</span>棰勮寮�濮嬫椂闂�</label> - <div class="layui-input-inline"> - <input type="text" name="preStartTime" required="" - autocomplete="off" class="layui-input"></div> - </div> - - - <div class="layui-form-item"> - <label class="layui-form-label"> - 棰勮缁撴潫鏃堕棿</label> - <div class="layui-input-inline"> - <input type="text" name="preFinishTime" - autocomplete="off" class="layui-input"></div> - </div> - - <div class="layui-form-item"> - <label class="layui-form-label"> - 棰勮寮�濂栨椂闂�</label> - <div class="layui-input-inline"> - <input type="text" name="preOpenTime" - autocomplete="off" class="layui-input"></div> - </div> - - - <div class="layui-form-item"> - <label for="L_remarks" class="layui-form-label"></label> - <button class="layui-btn layui-btn-radius layui-btn-normal" id="save" - lay-filter="save-activity" lay-submit="">淇濆瓨 - </button> - </div> </form> </div> @@ -117,79 +148,54 @@ </div> <div class="layui-card"> - <div class="layui-card-header">娲诲姩濂栧搧</div> + <div class="layui-card-header">濂栧搧淇℃伅</div> <div class="layui-card-body"> <!--濂栧搧鍒楄〃 --> - - <form class="layui-form award-form"> - <div v-for="(item,index) in tempAwardsList"> + <form class="layui-form" lay-filter="form-award-info"> - <div class="layui-form-item"> - <label for="L_name" class="layui-form-label"> - <span class="x-red">*</span>濂栧搧鍚嶇О</label> - <div class="layui-input-inline"> - <input type="text" id="L_name" placeholder="璇疯緭鍏ュ鍝佸悕绉�" name="name" lay-verify="username|required" - autocomplete="off" class="layui-input"></div> - </div> - - <div class="layui-form-item"> - <label class="layui-form-label"> - <span class="x-red">*</span>濂栧搧鏁伴噺</label> - <div class="layui-input-inline"> - <input type="text" name="maxPersonCount" placeholder="璇疯緭鍏ュ鍝佹暟閲�" required="" lay-verify="required|number" - autocomplete="off" class="layui-input"></div> - </div> - - <div class="layui-form-item"> - <label class="layui-form-label"> - <span class="x-red">*</span>濂栧搧绫诲瀷</label> - <div class="layui-input-inline"> - <select name="city" lay-verify="required"> - <option value=""></option> - <option value="0">鏀粯瀹濈幇閲戠孩鍖�</option> - </select> - </div> - - </div> - - <div class="layui-form-item"> - <label class="layui-form-label"> - <span class="x-red">*</span>绾㈠寘鎬婚噾棰�</label> - <div class="layui-input-inline"> - <input type="text" name="maxPersonCount" placeholder="璇疯緭鍏ョ孩鍖呮�婚噾棰�" required="" lay-verify="required|number" - autocomplete="off" class="layui-input"></div> - </div> + <div class="layui-tab layui-tab-card" lay-filter="award"> + <ul class="layui-tab-title"> + <li v-for="(item,index) in tempAwardsList" v-bind:class="{'layui-this':item.selected}" + v-bind:lay-id="index">{{item.title}} + </li> + <button class="layui-btn btn-add-award" type="button" data-type="tabAdd" + v-on:click="addAward"><i + class="layui-icon">顧�</i>澧炲姞濂栭」 + </button> + </ul> + <div class="layui-tab-content"> + <div class="layui-tab-item" v-for="(item,index) in tempAwardsList" + v-bind:class="{'layui-show':item.selected}"> + <div class="award-type-list"> + <div class="award-type"> + <button type="button" class="layui-btn layui-btn-primary layui-btn-lg" + v-on:click="awardRedPacktRandom($event,index)">闅忔満绾㈠寘 + </button> + <img src="img/icon_checked_round.png" v-if="item.data.type==2"> + </div> + <div class="award-type"> + <button type="button" class="layui-btn layui-btn-primary layui-btn-lg" + v-on:click="awardRedPacktDivide($event,index)">鍥哄畾绾㈠寘 + </button> + <img src="img/icon_checked_round.png" v-if="item.data.type==1"> + </div> + </div> - <div class="layui-form-item"> - <label class="layui-form-label"> - <span class="x-red">*</span>涓鏂瑰紡</label> - <div class="layui-input-inline"> - <select name="city" lay-verify="required"> - <option value=""></option> - <option value="0">闅忔満</option> - <option value="0">鍧囧垎</option> - </select> + <button type="button" + class="layui-btn layui-btn-radius layui-btn-danger btn-award-delete" + v-bind:lay-index="index" v-on:click="deleteAward(index)" + style="margin-top: 10px;"> + 鍒犻櫎 + </button> </div> </div> - - - <i @click="delAward(index)" class="layui-icon"></i> - - <hr class="layui-bg-green"> - </div> + <button class="layui-btn layui-btn-radius layui-btn-normal" id="saveAwardInfo" lay-submit="">淇濆瓨 + </button> - <i v-on:click="addAward" class="layui-btn">娣诲姞濂栭」</i> - - <div class="layui-form-item"> - <label for="L_remarks" class="layui-form-label"></label> - <button class="layui-btn layui-btn-radius layui-btn-normal" - lay-filter="save-awards" lay-submit="">淇濆瓨 - </button> - </div> </form> </div> @@ -197,48 +203,465 @@ <div class="layui-card"> - <div class="layui-card-header">寮�濂栬缃�</div> + <div class="layui-card-header">鍙備笌鏉′欢</div> <div class="layui-card-body"> + <form class="layui-form" lay-filter="form-join-info"> + + <div class="layui-form-item"> + <label class="layui-form-label"> + <span class="x-red">*</span>鍙備笌鏉′欢</label> + <div class="layui-input-block"> + <div class="desc"> + 鐢ㄦ埛婊¤冻浠ヤ笅璁剧疆鏉′欢鍚庢柟鍙弬涓庢娊濂� + </div> + <div> + <input type="radio" name="must" value="0" title="涓嶈缃�/鏃�" checked=""> + <input type="radio" name="must" value="1" title="鐢ㄦ埛蹇呴』瑕佹弧瓒充互涓嬫潯浠�"> + </div> + </div> + </div> + + <div class="layui-form-item"> + <label class="layui-form-label"> + <span class="x-red">*</span>璺宠浆閾捐矾</label> + <div> + + <div class="award-type-list"> + <div class="award-type"> + <button type="button" class="layui-btn layui-btn-primary layui-btn-lg" + v-on:click="openAdEditDialog('alipayLife')">鍏虫敞鐢熸椿鍙� + </button> + <img src="img/icon_checked_round.png" v-if="joinInfo.adInfo.type=='alipayLife'"> + </div> + <div class="award-type"> + <button type="button" class="layui-btn layui-btn-primary layui-btn-lg">娴忚灏忕▼搴� + </button> + <img src="img/icon_checked_round.png" v-if="false"> + </div> + + <div class="award-type"> + <button type="button" class="layui-btn layui-btn-primary layui-btn-lg">娴忚鐩存挱闂� + </button> + <img src="img/icon_checked_round.png" v-if="false"> + </div> + + </div> + + + </div> + </div> + + <div class="layui-form-item"> + <label for="L_desc" class="layui-form-label"> + 鍙備笌鏉′欢璇存槑</label> + <div class="layui-input-inline"> + <textarea id="L_desc" name="desc" lay-verify="desc" + autocomplete="off" class="layui-textarea" maxlength="256"></textarea></div> + </div> + + <button class="layui-btn layui-btn-radius layui-btn-normal" id="saveJoinInfo" + lay-filter="save-activity" lay-submit="">淇濆瓨 + </button> + </form> </div> </div> <div class="layui-card"> - <div class="layui-card-header">骞垮憡璁剧疆</div> + <div class="layui-card-header">寮�濂栨潯浠�</div> <div class="layui-card-body"> + + <form class="layui-form" lay-filter="form-open-info"> + <div class="layui-form-item"> + <label class="layui-form-label"> + <span class="x-red">*</span>鑷冲皯鍙備笌浜烘暟</label> + <div class="layui-input-inline"> + <label class="desc">鏈�灏�1000浜猴紝鏈�澶�100000浜猴紝榛樿5000浜猴紙娲诲姩缁撴潫鏃舵锛�</label> + <div class="flex-row flex-center"> + <input type="text" name="minPersonCount" required="" lay-verify="integer" + autocomplete="off" class="layui-input input-small" placeholder="姝f暣鏁�"> 浜� + </div> + </div> + </div> + + + <div class="layui-form-item"> + <label class="layui-form-label"> + <span class="x-red">*</span>寮�濂栨椂闂�/娲诲姩鏈夋晥鏈�</label> + <div class="layui-input-inline"> + <label class="desc">鑷冲皯1澶╋紝鏈�澶�7澶╋紝榛樿3澶╋紙娲诲姩鍙戝竷鏃惰捣锛�</label> + <div class="flex-row flex-center"> + <input type="text" name="day" required="" lay-verify="integer" + autocomplete="off" class="layui-input input-small" placeholder="姝f暣鏁�"> 澶� + </div> + </div> + </div> + + <div class="layui-form-item"> + <label class="layui-form-label"> + 寮�濂栨潯浠惰鏄�</label> + <div class="layui-input-inline"> + <label class="desc">鏈�澶�150涓瓧绗︼紝鍙崲琛屼笖鍏煎绗﹀彿琛ㄦ儏</label> + <div class="flex-row flex-center"> + <textarea class="layui-textarea" maxlength="150"></textarea> + </div> + </div> + </div> + + <button class="layui-btn layui-btn-radius layui-btn-normal" id="saveOpenInfo" + lay-filter="save-activity" lay-submit="">淇濆瓨 + </button> + </form> </div> </div> - - - <button class="layui-btn layui-btn-warm layui-btn-lg" id="submit" lay-submit="">绔嬪嵆鎻愪氦</button> + <button class="layui-btn layui-btn-warm layui-btn-lg" v-on:click="submit">绔嬪嵆鎻愪氦</button> </div> </div> +<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> + +<script> + //鏂囦欢涓婁紶鍒濆鍖� + var uploadPoster; + var uploadBanner; + var bannerFileList; + common.initLayui(function () { + //layui鐩稿叧鍒濆鍖栨垚鍔� + app.initData(); + + uploadPoster = common.initUploadImagePlugin({ + elem: "#choicePoster", + showElem: "#poster", + uploadUrl: "/admin/upload/image?from=activity", + dir: 'poster', + field: "image", + uploadSuccess: function (res) { + app.posterUploadSuccess(res.data); + } + }); + + var bannerUrlList = new Array(); + + uploadBanner = common.initUploadImagePlugin({ + elem: "#choiceBanner", + uploadUrl: "/admin/upload/image?from=activity", + dir: 'banner', + field: "image", + multiple: true, + choose(obj) { + var files = bannerFileList = obj.pushFile(); + + obj.preview(function (index, file, result) { + var item = getBannerItemHtml(result); + item.find("i").on('click', function () { + //鍒犻櫎褰撳墠鏁版嵁 + delete files[index] + item.remove(); + uploadBanner.config.elem.next()[0].value = ''; //娓呯┖ input file 鍊硷紝浠ュ厤鍒犻櫎鍚庡嚭鐜板悓鍚嶆枃浠朵笉鍙�� + }); + + $(".banner").append(item); + }); + }, + uploadSuccess: function (res) { + //璁$畻闇�瑕佷笂浼犳枃浠剁殑鏁伴噺 + var count = 0; + for (key in bannerFileList) { + count++; + } + bannerUrlList.push(res.data); + //鏂囦欢涓婁紶瀹屾瘯 + if (bannerUrlList.length == count) { + app.bannerUploadSuccess(bannerUrlList); + } + } + }); + + }); + + function getBannerItemHtml(src) { + var html = "<div class='banner-image-container'>"; + html += "<img class='layui-upload-img poster' src='" + src + "'>"; + html += "<i class='layui-icon'></i>"; + html += "</div>"; + var item = $(html); + return item; + } + var app = new Vue({ el: '#main', data: { - poster: '', - activity: null, - awardsList: [], - tempAwardsList: [{}], - openInfo: null, - adInfo: null, - uploadPosterUrl: '/admin/upload/image?from=activity' + activity: {}, + tempAwardsList: [], + openInfo: {}, + joinInfo: {adInfo: {}}, + temp: {//涓存椂鏁版嵁锛岀敤浜庢彁浜ゅ埌鏈嶅姟绔� + }, + tempField: {//field涓存椂瀛樺偍 + + } }, watch: { tempAwardsList: function () { setTimeout(function () { - layui.use(['form'], function () { - form.render(); - }) + // layui.use(['form'], function () { + // form = layui.form; + // form.render(); + // }) + common.layuiForm.render(); }); } }, + created: function () { + + }, + mounted: function () { + this.addAward(); + }, methods: { + //鍒濆鍖栨暟鎹� + 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); + } + } + + //閫夋嫨banner + common.layuiForm.on('radio(banner)', function (data) { + if (data.value == 1) { + $(".banner-container").css("display", "block"); + } else { + $(".banner-container").css("display", "none"); + } + }); + + common.layuiForm.on('submit(form-activity-info)', + function (data) { + field = common.layuiForm.val('form-activity-info'); + if (!validManager.verifyActivityInfo()) + return false; + // 鏁版嵁鏆傚瓨 + app.tempField.activity = field; + //鏈夊皝闈㈠浘 + if ($(".layui-upload-file").eq(0).val()) { + //涓婁紶灏侀潰鍥� + uploadPoster.upload(); + } else { + $this.posterUploadSuccess(); + } + return false; + }); + /**************鍒濆鍖栧鍝佷俊鎭�************/ + common.layuiForm.on('submit(form-award-info)', + function (data) { + console.log("鎻愪氦濂栧搧淇℃伅"); + if (!validManager.verifyAwardInfo()) + return false; + //璧嬪�� + $("#saveJoinInfo").click(); + + return false; + }); + + /**************鍒濆鍖栧弬涓庢潯浠�************/ + common.layuiForm.on('submit(form-join-info)', + function (data) { + console.log("鎻愪氦鍙備笌鏉′欢"); + if (!validManager.verifyJoinInfo()) + return false; + $("#saveOpenInfo").click(); + return false; + }); + + /**************鍒濆鍖栧紑濂栨潯浠�************/ + common.layuiForm.on('submit(form-open-info)', + function (data) { + console.log("鎻愪氦寮�濂栨潯浠�"); + if (!validManager.verifyOpenInfo()) + return false; + + + return false; + }); + }, + + //灏侀潰鍥句笂浼犳垚鍔� + posterUploadSuccess(res) { + console.log("灏侀潰鍥句笂浼犳垚鍔�"); + console.log(res); + //涓婁紶鏂囦欢 + var bannerEmpty = true; + for (key in bannerFileList) { + bannerEmpty = false; + break; + } + if (!bannerEmpty) { + //涓婁紶banner鍥剧墖 + uploadBanner.upload(); + } else { + this.bannerUploadSuccess(); + } + }, + //banner鍥句笂浼犳垚鍔� + bannerUploadSuccess(res) { + console.log(res); + console.log("Banner鍥句笂浼犳垚鍔�"); + if (res) { + for (var i = 0; i < res.length; i++) { + //娣诲姞鏂扮殑鏁版嵁 + var banner = {}; + banner.url = res[i]; + if (!this.activity.bannerList) { + this.activity.bannerList = new Array(); + } + this.activity.bannerList.push(banner); + } + } + //鎻愪氦濂栭」 + $("#saveAwardInfo").click(); + + }, + //娣诲姞 requestAdd: function () { //缁勮鏁版嵁 @@ -277,104 +700,202 @@ }, function (res) { }); }, - //鍥剧墖涓婁紶鎴愬姛 - posterUploadSuccess: function (url) { - //鑾峰彇琛ㄥ崟鐨勬暟鎹� - app.data.poster = url; - app.requestAdd(); - }, - - addAward: function () { - this.tempAwardsList.push({}); - }, - delAward: function (index) { - this.tempAwardsList.splice(index, 1); - }, //鎻愪氦 submit: function () { - $("#poster").trigger("click"); + //鏈獙璇侀�氳繃 + if (!validManager.verifyAll()) { + return; + } + //瑙﹀彂琛ㄥ崟鎻愪氦 + $("#saveActivityInfo").click(); + //淇濆瓨涓存椂鍙橀噺 + formManager.saveToTemp(); + console.log("涓存椂鍙橀噺") + //灏嗘暟鎹彁浜ゅ埌鏈嶅姟鍣� + var temp = this.temp; + + + + console.log(this.temp); + }, + + /** + * 濂栭」 + */ + + addAward: function () { + var awardCount = this.tempAwardsList.length; + if (awardCount >= 5) { + common.notify.error("濂栭」鏈�澶氫负5涓�"); + return; + } + var awardTitle = ""; + switch (awardCount) { + case 0: + awardTitle = "濂栭」涓�" + break; + case 1: + awardTitle = "濂栭」浜�" + break; + case 2: + awardTitle = "濂栭」涓�" + break; + case 3: + awardTitle = "濂栭」鍥�" + break; + case 4: + awardTitle = "濂栭」浜�" + break; + } + + this.tempAwardsList.push({title: awardTitle, data: {}, selected: true}); + this.selectAward(this.tempAwardsList.length - 1); + }, + selectAward(index) { + for (var i = 0; i < this.tempAwardsList.length; i++) { + if (i == index) {//閫変腑 + var award = this.tempAwardsList[i]; + award.selected = true; + this.$set(this.tempAwardsList, i, award); + } else {//涓嶉�変腑 + if (this.tempAwardsList[i].selected) { + var award = this.tempAwardsList[i]; + award.selected = false; + this.$set(this.tempAwardsList, i, award); + } + } + } + }, + deleteAward: function (index) { + if (app.tempAwardsList.length <= 1) { + common.notify.error("鏈�浣庝繚鐣欎竴涓椤�"); + return; + } + //鍒犻櫎鍏冪礌鍚庨�変腑鐨勪笅鏍� + var selectedIndex; + if (index == 0) { + selectedIndex = 0; + } else if (index == app.tempAwardsList.length - 1) { + selectedIndex = index - 1; + } else { + selectedIndex = index; + } + + var list = app.tempAwardsList; + list.splice(index, 1); + for (var i = 0; i < list.length; i++) { + var awardTitle = ""; + switch (i) { + case 0: + awardTitle = "濂栭」涓�" + break; + case 1: + awardTitle = "濂栭」浜�" + break; + case 2: + awardTitle = "濂栭」涓�" + break; + case 3: + awardTitle = "濂栭」鍥�" + break; + case 4: + awardTitle = "濂栭」浜�" + break; + } + list[i].title = awardTitle; + app.tempAwardsList = list; + } + //閫変腑鐨勪笅琛� + console.log("閫変腑涓嬫爣锛�" + selectedIndex); + this.selectAward(selectedIndex); + }, + awardRedPacktRandom: function (event, index) { + app.openAwardEdit(index, 2); + }, + awardRedPacktDivide: function (event, index) { + app.openAwardEdit(index, 1); + }, + //鎵撳紑缂栬緫寮规 + openAwardEdit(index, type) { + var $this = this; + var params = {}; + switch (type) { + case 1: + params.url = "./award-type-redpacket-divide.html"; + params.title = "鍥哄畾绾㈠寘璁剧疆"; + break;//鍥哄畾绾㈠寘 + case 2: + params.url = "./award-type-redpacket-random.html"; + params.title = "闅忔満绾㈠寘璁剧疆"; + break;//闅忔満绾㈠寘 + } + var award = {}; + if (app.tempAwardsList[index].data && app.tempAwardsList[index].data.type == type) { + award = app.tempAwardsList[index].data; + } + var dialogIndex = common.openEditDialog({ + title: params.title, + width: 500, + height: 400, + content: params.url + "?data=" + encodeURIComponent(JSON.stringify(award)), + submit(res) { + var award = app.tempAwardsList[index]; + var data = award.data; + data.total = res.total; + data.count = res.count; + data.type = type; + $this.$set($this.tempAwardsList, index, award); + console.log(app.tempAwardsList) + common.closeDialog(dialogIndex); + // $(el).parent().find("input[type=radio]").eq(0).attr("checked", true); + }, + }); + }, + + /** + * 閫夋嫨鍙備笌鏉′欢 + */ + openAdEditDialog(type) { + var $this = this; + var params = {}; + var data = {}; + + switch (type) { + case 'alipayLife': + params.title = "鐢熸椿鍙疯缃�" + params.url = "./sponsor-ad-alipaylife.html" + if (this.joinInfo.adInfo.data) { + data = this.joinInfo.adInfo.data; + } + break; + } + + var dialogIndex = common.openEditDialog({ + title: params.title, + width: 500, + height: 450, + content: params.url + "?data=" + encodeURIComponent(JSON.stringify(data)), + submit(res) { + console.log("寰楀埌鐨勫�间负锛�"); + console.log(res); + var data = $this.joinInfo.adInfo.data; + if (data == undefined) + data = {}; + data.icon = res.icon; + data.name = res.name; + data.sceneId = res.sceneId; + data.desc = res.desc; + $this.$set($this.joinInfo.adInfo, 'data', data); + $this.$set($this.joinInfo.adInfo, 'type', type); + + common.closeDialog(dialogIndex); + }, + }); } + } }); - - - layui.use('upload', function () { - var $ = layui.jquery - , upload = layui.upload; - - //鏅�氬浘鐗囦笂浼� - var uploadInst = upload.render({ - elem: '#test1', - auto: false, - url: app.data.uploadPosterUrl, - field: 'image', - bindAction: '#poster' - , choose: function (obj) { - //棰勮鏈湴鏂囦欢绀轰緥锛屼笉鏀寔ie8 - obj.preview(function (index, file, result) { - $('#poster').attr('src', result); //鍥剧墖閾炬帴锛坆ase64锛� - }); - }, - done: function (res, index, upload) { //涓婁紶鍚庣殑鍥炶皟 - alert("鍥剧墖涓婁紶鎴愬姛") - app.posterUploadSuccess(); - }, - error: function () { - layer.alert("鍥剧墖涓婁紶澶辫触", {icon: 6}, null); - } - }); - }); - - - //鍥剧墖涓婁紶鎴愬姛 - - var form = null; - layui.use(['form', 'layer', 'jquery'], - function () { - $ = layui.jquery; - form = layui.form; - layer = layui.layer; - - //鑷畾涔夐獙璇佽鍒� - form.verify({ - username: function (value) { - if (value.length < 5) { - return '娲诲姩鍚嶇О鑷冲皯寰�5涓瓧绗﹀晩'; - } - }, - appcode: [/^([A-Za-z0-9]|\-|_)+$/, '搴旂敤鏍囪瘑鍙兘鍖呭惈 鏁板瓧銆佽嫳鏂囧瓧绗︺�乢 銆�-'], - desc: function (value) { - if (value != null && value.length > 128) { - return '绠�浠嬫渶澶т负128涓瓧绗�'; - } - }, - remarks: function (value) { - if (value != null && value.length > 128) { - return '澶囨敞鏈�澶т负128涓瓧绗�'; - } - }, - - }); - - //鐩戝惉鎻愪氦 - //淇濆瓨娲诲姩 - form.on('submit(save-activity)', - function (data) { - app.data.activity = data.field; - console.log(data.field); - return false; - }); - - //淇濆瓨濂栭」 - form.on('submit(save-awards)', - function (data) { - alert(JSON.stringify(data.field)); - app.data.activity = data.field; - console.log(data.field); - return true; - }); - - });</script> +</script> </body> </html> \ No newline at end of file -- Gitblit v1.8.0