From ce396f73fa41c66cbdb02c61cafa90b08f41ab48 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期一, 31 三月 2025 10:02:11 +0800
Subject: [PATCH] 惠民卡协议管理保存
---
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/THuiminAgreementController.java | 50 +++++++
cloud-server-management/src/main/webapp/WEB-INF/view/system/tHuiminAgreement/tHuiminAgreement_add.html | 162 ++++++++++++++++++----
cloud-server-activity/src/main/java/com/dsh/activity/entity/THuiminAgreement.java | 12 +
cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminAgreementController.java | 107 +++++++++++++++
cloud-server-activity/src/main/java/com/dsh/activity/entity/THuiminAgreementSetting.java | 4
cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/THuiminAgreementSetting.java | 3
cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/THuiminAgreement.java | 12 -
cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/HuiminAgreementQuery.java | 22 +++
cloud-server-activity/src/main/java/com/dsh/activity/model/HuiminAgreementQuery.java | 22 +++
cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/HuiminAgreementClient.java | 20 ++
10 files changed, 374 insertions(+), 40 deletions(-)
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminAgreementController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminAgreementController.java
new file mode 100644
index 0000000..0e58ec6
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminAgreementController.java
@@ -0,0 +1,107 @@
+package com.dsh.activity.controller;
+
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.dsh.activity.entity.THuiminAgreement;
+import com.dsh.activity.entity.THuiminAgreementSetting;
+import com.dsh.activity.model.HuiminAgreementQuery;
+import com.dsh.activity.service.HuiminAgreementService;
+import com.dsh.activity.service.HuiminAgreementSettingService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * @author zhibing.pu
+ * @date 2023/6/24 11:27
+ */
+@RestController
+@RequestMapping("")
+public class HuiminAgreementController {
+
+ @Autowired
+ private HuiminAgreementService huiminAgreementService;
+
+ @Autowired
+ private HuiminAgreementSettingService huiminAgreementSettingService;
+
+ /**
+ * 根据当前用户类型查询惠民卡协议
+ * @param objectType
+ * @param operatorId
+ * @return
+ */
+ @ResponseBody
+ @PostMapping("/base/tHuiminAgreement/selectByObjectType")
+ public THuiminAgreement selectByObjectType(@RequestBody HuiminAgreementQuery query) {
+ THuiminAgreement huiminAgreement = null;
+ if (query.getObjectType().equals(1)) {
+ //平台
+ huiminAgreement = huiminAgreementService.getOne(new LambdaQueryWrapper<THuiminAgreement>()
+ .isNull(THuiminAgreement::getOperatorId));
+
+ }else if (query.getObjectType().equals(2)) {
+ //运营商
+ huiminAgreement = huiminAgreementService.getOne(new LambdaQueryWrapper<THuiminAgreement>()
+ .eq(THuiminAgreement::getOperatorId,query.getOperatorId()));
+ }
+ if (Objects.nonNull(huiminAgreement)) {
+ //查询协议配置
+ List<THuiminAgreementSetting> tHuiminAgreementSettingList = huiminAgreementSettingService.list(new LambdaQueryWrapper<THuiminAgreementSetting>()
+ .eq(THuiminAgreementSetting::getAgreementId, huiminAgreement.getId()));
+ huiminAgreement.setTHuiminAgreementSettingList(tHuiminAgreementSettingList);
+ }
+ return huiminAgreement;
+ }
+ /**
+ * 保存惠民卡协议
+ * @param tHuiminAgreement
+ */
+ @PostMapping("/base/tHuiminAgreement/save")
+ @Transactional(rollbackFor = Exception.class)
+ public void insert(@RequestBody THuiminAgreement tHuiminAgreement){
+ Integer operatorId = tHuiminAgreement.getOperatorId();
+ if (tHuiminAgreement.getObjectType().equals(1)) {
+ tHuiminAgreement.setOperatorId(null);
+ }
+ huiminAgreementService.saveOrUpdate(tHuiminAgreement);
+ List<THuiminAgreementSetting> tHuiminAgreementSettingList = tHuiminAgreement.getTHuiminAgreementSettingList();
+ if (CollUtil.isNotEmpty(tHuiminAgreementSettingList)) {
+ if (tHuiminAgreement.getObjectType().equals(2) || tHuiminAgreement.getObjectType().equals(1) && Objects.isNull(operatorId)) {
+ //删除之前的协议配置
+ huiminAgreementSettingService.remove(new LambdaQueryWrapper<THuiminAgreementSetting>().eq(THuiminAgreementSetting::getAgreementId, tHuiminAgreement.getId()));
+ //保存协议配置
+ tHuiminAgreementSettingList.forEach(t -> {
+ t.setAgreementId(tHuiminAgreement.getId());
+ });
+ huiminAgreementSettingService.saveBatch(tHuiminAgreementSettingList);
+ } else {
+ THuiminAgreement agreement = huiminAgreementService.lambdaQuery()
+ .eq(THuiminAgreement::getOperatorId, operatorId)
+ .last("LIMIT 1").one();
+ if (Objects.isNull(agreement)) {
+ agreement = new THuiminAgreement();
+ agreement.setOperatorId(operatorId);
+ huiminAgreementService.save(agreement);
+ }
+ //删除之前的协议配置
+ huiminAgreementSettingService.remove(new LambdaQueryWrapper<THuiminAgreementSetting>()
+ .eq(THuiminAgreementSetting::getAgreementId, agreement.getId()));
+ //保存协议配置
+ THuiminAgreement finalAgreement = agreement;
+ tHuiminAgreementSettingList.forEach(t -> {
+ t.setAgreementId(finalAgreement.getId());
+ });
+ huiminAgreementSettingService.saveBatch(tHuiminAgreementSettingList);
+ }
+
+ }
+ }
+}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/entity/THuiminAgreement.java b/cloud-server-activity/src/main/java/com/dsh/activity/entity/THuiminAgreement.java
index 7bd27ae..b3bba16 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/entity/THuiminAgreement.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/entity/THuiminAgreement.java
@@ -10,6 +10,7 @@
import lombok.experimental.Accessors;
import java.io.Serializable;
+import java.util.List;
/**
* <p>
@@ -44,6 +45,17 @@
*/
@TableField("selectUserRemark")
private String selectUserRemark;
+ /**
+ * 门店无惠民卡介绍页
+ */
+ @TableField("storeNoHuiminCardIntro")
+ private String storeNoHuiminCardIntro;
+
+ @TableField(exist = false)
+ private Integer objectType;
+
+ @TableField(exist = false)
+ private List<THuiminAgreementSetting> tHuiminAgreementSettingList;
@Override
protected Serializable pkVal() {
return this.id;
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/entity/THuiminAgreementSetting.java b/cloud-server-activity/src/main/java/com/dsh/activity/entity/THuiminAgreementSetting.java
index e0b2979..175167c 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/entity/THuiminAgreementSetting.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/entity/THuiminAgreementSetting.java
@@ -22,7 +22,7 @@
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
-@TableName("t_points_merchandise_city")
+@TableName("t_huimin_agreement_setting")
public class THuiminAgreementSetting extends Model<THuiminAgreementSetting> {
private static final long serialVersionUID = 1L;
@@ -32,6 +32,8 @@
*/
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
+ @TableField("agreementId")
+ private Integer agreementId;
/**
* 协议名称
*/
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/model/HuiminAgreementQuery.java b/cloud-server-activity/src/main/java/com/dsh/activity/model/HuiminAgreementQuery.java
new file mode 100644
index 0000000..158748b
--- /dev/null
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/model/HuiminAgreementQuery.java
@@ -0,0 +1,22 @@
+package com.dsh.activity.model;
+
+import lombok.Data;
+
+/**
+ * <p>
+ * 惠民卡协议查询
+ * </p>
+ *
+ * @since 2023-07-12
+ */
+@Data
+public class HuiminAgreementQuery {
+ /**
+ * 运营商id 选择默认传null
+ */
+ private Integer operatorId;
+ /**
+ *账号类型
+ */
+ private Integer objectType;
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/HuiminAgreementClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/HuiminAgreementClient.java
index ad19a17..e530616 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/HuiminAgreementClient.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/HuiminAgreementClient.java
@@ -1,8 +1,10 @@
package com.dsh.course.feignClient.activity;
+import com.dsh.course.feignClient.activity.model.HuiminAgreementQuery;
import com.dsh.course.feignClient.activity.model.THuiminAgreement;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
/**
* @author mitao
@@ -10,6 +12,20 @@
*/
@FeignClient(value = "mb-cloud-activity")
public interface HuiminAgreementClient {
- @PostMapping("/tHuiminAgreement/save")
- void insert(THuiminAgreement tHuiminAgreement);
+ /**
+ * 根据当前用户类型查询惠民卡协议
+ * @param objectType
+ * @param operatorId
+ * @return
+ */
+ @PostMapping("/base/tHuiminAgreement/selectByObjectType")
+ THuiminAgreement selectByObjectType(@RequestBody HuiminAgreementQuery query);
+
+ /**
+ * 保存惠民卡协议
+ * @param tHuiminAgreement
+ */
+ @PostMapping("/base/tHuiminAgreement/save")
+ void insert(@RequestBody THuiminAgreement tHuiminAgreement);
+
}
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/HuiminAgreementQuery.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/HuiminAgreementQuery.java
new file mode 100644
index 0000000..8348677
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/HuiminAgreementQuery.java
@@ -0,0 +1,22 @@
+package com.dsh.course.feignClient.activity.model;
+
+import lombok.Data;
+
+/**
+ * <p>
+ * 惠民卡协议查询
+ * </p>
+ *
+ * @since 2023-07-12
+ */
+@Data
+public class HuiminAgreementQuery {
+ /**
+ * 运营商id 选择默认传null
+ */
+ private Integer operatorId;
+ /**
+ *账号类型
+ */
+ private Integer objectType;
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/THuiminAgreement.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/THuiminAgreement.java
index 750f03b..c0fd57a 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/THuiminAgreement.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/THuiminAgreement.java
@@ -1,8 +1,5 @@
package com.dsh.course.feignClient.activity.model;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
@@ -28,27 +25,28 @@
/**
* 主键
*/
- @TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* 运营商id 选择默认传null
*/
- @TableField("operatorId")
private Integer operatorId;
/**
*添加人员说明文案
*/
- @TableField("addUserRemark")
private String addUserRemark;
/**
*选择人员说明文案
*/
- @TableField("selectUserRemark")
private String selectUserRemark;
+ /**
+ * 门店无惠民卡介绍页
+ */
+ private String storeNoHuiminCardIntro;
private String agreementSettings;
private List<THuiminAgreementSetting> tHuiminAgreementSettingList;
+ private Integer objectType;
@Override
protected Serializable pkVal() {
return this.id;
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/THuiminAgreementSetting.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/THuiminAgreementSetting.java
index 83a87b2..c04ba86 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/THuiminAgreementSetting.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/activity/model/THuiminAgreementSetting.java
@@ -1,5 +1,6 @@
package com.dsh.course.feignClient.activity.model;
+import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
@@ -36,11 +37,13 @@
* 协议名称
*/
@TableField("agreementName")
+ @JSONField(name = "title")
private String agreementName;
/**
*协议内容
*/
@TableField("agreementContent")
+ @JSONField(name = "content")
private String agreementContent;
@Override
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/THuiminAgreementController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/THuiminAgreementController.java
index 057f573..b4a0ba7 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/THuiminAgreementController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/THuiminAgreementController.java
@@ -1,14 +1,24 @@
package com.dsh.guns.modular.system.controller.code;
+import com.alibaba.fastjson.JSONArray;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dsh.course.feignClient.activity.HuiminAgreementClient;
+import com.dsh.course.feignClient.activity.model.HuiminAgreementQuery;
import com.dsh.course.feignClient.activity.model.THuiminAgreement;
+import com.dsh.course.feignClient.activity.model.THuiminAgreementSetting;
import com.dsh.guns.config.UserExt;
import com.dsh.guns.core.base.controller.BaseController;
+import com.dsh.guns.modular.system.model.TOperator;
+import com.dsh.guns.modular.system.service.TOperatorService;
+import com.dsh.guns.modular.system.util.ResultUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.util.List;
+import java.util.Objects;
/**
* 惠民卡控制器
@@ -24,6 +34,8 @@
@Autowired
private HuiminAgreementClient huiminAgreementClient;
+ @Autowired
+ private TOperatorService operatorService;
/**
* 跳转到惠民卡首页
@@ -31,15 +43,53 @@
@RequestMapping("")
public String index(Model model) {
Integer objectType = UserExt.getUser().getObjectType();
+ Integer operatorId = null;
+ if (objectType.equals(2)){
+ //查询运营商
+ TOperator operator = operatorService.getOne(new QueryWrapper<TOperator>()
+ .eq("userId", UserExt.getUser().getId())
+ .ne("state", 3)
+ .last("LIMIT 1"));
+ if (Objects.nonNull(operator)) {
+ operatorId = operator.getId();
+ }
+ }
+ HuiminAgreementQuery huiminAgreementQuery = new HuiminAgreementQuery();
+ huiminAgreementQuery.setOperatorId(operatorId);
+ huiminAgreementQuery.setObjectType(objectType);
+ THuiminAgreement huiminAgreement = huiminAgreementClient.selectByObjectType(huiminAgreementQuery);
model.addAttribute("objectType", objectType);
+ model.addAttribute("item", huiminAgreement);
+ model.addAttribute("tHuiminAgreementSettingList", Objects.nonNull(huiminAgreement) ? JSONArray.toJSONString(huiminAgreement.getTHuiminAgreementSettingList()) : "");
+ //查询运营商列表
+ model.addAttribute("operatorList", operatorService.list(new QueryWrapper<TOperator>().eq("state", 1)));
+ model.addAttribute("operatorId", operatorId);
return PREFIX + "tHuiminAgreement_add.html";
}
@RequestMapping(value = "/save")
@ResponseBody
public Object save(THuiminAgreement tHuiminAgreement) {
+ tHuiminAgreement.setObjectType(UserExt.getUser().getObjectType());
+ String agreementSettings = tHuiminAgreement.getAgreementSettings();
+ List<THuiminAgreementSetting> tHuiminAgreementSettings = JSONArray.parseArray(agreementSettings, THuiminAgreementSetting.class);
+ tHuiminAgreement.setTHuiminAgreementSettingList(tHuiminAgreementSettings);
huiminAgreementClient.insert(tHuiminAgreement);
return SUCCESS_TIP;
}
+ @RequestMapping(value = "/selectAgreementByOperationId")
+ @ResponseBody
+ public ResultUtil<String> selectAgreementByOperationId(Integer operatorId) {
+ String tHuiminAgreementSettings = "";
+ HuiminAgreementQuery huiminAgreementQuery = new HuiminAgreementQuery();
+ huiminAgreementQuery.setOperatorId(operatorId);
+ huiminAgreementQuery.setObjectType(Objects.isNull(operatorId) ? 1 : 2);
+ THuiminAgreement huiminAgreement = huiminAgreementClient.selectByObjectType(huiminAgreementQuery);
+ if (Objects.nonNull(huiminAgreement)) {
+ //查询协议配置
+ tHuiminAgreementSettings = JSONArray.toJSONString(huiminAgreement.getTHuiminAgreementSettingList());
+ }
+ return ResultUtil.success(tHuiminAgreementSettings);
+ }
/*
*//**
* 跳转到修改惠民卡
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tHuiminAgreement/tHuiminAgreement_add.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tHuiminAgreement/tHuiminAgreement_add.html
index 24a524c..1e5c68c 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tHuiminAgreement/tHuiminAgreement_add.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tHuiminAgreement/tHuiminAgreement_add.html
@@ -13,7 +13,7 @@
<div class="tab-content">
<div id="tab-1" class="tab-pane active">
<div class="panel-body">
- <textarea id="editor_1" type="text/plain" style="width:1200px;height:400px;"></textarea>
+ <textarea id="editor_1" type="text/plain" style="width:1200px;height:400px;">${item.addUserRemark!}</textarea>
<!--<div class="row btn-group-m-t">
<div class="col-sm-10 col-sm-offset-5">
<#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun=""/>
@@ -23,7 +23,7 @@
</div>
<div id="tab-2" class="tab-pane">
<div class="panel-body">
- <textarea type="text/plain" id="editor_2" style="width:1200px;height:400px;"></textarea>
+ <textarea type="text/plain" id="editor_2" style="width:1200px;height:400px;"${item.selectUserRemark!}</textarea>
<!--<div class="row btn-group-m-t">
<div class="col-sm-10">
<#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun=""/>
@@ -37,12 +37,16 @@
@}
<div class="form-group">
<label class="col-sm-1 control-label" for="operator">所属运营商:</label>
- <div class="col-sm-9">
+ <div class="col-sm-3">
<select id="operator" class="form-control">
- <option value="" selected>默认</option>
+ <option value="">默认</option>
@if(isNotEmpty(operatorList)){
@for(item in operatorList){
- <option value="${item.id}">${item.name}</option>
+ @if(objectType == 2){
+ <option value="${item.id}" ${operatorId == item.id ? 'selected disabled' : ''}>${item.name}</option>
+ @}else{
+ <option value="${item.id}">${item.name}</option>
+ @}
@}
@}
</select>
@@ -50,10 +54,14 @@
</div>
<div class="form-group">
<label class="col-sm-1 control-label">门店无惠民卡介绍页</label>
+ <div class="col-sm-9">
+ <textarea id="editor_3" type="text/plain" style="width:1200px;height:400px;">${item.storeNoHuiminCardIntro!}</textarea>
+ </div>
+ </div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label" for="agreement">协议配置:</label>
- <div class="col-sm-9">
+ <div class="col-sm-3">
<div class="input-group">
<input type="text" id="agreement" name="agreement" class="form-control" placeholder="请输入协议配置标题">
<span class="input-group-btn">
@@ -90,6 +98,7 @@
<script>
var editor_1 = null;
var editor_2 = null;
+ var editor_3 = null;
var dynamicEditors = []; // 存储动态创建的编辑器实例
var editorCounter = 0; // 用于生成唯一ID
@@ -97,7 +106,8 @@
//初始化编辑器
editor_1 = UE.getEditor('editor_1');
editor_2 = UE.getEditor('editor_2');
-
+ editor_3 = UE.getEditor('editor_3');
+
// 绑定添加按钮的点击事件
$("#agreementAdd").click(function() {
var title = $("#agreement").val().trim();
@@ -107,15 +117,76 @@
}
// 创建新的编辑器区域
- addNewEditor(title);
+ addNewEditor(title,"");
// 清空输入框
$("#agreement").val("");
});
+
+ //协议配置回显
+ let settingList = '${tHuiminAgreementSettingList}';
+ if (settingList != "" && typeof settingList != "undefined"){
+ let settingArr = JSON.parse(settingList);
+ review(settingArr);
+ }
+
+
+ //经营商切换事件
+ $("#operator").change(function() {
+ //清空协议配置
+ removeAll()
+ //调用接口获取协议配置数据
+ //提交信息
+ var ajax = new $ax(Feng.ctxPath + "/tHuiminAgreement/selectAgreementByOperationId", function(data){
+ if (data.data != "" && data.data != null){
+ console.log("协议配置数据:"+data.data);
+ let settingArr = JSON.parse(data.data);
+ review(settingArr);
+ }
+ },function(data){
+ });
+ ajax.set("operatorId",$("#operator").val());
+ ajax.start();
+ });
});
-
- // 添加新的编辑器函数
- function addNewEditor(title) {
+
+ // 清空所有编辑器实例和UI元素
+ function removeAll(){
+ console.log("清空协议配置");
+ $("#dynamic-tabs-container").hide();
+ // 彻底清空容器内容,确保没有残留
+ $("#agreement-tabs").empty();
+ $("#agreement-content").empty();
+
+ // 销毁所有编辑器实例
+ for(var i = 0; i < dynamicEditors.length; i++) {
+ try {
+ if(dynamicEditors[i].editor) {
+ dynamicEditors[i].editor.destroy();
+ dynamicEditors[i].editor = null;
+ }
+ } catch(e) {
+ console.error("销毁编辑器出错:", e);
+ }
+ }
+
+ editorCounter = 0;
+ //清空动态创建的编辑器实例
+ dynamicEditors=[];
+ console.log("dynamicEditors",dynamicEditors)
+ }
+
+ // 协议配置回显
+ function review(settingArr){
+ if (typeof settingArr !== 'undefined' && settingArr.length > 0) {
+ settingArr.forEach(function(item) {
+ addNewEditor(item.title, item.content || "");
+ });
+ }
+ }
+
+ // 添加新的编辑器函数 - 修改为接受内容参数
+ function addNewEditor(title, content) {
editorCounter++;
var editorId = "dynamic-editor-" + editorCounter;
var tabId = "agreement-tab-" + editorCounter;
@@ -157,24 +228,41 @@
// 确保编辑器已准备好
editor.ready(function() {
- // 初始化为空内容
- editor.setContent("");
-
- // 存储编辑器实例和标题信息
- dynamicEditors.push({
- id: editorId,
- tabId: tabId,
- counter: editorCounter,
- title: title,
- editor: editor
- });
-
- // 绑定删除按钮事件
- $(".delete-tab[data-editor-id='" + editorId + "']").click(function(e) {
- e.preventDefault();
- e.stopPropagation();
- deleteEditor($(this).data("counter"));
- });
+ try {
+ // 检查编辑器是否已准备好接收内容
+ if(editor.body) {
+ // 初始化内容
+ editor.setContent(content || "");
+ } else {
+ // 如果编辑器body未准备好,延迟设置内容
+ setTimeout(function() {
+ try {
+ editor.setContent(content || "");
+ } catch(e) {
+ console.error("延迟设置编辑器内容出错:", e);
+ }
+ }, 500);
+ }
+
+ // 存储编辑器实例和标题信息
+ dynamicEditors.push({
+ id: editorId,
+ tabId: tabId,
+ counter: editorCounter,
+ title: title,
+ editor: editor,
+ content: content || ""
+ });
+
+ // 绑定删除按钮事件
+ $(".delete-tab[data-editor-id='" + editorId + "']").click(function(e) {
+ e.preventDefault();
+ e.stopPropagation();
+ deleteEditor($(this).data("counter"));
+ });
+ } catch(e) {
+ console.error("编辑器初始化出错:", e);
+ }
});
// 手动激活新添加的标签页
@@ -239,9 +327,22 @@
collectDynamicEditors = function() {
var agreements = [];
for(var i = 0; i < dynamicEditors.length; i++) {
+ var content = "";
+ try {
+ // 确保编辑器实例存在且可用
+ if(dynamicEditors[i].editor && dynamicEditors[i].editor.isReady) {
+ content = dynamicEditors[i].editor.getContent();
+ } else {
+ content = dynamicEditors[i].content || "";
+ }
+ } catch(e) {
+ console.error("获取编辑器内容出错:", e);
+ content = dynamicEditors[i].content || "";
+ }
+
agreements.push({
title: dynamicEditors[i].title,
- content: dynamicEditors[i].editor.getContent()
+ content: content
});
}
return agreements;
@@ -256,6 +357,7 @@
});
ajax.set("addUserRemark", editor_1.getContent());
ajax.set("selectUserRemark", editor_2.getContent());
+ ajax.set("storeNoHuiminCardIntro", editor_3.getContent());
ajax.set("operatorId", $("#operator").val());
ajax.set("agreementSettings", JSON.stringify(collectDynamicEditors()));
ajax.set("id", $("#id").val());
--
Gitblit v1.7.1