From 9244eda73db2445b4fd298339652deb16e2e72ef Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Wed, 23 Apr 2025 17:19:42 +0800
Subject: [PATCH] feat(mall): 新增活动管理功能

---
 src/main/resources/templates/febs/views/modules/votesActivity/add.html |  186 ++++++++++++++++++++++++++++++++--------------
 1 files changed, 130 insertions(+), 56 deletions(-)

diff --git a/src/main/resources/templates/febs/views/modules/votesActivity/add.html b/src/main/resources/templates/febs/views/modules/votesActivity/add.html
index e9c71bb..ab5e05c 100644
--- a/src/main/resources/templates/febs/views/modules/votesActivity/add.html
+++ b/src/main/resources/templates/febs/views/modules/votesActivity/add.html
@@ -1,4 +1,4 @@
-<div class="layui-fluid layui-anim febs-anim" id="febs-activity-add" lay-title="新增">
+<div class="layui-fluid layui-anim febs-anim" id="febs-activity-add" lay-title="活动新增">
     <div class="layui-row febs-container">
         <div class="layui-col-md12">
             <div class="layui-fluid" id="activity-add">
@@ -12,7 +12,7 @@
                                 <blockquote class="layui-elem-quote blue-border">基础信息</blockquote>
                                 <div class="layui-row layui-col-space10 layui-form-item">
                                     <div class="layui-col-lg6">
-                                        <label class="layui-form-label febs-form-item-require">所属分类:</label>
+                                        <label class="layui-form-label febs-form-item-require">分类:</label>
                                         <div class="layui-input-block">
                                             <div id="activity-group"></div>
                                         </div>
@@ -20,40 +20,78 @@
                                 </div>
                                 <div class="layui-row layui-col-space10 layui-form-item">
                                     <div class="layui-col-lg6">
+                                        <label class="layui-form-label febs-form-item-require">排序:</label>
+                                        <div class="layui-input-block">
+                                            <input type="text" name="orderCnt" lay-verify="required"
+                                                   placeholder="" autocomplete="off" class="layui-input">
+                                        </div>
+                                    </div>
+                                    <div class="layui-col-lg6">
                                         <label class="layui-form-label febs-form-item-require">名称:</label>
                                         <div class="layui-input-block">
                                             <input type="text" name="name" lay-verify="required"
                                                    placeholder="" autocomplete="off" class="layui-input">
                                         </div>
                                     </div>
+                                </div>
+                                <div class="layui-row layui-col-space10 layui-form-item">
                                     <div class="layui-col-lg6">
-                                        <label class="layui-form-label febs-form-item-require">活动类型:</label>
+                                        <label class="layui-form-label febs-form-item-require">类型:</label>
                                         <div class="layui-input-block">
-                                            <select name="activityType" class="activity-type">
-                                                <option value="1">文字</option>
-                                                <option value="2">图片</option>
-                                                <option value="3">视频</option>
-                                                <option value="4">二维码</option>
+                                            <select name="type" class="activity-type">
+                                                <option value="1">普通活动</option>
+                                                <option value="2">众筹活动</option>
+                                                <option value="3">投票活动</option>
+                                            </select>
+                                        </div>
+                                    </div>
+                                    <div class="layui-col-lg6">
+                                        <label class="layui-form-label febs-form-item-require">推荐首页:</label>
+                                        <div class="layui-input-block">
+                                            <select name="hotState" class="activity-type">
+                                                <option value="0">不推荐</option>
+                                                <option value="1">推荐</option>
                                             </select>
                                         </div>
                                     </div>
                                 </div>
                                 <div class="layui-row layui-col-space10 layui-form-item">
                                     <div class="layui-col-lg6">
-                                        <label class="layui-form-label ">票数总数:</label>
+                                        <label class="layui-form-label febs-form-item-require">联系方式:</label>
                                         <div class="layui-input-block">
-                                            <input type="text" name="totalVote"
-                                                   placeholder="" autocomplete="off" class="layui-input" disabled>
+                                            <input type="text" name="phone" lay-verify="required"
+                                                   placeholder="" autocomplete="off" class="layui-input">
                                         </div>
                                     </div>
                                     <div class="layui-col-lg6">
-                                        <label class="layui-form-label ">参与人数:</label>
+                                        <label class="layui-form-label febs-form-item-require">地址:</label>
                                         <div class="layui-input-block">
-                                            <input type="text" name="totalParticipants"
-                                                   placeholder="" autocomplete="off" class="layui-input" disabled>
+                                            <input type="text" name="address" lay-verify="required"
+                                                   placeholder="" autocomplete="off" class="layui-input">
                                         </div>
                                     </div>
                                 </div>
+                                <div class="layui-row layui-col-space10 layui-form-item">
+                                    <div class="layui-col-lg6">
+                                        <label class="layui-form-label febs-form-item-require">投票次数:</label>
+                                        <div class="layui-input-block">
+                                            <input type="text" name="voteCnt" lay-verify="required"
+                                                   placeholder="" autocomplete="off" class="layui-input">
+                                            <div class="layui-form-mid layui-word-aux">投票活动,单个ID每天投票次数</div>
+                                        </div>
+                                    </div>
+                                    <div class="layui-col-lg6">
+                                        <label class="layui-form-label febs-form-item-require">自主报名:</label>
+                                        <div class="layui-input-block">
+                                            <select name="hotState" class="activity-type">
+                                                <option value="0">不允许</option>
+                                                <option value="1">允许</option>
+                                            </select>
+                                            <div class="layui-form-mid layui-word-aux">投票活动,是否允许用户小程序自主报名</div>
+                                        </div>
+                                    </div>
+                                </div>
+
                                 <div class="layui-row layui-col-space10 layui-form-item">
                                     <div class="layui-col-lg6">
                                         <label class="layui-form-label febs-form-item-require">开始时间:</label>
@@ -71,40 +109,75 @@
                                     </div>
                                 </div>
 
+
                                 <div class="layui-row layui-col-space10 layui-form-item">
                                     <div class="layui-col-lg6">
-                                        <label class="layui-form-label febs-form-item-require">是否多选:</label>
+                                        <label class="layui-form-label febs-form-item-require">门票售卖:</label>
                                         <div class="layui-input-block">
-                                            <select name="isMultiple" class="activity-type">
-                                                <option value="1">是</option>
-                                                <option value="2">否</option>
+                                            <select name="payState" class="activity-type">
+                                                <option value="0">关闭</option>
+                                                <option value="1">开启</option>
                                             </select>
+                                        </div>
+                                    </div>
+                                </div>
+
+                                <div class="layui-row layui-col-space10 layui-form-item">
+                                    <div class="layui-col-lg6">
+                                        <label class="layui-form-label febs-form-item-require">门票总数:</label>
+                                        <div class="layui-input-block">
+                                            <input type="text" name="joinCnt" lay-verify="required"
+                                                   placeholder="" autocomplete="off" class="layui-input">
+                                            <div class="layui-form-mid layui-word-aux">门票总数</div>
                                         </div>
                                     </div>
                                     <div class="layui-col-lg6">
-                                        <label class="layui-form-label febs-form-item-require">投票方式:</label>
+                                        <label class="layui-form-label febs-form-item-require">门票价格:</label>
                                         <div class="layui-input-block">
-                                            <select name="votesType" class="activity-type" >
-                                                <option value="1">一天一次</option>
-                                            </select>
+                                            <input type="text" name="payAmount" lay-verify="required"
+                                                   placeholder="" autocomplete="off" class="layui-input">
+                                            <div class="layui-form-mid layui-word-aux">门票价格(关闭众筹,或者免费参与,请填写0)</div>
                                         </div>
                                     </div>
                                 </div>
-                                <div class="layui-form-item">
-                                    <label class="layui-form-label febs-form-item-require">背景图片:</label>
-                                    <div class="layui-input-block">
-                                        <div class="layui-upload">
-                                            <button type="button" class="layui-btn layui-btn-normal layui-btn" id="testMax">上传</button>
-                                            <blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;">
-                                                <div class="layui-upload-list" id="demoMax"></div>
-                                            </blockquote>
+
+                                <div class="layui-row layui-col-space10 layui-form-item">
+                                    <div class="layui-col-lg6">
+                                        <label class="layui-form-label febs-form-item-require">封面:</label>
+                                        <div class="layui-input-block">
+                                            <div class="layui-upload">
+                                                <button type="button" class="layui-btn layui-btn-normal layui-btn" id="test1Max">上传</button>
+                                                <blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;">
+                                                    <div class="layui-upload-list" id="demo1Max"></div>
+                                                </blockquote>
+                                            </div>
+                                        </div>
+                                    </div>
+                                    <div class="layui-col-lg6">
+                                        <label class="layui-form-label febs-form-item-require">背景:</label>
+                                        <div class="layui-input-block">
+                                            <div class="layui-upload">
+                                                <button type="button" class="layui-btn layui-btn-normal layui-btn" id="testMax">上传</button>
+                                                <blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;">
+                                                    <div class="layui-upload-list" id="demoMax"></div>
+                                                </blockquote>
+                                            </div>
                                         </div>
                                     </div>
                                 </div>
-                                <div class="layui-form-item febs-hide">
-                                    <label class="layui-form-label">图片链接:</label>
-                                    <div class="layui-input-block">
-                                        <input type="text" id="coverImage" lay-verify="required" name="coverImage" autocomplete="off" class="layui-input" readonly>
+
+                                <div class="layui-row layui-col-space10 layui-form-item febs-hide">
+                                    <div class="layui-col-lg6">
+                                        <label class="layui-form-label">封面链接:</label>
+                                        <div class="layui-input-block">
+                                            <input type="text" id="indexImg" lay-verify="required" name="indexImg" autocomplete="off" class="layui-input" readonly>
+                                        </div>
+                                    </div>
+                                    <div class="layui-col-lg6">
+                                        <label class="layui-form-label">背景链接:</label>
+                                        <div class="layui-input-block">
+                                            <input type="text" id="backImg" lay-verify="required" name="backImg" autocomplete="off" class="layui-input" readonly>
+                                        </div>
                                     </div>
                                 </div>
 
@@ -172,7 +245,7 @@
                 var form = new FormData();
                 form.append("file", files[0]);
                 $.ajax({
-                    url:'/admin/goods/uploadFileBaseEsc',
+                    url:'/admin/goods/uploadFileBase64',
                     type: "post",
                     processData: false,
                     contentType: false,
@@ -223,12 +296,29 @@
             data: []
         })
 
-        febs.get(ctx + 'admin/votesActivity/allGroup', null, function(res) {
+        febs.get(ctx + 'admin/happyActivity/allGroup', null, function(res) {
             activityGroup.update({
                 data : res.data,
                 autoRow: true,
             });
         })
+
+        //图片上传
+        upload.render({
+            elem: '#test1Max'
+            ,url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口
+            ,accept: 'file' //普通文件
+            ,size: 10240 //限制文件大小,单位 KB
+            ,before: function(obj){
+                //预读本地文件示例,不支持ie8
+                obj.preview(function(index, file, result){
+                    $('#demo1Max').html('<img src="'+ result +'" alt="'+ file.name +'" class="layui-upload-img single-image" style="width: 130px">')
+                });
+            }
+            ,done: function(res){
+                $("#indexImg").val(res.data.src);
+            }
+        });
 
         //图片上传
         upload.render({
@@ -243,15 +333,15 @@
                 });
             }
             ,done: function(res){
-                $("#coverImage").val(res.data.src);
+                $("#backImg").val(res.data.src);
             }
         });
 
         form.on('submit(activity-add-form-submit)', function (data) {
-            data.field.groupId = activityGroup.getValue('valueStr');
-            data.field.introduce = editor.txt.html();
+            data.field.categoryId = activityGroup.getValue('valueStr');
+            data.field.textRemark = editor.txt.html();
             $.ajax({
-                'url':ctx + 'admin/votesActivity/add',
+                'url':ctx + 'admin/happyActivity/add',
                 'type':'post',
                 'dataType':'json',
                 'headers' : {'Content-Type' : 'application/json;charset=utf-8'}, //接口json格式
@@ -273,21 +363,5 @@
             return false;
         });
 
-        // form.on('select(activity-type-select)', function(data){
-        //     $('.discount-size').each(function() {
-        //         if (data.value == 1) {
-        //             $(this).show();
-        //         } else {
-        //             $(this).hide();
-        //         }
-        //     })
-        //     $('.coupon-size').each(function() {
-        //         if (data.value == 2) {
-        //             $(this).show();
-        //         } else {
-        //             $(this).hide();
-        //         }
-        //     })
-        // });
     });
 </script>

--
Gitblit v1.9.1