From 8befde9f52a8bf1a7cd13666d4396587b0a0b1cc Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期三, 31 五月 2023 17:37:42 +0800
Subject: [PATCH] 修改树参照组件,懒加载和请求参数还没处理

---
 Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue |   71 +++++++++++++++++++++++
 Source/UBCS-WEB/src/api/refer/tree.js                     |   21 +++++++
 Source/UBCS-WEB/src/components/refer/vciWebRefer.vue      |   14 ++--
 Source/UBCS-WEB/src/components/FormTemplate/index.vue     |    4 
 Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue  |   55 ++++++++++++++++--
 5 files changed, 150 insertions(+), 15 deletions(-)

diff --git a/Source/UBCS-WEB/src/api/refer/tree.js b/Source/UBCS-WEB/src/api/refer/tree.js
index e69de29..2890a9f 100644
--- a/Source/UBCS-WEB/src/api/refer/tree.js
+++ b/Source/UBCS-WEB/src/api/refer/tree.js
@@ -0,0 +1,21 @@
+import request from "@/router/axios";
+
+export const getTree = (params,url) => {
+  return request({
+    url: url || '/api/ubcs-code/codeClassify/treeCodeClassify',
+    method: 'get',
+    params: {
+      ...params
+    }
+  })
+}
+
+export const getLazyTree = (params,url) => {
+  return request({
+    url: url||'/api/ubcs-system/dept/lazy-tree',
+    method: 'get',
+    params: {
+      ...params
+    }
+  })
+}
diff --git a/Source/UBCS-WEB/src/components/FormTemplate/index.vue b/Source/UBCS-WEB/src/components/FormTemplate/index.vue
index 38a9f73..0bb85c0 100644
--- a/Source/UBCS-WEB/src/components/FormTemplate/index.vue
+++ b/Source/UBCS-WEB/src/components/FormTemplate/index.vue
@@ -40,7 +40,7 @@
         </span>
       </template>
       <template :slot="item.prop + ''" v-for="item in option.column">
-        <vciWebRefer v-if="item.type=='refer'" :options="item.originalItem"></vciWebRefer>
+        <vciWebRefer v-if="item.type=='refer'" :value="item.value" :options="item.referConfig"></vciWebRefer>
       </template>
     </avue-form>
     <FindLike ref="findLike"></FindLike>
@@ -652,7 +652,7 @@
           value: item.defaultValue,
           tip: item.tip,
           comboxKey: item.comboxKey,
-          originalItem:item,
+          referConfig:item.referConfig,
           change: () => {
             this.changeFun(item.displayExtension, item.prop);
           },
diff --git a/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue b/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue
index 93bfa72..9d6f311 100644
--- a/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue
+++ b/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue
@@ -1,18 +1,20 @@
 <template>
-  <vciWebReferTree v-if="refertype=='tree'" :defaultValue="defaultValue" :options="referConfig"></vciWebReferTree>
+  <vciWebReferTree v-if="refertype=='tree'" :value="value" :options="options"></vciWebReferTree>
+  <vciWebReferTable v-else-if="refertype=='table'" :value="value" :options="options"></vciWebReferTable>
+  <vciWebReferDefalut v-else :value="value" :options="options"></vciWebReferDefalut>
 </template>
 
 <script>
 import vciWebReferTree from "./vciWebReferTree.vue";
+import vciWebReferTable from "./vciWebReferTable.vue";
+import vciWebReferDefalut from "./vciWebReferTable.vue";
 export default {
   name: "vciWebRefer",
-  props:["options"],
-  components: { vciWebReferTree},
+  props:["options","value"],
+  components: { vciWebReferTree,vciWebReferTable,vciWebReferDefalut},
   data() {
     return {
-      referConfig:this.options.referConfig,
-      refertype:this.options.referConfig.type,
-      defaultValue:this.options.defaultValue
+      refertype:this.options.type
     };
   },
   created() {
diff --git a/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue b/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue
new file mode 100644
index 0000000..1f1b519
--- /dev/null
+++ b/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue
@@ -0,0 +1,71 @@
+<template>
+  <avue-input-table :props="props"  :column="column" :on-load="onLoad" v-model="value"  :placeholder="placeholder" ></avue-input-table>
+</template>
+
+<script>
+export default {
+  name: "vciWebReferTable",
+  props:["options","value"],
+  data() {
+    return {
+      placeholder:'璇烽�夋嫨鏁版嵁',
+      column:{
+        children:{
+          border: true,
+          column: [{
+            label: '濮撳悕',
+            width: 120,
+            search:true,
+            prop: 'name'
+          }, {
+            label: '鎬у埆',
+            search:true,
+            prop: 'sex'
+          }],
+        },
+      },
+      props: {
+        label: 'name',
+        value: 'oid'
+      }
+    };
+  },
+  methods: {
+    onLoad({page, value, data}, callback) {
+      //棣栨鍔犺浇鍘绘煡璇㈠搴旂殑鍊�
+      if (value) {
+        this.$message.success('棣栨鏌ヨ' + value)
+        callback({
+          id: '0',
+          name: '寮犱笁',
+          sex: '鐢�'
+        })
+        return
+      }
+      if (data) {
+        this.$message.success('鎼滅储鏌ヨ鍙傛暟' + JSON.stringify(data))
+      }
+      if (page) {
+        this.$message.success('鍒嗛〉鍙傛暟' + JSON.stringify(page))
+      }
+      //鍒嗛〉鏌ヨ淇℃伅
+      callback({
+        total: 2,
+        data: [{
+          id: '0',
+          name: '寮犱笁',
+          sex: '鐢�'
+        }, {
+          id: '1',
+          name: '鏉庡洓',
+          sex: '濂�'
+        }]
+      })
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue b/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue
index ed3dba2..1a93438 100644
--- a/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue
+++ b/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue
@@ -1,29 +1,70 @@
 <template>
-  <avue-input-tree default-expand-all v-model="defaultValue" :placeholder="placeholder" :dic="dicData"></avue-input-tree>
+  <avue-input-tree :props="props" :lazy="lazy" :multiple="isMuti" v-model="value" :placeholder="placeholder" :dic="treeData"></avue-input-tree>
 </template>
 
 <script>
+import {getTree,getLazyTree} from "@/api/refer/tree";
+import {getDeptLazyTree} from "@/api/system/dept";
+
 export default {
   name: "vciWebReferTree",
-  props:["options","defaultValue"],
+  props:["options","value"],
   data() {
     return {
+      lazy:this.options.loadType == 'node',
+      isMuti:true,//options.muti,
       placeholder:'璇烽�夋嫨鍐呭',
-      dicData:[{
-        label:'閫夐」1',
+      props: {
+        value:this.options.valueField,
+        label:this.options.textField
+        //value:"value",
+        //label:"title"
+      },
+      treeData:[{
+        title:'閫夐」1',
         value:0,
         children:[{
-          label:'閫夐」3',
+          title:'閫夐」3',
           value:2
         },{
-          label:'閫夐」4',
+          title:'閫夐」4',
           value:3
         }]
       },{
-        label:'閫夐」2',
+        title:'閫夐」2',
         value:1
       }]
     };
+  },
+  created() {
+
+  },
+  mounted() {
+    this.getTree();
+  },
+  methods: {
+    getTree(){
+      getTree({parentId:0},this.options.url).then(res => {
+          this.treeData=res.data
+
+          console.log(this.treeData)
+        })
+    },
+    getLazyTree(){
+      getLazyTree({parentId:0},this.options.url).then(res => {
+        this.treeData=res.data.data
+
+        console.log(this.treeData)
+      })
+    },
+    treeLoad: function (tree,treeNode, resolve) {
+      debugger;
+      const parentId = (treeNode.level === 0) ? 0 : treeNode.data.id;
+      /*getDeptLazyTree({parentId:parentId}).then(res => {
+        resolve(res.data.data)
+      });*/
+    }
+
   }
 }
 </script>

--
Gitblit v1.9.3