联调 【干扰源用户管理】、【敏感及重要用户】需要增加【新增】、【模板下载】、【批量导入】功能,参考内网pms3.0调整

This commit is contained in:
GGJ
2024-06-24 14:29:20 +08:00
parent b2a2c1ecf6
commit d61db37512
5 changed files with 257 additions and 91 deletions

View File

@@ -1,9 +1,14 @@
<template>
<div>
<TableHeader ref="TableHeaderRef">
<template #select>
<TableHeader ref="TableHeaderRef">
<template #select>
<el-form-item label="用户名称">
<el-input style="width:200px;" placeholder="请输入用户名称" v-model="tableStore.table.params.projectName" clearable></el-input>
<el-input
style="width: 200px"
placeholder="请输入用户名称"
v-model="tableStore.table.params.projectName"
clearable
></el-input>
</el-form-item>
<el-form-item label="所在地市">
<el-select v-model="tableStore.table.params.city" clearable placeholder="请选择所在地市">
@@ -16,16 +21,21 @@
</el-select>
</el-form-item>
</template>
<template #operation>
<!-- <el-button icon="el-icon-Download" type="primary">导出</el-button> -->
</template>
</TableHeader>
<Table ref="tableRef" />
<template #operation>
<el-button icon="el-icon-Plus" type="primary" @click="addFormModel">新增</el-button>
<el-button icon="el-icon-Download" type="primary" @click="exportExcelTemplate">模板下载</el-button>
<el-button icon="el-icon-Download" type="primary" @click="importUserData">批量导入</el-button>
</template>
</TableHeader>
<Table ref="tableRef" />
<el-dialog title="详情" width="80%" v-model="dialogShow"><DetailInfo :id="userId"></DetailInfo></el-dialog>
<!-- 批量导入 -->
<sensitive-user-popup ref="sensitiveUserPopup" />
<el-dialog title='详情' width='80%' v-model='dialogShow'><DetailInfo :id='userId'></DetailInfo></el-dialog>
</div>
<!-- 查看详情 detail 新增/修改 create-->
<addForm ref="addForms" @onSubmit="tableStore.index()" openType="create"></addForm>
</div>
</template>
<script setup lang="ts">
import { ref, onMounted, provide, nextTick } from 'vue'
@@ -33,14 +43,19 @@ import TableStore from '@/utils/tableStore'
import Table from '@/components/table/index.vue'
import TableHeader from '@/components/table/header/index.vue'
import { ElMessage, ElMessageBox } from 'element-plus'
import { mainHeight } from '@/utils/layout'
import addForm from '@/views/pqs/supervise/interfere/components/undocumented/addForm.vue'
import SensitiveUserPopup from './sensitiveUserPopup.vue'
import { useDictData } from '@/stores/dictData'
import { downloadSensitiveReportTemplate } from '@/api/supervision-boot/userReport/form'
import DetailInfo from '../../interfere/components/undocumented/detail.vue'
const addForms = ref()
const dictData = useDictData()
const sensitiveUserPopup = ref()
const TableHeaderRef = ref()
const areaOptionList = dictData.getBasicData('jibei_area')
import { useAdminInfo } from '@/stores/adminInfo'
//获取登陆用户姓名和部门
const adminInfo = useAdminInfo()
const tableStore = new TableStore({
url: '/supervision-boot/userReport/getInterferenceUserPage',
publicHeight: 65,
@@ -102,6 +117,23 @@ const tableStore = new TableStore({
click: row => {
lookInfo(row.id)
}
},
{
name: 'edit',
title: '编辑',
type: 'primary',
icon: 'el-icon-Open',
render: 'basicButton',
disabled: row => {
return row.createBy != adminInfo.$state.id || !(row.dataType == 1)
},
click: row => {
addForms.value.filterUsers([6])
addForms.value.open({
title: '编辑',
row: row
})
}
}
]
}
@@ -111,8 +143,8 @@ const tableStore = new TableStore({
tableStore.table.params.orgNo = tableStore.table.params.deptIndex
}
})
tableStore.table.params.city=''
tableStore.table.params.projectName=''
tableStore.table.params.city = ''
tableStore.table.params.projectName = ''
tableStore.table.params.loadType = ''
tableStore.table.params.userName = ''
tableStore.table.params.relationUserName = ''
@@ -121,18 +153,25 @@ tableStore.table.params.aisFileUpload = ''
const userId = ref()
const dialogShow = ref(false)
const lookInfo = (id:string) =>{
const lookInfo = (id: string) => {
userId.value = id
dialogShow.value = true
}
provide('tableStore', tableStore)
onMounted(() => {
tableStore.index()
})
// 新增
const addFormModel = () => {
addForms.value.filterUsers([6])
setTimeout(() => {
addForms.value.open({
title: '用户档案录入'
})
})
}
/**获取用户性质*/
const getUserTypeName = (userType: any) => {
if (userType === 0) {
@@ -142,7 +181,7 @@ const getUserTypeName = (userType: any) => {
return '扩建电网工程'
}
if (userType === 2) {
return '新建非线性负荷用户'
return ' '
}
if (userType === 3) {
return '扩建非线性负荷用户'
@@ -158,4 +197,24 @@ const getUserTypeName = (userType: any) => {
}
return '新建电网工程'
}
//导出模板
const exportExcelTemplate = () => {
downloadSensitiveReportTemplate().then((res: any) => {
let blob = new Blob([res], {
type: 'application/vnd.ms-excel'
})
const url = window.URL.createObjectURL(blob)
const link = document.createElement('a')
link.href = url
link.download = '干扰源用户台账模板'
document.body.appendChild(link)
link.click()
link.remove()
})
}
//批量导入用户数据
const importUserData = () => {
sensitiveUserPopup.value.open('导入干扰源用户')
}
</script>