Jelajahi Sumber

标准模板

wangggziwen 1 bulan lalu
induk
melakukan
37748b1feb

+ 65 - 17
rc-admin/src/main/java/com/ruoyi/web/controller/rc/TStandardChapterController.java

@@ -46,23 +46,71 @@ public class TStandardChapterController extends BaseController
     @GetMapping("/list")
     public AjaxResult list(TStandardChapter tStandardChapter)
     {
-//        //数组集合结构
-//        List<TStandardChapter> tStandardChapters = tStandardChapterService.selectTStandardChapterList(tStandardChapter);
-//        //树状VO结构
-//        ArrayList<TreeVO> treeVo = new ArrayList<>();
-//        for (TStandardChapter standardChapter : tStandardChapters) {
-//            Long id = standardChapter.getId();
-//            String code = standardChapter.getCode();
-//            String name = standardChapter.getName();
-//            if (code.indexOf(".") == -1) {
-//                TreeVO vo = new TreeVO();
-//                vo.setId(id);
-//                vo.setLabel(name);
-//                treeVo.add(vo);
-//            }
-//        }
-//        return success(treeVo);
-        return success(tStandardChapterService.selectTStandardChapterList(tStandardChapter));
+        //数组集合结构
+        List<TStandardChapter> tStandardChapters = tStandardChapterService.selectTStandardChapterList(tStandardChapter);
+        //树状VO结构
+        ArrayList<TreeVO> treeVo = new ArrayList<>();
+        for (TStandardChapter standardChapter : tStandardChapters) {//第2次遍历,插入1级
+            Long id = standardChapter.getId();
+            String code = standardChapter.getCode();
+            String name = standardChapter.getName();
+            if (code.indexOf(".") == -1) {//没有“.”
+                TreeVO vo = new TreeVO();
+                vo.setId(id);
+                vo.setCode(code);
+                vo.setName(name);
+                vo.setLabel(code + " " + name);
+                treeVo.add(vo);
+            }
+        }
+        for (TStandardChapter standardChapter : tStandardChapters) {//第2次遍历,插入2级
+            Long id = standardChapter.getId();
+            String code = standardChapter.getCode();
+            String name = standardChapter.getName();
+            if (code.indexOf(".") != -1  && code.indexOf(".") == code.lastIndexOf(".")) {//有“.”,只有一个“.”,即第一个“.”的index=最后一个“.”的index
+                String parentCode = code.substring(0, code.lastIndexOf("."));//1级节点code
+                for (TreeVO treeVO : treeVo) {
+                    String voCode = treeVO.getCode();
+                    ArrayList<TreeVO> children = treeVO.getChildren();
+                    if (parentCode.equals(voCode)) {
+                        TreeVO vo = new TreeVO();
+                        vo.setId(id);
+                        vo.setCode(code);
+                        vo.setName(name);
+                        vo.setLabel(code + " " + name);
+                        children.add(vo);
+                    }
+                }
+
+            }
+        }
+        for (TStandardChapter standardChapter : tStandardChapters) {//第3次遍历,插入3级
+            Long id = standardChapter.getId();
+            String code = standardChapter.getCode();
+            String name = standardChapter.getName();
+            if (code.indexOf(".") != -1  && code.indexOf(".") != code.lastIndexOf(".")) {
+                String parentCode = code.substring(0, code.lastIndexOf("."));//2级节点code
+                String rootCode = parentCode.substring(0, parentCode.lastIndexOf("."));//1级节点code
+                for (TreeVO treeVO : treeVo) {
+                    ArrayList<TreeVO> children = treeVO.getChildren();
+                    for (TreeVO child : children) {
+                        String childCode = child.getCode();
+                        ArrayList<TreeVO> childChild = child.getChildren();
+                        if (parentCode.equals(childCode)) {
+                            TreeVO vo = new TreeVO();
+                            vo.setId(id);
+                            vo.setCode(code);
+                            vo.setName(name);
+                            vo.setLabel(code + " " + name);
+                            childChild.add(vo);
+                        }
+                    }
+                }
+            }
+        }
+
+        return success(treeVo);
+//        return success(tStandardChapterService.selectTStandardChapterList(tStandardChapter));
     }
 
     /**

+ 20 - 0
rc-admin/src/main/java/com/ruoyi/web/controller/rc/vo/TreeVO.java

@@ -12,6 +12,10 @@ public class TreeVO {
 
     private String label;
 
+    private String code;
+
+    private String name;
+
     private ArrayList<TreeVO> children = new ArrayList<>();
 
     public Long getId() {
@@ -30,6 +34,22 @@ public class TreeVO {
         this.label = label;
     }
 
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
     public ArrayList<TreeVO> getChildren() {
         return children;
     }

+ 2 - 0
ruoyi-ui/src/views/rc/editstandardchapter/index.vue

@@ -132,6 +132,8 @@
       form: {},
       // 表单校验
       rules: {
+        code: [{required: true, message: "序号不可为空", trigger: "blur"}],
+        name: [{required: true, message: "名称不可为空", trigger: "blur"}],
       },
     };
   },

+ 24 - 56
ruoyi-ui/src/views/rc/standardchapter/index.vue

@@ -13,27 +13,27 @@
       />
       </div>
       <div class="head-container">
-        <!--<el-tree-->
-          <!--style="height: 800px; overflow: scroll;"-->
-          <!--:data="treeData"-->
-          <!--:props="treeProps"-->
-          <!--node-key="id"-->
-          <!--@node-click="handleTreeNodeClick"-->
-          <!--:default-expand-all="true">-->
-        <!--</el-tree>-->
-        <el-table
-          :height="clientHeight"
-          ref="chapterList"
-          v-loading="loading"
-          :data="chapterList"
-          style="margin-bottom: 20px; font-size: 12px;"
-          border
-          class="menuTable"
-          @row-click="handleNodeClick"
-          :show-header="false">
-          <el-table-column align="center" prop="code" width="80" :show-overflow-tooltip="true"/>
-          <el-table-column align="center" prop="name"/>
-        </el-table>
+        <el-tree
+          style="height: 800px; overflow: scroll;"
+          :data="treeData"
+          :props="treeProps"
+          node-key="id"
+          @node-click="handleTreeNodeClick"
+          :default-expand-all="true">
+        </el-tree>
+        <!--<el-table-->
+          <!--:height="clientHeight"-->
+          <!--ref="chapterList"-->
+          <!--v-loading="loading"-->
+          <!--:data="chapterList"-->
+          <!--style="margin-bottom: 20px; font-size: 12px;"-->
+          <!--border-->
+          <!--class="menuTable"-->
+          <!--@row-click="handleNodeClick"-->
+          <!--:show-header="false">-->
+          <!--<el-table-column align="center" prop="code" width="80" :show-overflow-tooltip="true"/>-->
+          <!--<el-table-column align="center" prop="name"/>-->
+        <!--</el-table>-->
       </div>
     </span>
   </div>
@@ -77,39 +77,7 @@ export default {
       // 表单校验
       rules: {
       },
-      treeData: [
-        {
-          id: 1001,
-          label: '一级 1',
-          children: [{
-            id: 1002,
-            label: '二级 1-1',
-            children: [{
-              id: 1003,
-              label: '三级 1-1-1'
-            }]
-          }]
-        },
-        {
-          id: 1004,
-          label: '一级 2',
-          children: [{
-            id: 1005,
-            label: '二级 2-1',
-            children: [{
-              id: 1006,
-              label: '三级 2-1-1'
-            }]
-          }, {
-            id: 1007,
-            label: '二级 2-2',
-            children: [{
-              id: 1008,
-              label: '三级 2-2-1'
-            }]
-          }]
-        }
-      ],
+      treeData: [],
       treeProps: {
         children: 'children',
         label: 'label'
@@ -135,8 +103,8 @@ export default {
     getList() {
       this.loading = true;
       listStandardChapter().then(response => {
-        this.chapterList = response.data;
-        // this.treeData = response.data;
+        // this.chapterList = response.data;
+        this.treeData = response.data;
         // console.log(this.treeData)
         // console.log(response.data)
         this.total = response.total;

+ 6 - 6
ruoyi-ui/src/views/rc/standardquestionnaire/index.vue

@@ -65,7 +65,7 @@
       </el-table-column>
       <el-table-column label="目录" align="center" prop="directory" width="200" />
       <el-table-column label="序号" align="center" prop="code" />
-      <el-table-column label="名称" align="center" prop="name" width="350" />
+      <el-table-column label="内容" align="center" prop="name" width="350" />
       <el-table-column label="YES" align="center" prop="yesNoNa" v-if="showEdit">
         <template slot-scope="scope">
           <span>{{scope.row.yesNoNa == 1 ? "√" : ""}}</span>
@@ -81,7 +81,7 @@
           <span>{{scope.row.yesNoNa == 3 ? "√" : ""}}</span>
         </template>
       </el-table-column>
-      <el-table-column label="MinimumStandard" align="center" prop="minimumStandard" width="150" />
+      <!--<el-table-column label="MinimumStandard" align="center" prop="minimumStandard" width="150" />-->
       <el-table-column label="标准文档" align="center" width="150">
         <template slot-scope="scope">
           <el-button icon="el-icon-folder" style="color:#6e96fa;" circle @click="handleDoc(scope.row , 'standard')"></el-button>
@@ -169,7 +169,7 @@
         <el-form-item label="序号" prop="code">
           <el-input v-model="form.code" placeholder="请输入序号" />
         </el-form-item>
-        <el-form-item label="名称" prop="name">
+        <el-form-item label="内容" prop="name">
           <el-input v-model="form.name" type="textarea" placeholder="请输入内容" />
         </el-form-item>
         <el-form-item label="" prop="yesNoNa">
@@ -181,9 +181,9 @@
             >{{dict.label}}</el-radio>
           </el-radio-group>
         </el-form-item>
-        <el-form-item label="Minimum Standard" prop="minimumStandard">
-          <el-input v-model="form.minimumStandard" type="textarea" placeholder="请输入内容" />
-        </el-form-item>
+        <!--<el-form-item label="Minimum Standard" prop="minimumStandard">-->
+          <!--<el-input v-model="form.minimumStandard" type="textarea" placeholder="请输入内容" />-->
+        <!--</el-form-item>-->
         <el-form-item label="链接" prop="link">
           <el-input v-model="form.link" type="textarea" placeholder="请输入内容" />
         </el-form-item>