Browse Source

新增机构数组件,默认勾选checkSub,文本更改为关联上级

jingyuanchao 2 năm trước cách đây
mục cha
commit
bf66b62cf9

+ 6 - 6
src/api/system/knowledge.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询详细知识库标签
 export function queryKnowledgeList() {
   return request({
-    url: '/system/knowledge/dataList' ,
+    url: '/core/knowledge/dataList' ,
     method: 'get'
   })
 }
@@ -11,7 +11,7 @@ export function queryKnowledgeList() {
 // 查询列表知识库标签
 export function listKnowledge(query) {
   return request({
-    url: '/system/knowledge/list',
+    url: '/core/knowledge/list',
     method: 'get',
     params: query
   })
@@ -20,7 +20,7 @@ export function listKnowledge(query) {
 // 查询详细知识库标签
 export function getKnowledge(id) {
   return request({
-    url: '/system/knowledge/' + id,
+    url: '/core/knowledge/' + id,
     method: 'get'
   })
 }
@@ -28,7 +28,7 @@ export function getKnowledge(id) {
 // 新增知识库标签
 export function addKnowledge(data) {
   return request({
-    url: '/system/knowledge',
+    url: '/core/knowledge',
     method: 'post',
     data: data
   })
@@ -37,7 +37,7 @@ export function addKnowledge(data) {
 // 修改知识库标签
 export function updateKnowledge(data) {
   return request({
-    url: '/system/knowledge',
+    url: '/core/knowledge',
     method: 'put',
     data: data
   })
@@ -46,7 +46,7 @@ export function updateKnowledge(data) {
 // 删除知识库标签
 export function delKnowledge(id) {
   return request({
-    url: '/system/knowledge/' + id,
+    url: '/core/knowledge/' + id,
     method: 'delete'
   })
 }

+ 6 - 6
src/api/system/materials.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询列表学习资料
 export function listMaterials(query) {
   return request({
-    url: '/system/materials/list',
+    url: '/core/materials/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listMaterials(query) {
 //设置为公开或者非公开
 export function editOpen(id, isOpen) {
   return request({
-    url: '/system/materials/' + id + "/" + isOpen,
+    url: '/core/materials/' + id + "/" + isOpen,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function editOpen(id, isOpen) {
 // 查询详细学习资料
 export function getMaterials(id) {
   return request({
-    url: '/system/materials/' + id,
+    url: '/core/materials/' + id,
     method: 'get'
   })
 }
@@ -28,7 +28,7 @@ export function getMaterials(id) {
 // 新增学习资料
 export function addMaterials(data) {
   return request({
-    url: '/system/materials',
+    url: '/core/materials',
     method: 'post',
     data: data
   })
@@ -37,7 +37,7 @@ export function addMaterials(data) {
 // 修改学习资料
 export function updateMaterials(data) {
   return request({
-    url: '/system/materials',
+    url: '/core/materials',
     method: 'put',
     data: data
   })
@@ -46,7 +46,7 @@ export function updateMaterials(data) {
 // 删除学习资料
 export function delMaterials(id) {
   return request({
-    url: '/system/materials/' + id,
+    url: '/core/materials/' + id,
     method: 'delete'
   })
 }

+ 95 - 0
src/components/k-orgTree/index.vue

@@ -0,0 +1,95 @@
+<template>
+  <div>
+    <div class="head-container">
+      <el-input
+        v-model="deptName"
+        placeholder="请输入机构名称"
+        clearable
+        size="small"
+        prefix-icon="el-icon-search"
+        style="margin-bottom: 20px"/>
+    </div>
+    <div class="tree-container">
+      <div style="margin-bottom: 10px;">
+        <el-checkbox v-model="checkSub" @change="changeCheckBox">是否关联上级</el-checkbox>
+      </div>
+      <el-tree
+        :data="treeList"
+        :props="defaultProps"
+        :expand-on-click-node="false"
+        :filter-node-method="filterNode"
+        ref="tree"
+        node-key="id"
+        :default-expanded-keys="defaultKeys"
+        :default-checked-keys="defaultKeys"
+        @node-click="handleNodeClick"
+      />
+    </div>
+  </div>
+</template>
+
+<script>
+import tableListMixins from "@/mixins/tableList";
+import {deptTreeSelect} from "@/api/system/public";
+
+export default {
+  name: "k-orgTree",
+  mixins:[tableListMixins],
+  data(){
+    return {
+      //过滤信息
+      deptName:'',
+      //是否关联下级
+      checked: false,
+      // 机构树列表
+      treeList: [],
+      //默认选中节点
+      defaultKeys:[],
+      //自定义取值
+      defaultProps: {
+        children: "children",
+        label: "name"
+      },
+      checkSub:true,
+      defaultKey:null,
+    }
+  },
+  watch: {
+    // 根据名称筛选机构树
+    deptName(val) {
+      this.$refs.tree.filter(val);
+    }
+  },
+  created() {
+    this.getDeptTree();
+  },
+  methods:{
+    /** 下穿状态改变*/
+    changeCheckBox(state){
+      this.$emit('checkChange',state);
+    },
+    /** 查询机构下拉树结构 */
+    getDeptTree() {
+      deptTreeSelect().then(response => {
+        this.treeList = response.data;
+        this.defaultKeys.push(response.data[0].id);
+        this.$emit('defaultKey',response.data[0].id);
+        this.defaultKey = response.data[0].id;
+      });
+    },
+    // 筛选节点
+    filterNode(value, data) {
+      if (!value) return true;
+      return data.name.indexOf(value) !== -1;
+    },
+    // 节点单击事件
+    handleNodeClick(data) {
+      this.$emit('click',data);
+    },
+  },
+}
+</script>
+
+<style scoped>
+
+</style>

+ 22 - 8
src/views/system/materials/index.vue

@@ -3,8 +3,8 @@
     <el-row :gutter="20">
       <!--机构数据-->
       <el-col :span="4" :xs="24">
-        <org-tree v-model="queryParams.orgId" @defaultKey="getDefaultKey" @checkChange="checkChange"
-                  @click="clickTreeNode"></org-tree>
+        <k-org-tree v-model="queryParams.orgId" @defaultKey="getDefaultKey" @checkChange="checkChange"
+                  @click="clickTreeNode"></k-org-tree>
       </el-col>
       <!--用户数据-->
       <el-col :span="20" :xs="24">
@@ -201,10 +201,11 @@ import {deptTreeSelect} from "@/api/system/public";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 import {queryKnowledgeList} from "@/api/system/knowledge";
 import OrgTree from "@/components/orgTree/index.vue";
+import kOrgTree from "@/components/k-orgTree/index.vue";
 
 export default {
   name: "Materials",
-  components: {OrgTree},
+  components: {OrgTree,kOrgTree},
   data() {
     return {
       // 遮罩层
@@ -387,11 +388,24 @@ export default {
 
     handleOpen(row, isOpen) {
       const str = 1 === isOpen ? "公开" : "取消公开";
-      editOpen(row.id, isOpen).then(response => {
-        this.$modal.msgSuccess("操作成功");
-        this.getList();
-      });
-
+      this.$confirm(`确认要${str}吗?`, "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      })
+        .then(() => {
+          editOpen(row.id, isOpen)
+            .then(response => {
+              this.$message.success("操作成功");
+              this.getList();
+            })
+            .catch(error => {
+              this.$message.error("操作失败");
+            });
+        })
+        .catch(() => {
+          // 用户取消操作
+        });
     },
     /** 新增按钮操作 */
     handleAdd() {