|
|
@@ -18,6 +18,49 @@
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
|
|
|
+ <el-form-item label="风险等级">
|
|
|
+ <el-select v-model="queryParams.risk" class="!w-240px">
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in [
|
|
|
+ { label: '无风险', value: 'none' },
|
|
|
+ { label: '低风险', value: 'low' },
|
|
|
+ { label: '中风险', value: 'medium' },
|
|
|
+ { label: '高风险', value: 'high' }
|
|
|
+ ]"
|
|
|
+ :key="index"
|
|
|
+ placeholder="请选择"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="楼栋">
|
|
|
+ <el-select
|
|
|
+ v-model="queryParams.buildId"
|
|
|
+ placeholder="选择楼栋"
|
|
|
+ style="width: 180px"
|
|
|
+ @change="handleBuildChange"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in buildList"
|
|
|
+ :key="index"
|
|
|
+ :label="item.buildName"
|
|
|
+ :value="item.id"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="楼层">
|
|
|
+ <el-select v-model="queryParams.floorId" placeholder="选择楼层" style="width: 180px">
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in floorList"
|
|
|
+ :key="index"
|
|
|
+ :label="item.floorName"
|
|
|
+ :value="item.id"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
<el-form-item label="评估人">
|
|
|
<el-input
|
|
|
v-model="queryParams.assessor"
|
|
|
@@ -58,7 +101,7 @@
|
|
|
<ButtonAdd @click="openForm(undefined)" />
|
|
|
<ButtonImport @click="handleImportCard" />
|
|
|
<!-- <el-button @click="inputH" type="success"><Icon icon="fa:cloud-upload" :size="16" class="mr-1"/>导入</el-button>-->
|
|
|
-</div>
|
|
|
+ </div>
|
|
|
<el-table v-loading="loading" :data="list" :header-cell-style="tableHeaderColor">
|
|
|
<el-table-column header-align="center" align="center" label="序号" width="60">
|
|
|
<template #default="scope">
|
|
|
@@ -174,6 +217,8 @@ import { ngasrDelete, ngasrPage } from '@/api/social-work'
|
|
|
import { exportWithExpandedObjectArrays } from '@/utils/excel-export'
|
|
|
import { getRiskLevelInfo } from '@/utils/risk-assessment'
|
|
|
import { findLabelById } from '@/utils/dict'
|
|
|
+import { ref } from 'vue'
|
|
|
+import { getBuildList } from '@/api/system/badManage'
|
|
|
const message = useMessage() // 消息弹窗
|
|
|
const { t } = useI18n() // 国际化
|
|
|
const userStore = useUserStore()
|
|
|
@@ -189,6 +234,7 @@ let queryParams = reactive({
|
|
|
pageSize: 10,
|
|
|
elderName: '',
|
|
|
assessor: '',
|
|
|
+ risk: '',
|
|
|
// assessDate: getCurrentMonthRange(),
|
|
|
assessDate: [],
|
|
|
tenantIds: userStore.orgTenantId
|
|
|
@@ -203,6 +249,7 @@ const handleImportCard = async () => {
|
|
|
pageNo: 1,
|
|
|
pageSize: 9999,
|
|
|
elderName: queryParams.elderName,
|
|
|
+ risk: queryParams.risk,
|
|
|
assessor: queryParams.assessor,
|
|
|
assessDate: queryParams.assessDate,
|
|
|
tenantIds: queryParams.tenantIds
|
|
|
@@ -231,32 +278,37 @@ const handleImportCard = async () => {
|
|
|
|
|
|
const headers = [
|
|
|
{
|
|
|
- 'key': 'orgName',
|
|
|
- 'title': '机构名称'
|
|
|
+ key: 'orgName',
|
|
|
+ title: '机构名称'
|
|
|
},
|
|
|
{
|
|
|
- 'key': 'elderName',
|
|
|
- 'title': '长者姓名'
|
|
|
+ key: 'elderName',
|
|
|
+ title: '长者姓名'
|
|
|
},
|
|
|
{
|
|
|
- 'key': 'assessor',
|
|
|
- 'title': '评估人'
|
|
|
+ key: 'assessor',
|
|
|
+ title: '评估人'
|
|
|
},
|
|
|
{
|
|
|
- 'key': 'assessDate',
|
|
|
- 'title': '记录日期'
|
|
|
+ key: 'assessDate',
|
|
|
+ title: '记录日期'
|
|
|
},
|
|
|
{
|
|
|
- 'key': 'riskLevelText',
|
|
|
- 'title': '风险等级'
|
|
|
+ key: 'riskLevelText',
|
|
|
+ title: '风险等级'
|
|
|
},
|
|
|
{
|
|
|
- 'key': 'creator',
|
|
|
- 'title': '记录人'
|
|
|
+ key: 'creator',
|
|
|
+ title: '记录人'
|
|
|
}
|
|
|
-]
|
|
|
+ ]
|
|
|
|
|
|
- exportWithExpandedObjectArrays(processedData, headers, `自伤自杀风险评估_${new Date().getTime()}.xlsx`, '自伤自杀风险评估')
|
|
|
+ await exportWithExpandedObjectArrays(
|
|
|
+ processedData,
|
|
|
+ headers,
|
|
|
+ `自伤自杀风险评估_${new Date().getTime()}.xlsx`,
|
|
|
+ '自伤自杀风险评估'
|
|
|
+ )
|
|
|
message.success('导出成功')
|
|
|
} catch (error) {
|
|
|
console.error('导出失败:', error)
|
|
|
@@ -266,7 +318,6 @@ const handleImportCard = async () => {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/** 查询列表 */
|
|
|
const getList = async () => {
|
|
|
loading.value = true
|
|
|
@@ -293,6 +344,9 @@ const handleQuery = async () => {
|
|
|
const resetQuery = () => {
|
|
|
queryParams.elderName = ''
|
|
|
queryParams.assessor = ''
|
|
|
+ queryParams.floorId = ''
|
|
|
+ queryParams.buildId = ''
|
|
|
+ queryParams.risk = ''
|
|
|
queryParams.tenantIds = userStore.orgTenantId
|
|
|
// queryParams.assessDate= getCurrentMonthRange()
|
|
|
queryParams.assessDate = []
|
|
|
@@ -350,13 +404,26 @@ const cancelDelete = async (id: number) => {
|
|
|
} catch {}
|
|
|
}
|
|
|
|
|
|
+const floorList = ref([])
|
|
|
+const buildList = ref([])
|
|
|
+const handleBuildChange = (buildId: any) => {
|
|
|
+ const selectedBuild = buildList.value.find((item: any) => item.id === buildId)
|
|
|
+ if (selectedBuild) {
|
|
|
+ floorList.value = selectedBuild.floorList || []
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
const route = useRoute()
|
|
|
/** 初始化 **/
|
|
|
-onMounted(() => {
|
|
|
+onMounted(async () => {
|
|
|
if (route.query && route.query.elderName) {
|
|
|
queryParams.elderName = route.query.elderName as string
|
|
|
}
|
|
|
- getList()
|
|
|
+ await getList()
|
|
|
+
|
|
|
+ try {
|
|
|
+ buildList.value = await getBuildList({ tenantIds: queryParams.tenantIds[0] })
|
|
|
+ } catch (e) {}
|
|
|
})
|
|
|
|
|
|
// 表头格式
|