联调 模版下载 批量导入功能 修改云效bug
This commit is contained in:
@@ -52,7 +52,7 @@
|
||||
: ''
|
||||
}"
|
||||
>
|
||||
{{ assessList.score }}
|
||||
{{ assessList.score == 3.14159 ? '/' : assessList.score }}
|
||||
<!-- {{ assessList.level }} -->
|
||||
</span>
|
||||
</div>
|
||||
@@ -81,7 +81,7 @@
|
||||
: ''
|
||||
}"
|
||||
>
|
||||
{{ item.score }}
|
||||
{{ item.score == 3.14159 ? '/' : item.score }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -47,7 +47,9 @@ import { getUserReportById } from '@/api/supervision-boot/userReport/form'
|
||||
import BpmUserReportDetail from '../../components/undocumented/detail.vue'
|
||||
import { useAdminInfo } from '@/stores/adminInfo'
|
||||
const dictData = useDictData()
|
||||
const areaOptionList = dictData.getBasicData('jibei_area').filter(item => !(item.name == '超高压' || item.name == '风光储'))
|
||||
const areaOptionList = dictData
|
||||
.getBasicData('jibei_area')
|
||||
.filter(item => !(item.name == '超高压' || item.name == '风光储'))
|
||||
const statusSelect = dictData.statusSelect()
|
||||
//获取登陆用户姓名和部门
|
||||
const adminInfo = useAdminInfo()
|
||||
@@ -138,12 +140,13 @@ const tableStore = new TableStore({
|
||||
return dictData.state.userList.filter(item => item.id == row.cellValue)[0]?.name
|
||||
}
|
||||
},
|
||||
// visible:!jb_pl.value && !jb_dky.value?true:false,
|
||||
{
|
||||
title: '操作',
|
||||
minWidth: 180,
|
||||
fixed: 'right',
|
||||
render: 'buttons',
|
||||
visible:!jb_pl.value && !jb_dky.value?true:false,
|
||||
|
||||
buttons: [
|
||||
{
|
||||
name: 'productSetting',
|
||||
@@ -151,36 +154,36 @@ const tableStore = new TableStore({
|
||||
type: 'primary',
|
||||
icon: 'el-icon-EditPen',
|
||||
render: 'basicButton',
|
||||
disabled: row => {
|
||||
return jb_pl.value || jb_dky.value
|
||||
},
|
||||
// disabled: row => {
|
||||
// return jb_pl.value || jb_dky.value
|
||||
// },
|
||||
click: row => {
|
||||
toFangAn(row, 0)
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'productSetting',
|
||||
title: '治理工程申请',
|
||||
title: '治理工程验收申请',
|
||||
type: 'primary',
|
||||
icon: 'el-icon-EditPen',
|
||||
render: 'basicButton',
|
||||
disabled: row => {
|
||||
return jb_pl.value || jb_dky.value
|
||||
return row.needGovernance == 0
|
||||
},
|
||||
click: row => {
|
||||
toFangAn(row, 1)
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'productSetting',
|
||||
title: '/',
|
||||
type: 'primary',
|
||||
icon: 'el-icon-EditPen',
|
||||
render: 'basicButton',
|
||||
disabled: row => {
|
||||
return !jb_pl.value && !jb_dky.value
|
||||
}
|
||||
}
|
||||
// {
|
||||
// name: 'productSetting',
|
||||
// title: '/',
|
||||
// type: 'primary',
|
||||
// icon: 'el-icon-EditPen',
|
||||
// render: 'basicButton',
|
||||
// disabled: row => {
|
||||
// return !jb_pl.value && !jb_dky.value
|
||||
// }
|
||||
// }
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
@@ -23,8 +23,15 @@
|
||||
</template>
|
||||
</TableHeader> -->
|
||||
<div class="header_btn">
|
||||
<el-button v-if="bussType == 0" icon="" type="primary" @click="toGoNet()">{{ titleButton }}</el-button>
|
||||
<el-button v-if="bussType == 1 && needGovernance != '0'" icon="" type="primary" @click="toGoNet()">
|
||||
<el-button v-if="bussType == 0 && !(jb_pl || jb_dky)" icon="" type="primary" @click="toGoNet()">
|
||||
{{ titleButton }}
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="bussType == 1 && needGovernance != '0' && !(jb_pl || jb_dky)"
|
||||
icon=""
|
||||
type="primary"
|
||||
@click="toGoNet()"
|
||||
>
|
||||
{{ titleButton }}
|
||||
</el-button>
|
||||
<el-button style="margin-left: 50px" :icon="Back" @click="go(-1)">返回</el-button>
|
||||
@@ -65,6 +72,20 @@ const needGovernance = query.needGovernance as unknown as string // 从 URL 传
|
||||
const dictData = useDictData()
|
||||
const areaOptionList = dictData.getBasicData('jibei_area')
|
||||
const adminInfo = useAdminInfo()
|
||||
const jb_pl = ref(false)
|
||||
const jb_dky = ref(false)
|
||||
jb_pl.value =
|
||||
adminInfo.$state.roleCode.filter(item => {
|
||||
return item == 'jb_pl'
|
||||
}).length != 0
|
||||
? true
|
||||
: false
|
||||
jb_dky.value =
|
||||
adminInfo.$state.roleCode.filter(item => {
|
||||
return item == 'jb_dky'
|
||||
}).length != 0
|
||||
? true
|
||||
: false
|
||||
const tableStore = new TableStore({
|
||||
url: '/supervision-boot/userReportNormal/userReportGoNetPage',
|
||||
|
||||
@@ -196,7 +217,6 @@ const tableStore = new TableStore({
|
||||
click: row => {
|
||||
cancelLeave(row)
|
||||
}
|
||||
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
v-for="(item, index) in userStateList"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
:disabled="item.label != '可研'"
|
||||
:disabled="item.disabled"
|
||||
:key="index"
|
||||
/>
|
||||
</el-select>
|
||||
@@ -586,25 +586,30 @@ const userTypeList: any = ref([
|
||||
}
|
||||
])
|
||||
//用户状态数组
|
||||
const userStateList = reactive([
|
||||
const userStateList = ref([
|
||||
{
|
||||
label: '可研',
|
||||
value: 0
|
||||
value: 0,
|
||||
disabled: false
|
||||
},
|
||||
{
|
||||
label: '建设',
|
||||
value: 1
|
||||
value: 1,
|
||||
disabled: true
|
||||
},
|
||||
{
|
||||
label: '运行',
|
||||
value: 2
|
||||
value: 2,
|
||||
disabled: true
|
||||
},
|
||||
{
|
||||
label: '退运',
|
||||
value: 3
|
||||
value: 3,
|
||||
disabled: true
|
||||
}
|
||||
])
|
||||
const title = ref('')
|
||||
|
||||
//获取非线性终端类型树形下拉
|
||||
const defaultProps = {
|
||||
children: 'children',
|
||||
@@ -623,7 +628,7 @@ const resetForm = () => {
|
||||
userType: 1, //用户性质 1
|
||||
city: areaOptionList[0].name, //所在地市 1
|
||||
responsibleDepartment: '', //归口管理部门 1
|
||||
userStatus: userStateList[0].value, //用户状态 1
|
||||
userStatus: userStateList.value[0].value, //用户状态 1
|
||||
projectName: '', //用户名称 1
|
||||
substation: '', //变电站 1
|
||||
voltageLevel: voltageLevelList[0].id, //电压等级 1
|
||||
@@ -1351,6 +1356,7 @@ const confirmForm = (flag: boolean) => {
|
||||
// 过滤用户
|
||||
const filterUsers = (arr: any) => {
|
||||
control.value = false
|
||||
userStateList.value.map(item => (item.disabled = false))
|
||||
userTypeList.value = userTypeList.value.filter(item => !arr.includes(item.value))
|
||||
}
|
||||
defineExpose({ open, filterUsers })
|
||||
|
||||
@@ -13,6 +13,13 @@
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="搜索">
|
||||
<el-input
|
||||
v-model="tableStore.table.params.searchValue"
|
||||
placeholder="输入变电站、监测点"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</template>
|
||||
<template #operation>
|
||||
<el-button icon="el-icon-Plus" type="primary" @click="add">新增</el-button>
|
||||
|
||||
@@ -13,6 +13,13 @@
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="搜索">
|
||||
<el-input
|
||||
v-model="tableStore.table.params.searchValue"
|
||||
placeholder="输入变电站、终端"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</template>
|
||||
<template #operation>
|
||||
<el-button icon="el-icon-Plus" type="primary" @click="add">新增</el-button>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<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>
|
||||
<el-button icon="el-icon-Upload" type="primary" @click="importUserData">批量导入</el-button>
|
||||
</template>
|
||||
</TableHeader>
|
||||
<Table ref="tableRef" />
|
||||
@@ -181,7 +181,7 @@ const getUserTypeName = (userType: any) => {
|
||||
return '扩建电网工程'
|
||||
}
|
||||
if (userType === 2) {
|
||||
return ' '
|
||||
return '新建非线性负荷用户'
|
||||
}
|
||||
if (userType === 3) {
|
||||
return '扩建非线性负荷用户'
|
||||
|
||||
@@ -95,54 +95,111 @@ const submit = async () => {
|
||||
if (valid) {
|
||||
let data = new FormData()
|
||||
data.append('file', form.file)
|
||||
if (title.value == '导入干扰源用户') {
|
||||
if (title.value === '导入干扰源用户') {
|
||||
await importSensitiveReportData(data)
|
||||
.then((res: any) => {
|
||||
if (res.type === 'application/json') {
|
||||
// 说明是普通对象数据,读取信息
|
||||
const fileReader = new FileReader()
|
||||
fileReader.onloadend = () => {
|
||||
try {
|
||||
const jsonData = JSON.parse(fileReader.result)
|
||||
// 后台信息
|
||||
if (jsonData.code === 'A0000') {
|
||||
ElMessage.success('导入成功')
|
||||
} else {
|
||||
ElMessage.error('导入失败,请查看下载附件!')
|
||||
}
|
||||
} catch (err) {
|
||||
console.log(err)
|
||||
}
|
||||
}
|
||||
fileReader.readAsText(res)
|
||||
} else {
|
||||
ElMessage.error('导入失败,请查看下载附件!')
|
||||
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()
|
||||
}
|
||||
})
|
||||
.then(res => handleImportResponse(title.value, res))
|
||||
.finally(() => {
|
||||
tableStore.index()
|
||||
eventDataUploadVisible.value = false
|
||||
})
|
||||
} else {
|
||||
await importSensitiveUserData(data)
|
||||
.then((res: any) => {
|
||||
.then(res => handleImportResponse(title.value, res))
|
||||
.finally(() => {
|
||||
tableStore.index()
|
||||
eventDataUploadVisible.value = false
|
||||
})
|
||||
}
|
||||
// if (title.value == '导入干扰源用户') {
|
||||
// await importSensitiveReportData(data)
|
||||
// .then((res: any) => {
|
||||
// if (res.type === 'application/json') {
|
||||
// // 说明是普通对象数据,读取信息
|
||||
// const fileReader = new FileReader()
|
||||
// fileReader.onloadend = () => {
|
||||
// try {
|
||||
// const jsonData = JSON.parse(fileReader.result)
|
||||
// // 后台信息
|
||||
// if (jsonData.code === 'A0000') {
|
||||
// ElMessage.success('导入成功')
|
||||
// } else {
|
||||
// ElMessage.error('导入失败,请查看下载附件!')
|
||||
// }
|
||||
// } catch (err) {
|
||||
// console.log(err)
|
||||
// }
|
||||
// }
|
||||
// fileReader.readAsText(res)
|
||||
// } else {
|
||||
// ElMessage.error('导入失败,请查看下载附件!')
|
||||
// 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()
|
||||
// }
|
||||
// })
|
||||
// .finally(() => {
|
||||
// tableStore.index()
|
||||
// eventDataUploadVisible.value = false
|
||||
// })
|
||||
// } else {
|
||||
// await importSensitiveUserData(data)
|
||||
// .then((res: any) => {
|
||||
// if (res.type === 'application/json') {
|
||||
// // 说明是普通对象数据,读取信息
|
||||
// const fileReader = new FileReader()
|
||||
// fileReader.onloadend = () => {
|
||||
// try {
|
||||
// const jsonData = JSON.parse(fileReader.result)
|
||||
// // 后台信息
|
||||
// if (jsonData.code === 'A0000') {
|
||||
// ElMessage.success('导入成功')
|
||||
// } else {
|
||||
// ElMessage.error('导入失败,请查看下载附件!')
|
||||
// }
|
||||
// } catch (err) {
|
||||
// console.log(err)
|
||||
// }
|
||||
// }
|
||||
// fileReader.readAsText(res)
|
||||
// } else {
|
||||
// ElMessage.error('导入失败,请查看下载附件!')
|
||||
// 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()
|
||||
// }
|
||||
// })
|
||||
// .finally(() => {
|
||||
// tableStore.index()
|
||||
// eventDataUploadVisible.value = false
|
||||
// })
|
||||
// }
|
||||
}
|
||||
})
|
||||
} else {
|
||||
ElMessage.error('请选择数据文件')
|
||||
}
|
||||
}
|
||||
|
||||
async function handleImportResponse(title: any, res: any) {
|
||||
if (res.type === 'application/json') {
|
||||
// 说明是普通对象数据,读取信息
|
||||
const fileReader = new FileReader()
|
||||
fileReader.onloadend = () => {
|
||||
try {
|
||||
const jsonData = JSON.parse(fileReader.result)
|
||||
// 后台信息
|
||||
if (jsonData.code === 'A0000') {
|
||||
ElMessage.success('导入成功')
|
||||
} else {
|
||||
@@ -155,28 +212,15 @@ const submit = async () => {
|
||||
fileReader.readAsText(res)
|
||||
} else {
|
||||
ElMessage.error('导入失败,请查看下载附件!')
|
||||
let blob = new Blob([res], {
|
||||
type: 'application/vnd.ms-excel'
|
||||
})
|
||||
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 = '敏感及重要用户失败列表'
|
||||
link.download = title.includes('干扰源用户') ? '干扰源用户失败列表' : '敏感及重要用户失败列表'
|
||||
document.body.appendChild(link)
|
||||
link.click()
|
||||
link.remove()
|
||||
}
|
||||
})
|
||||
.finally(() => {
|
||||
tableStore.index()
|
||||
eventDataUploadVisible.value = false
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
} else {
|
||||
ElMessage.error('请选择数据文件')
|
||||
}
|
||||
}
|
||||
|
||||
defineExpose({ open })
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<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>
|
||||
<el-button icon="el-icon-Upload" type="primary" @click="importUserData">批量导入</el-button>
|
||||
</template>
|
||||
</TableHeader>
|
||||
<Table ref="tableRef" />
|
||||
|
||||
Reference in New Issue
Block a user