吉安感知网项目-前端
罗广辉
2026-01-14 b7c8eeabe7f6b703a5f4468e64dfe36736222df5
applications/drone-command/src/views/areaManage/sceneConfig/FormDiaLog.vue
@@ -72,22 +72,29 @@
                     </el-form-item>
                  </el-col>
                  <el-col :span="24">
                     <el-form-item label="关联区域" prop="areaDivideIds">
                        <el-table
                           ref="areaTableRef"
                           :data="areaList"
                           row-key="id"
                           @selection-change="handleAreaSelectionChange"
                        >
                           <el-table-column type="selection" width="55" />
                           <el-table-column prop="areaName" label="区域名称" />
                           <el-table-column prop="areaType" label="区域类型">
                              <template v-slot="{ row }">
                                 {{ getDictLabel(row.areaType, dictObj.areaType) }}
                              </template>
                           </el-table-column>
                        </el-table>
                     </el-form-item>
                     <div>
                        <div>
                           关联区域
                           <el-input v-model="searchName" placeholder="请输入" clearable></el-input>
                        </div>
                        <el-form-item prop="areaDivideIds" label-width="0">
                           <el-table
                              ref="areaTableRef"
                              :data="areaList.filter(item => item.areaName.includes(searchName))"
                              row-key="id"
                              @selection-change="handleAreaSelectionChange"
                           >
                              <el-table-column type="selection" width="55" :reserve-selection="true" />
                              <el-table-column prop="areaName" label="区域名称" />
                              <el-table-column prop="areaType" label="区域类型">
                                 <template v-slot="{ row }">
                                    {{ getDictLabel(row.areaType, dictObj.areaType) }}
                                 </template>
                              </el-table-column>
                           </el-table>
                        </el-form-item>
                     </div>
                  </el-col>
               </el-row>
            </el-form>
@@ -134,6 +141,7 @@
const readonly = computed(() => dialogMode.value === 'view')
const titleEnum = ref({ edit: '编辑', view: '查看', add: '新增' })
const areaTableRef = ref(null)
const searchName = ref('')
const areaList = ref([]) // 关联区域列表
const selectedAreaRows = ref([]) //选中列表
const dictObj = inject('dictObj')
@@ -229,8 +237,9 @@
   if (!areaTableRef.value) return
   areaTableRef.value.clearSelection()
   const rows = []
   const arr = formData.value.areaDivideIds.split(',')
   areaList.value.forEach(row => {
      if (formData.value.areaDivideIds.includes(row.id)) {
      if (arr.includes(row.id)) {
         areaTableRef.value.toggleRowSelection(row, true)
         rows.push(row)
      }