Ver código fonte

知识库积分类型管理调整

徐滕 3 semanas atrás
pai
commit
ec5f883f02

+ 70 - 35
src/main/webapp/webpage/modules/WorkKnowledgeBase/workKnowledgeBasePointRuleForm.jsp

@@ -95,46 +95,64 @@
         function updateRuleTypeOptions(categoryId, categoryName, savedRuleType) {
             console.log("更新规则类型 - categoryId:", categoryId, "categoryName:", categoryName, "savedRuleType:", savedRuleType);
             
-            // 判断是否是基础积分(支持ID或名称匹配)
             var isBasicPoints = (categoryName && categoryName.indexOf("基础积分") !== -1);
-            console.log("是否为基础积分:", isBasicPoints);
+            var isExchangePoints = (categoryName && categoryName.indexOf("兑换积分") !== -1);
+            console.log("是否为基础积分:", isBasicPoints, "是否为兑换积分:", isExchangePoints);
             
-            if (isBasicPoints) {
-                console.log("切换到阅读/点赞模式");
-                // 基础积分:显示阅读/点赞
-                $("#ruleTypeOption1").html('<input type="radio" name="ruleType" value="10" lay-filter="ruleTypeFilter" style="margin-right:5px;"/> 阅读');
-                $("#ruleTypeOption2").html('<input type="radio" name="ruleType" value="20" lay-filter="ruleTypeFilter" style="margin-right:5px;"/> 点赞');
+            if (isExchangePoints) {
+                console.log("切换到兑换积分模式(下拉框)");
+                // 隐藏单选框,显示下拉框
+                $("#ruleTypeRadio").hide();
+                $("#ruleTypeSelect").show();
                 
-                // 如果传入了保存的值,使用它;否则默认选中阅读
-                var ruleTypeToCheck = savedRuleType || "10";
-                if (ruleTypeToCheck == "10" || ruleTypeToCheck == "20") {
-                    $("input[name='ruleType'][value='" + ruleTypeToCheck + "']").prop("checked", true);
-                    console.log("选中保存的ruleType:", ruleTypeToCheck);
+                // 设置选中的值
+                var selectedValue = savedRuleType || '91';
+                if (selectedValue != '91' && selectedValue != '92' && selectedValue != '93') {
+                    selectedValue = '91';
+                }
+                $("#ruleTypeSelect select").val(selectedValue);
+                
+            } else if (isBasicPoints) {
+                console.log("切换到阅读/点赞模式(单选框)");
+                // 显示单选框,隐藏下拉框
+                $("#ruleTypeRadio").show();
+                $("#ruleTypeSelect").hide();
+                
+                // 更新单选框选项为阅读/点赞
+                $("#ruleTypeRadio label:first-child").html('<input type="radio" name="ruleType" value="10" lay-filter="ruleTypeFilter" style="margin-right:5px;"/> 阅读');
+                $("#ruleTypeRadio label:last-child").html('<input type="radio" name="ruleType" value="20" lay-filter="ruleTypeFilter" style="margin-right:5px;"/> 点赞');
+                
+                // 设置选中的值
+                var selectedValue = savedRuleType || '10';
+                if (selectedValue == '10' || selectedValue == '20') {
+                    $("input[name='ruleType'][value='" + selectedValue + "']").prop("checked", true);
                 } else {
                     $("input[name='ruleType'][value='10']").prop("checked", true);
-                    console.log("重置为阅读");
                 }
+                
             } else {
-                console.log("切换到创建积分/审核积分模式");
-                // 其他分类:显示创建积分/审核积分
-                $("#ruleTypeOption1").html('<input type="radio" name="ruleType" value="1" lay-filter="ruleTypeFilter" style="margin-right:5px;"/> 创建积分');
-                $("#ruleTypeOption2").html('<input type="radio" name="ruleType" value="2" lay-filter="ruleTypeFilter" style="margin-right:5px;"/> 审核积分');
+                console.log("切换到创建积分/审核积分模式(单选框)");
+                // 显示单选框,隐藏下拉框
+                $("#ruleTypeRadio").show();
+                $("#ruleTypeSelect").hide();
                 
-                // 如果传入了保存的值,使用它;否则默认选中创建积分
-                var ruleTypeToCheck = savedRuleType || "1";
-                if (ruleTypeToCheck == "1" || ruleTypeToCheck == "2") {
-                    $("input[name='ruleType'][value='" + ruleTypeToCheck + "']").prop("checked", true);
-                    console.log("选中保存的ruleType:", ruleTypeToCheck);
+                // 更新单选框选项为创建积分/审核积分
+                $("#ruleTypeRadio label:first-child").html('<input type="radio" name="ruleType" value="1" lay-filter="ruleTypeFilter" style="margin-right:5px;"/> 创建积分');
+                $("#ruleTypeRadio label:last-child").html('<input type="radio" name="ruleType" value="2" lay-filter="ruleTypeFilter" style="margin-right:5px;"/> 审核积分');
+                
+                // 设置选中的值
+                var selectedValue = savedRuleType || '1';
+                if (selectedValue == '1' || selectedValue == '2') {
+                    $("input[name='ruleType'][value='" + selectedValue + "']").prop("checked", true);
                 } else {
                     $("input[name='ruleType'][value='1']").prop("checked", true);
-                    console.log("重置为创建积分");
                 }
             }
             
-            // 重新渲染Layui表单
+            // 重新渲染 layui 表单组件
             layui.use(['form'], function () {
                 var form = layui.form;
-                form.render('radio');
+                form.render();
                 console.log("已重新渲染Layui表单");
             });
         }
@@ -151,8 +169,15 @@
                 if (currentCategoryId != lastCategoryId || currentCategoryName != lastCategoryName) {
                     lastCategoryId = currentCategoryId;
                     lastCategoryName = currentCategoryName;
-                    // 分类变化时,获取当前选中的ruleType并传递
-                    var currentRuleType = $("input[name='ruleType']:checked").val();
+                    // 分类变化时,获取当前选中的ruleType并传递(兼容单选框和下拉框)
+                    var currentRuleType;
+                    if ($("#ruleTypeSelect").is(":visible")) {
+                        // 下拉框模式
+                        currentRuleType = $("#ruleTypeSelect select").val();
+                    } else {
+                        // 单选框模式
+                        currentRuleType = $("input[name='ruleType']:checked").val();
+                    }
                     updateRuleTypeOptions(currentCategoryId, currentCategoryName, currentRuleType);
                 }
             }, 500); // 每500ms检查一次
@@ -216,14 +241,24 @@
                 <!-- 第三行:规则类型(新增) -->
                 <div class="layui-item layui-col-sm6 lw7">
                     <label class="layui-form-label"><span class="require-item">*</span>规则类型:</label>
-                    <div class="layui-input-block" style="display:flex; align-items:center; height:38px;" id="ruleTypeContainer">
-                        <!-- 默认显示创建积分/审核积分 -->
-                        <label style="display:inline-flex; align-items:center; margin-right:30px; cursor:pointer;" id="ruleTypeOption1">
-                            <input type="radio" name="ruleType" value="1" lay-filter="ruleTypeFilter" style="margin-right:5px;" ${workKnowledgeBasePointRule.ruleType == "1" || workKnowledgeBasePointRule.ruleType == null ? 'checked' : ''}/> 创建积分
-                        </label>
-                        <label style="display:inline-flex; align-items:center; cursor:pointer;" id="ruleTypeOption2">
-                            <input type="radio" name="ruleType" value="2" lay-filter="ruleTypeFilter" style="margin-right:5px;" ${workKnowledgeBasePointRule.ruleType == "2" ? 'checked' : ''}/> 审核积分
-                        </label>
+                    <div class="layui-input-block" id="ruleTypeContainer">
+                        <!-- 单选框模式(默认显示创建积分/审核积分) -->
+                        <div id="ruleTypeRadio">
+                            <label style="display:inline-flex; align-items:center; margin-right:30px; cursor:pointer;">
+                                <input type="radio" name="ruleType" value="1" lay-filter="ruleTypeFilter" style="margin-right:5px;" ${workKnowledgeBasePointRule.ruleType == "1" || workKnowledgeBasePointRule.ruleType == null ? 'checked' : ''}/> 创建积分
+                            </label>
+                            <label style="display:inline-flex; align-items:center; cursor:pointer;">
+                                <input type="radio" name="ruleType" value="2" lay-filter="ruleTypeFilter" style="margin-right:5px;" ${workKnowledgeBasePointRule.ruleType == "2" ? 'checked' : ''}/> 审核积分
+                            </label>
+                        </div>
+                        <!-- 下拉框模式(兑换积分时显示) -->
+                        <div id="ruleTypeSelect" style="display:none;">
+                            <select name="ruleType" lay-filter="ruleTypeFilter" class="form-control layui-select">
+                                <option value="91" ${workKnowledgeBasePointRule.ruleType == "91" ? 'selected' : ''}>首次兑换</option>
+                                <option value="92" ${workKnowledgeBasePointRule.ruleType == "92" ? 'selected' : ''}>非首次兑换</option>
+                                <option value="93" ${workKnowledgeBasePointRule.ruleType == "93" ? 'selected' : ''}>累积兑换</option>
+                            </select>
+                        </div>
                     </div>
                 </div>
 

+ 3 - 0
src/main/webapp/webpage/modules/WorkKnowledgeBase/workKnowledgeBasePointUserDetail.jsp

@@ -137,6 +137,9 @@
 					if (rt === 2) return '<span class="layui-badge layui-bg-green">审核</span>';
 					if (rt === 10) return '<span class="layui-badge layui-bg-orange">阅读</span>';
 					if (rt === 20) return '<span class="layui-badge layui-bg-red">点赞</span>';
+					if (rt === 91) return '<span class="layui-badge layui-bg-cyan">首次兑换</span>';
+					if (rt === 92) return '<span class="layui-badge layui-bg-gray">非首次兑换</span>';
+					if (rt === 93) return '<span class="layui-badge layui-bg-black">累积兑换</span>';
 					return '-';
 				}}
 				,{field:'point',align:'center', title: '积分额度', width:100,templet:function(d){