diff --git a/ruoyi-mongodb/src/main/java/com/ruoyi/mongodb/conreoller/DynamicDataController.java b/ruoyi-mongodb/src/main/java/com/ruoyi/mongodb/conreoller/DynamicDataController.java index 428a5c0..8bcc110 100644 --- a/ruoyi-mongodb/src/main/java/com/ruoyi/mongodb/conreoller/DynamicDataController.java +++ b/ruoyi-mongodb/src/main/java/com/ruoyi/mongodb/conreoller/DynamicDataController.java @@ -2,16 +2,20 @@ package com.ruoyi.mongodb.conreoller; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.mongodb.domain.DynamicData; +import com.ruoyi.mongodb.domain.DynamicForm; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.mongodb.core.MongoTemplate; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.data.mongodb.core.query.Query; +import org.springframework.web.bind.annotation.*; -import java.util.Map; +import java.util.*; + +/** + * 智能表单模块 + */ @RestController +@RequestMapping("/intelligentForm") public class DynamicDataController { @Autowired private MongoTemplate mongoTemplate; @@ -20,16 +24,49 @@ public class DynamicDataController { @PostMapping("/saveDynamicData") public AjaxResult saveDynamicData(@RequestBody Map requestData) { DynamicData dynamicData = new DynamicData(); +// System.out.println(requestData.toString()); + String title = (String)requestData.get("title"); + dynamicData.setTitle(title); + requestData.remove("title"); + ArrayList inputarr = (ArrayList)requestData.get("inputarr"); +// System.out.println(inputarr.toString()); + for (String s : inputarr) { + requestData.put(s,null); + } + requestData.remove("inputarr"); +// System.out.println(requestData.toString()); dynamicData.setData(requestData); mongoTemplate.save(dynamicData); + return AjaxResult.success("保存成功"); + } + + //查询全部数据 + @GetMapping("/selectDynamicData") + public AjaxResult selectDynamicData() { + List dynamicData = mongoTemplate.find(new Query(), DynamicData.class); + for (DynamicData dynamicDatum : dynamicData) { + Map data = dynamicDatum.getData(); + data.forEach((k,v) -> { + data.put(k,k); + }); + } + return AjaxResult.success(dynamicData); + } + //根据id查询数据 + @GetMapping("/selectDynamicDataById") + public AjaxResult selectDynamicDataById(String id){ + DynamicData dynamicData = mongoTemplate.findById(id, DynamicData.class); + Map data = dynamicData.getData(); + data.forEach((k,v) -> { + data.put(k,k); + }); return AjaxResult.success(dynamicData); } - //查询数据 - @GetMapping("/selectDynamicData") - public AjaxResult selectDynamicData(String id) { - DynamicData data = mongoTemplate.findById(id, DynamicData.class); - return AjaxResult.success(data); + //采集数据 + public AjaxResult collectData(DynamicForm dynamicForm){ + mongoTemplate.save(dynamicForm); + return AjaxResult.success("保存成功"); } } diff --git a/ruoyi-mongodb/src/main/java/com/ruoyi/mongodb/domain/DynamicData.java b/ruoyi-mongodb/src/main/java/com/ruoyi/mongodb/domain/DynamicData.java index 73f04cb..277f4fb 100644 --- a/ruoyi-mongodb/src/main/java/com/ruoyi/mongodb/domain/DynamicData.java +++ b/ruoyi-mongodb/src/main/java/com/ruoyi/mongodb/domain/DynamicData.java @@ -9,16 +9,26 @@ import java.util.Map; public class DynamicData { @Id private String id; + private String title; private Map data; public DynamicData() { } - public DynamicData(String id, Map data) { + public DynamicData(String id, String title, Map data) { this.id = id; + this.title = title; this.data = data; } + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + public String getId() { return id; } @@ -39,6 +49,7 @@ public class DynamicData { public String toString() { return "DynamicData{" + "id='" + id + '\'' + + ", title='" + title + '\'' + ", data=" + data + '}'; } diff --git a/ruoyi-mongodb/src/main/java/com/ruoyi/mongodb/domain/DynamicForm.java b/ruoyi-mongodb/src/main/java/com/ruoyi/mongodb/domain/DynamicForm.java new file mode 100644 index 0000000..e36d6dc --- /dev/null +++ b/ruoyi-mongodb/src/main/java/com/ruoyi/mongodb/domain/DynamicForm.java @@ -0,0 +1,56 @@ +package com.ruoyi.mongodb.domain; + +import org.springframework.data.annotation.Id; + +import java.util.Map; + +public class DynamicForm { + @Id + private String id; + //关联后台智能表单id + private String dynamicDataId; + //采集数据 + private Map map; + + public DynamicForm() { + } + + public DynamicForm(String id, String dynamicDataId, Map map) { + this.id = id; + this.dynamicDataId = dynamicDataId; + this.map = map; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getDynamicDataId() { + return dynamicDataId; + } + + public void setDynamicDataId(String dynamicDataId) { + this.dynamicDataId = dynamicDataId; + } + + public Map getMap() { + return map; + } + + public void setMap(Map map) { + this.map = map; + } + + @Override + public String toString() { + return "DynamicForm{" + + "id='" + id + '\'' + + ", dynamicDataId='" + dynamicDataId + '\'' + + ", map=" + map + + '}'; + } +} diff --git a/ruoyi-ui/package.json b/ruoyi-ui/package.json index 76d33ee..39eb942 100644 --- a/ruoyi-ui/package.json +++ b/ruoyi-ui/package.json @@ -41,7 +41,7 @@ "core-js": "3.19.1", "date-fns": "^3.3.1", "echarts": "^4.9.0", - "element-ui": "2.15.6", + "element-ui": "^2.15.6", "file-saver": "2.0.5", "fuse.js": "6.4.3", "highlight.js": "9.18.5", @@ -53,6 +53,7 @@ "screenfull": "5.0.2", "sortablejs": "1.10.2", "vue": "2.6.12", + "vue-clipboard2": "^0.3.3", "vue-count-to": "1.0.13", "vue-cropper": "0.5.5", "vue-meta": "2.4.0", diff --git a/ruoyi-ui/src/api/crm/intelligent.js b/ruoyi-ui/src/api/crm/intelligent.js new file mode 100644 index 0000000..aa14784 --- /dev/null +++ b/ruoyi-ui/src/api/crm/intelligent.js @@ -0,0 +1,20 @@ +import request from '@/utils/request' + + +// 查询表单列表 +export function selectDynamicData(query) { + return request({ + url: '/intelligentForm/selectDynamicData', + method: 'get', + params: query + }) +} + +//添加智能表单 +export function saveDynamicData(data) { + return request({ + url: '/intelligentForm/saveDynamicData', + method: 'post', + data: data + }) +} diff --git a/ruoyi-ui/src/views/crm/business/index.vue b/ruoyi-ui/src/views/crm/business/index.vue index 5fcaab9..df2a2a9 100644 --- a/ruoyi-ui/src/views/crm/business/index.vue +++ b/ruoyi-ui/src/views/crm/business/index.vue @@ -95,7 +95,7 @@ /> - + --> - @@ -269,6 +268,7 @@ {{ parseTime(scope.row.forecastSuccessTime, '{y}-{m}-{d}') }} + +