This commit is contained in:
2025-07-16 10:09:58 +08:00
parent ee12595e1f
commit dfae83dae9
4 changed files with 43 additions and 53 deletions

View File

@ -2,7 +2,9 @@ import axios from 'axios';
import store from '@/store'; import store from '@/store';
import { ElMessage } from 'element-plus'; import { ElMessage } from 'element-plus';
import { isCheckTimeout } from '@/utils/auth'; import { isCheckTimeout } from '@/utils/auth';
import { saveAs } from 'file-saver'
import { tansParams, blobValidate } from "@/utils/ruoyi"; import { tansParams, blobValidate } from "@/utils/ruoyi";
let downloadLoadingInstance;
const service = axios.create({ const service = axios.create({
baseURL: process.env.VUE_APP_BASE_API, baseURL: process.env.VUE_APP_BASE_API,
timeout: 100000 timeout: 100000
@ -64,12 +66,6 @@ service.interceptors.response.use(
) { ) {
store.dispatch('user/logout'); store.dispatch('user/logout');
} }
// ElMessage({
// message: error.message,
// grouping: true,
// type: 'error'
// })
// return Promise.reject(error);
} }
); );
@ -77,27 +73,17 @@ service.interceptors.response.use(
// 通用下载方法 // 通用下载方法
export function download(url, params, filename, config) { export function download(url, params, filename, config) {
return service.post(url, params, { let token = localStorage.getItem('token')
transformRequest: [(params) => { return tansParams(params) }], return axios.post(url, params, {"Content-type": "multipart/form-data",headers:{"Authorization": `${token}`}}).then( async (data) => {
headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, const isBlob = blobValidate(data.data);
responseType: 'blob', console.log(isBlob,'====data');
...config
}).then(async (data) => {
const isBlob = blobValidate(data);
if (isBlob) { if (isBlob) {
const blob = new Blob([data]) const blob = new Blob([data.data])
saveAs(blob, filename) saveAs(blob, filename)
} else { } else {
const resText = await data.text(); ElMessage.error('网络异常');
const rspObj = JSON.parse(resText);
const errMsg = errorCode[rspObj.code] || rspObj.msg || errorCode['default']
Message.error(errMsg);
} }
downloadLoadingInstance.close(); // downloadLoadingInstance.close();
}).catch((r) => {
console.error(r)
Message.error('下载文件出现错误,请联系管理员!')
downloadLoadingInstance.close();
}) })
} }

View File

@ -2,15 +2,6 @@
<div> <div>
<div class="titleBox"> <div class="titleBox">
<PageTitle title="布控监视管理"> <PageTitle title="布控监视管理">
<!-- <el-button>
<span style="vertical-align: middle">调级</span>
</el-button>
<el-button>
<span style="vertical-align: middle">导出</span>
</el-button>
<el-button>
<span style="vertical-align: middle">导入</span>
</el-button> -->
<el-button type="primary" @click="addEdit('add', '')"> <el-button type="primary" @click="addEdit('add', '')">
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon> <el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
<span style="vertical-align: middle">新增</span> <span style="vertical-align: middle">新增</span>

View File

@ -16,9 +16,9 @@
<el-button type="primary" size="small" @click="isImport = true"> <el-button type="primary" size="small" @click="isImport = true">
<span style="vertical-align: middle">导入内容</span> <span style="vertical-align: middle">导入内容</span>
</el-button> </el-button>
<el-button type="danger" size="small"> <el-button type="danger" size="small" @click="deleteRow(idsTop)">
<el-icon style="vertical-align: middle"><Delete /></el-icon> <el-icon style="vertical-align: middle"><Delete /></el-icon>
<span style="vertical-align: middle">删除</span> <span style="vertical-align: middle">批量删除</span>
</el-button> </el-button>
</PageTitle> </PageTitle>
<MyTable <MyTable
@ -28,7 +28,7 @@
:key="pageData.keyCount" :key="pageData.keyCount"
:tableConfiger="pageData.tableConfiger0" :tableConfiger="pageData.tableConfiger0"
:controlsWidth="pageData.controlsWidth" :controlsWidth="pageData.controlsWidth"
@chooseData="chooseData" @chooseData="chooseDataTop"
> >
<template #fjLx="{ row }"> <template #fjLx="{ row }">
<DictTag :tag="false" :value="row.fjLx" :options="D_GS_RQFJ_LX" /> <DictTag :tag="false" :value="row.fjLx" :options="D_GS_RQFJ_LX" />
@ -37,7 +37,7 @@
<template #controls="{ row }"> <template #controls="{ row }">
<el-link size="small" type="success" @click="handleData('edit', row)">编辑</el-link> <el-link size="small" type="success" @click="handleData('edit', row)">编辑</el-link>
<el-link size="small" type="primary" @click="handleData('info', row)">查看</el-link> <el-link size="small" type="primary" @click="handleData('info', row)">查看</el-link>
<el-link size="small" type="danger" @click="deleteRow(row.id)">删除</el-link> <el-link size="small" type="danger" @click="deleteRow([row.id])">删除</el-link>
</template> </template>
</MyTable> </MyTable>
<div class="ww100 flex just-center mt8"> <div class="ww100 flex just-center mt8">
@ -140,6 +140,7 @@ const btnsList = reactive(['级别变更','警种变更','指定分配','添加
const chooselx = ref('') const chooselx = ref('')
const isShow = ref(false) const isShow = ref(false)
const idsTop = ref([])
const ids = ref([]) const ids = ref([])
const addFormDiloag = ref(); const addFormDiloag = ref();
@ -152,7 +153,7 @@ const pageData = reactive({
keyCount: 0, keyCount: 0,
tableConfiger0: { tableConfiger0: {
rowHieght: 61, rowHieght: 61,
showSelectType: "null", showSelectType: "checkBox",
loading: false loading: false
}, },
tableConfiger: { tableConfiger: {
@ -223,10 +224,14 @@ const getList = () => {
//获取模型识别列表 //获取模型识别列表
const getModelList = () => { const getModelList = () => {
let data = { ...pageData.pageConfiger }; let data = { ...pageData.pageConfiger };
pageData.tableConfiger0.loading = true;
qcckGet(data, "/mosty-gsxt/tbGsxtRqfjRy/selectPage").then((res) => { qcckGet(data, "/mosty-gsxt/tbGsxtRqfjRy/selectPage").then((res) => {
pageData.tableConfiger0.loading = false;
pageData.tableData2 = res.records || []; pageData.tableData2 = res.records || [];
pageData.total = res.total; pageData.total = res.total;
ids.value = [] ids.value = []
}).catch(()=>{
pageData.tableConfiger0.loading = false;
}) })
}; };
//新增- 编辑 //新增- 编辑
@ -237,14 +242,23 @@ const handleData = (type, row) => {
const intelligent = () => { const intelligent = () => {
IntelligentParsingRef.value.init(); IntelligentParsingRef.value.init();
}; };
// 选择数据
const chooseDataTop = (val) =>{
if(Array.isArray(val)) idsTop.value = val.map(item=>item.id);
}
//删除操作 //删除操作
const deleteRow = (id) => { const deleteRow = (ids) => {
proxy.$confirm("确定要删除", "警告", {type: "warning"}).then(() => { proxy.$confirm("确定要删除", "警告", {type: "warning"}).then(() => {
qcckGet({}, "/mosty-gsxt/tbGsxtRqfjNr/closeById/" + id).then((res) => { ids.forEach(id=>{
ElMessage.success("删除成功"); qcckGet({}, "/mosty-gsxt/tbGsxtRqfjNr/closeById/" + id).then((res) => {
getList(); ElMessage.success("删除成功");
getList();
})
}) })
}).catch(() => {}); })
}; };
const deleteRowBottom = (id) => { const deleteRowBottom = (id) => {
proxy.$confirm("确定要删除", "警告", {type: "warning"}).then(() => { proxy.$confirm("确定要删除", "警告", {type: "warning"}).then(() => {
@ -252,7 +266,7 @@ const deleteRowBottom = (id) => {
ElMessage.success("删除成功"); ElMessage.success("删除成功");
getModelList(); getModelList();
}) })
}).catch(() => {}); })
}; };
@ -272,7 +286,7 @@ const chooseType = (val)=>{
isShow.value = true; isShow.value = true;
break; break;
case '导出': case '导出':
download("/mosty-api/mosty-gsxt/tbGsxtRqfjRy/exportRyfjFxjg", {},`模型智能识别/LP解析结果_${new Date().getTime()}.xlsx`); // download("/mosty-api/mosty-gsxt/tbGsxtRqfjRy/exportRyfjFxjg", {"bkBt":"1"},`模型智能识别/LP解析结果_${new Date().getTime()}.xlsx`);
break; break;
case '批量删除': case '批量删除':
if(ids.value.length == 0) return ElMessage.warning("请选择对应删除的数据"); if(ids.value.length == 0) return ElMessage.warning("请选择对应删除的数据");

View File

@ -1,7 +1,13 @@
<template> <template>
<div> <div>
<div class="titleBox"> <div class="titleBox">
<PageTitle title="布控区域" /> <PageTitle title="布控区域" >
<el-button type="primary" @click="handleRow('add', '')">
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
<span style="vertical-align: middle">新增</span>
</el-button>
<el-button type="danger" @click="handleRow('moreDelete', '')">批量删除</el-button>
</PageTitle>
</div> </div>
<!-- 搜索 --> <!-- 搜索 -->
<div ref="searchBox"> <div ref="searchBox">
@ -9,13 +15,6 @@
</div> </div>
<!-- 按钮组 --> <!-- 按钮组 -->
<div class="content"> <div class="content">
<div class="btns">
<el-button type="primary" @click="handleRow('add', '')">
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
<span style="vertical-align: middle">新增</span>
</el-button>
<el-button type="danger" @click="handleRow('moreDelete', '')">批量删除</el-button>
</div>
<!-- 表格 --> <!-- 表格 -->
<div class="tabBox"> <div class="tabBox">
<MyTable <MyTable
@ -205,7 +204,7 @@ const handleSwitch = (row) =>{
} }
// 表格高度计算 // 表格高度计算
const tabHeightFn = () => { const tabHeightFn = () => {
pageData.tableHeight = window.innerHeight - searchBox.value.offsetHeight - 292; pageData.tableHeight = window.innerHeight - searchBox.value.offsetHeight - 272;
window.onresize = function () { window.onresize = function () {
tabHeightFn(); tabHeightFn();
}; };