wangyingjie 2 سال پیش
والد
کامیت
303a128a09

+ 2 - 2
components/dkbase/dk-tree-form/dk-tree-form.json

@@ -1,6 +1,6 @@
 {
     "component": true,
-    "usingComponents": {
-        "dk-tree": "/components/dkbase/dk-tree-form/dk-tree-form"
+    "usingComponents": { 
+      
     }
 }

+ 42 - 46
components/dkbase/dk-tree/dk-tree.js

@@ -1,11 +1,10 @@
-const tranverse = (e, itemListKey) => {
-
+const tranverse = (e,itemListKey) => {
+  
     for (let i in e) {
-        // if (e[i][itemListKey]) {
-
-        // }
-        e[i].open = false;
-        tranverse(e[i][itemListKey], itemListKey)
+        if (e[i][itemListKey]) {
+            e[i].open = false;
+            tranverse(e[i][itemListKey],itemListKey)
+        }
         e[i].selected = false;
     }
 }
@@ -49,18 +48,16 @@ Component({
         const { parentIdKey } = this.data;
         for (let i in treeList) {
             if (treeList[i][itemListKey]) {
-                // if (treeList[i][parentIdKey]) {
-                   
-                // } 
-                treeList[i].open = false;
-                // else {
-                //     treeList[i].open = true;
-                // }
-                tranverse(treeList[i][itemListKey], itemListKey);
+                if(treeList[i][parentIdKey]){
+                    treeList[i].open = false;
+                   }else{
+                    treeList[i].open = true;
+                   }   
+                tranverse(treeList[i][itemListKey],itemListKey);
             }
             treeList[i].selected = false;
         }
-
+         
         this.setData({
             tree: treeList
         })
@@ -73,23 +70,23 @@ Component({
             let treeList = data
             for (let i in treeList) {
                 if (treeList[i][itemListKey]) {
-                    // if (treeList[i][parentIdKey]) {
-                        treeList[i].open = false;
-                    // } else {
-                    //     treeList[i].open = true;
-                    // }
-                    tranverse(treeList[i][itemListKey], itemListKey);
+                   if(treeList[i][parentIdKey]){
+                    treeList[i].open = false;
+                   }else{
+                    treeList[i].open = true;
+                   }   
+                    tranverse(treeList[i][itemListKey],itemListKey);
                 }
                 treeList[i].selected = false;
             }
-
+             
             this.setData({
                 tree: treeList
             })
-
-        },
+           
+          },
         //修改折叠状态
-        changeOpen(tree, id, itemListKey, idKey) {
+        changeOpen(tree, id,itemListKey,idKey) {
             for (let i = 0; i < tree.length; i += 1) {
                 if (tree[i][idKey] === id) {
                     tree[i].open = !tree[i].open;
@@ -101,40 +98,40 @@ Component({
             return;
         },
         onchange(e) {
-            console.log("onchange", e)
+            console.log("onchange",e)
             const { treeList } = this.data;
             const { itemListKey } = this.data;
             const { idKey } = this.data;
             const { id } = e.currentTarget.dataset;
-            this.changeOpen(treeList, id, itemListKey, idKey);
+            this.changeOpen(treeList, id, itemListKey,idKey);
             this.triggerEvent('change', id, { bubbles: true, composed: true });
             this.setData({
                 tree: treeList
             })
         },
         change(e) {
-            console.log("change", e)
+            console.log("change",e)
             const id = e.detail;
             const { treeList } = this.data;
             const { itemListKey } = this.data;
             const { idKey } = this.data;
-            this.changeOpen(treeList, id, itemListKey, idKey);
+            this.changeOpen(treeList, id,itemListKey,idKey);
             this.setData({
                 tree: treeList
             })
         },
         // 点击名字
-        clickName(e) {
+        clickName(e){
             const { idKey } = this.data;
-            const { nameKey } = this.data;
-
-            this.triggerEvent('clickName', { id: e.currentTarget.dataset.item[idKey], name: e.currentTarget.dataset.item[nameKey] });
-
+            const { nameKey } = this.data; 
+     
+           this.triggerEvent('clickName', {id:e.currentTarget.dataset.item[idKey],name:e.currentTarget.dataset.item[nameKey]} );
+   
         },
         //点击控件里的控件 回调
-        subclickName(e) {
-
-            this.triggerEvent('clickName', { id: e.detail.id, name: e.detail.name });
+        subclickName(e){
+             
+            this.triggerEvent('clickName', {id:e.detail.id,name:e.detail.name} );
         },
         click(e) {
             console.log("click")
@@ -148,7 +145,7 @@ Component({
                 id = e.detail[idKey];
             }
             const { treeList } = this.data;
-            this.setStatus(treeList, id, idKey);
+            this.setStatus(treeList, id,idKey);
             this.setData({
                 tree: treeList
             })
@@ -163,15 +160,14 @@ Component({
             const { treeList } = this.data;
             const { idKey } = this.data;
             // const value = this.getData(treeList, id)
-            this.setStatus(treeList, id, idKey);
+            this.setStatus(treeList, id,idKey);
             this.triggerEvent('onclick', { id, value, treeList }, { composed: true, bubbles: true });
             this.setData({
                 tree: treeList
             })
         },
         //切换选中状态
-        setStatus(tree, id, idKey) { 
-            const { itemListKey } = this.data
+        setStatus(tree, id,idKey) {
             for (let i = 0; i < tree.length; i += 1) {
                 if (tree[i][idKey] == id) {
                     tree[i].selected = true;
@@ -179,23 +175,23 @@ Component({
                     tree[i].selected = false;
                 }
                 if (tree[i][itemListKey]) {
-                    this.setStatus(tree[i][itemListKey], id, idKey);
+                    this.setStatus(tree[i][itemListKey], id,idKey);
                 }
             }
             return;
         },
         //获取选中项信息
-        getData(tree, id, idKey) {
+        getData(tree, id,idKey) {
             for (let i = 0; i < tree.length; i += 1) {
                 if (tree[i][idKey] === id) {
                     return tree[i].name;
                 }
                 if (tree[i][itemListKey]) {
-                    this.getData(tree[i][itemListKey], id, idKey);
+                    this.getData(tree[i][itemListKey], id,idKey);
                 }
             }
             return '';
         },
-
+ 
     }
 })

+ 1 - 1
components/dkbase/dk-tree/dk-tree.json

@@ -1,4 +1,4 @@
 {
     "component": true,
-    "usingComponents": {}
+    "usingComponents": {  }
 }

+ 39 - 32
components/dkbase/dk-tree/dk-tree.wxml

@@ -1,37 +1,44 @@
-<view>
-	<block>
-		<view wx:for="{{tree}}" style="display:flex;align-items:center;margin-left:{{item[itemListKey].length !== 0 ? depth*20 : depth*30}}px;font-size:36rpx;margin-top: 5px;">
-			<!--  -->
-			<view wx:if="{{isNameImgFlag}}">
-				<view class="tree_left" wx:if="{{item[itemListKey].length !== 0}}" data-id="{{item[idKey]}}" data-open="{{item.open}}">
-					<van-image round width="40rpx" height="40rpx" src="/static/img/tree.png" />
-				</view>
-			</view>
-			<view wx:if="{{ischekboxFlag}}">
-				<checkbox checked="{{item.selected}}" bindchange="handleCheckboxChange" data-id="{{item.id}}"> </checkbox>
-			</view>
-			<view class="{{item[itemListKey].length !== 0 ?'parent':'node'}} " style="width: 100%;margin-left: 5vw;font-size: 14px;" data-item="{{item}}" data-type="sub" data-open="{{item.open}}" bindtap="clickName">
-				<!-- bindtap="onchange" -->
-				{{item[nameKey]}}
+ 
+    <!-- 列表下半部分 -->
 
-				<!-- <view class="selected" wx:if="{{item.category !== 'index'}}" catchtap="handleClick"
+    <view wx:for="{{tree}}" >
+        <block>
+
+            <view wx:if="{{item[parentIdKey]}}" style="display:flex;align-items:center;margin-left:{{item[itemListKey].length !== 0 ? depth*20 : depth*30}}px;font-size:36rpx;margin-top: 5px;">
+                <!--  -->
+                <view wx:if="{{isNameImgFlag}}">
+                    <view class="tree_left" wx:if="{{item[itemListKey].length !== 0}}" data-id="{{item[idKey]}}" data-open="{{item.open}}">
+                        <van-image round width="40rpx" height="40rpx" src="/static/img/tree.png" />
+                    </view>
+                </view>
+                <view wx:if="{{ischekboxFlag}}">
+                    <checkbox checked="{{item.selected}}" bindchange="handleCheckboxChange" data-id="{{item.id}}"> </checkbox>
+                </view>
+                <view class="{{item[itemListKey].length !== 0 ?'parent':'node'}} " style="width: 100%;margin-left: 5vw;font-size: 14px;" data-item="{{item}}" data-type="sub"  data-open="{{item.open}}" bindtap="clickName">
+                    <!-- bindtap="onchange" -->
+                    {{item[nameKey]}}
+
+                    <!-- <view class="selected" wx:if="{{item.category !== 'index'}}" catchtap="handleClick"
                     data-id="{{item.id}}" data-value="{{item.name}}">
                     <image hidden="{{item.selected === false}}" src="../../pages/image/tick.png"
                         style="width:20px;height:20px;"></image>
                 </view> -->
-			</view>
-			<view style="flex:1;">
-				<view class="tree_right" wx:if="{{item[itemListKey]}}" data-id="{{item[idKey]}}" data-open="{{item.open}}" bindtap="onchange">
-					<!-- <view class="{{!item.open ? 'icon-right' : 'icon-down'}}"></view> -->
-					<van-icon wx:if="{{!item.open }}" color="#bdb7b7" name="arrow" />
-					<van-icon wx:else name="arrow-down" color="#bdb7b7" />
-				</view>
-			</view>
-		</view>
-		<block wx:if="{{item[itemListKey]}}">
-			<view hidden="{{!item.open}}">
-				<dk-tree bind:clickName="subclickName" treeList="{{item[itemListKey]}}" ischekboxFlag="{{ischekboxFlag}}" isNameImgFlag="{{isNameImgFlag}}" nameKey="{{nameKey}}" idKey="{{idKey}}" parentIdKey="{{parentIdKey}}" itemListKey="{{itemListKey}}" id="treeSelect" bind:onclick="click" depth="{{depth+1}}"></dk-tree>
-			</view>
-		</block>
-	</block>
-</view>
+                </view>
+                <view style="flex:1;">
+                    <view class="tree_right" wx:if="{{item[itemListKey]}}" data-id="{{item[idKey]}}" data-open="{{item.open}}" bindtap="onchange">
+                        <!-- <view class="{{!item.open ? 'icon-right' : 'icon-down'}}"></view> -->
+                        <van-icon wx:if="{{!item.open }}" color="#bdb7b7" name="arrow" />
+                        <van-icon wx:else name="arrow-down" color="#bdb7b7" />
+                    </view>
+                </view>
+            </view>
+            <block wx:if="{{item[itemListKey]}}">
+                <view hidden="{{!item.open}}">
+                    <dk-tree-form  bind:clickName="subclickName" treeList="{{item[itemListKey]}}" ischekboxFlag="{{ischekboxFlag}}" isNameImgFlag= "{{isNameImgFlag}}" nameKey="{{nameKey}}" idKey="{{idKey}}" parentIdKey="{{parentIdKey}}" itemListKey="{{itemListKey}}" id="treeSelect" bind:onclick="click" depth="{{depth+1}}"></dk-tree-form >
+                </view>
+            </block>
+        </block>
+    </view>
+
+
+ 

+ 1 - 1
package-basic-data/pages/org/add/add.wxml

@@ -1 +1 @@
-<dk-tree-form treeList="{{treeList}}" idKey="id" nameKey="name" parentIdKey="pid" itemListKey="nodes" id="treeSelect" bind:onclick="treeClick"></dk-tree-form>
+<dk-tree treeList="{{treeList}}" idKey="id" nameKey="name" parentIdKey="pid" itemListKey="nodes" id="treeSelect" bind:onclick="treeClick"></dk-tree>

+ 10 - 2
package-basic-data/pages/org/org.js

@@ -122,15 +122,23 @@ Page({
    * @date : 2024/2/1 15:49
    * @author : 王英杰
    */
-  handleData(data) {
+  handleSearchData(data) {
    
     this.setData({
       tableData: util.convertToChildren(data, "parentId", "orgId", null) ,
-      showPop: false
+ 
     })
     const myComponent = this.selectComponent('#treeSelect');
     myComponent.setDataFromPage(this.data.tableData);
   },
+  handleData(data) {
+   
+    this.setData({
+      showPop: false,
  
+    })
+  this.searchData()
+  },
+
  
 })