Эх сурвалжийг харах

资料填报,弹窗窗口优化

ZaiZai 2 жил өмнө
parent
commit
353d91a2da

+ 13 - 28
src/views/data-fill/collapse-form/index.vue

@@ -1,6 +1,6 @@
 <template>
     <div class="data-fill-list-box">
-        <el-collapse v-model="ActiveKey" @change="CollapseChange">
+        <el-collapse v-model="ActiveKey" accordion @change="CollapseChange">
             <el-collapse-item v-for="(item,index) in listDatas" :id="`item-${index}-${item?.pkeyId}`"
                               :key="item?.pkeyId" :disabled="item['isBussShow'] === 2"
                               :name="`item-${index}-${item?.pkeyId}`">
@@ -236,7 +236,7 @@
         </HcDragModal>
     </template>
 
-    
+
 </template>
 
 <script setup>
@@ -422,7 +422,7 @@ const setChangeFormDatas = async (pkeyId, type) => {
 }
 
 //展开事件
-const ActiveKey = ref([])
+const ActiveKey = ref('')
 const CollapseChange = (name) => {
     ActiveKey.value = name
     let index = getCollapseItemIndex(name)
@@ -446,7 +446,7 @@ const CollapseChange = (name) => {
 //初始设置
 const setFormDataNum = (datas) => {
     itemRefs.value = []
-    ActiveKey.value = []
+    ActiveKey.value = ''
     let newArr = [];
     for (let i = 0; i < datas.length; i++) {
         newArr.push({isCollapseLoad: false})
@@ -733,7 +733,7 @@ const windowClick = async (item, indexs) => {
             list.push(newTableForm)
         }
         DragModalTableForm.value = list
-        ActiveKey.value = []
+        ActiveKey.value = ''
     } else {
         await setChangeFormDatas(item?.pkeyId, 'collapse')
         //处理表单的ref
@@ -788,7 +788,7 @@ const closeIconTap = async (event, item, indexs) => {
     const {index, pkeyId} = item
     let KeyId = `item-${index}-${pkeyId}`
     await TableFormClose(item, indexs)
-    ActiveKey.value = [KeyId]
+    ActiveKey.value = KeyId
 }
 
 //菜单被点击
@@ -1036,7 +1036,7 @@ const getBussPdfInfo = async ({pkeyId}, dragItem = null, showTip = true) => {
 //通知数据更新
 const renewData = () => {
     emit('renew')
-    ActiveKey.value = []
+    ActiveKey.value = ''
 }
 
 //设置表单的加载状态
@@ -1070,17 +1070,16 @@ const delWindowRefs = (pkeyId) => {
 
 //计算展开高度和滚动位置
 const getOffsetTop = (key = '') => {
-    const keys = ActiveKey.value
     if (key) {
-        const dom = document.getElementById(key[key.length - 1])
+        const dom = document.getElementById(key)
         if (!draw_type.value) {
-            if (dom?.offsetTop >= 583 && keys.length > 1) {
+            if (dom?.offsetTop >= 583 && key) {
                 emit('offsetTop', dom?.offsetTop - 583)
             } else {
                 emit('offsetTop', dom?.offsetTop)
             }
         } else {
-            if (dom.offsetTop >= 424 && keys.length > 1) {
+            if (dom.offsetTop >= 424 && key) {
                 emit('offsetTop', dom?.offsetTop - 424)
             } else {
                 emit('offsetTop', dom?.offsetTop)
@@ -1089,20 +1088,12 @@ const getOffsetTop = (key = '') => {
     } else {
         emit('offsetTop', 0)
     }
-    ActiveKey.value = [keys[keys.length - 1]]
+    ActiveKey.value = key
 }
 
 //获取折叠面板的索引
 const getCollapseItemIndex = (name) => {
-    let newList = [], keys = []
-    if (isString(name)) {
-        newList.push(name)
-    } else {
-        newList = name
-    }
-    if (newList.length > 0) {
-        keys = newList[0] ? newList[newList.length - 1].split('-') : newList[0]
-    }
+    const keys = name.split('-')
     if (keys.length > 0) {
         return keys[1]
     } else {
@@ -1179,13 +1170,7 @@ const getActiveKey = () => {
 
 //设置当前展开项
 const setActiveKey = (key) => {
-    let keys = [];
-    if (isArray(key)) {
-        keys = key
-    } else {
-        keys.push(key)
-    }
-    return ActiveKey.value = keys;
+    return ActiveKey.value = key;
 }
 
 // 暴露出去