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