Browse Source

合同计量期树接口调用

duy 1 year ago
parent
commit
976b438676
1 changed files with 28 additions and 18 deletions
  1. 28 18
      src/views/debit-pay/admin/middlepay.vue

+ 28 - 18
src/views/debit-pay/admin/middlepay.vue

@@ -7,7 +7,7 @@
                         <el-option v-for="item in key1Data" :key="item.id" :label="item.name" :value="item.id" />
                     </el-select>
                 </template>
-                <hc-lazy-tree :h-props="treeProps" @load="treeLoadNode" />
+                <hc-lazy-tree :h-props="treeProps" tree-key="id" :auto-expand-keys="TreeAutoExpandKeys" @load="treeLoadNode" @nodeTap="treeNodeTap" />
             </hc-new-card>
         </div>
         <div :id="`hc_table_card_${uuid}`" class="flex-1">
@@ -56,7 +56,13 @@
 import { nextTick, onMounted, ref } from 'vue'
 import HcAddModal from './components/middlepay/addModal.vue'
 import HcDetailsModal from './components/middlepay/detailsModal.vue'
-import { getRandom } from 'js-fast-way'
+import { arrToId, getArrValue, getObjValue, getRandom } from 'js-fast-way'
+import unitApi from '~api/project/debit/contract/unit.js'
+import { getStoreValue, setStoreValue } from '~src/utils/storage'
+import { useAppStore } from '~src/store'
+const useAppState = useAppStore()
+const projectId = ref(useAppState.getProjectId || '')
+const contractId = ref(useAppState.getContractId || '')
 
 defineOptions({
     name: 'DebitPayAdminMiddlepay',
@@ -97,27 +103,31 @@ const searchKey1Click = () => {
 
 //数据格式
 const treeProps = {
-    label: 'name',
+    label: 'nodeName',
     children: 'children',
-    isLeaf: 'leaf',
+    isLeaf: 'notExsitChild',
 }
-
+const TreeAutoExpandKeys = ref(getStoreValue('wbsTreeExpandKeys') || [])
 //懒加载的数据
-const treeLoadNode = ({ level }, resolve) => {
-    if (level === 0) {
-        return resolve([{ name: 'region' }])
-    }
-    if (level > 3) {
-        return resolve([])
+const treeLoadNode = async ({ node, item, level }, resolve) => {
+    let id = 0
+    if (level !== 0) {
+        const nodeData = getObjValue(item)
+        id = nodeData?.id || ''
     }
-    setTimeout(() => {
-        resolve([
-            { name: 'leaf', leaf: true },
-            { name: 'zone' },
-        ])
-    }, 500)
-}
+    //获取数据
+    const { error, code, data } = await unitApi.lazyTree({
+        contractId: contractId.value,
+        id:id,
+    })
 
+    resolve(getArrValue(data))
+}
+const treeNodeTap = ({ node, data, keys }) => {
+   console.log('点击树')
+   TreeAutoExpandKeys.value = keys || []
+    setStoreValue('wbsTreeExpandKeys', keys)
+}
 //分页
 const pageChange = ({ current, size }) => {
     searchForm.value.current = current