<script setup lang="ts">
import XCellList from '@af-mobile-client-vue3/components/data/XCellList/index.vue'
import NormalDataLayout from '@af-mobile-client-vue3/components/layout/NormalDataLayout/index.vue'
import { useUserStore } from '@af-mobile-client-vue3/stores/modules/user'
import { ref } from 'vue'
import { useRouter } from 'vue-router'

// 定义事件
const emit = defineEmits(['deleteRow'])

// 多选操作配置
const multiSelectActions = ref([
  { name: '批量审核', key: 'batchAudit', color: '#000000', icon: 'passed' },
])

const userInfo = useUserStore().getUserInfo()
// 访问路由
const router = useRouter()
// 获取默认值
const idKey = ref('o_id')

// 简易crud表单测试
const configName = ref('lngChargeAuditMobileCRUD')
const serviceName = ref('af-gaslink')

// 资源权限测试
// const configName = ref('crud_sources_test')
// const serviceName = ref('af-system')

// 实际业务测试
// const configName = ref('lngChargeAuditMobileCRUD')
// const serviceName = ref('af-gaslink')

// 跳转到详情页面
// function toDetail(item) {
//   router.push({
//     name: 'XCellDetailView',
//     params: { id: item[idKey.value] }, // 如果使用命名路由，推荐使用路由参数而不是直接构建 URL
//     query: {
//       operName: item[operNameKey.value],
//       method:item[methodKey.value],
//       requestMethod:item[requestMethodKey.value],
//       operatorType:item[operatorTypeKey.value],
//       operUrl:item[operUrlKey.value],
//       operIp:item[operIpKey.value],
//       costTime:item[costTimeKey.value],
//       operTime:item[operTimeKey.value],
//
//       title: item[titleKey.value],
//       businessType: item[businessTypeKey.value],
//       status:item[statusKey.value]
//     }
//   })
// }

// 跳转到表单——以表单组来渲染纯表单
function toDetail(item) {
  const query = {
    checkId: null,
    safeCheckType: '年度普查',
    bonusData: JSON.stringify({
      inspectionType: {},
    }),
    userType: '民用',
    userinfoid: '96451',
    newDate: new Date().getTime(),
    isDraft: 'false', // 是否存在临时数据
    draftType: '计划安检',
  }
  router.push({
    name: 'SecurityCertificate',
    query,
  })
  // router.push({
  //   name: 'XFormView',
  //   query: {
  //     id: item[idKey.value],
  //     // id: item.rr_id,
  //     // o_id: item.o_id,
  //   },
  // })
}

// 新增功能
// function addOption(totalCount) {
//   router.push({
//     name: 'XFormView',
//     params: { id: totalCount, openid: totalCount },
//     query: {
//       configName: configName.value,
//       serviceName: serviceName.value,
//       mode: '新增',
//     },
//   })
// }

// 修改功能
// function updateRow(result) {
//   router.push({
//     name: 'XFormView',
//     params: { id: result.o_id, openid: result.o_id },
//     query: {
//       configName: configName.value,
//       serviceName: serviceName.value,
//       mode: '修改',
//     },
//   })
// }

// 删除功能
function deleteRow(result) {
  emit('deleteRow', result.o_id)
}

// 多选操作处理
function handleMultiSelectAction(action: string, selectedItems: any[], selectedItemsArray: any[]) {
  console.log('多选操作:', action, selectedItems, selectedItemsArray)
}

// 选择变化处理
function handleSelectionChange(selectedItems: any[]) {
  console.log('选择变化，当前选中:', selectedItems.length, '个项目')
  // 可以在这里更新UI状态，比如显示选中数量等
}

// 数据加载完成后处理 @after-load
function afterLoad(result) {
  console.log('afterLoad:', result)
}
function emitFunc(func, data) {
  console.log('emitFunc:', func, data)
}
</script>

<template>
  <NormalDataLayout id="XCellListView" title="工作计划">
    <template #layout_content>
      <XCellList
        config-name="scanCodeAndNFCRUD"
        service-name="af-safecheck"
        :enable-multi-select="true"
        id-key="t_id"
        :is-limit-query="true"
        :multi-select-actions="multiSelectActions"
        @to-detail="toDetail"
        @multi-select-action="handleMultiSelectAction"
        @selection-change="handleSelectionChange"
        @x-form-item-emit-func="emitFunc"
      />
    </template>
  </NormalDataLayout>
</template>

<style scoped lang="less">
</style>
