duy 2 سال پیش
والد
کامیت
3ca87630f7
1فایلهای تغییر یافته به همراه9 افزوده شده و 6 حذف شده
  1. 9 6
      src/views/data-fill/components/ListItem.vue

+ 9 - 6
src/views/data-fill/components/ListItem.vue

@@ -1,6 +1,6 @@
 <template>
     <div class="data-fill-list-box">
-        <el-collapse v-model="ActiveKey" accordion @change="CollapseChange">
+        <el-collapse v-model="ActiveKey"  @change="CollapseChange">
             <template v-for="(item,index) in listDatas" :key="item?.pkeyId">
                 <el-collapse-item :name="`item-${index}-${item?.pkeyId}`" :disabled="item['isBussShow'] === 2" :id="`item-${index}-${item?.pkeyId}`">
                     <template #title>
@@ -276,7 +276,7 @@ const getFormDataInit = (item, pkeyId) => {
 //设置表单对象的数量
 const formData = ref([])
 const setFormDataNum = (datas) => {
-    ActiveKey.value = ''
+    ActiveKey.value = []
     let newArr = [];
     for (let i = 0; i < datas.length; i++) {
         newArr.push({
@@ -289,13 +289,14 @@ const setFormDataNum = (datas) => {
 }
 
 //展开事件
-const ActiveKey = ref('')
+const ActiveKey = ref([])
 const formKeyIds = ref('')
 const CollapseChange = async (name) => {
     ActiveKey.value = name
-    const names = name ? name.split('-') : []
+    const names = name[0] ? name[0].split('-') : []
     if (names.length > 0) {
-        getOffsetTop(name)
+        getOffsetTop(name[name.length-1]);
+         ActiveKey.value = name[name.length-1]
         const index = names[1]
         const item = listDatas.value[index]
         formKeyIds.value = item.pkeyId ? item.pkeyId + '' : ''
@@ -829,7 +830,9 @@ const emit = defineEmits(['renew','offsetTop'])
 //被点击
 const getOffsetTop = (key = '') => {
     if (key) {
+        
         const dom = document.getElementById(key)
+        console.log(dom.offsetTop,'dom.offsetTop');
         emit('offsetTop', dom.offsetTop)
     } else {
         emit('offsetTop', 0)
@@ -839,7 +842,7 @@ const getOffsetTop = (key = '') => {
 //通知数据更新
 const renewData = () => {
     emit('renew')
-    ActiveKey.value = ''
+    ActiveKey.value = []
 }
 
 //获取表单数据