glj-代码提交

This commit is contained in:
glj 2023-11-14 14:07:00 +08:00
parent 448143b1e1
commit 2065fb080d
21 changed files with 380 additions and 377 deletions

View File

@ -23,8 +23,8 @@
highlight-current-row @row-click="tableClick">
<el-table-column prop="vordmId" label="VoRDM ID" width="124" sortable/>
<el-table-column prop="dictValue" label="Disaster Type" show-overflow-tooltip sortable width="148"></el-table-column>
<el-table-column prop="disasterCountry" label="Disaster country" show-overflow-tooltip sortable width="167"></el-table-column>
<el-table-column prop="disasterTime" label="Disaster time" show-overflow-tooltip sortable width="145"></el-table-column>
<el-table-column prop="disasterCountry" label="Affected Country" show-overflow-tooltip sortable width="167"></el-table-column>
<el-table-column prop="disasterTime" label="Disaster Time" show-overflow-tooltip sortable width="145"></el-table-column>
<slot></slot>
</el-table>
<el-pagination @size-change="onHandleDisasterSizeChange" @current-change="onHandleDisasterCurrentChange" class="mt15"

View File

@ -66,7 +66,7 @@ export const dynamicRoutes = [
name: 'userResponseManagement',
component: () => import('/@/views/responseManagement/userResponse/index.vue'),
meta: {
title: 'User response',
title: 'User Response',
isLink: '',
isHide: false,
isKeepAlive: true,
@ -82,7 +82,7 @@ export const dynamicRoutes = [
name: 'data-upload-management',
component: () => import('/@/views/responseManagement/dataUpload/index.vue'),
meta: {
title: 'Data upload',
title: 'Uploaded Resource Review',
isLink: '',
isHide: false,
isKeepAlive: true,
@ -133,7 +133,7 @@ export const dynamicRoutes = [
component: () => import('/@/views/dataService/multimediaData/index.vue'),
redirect: '/dataService/multimediaData',
meta: {
title: 'Data service',
title: 'Data Service',
isLink: '',
isHide: false,
isKeepAlive: true,
@ -149,7 +149,7 @@ export const dynamicRoutes = [
name: 'multimediaData',
component: () => import('/@/views/dataService/multimediaData/index.vue'),
meta: {
title: 'Multimedia data',
title: 'Multimedia Data',
isLink: '',
isHide: false,
isKeepAlive: true,
@ -165,7 +165,7 @@ export const dynamicRoutes = [
name: 'remoteSensingData',
component: () => import('/@/views/dataService/remoteSensingData/index.vue'),
meta: {
title: 'Remote sensing data',
title: 'Remote Sensing Data',
isLink: '',
isHide: false,
isKeepAlive: true,
@ -181,7 +181,7 @@ export const dynamicRoutes = [
name: 'otherData',
component: () => import('/@/views/dataService/otherData/index.vue'),
meta: {
title: 'Other data',
title: 'Other Data',
isLink: '',
isHide: false,
isKeepAlive: true,
@ -197,7 +197,7 @@ export const dynamicRoutes = [
name: 'visualData',
component: () => import('/@/views/dataService/visualData/index.vue'),
meta: {
title: 'Visual data',
title: 'Visual Data',
isLink: '',
isHide: false,
isKeepAlive: true,
@ -213,7 +213,7 @@ export const dynamicRoutes = [
name: 'pictureInfo',
component: () => import('/@/views/dataService/pictureInfo/index.vue'),
meta: {
title: 'Picture info',
title: 'Picture Info',
isLink: '',
isHide: false,
isKeepAlive: true,
@ -229,7 +229,7 @@ export const dynamicRoutes = [
name: 'disasterPartners',
component: () => import('/@/views/dataService/disasterPartners/index.vue'),
meta: {
title: 'Disaster website',
title: 'Disaster Website',
isLink: '',
isHide: false,
isKeepAlive: true,
@ -248,7 +248,7 @@ export const dynamicRoutes = [
component: () => import('/@/views/systemManagement/administrator/index.vue'),
redirect: '/systemManagement/administrator',
meta: {
title: 'System management',
title: 'System Management',
isLink: '',
isHide: false,
isKeepAlive: true,
@ -264,7 +264,7 @@ export const dynamicRoutes = [
name: 'chief-administrator-management',
component: () => import('/@/views/systemManagement/chiefAdministrator/index.vue'),
meta: {
title: 'Chief administrator',
title: 'Chief Administrator',
isLink: '',
isHide: false,
isKeepAlive: true,

View File

@ -1,332 +1,348 @@
<template>
<div class="system-role-container layout-padding">
<el-config-provider :locale="en">
<el-row :gutter="22">
<el-col :span="10">
<div class="system-role-padding layout-padding-auto layout-padding-view" style="height: 85vh;">
<div class="system-role-container layout-padding">
<el-config-provider :locale="en">
<el-row :gutter="22">
<el-col :span="10">
<div class="system-role-padding layout-padding-auto layout-padding-view" style="height: 85vh">
<disasterTable @childClick="tableClick">
<el-table-column prop="Operate" label="Operate" width="85" show-overflow-tooltip>
<template #default="scope">
<el-button size="small" text type="primary" @click="startBot(scope.row)">start</el-button>
<!-- <el-tag type="info" v-if="scope.row.respondStatus == 3">complete</el-tag> -->
</template>
</el-table-column>
</disasterTable>
</div>
</el-col>
<el-col :span="14">
<div class="system-role-padding layout-padding-auto layout-padding-view" style="height: 85vh">
<div class="system-user-search" style="display: flex; margin-left: 10px; margin-top: 10px; margin-bottom: -15px">
<el-form-item label="Type">
<el-select
v-model="state.searchName"
placeholder="Please select data type"
style="max-width: 200px"
size="default"
clearable
@change="
getTableData();
state.queryTitle = '';
"
>
<el-option value="1" label="News"></el-option>
<el-option value="2" label="SocialMedia"></el-option>
</el-select>
</el-form-item>
<el-form-item label="Review Status">
<el-select v-model="state.srarchType" placeholder="Please select data type" style="max-width: 200px" size="default" clearable>
<el-option value="0" label="Awaiting approval"></el-option>
<el-option value="1" label="Approved"></el-option>
<el-option value="2" label="Rejected"></el-option>
</el-select>
</el-form-item>
<el-form-item label="Title" v-if="state.searchName == '1'">
<el-input v-model="state.queryTitle" placeholder="Please enter a title"></el-input>
</el-form-item>
<el-button size="default" type="primary" class="ml10" @click="getTableData">
<el-icon>
<ele-Search />
</el-icon>
Search
</el-button>
</div>
<div>
<el-button size="default" type="success" class="ml10" @click="openDialog">
<el-icon>
<ele-Upload />
</el-icon>
Batch operation
</el-button>
<el-button size="default" type="success" class="ml10" @click="OpenuploadDataRef()">
<el-icon>
<ele-Upload />
</el-icon>
Upload
</el-button>
<el-button size="default" type="danger" v-auth-role="'admin'" class="ml10" @click="removeThis">
<el-icon>
<ele-Delete />
</el-icon>
Delete
</el-button>
</div>
<disasterTable @childClick="tableClick">
<el-table-column prop="Operate" label="Operate" width="85" show-overflow-tooltip>
<template #default="scope">
<el-button size="small" text type="primary" @click="startBot(scope.row)">start</el-button>
<!-- <el-tag type="info" v-if="scope.row.respondStatus == 3">complete</el-tag> -->
</template>
</el-table-column>
</disasterTable>
</div>
</el-col>
<el-col :span="14">
<div class="system-role-padding layout-padding-auto layout-padding-view" style="height: 85vh;">
<div class="system-user-search "
style="display: flex;margin-left: 10px;margin-top: 10px;margin-bottom:-15px ">
<el-form-item label="Type">
<el-select v-model="state.searchName" placeholder="Please select data type" style="max-width: 200px"
size="default" clearable @change="getTableData(); state.queryTitle = ''">
<el-option value="1" label="News"></el-option>
<el-option value="2" label="SocialMedia"></el-option>
</el-select>
</el-form-item>
<el-form-item label="Review status">
<el-select v-model="state.srarchType" placeholder="Please select data type" style="max-width: 200px"
size="default" clearable>
<el-option value="0" label="Awaiting approval"></el-option>
<el-option value="1" label="Approved"></el-option>
<el-option value="2" label="Rejected"></el-option>
</el-select>
</el-form-item>
<el-form-item label="Title" v-if="state.searchName == '1'">
<el-input v-model="state.queryTitle" placeholder="Please enter a title"></el-input>
</el-form-item>
<el-button size="default" type="primary" class="ml10" @click="getTableData">
<el-icon>
<ele-Search />
</el-icon>
Search
</el-button>
</div>
<div>
<el-button size="default" type="success" class="ml10" @click="openDialog">
<el-icon>
<ele-Upload />
</el-icon>
Batch operation
</el-button>
<el-button size="default" type="success" class="ml10" @click="OpenuploadDataRef()">
<el-icon>
<ele-Upload />
</el-icon>
Upload
</el-button>
<el-button size="default" type="danger" v-auth-role="'admin'" class="ml10" @click="removeThis">
<el-icon>
<ele-Delete />
</el-icon>
Delete
</el-button>
</div>
<el-table :data="state.tableData.data" v-loading="state.tableData.loading"
@selection-change="handleSelectionChange" style="width: 100%; height: 600px;">
<el-table-column type="selection" width="55" />
<el-table-column type="index" label="ID" width="50" />
<!-- <el-table-column v-if=" state.searchName == '1' " prop="title" label="Title"
<el-table
:data="state.tableData.data"
v-loading="state.tableData.loading"
@selection-change="handleSelectionChange"
style="width: 100%; height: 600px"
>
<el-table-column type="selection" width="55" />
<el-table-column type="index" label="ID" width="50" />
<!-- <el-table-column v-if=" state.searchName == '1' " prop="title" label="Title"
show-overflow-tooltip></el-table-column> -->
<el-table-column prop="content" label="Content" show-overflow-tooltip></el-table-column>
<el-table-column prop="type" label="Type" show-overflow-tooltip>
<template #default="scope">
<el-tag type="info" v-if="state.searchName == '1' && scope.row.type == 0">baidu</el-tag>
<el-tag type="info" v-if="state.searchName == '1' && scope.row.type == 1">bing</el-tag>
<el-tag type="info" v-if="state.searchName == '2' && scope.row.type == 0">twitter</el-tag>
<el-tag type="info" v-if="state.searchName == '2' && scope.row.type == 1">weibo</el-tag>
</template>
</el-table-column>
<el-table-column prop="content" label="Link" show-overflow-tooltip>
<template #default="scope">
<a :href="scope.row.link" target="_blank">Read more</a>
</template>
</el-table-column>
<el-table-column prop="time" label="Time" show-overflow-tooltip sortable></el-table-column>
<el-table-column prop="Operate" label="Operate" show-overflow-tooltip>
<template #default="scope">
<el-button size="small" text type="primary" v-if="scope.row.status == 0"
@click=" openDialog(scope.row, true)">Awaiting approval</el-button>
<el-button size="small" text type="success" v-if="scope.row.status == 1"
@click=" openDialog(scope.row, false)">Approved</el-button>
<el-button size="small" text type="danger" v-if="scope.row.status == 2"
@click=" openDialog(scope.row, false)">Rejected</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination style="margin-left: 20px;" @size-change="onHandleSizeChange"
@current-change="onHandleCurrentChange" class="mt15" :page-sizes="[10, 20, 30]"
v-model:current-page="state.tableData.param.pageNum" background
v-model:page-size="state.tableData.param.pageSize" layout="total, sizes, prev, pager, next"
:total="state.tableData.total">
</el-pagination>
</div>
</el-col>
</el-row>
<el-dialog v-model="state.dialogVisible" title="Review" width="30%">
Do you want to keep this data as response data?
<template #footer>
<span class="dialog-footer">
<el-button @click=" state.dialogVisible = false">Cancel</el-button>
<el-button type="primary" @click=" reviews(1)">
reserve
</el-button>
<el-button type="danger" @click=" reviews(2)">
not retain
</el-button>
</span>
</template>
</el-dialog>
</el-config-provider>
<boot ref="bootRef" @callback="getTableData" />
<uploadData ref="uploadDataRef" @callback="getTableData" />
</div>
<el-table-column prop="content" label="Content" show-overflow-tooltip></el-table-column>
<el-table-column prop="type" label="Type" show-overflow-tooltip>
<template #default="scope">
<el-tag type="info" v-if="state.searchName == '1' && scope.row.type == 0">baidu</el-tag>
<el-tag type="info" v-if="state.searchName == '1' && scope.row.type == 1">bing</el-tag>
<el-tag type="info" v-if="state.searchName == '2' && scope.row.type == 0">twitter</el-tag>
<el-tag type="info" v-if="state.searchName == '2' && scope.row.type == 1">weibo</el-tag>
</template>
</el-table-column>
<el-table-column prop="content" label="Link" show-overflow-tooltip>
<template #default="scope">
<a :href="scope.row.link" target="_blank">Read more</a>
</template>
</el-table-column>
<el-table-column prop="time" label="Time" show-overflow-tooltip sortable></el-table-column>
<el-table-column prop="Operate" label="Operate" show-overflow-tooltip>
<template #default="scope">
<el-button size="small" text type="primary" v-if="scope.row.status == 0" @click="openDialog(scope.row, true)"
>Awaiting approval</el-button
>
<el-button size="small" text type="success" v-if="scope.row.status == 1" @click="openDialog(scope.row, false)">Approved</el-button>
<el-button size="small" text type="danger" v-if="scope.row.status == 2" @click="openDialog(scope.row, false)">Rejected</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
style="margin-left: 20px"
@size-change="onHandleSizeChange"
@current-change="onHandleCurrentChange"
class="mt15"
:page-sizes="[10, 20, 30]"
v-model:current-page="state.tableData.param.pageNum"
background
v-model:page-size="state.tableData.param.pageSize"
layout="total, sizes, prev, pager, next"
:total="state.tableData.total"
>
</el-pagination>
</div>
</el-col>
</el-row>
<el-dialog v-model="state.dialogVisible" title="Review" width="30%">
Do you want to keep this data as response data?
<template #footer>
<span class="dialog-footer">
<el-button @click="state.dialogVisible = false">Cancel</el-button>
<el-button type="primary" @click="reviews(1)"> reserve </el-button>
<el-button type="danger" @click="reviews(2)"> not retain </el-button>
</span>
</template>
</el-dialog>
</el-config-provider>
<boot ref="bootRef" @callback="getTableData" />
<uploadData ref="uploadDataRef" @callback="getTableData" />
</div>
</template>
<script setup name="dataMultimediaData">
import en from 'element-plus/dist/locale/en.mjs'
<script setup name="dataMultimediaData">
import en from 'element-plus/dist/locale/en.mjs';
import { getList } from '/@/api/disasterInfo/index';
import { getList as getNewsList, review , remove as removeList} from '/@/api/news/index';
import { getList as getNewsList, review, remove as removeList } from '/@/api/news/index';
import { getDictionary } from '/@/api/system/dictbiz';
//
import { reactive, onMounted, ref } from 'vue';
import { ElMessage ,ElMessageBox} from 'element-plus';
import { ElMessage, ElMessageBox } from 'element-plus';
import boot from "./component/boot.vue";
import uploadData from "./component/uploadData.vue";
import disasterTable from "/@/components/table/DisasterTable.vue";
import boot from './component/boot.vue';
import uploadData from './component/uploadData.vue';
import disasterTable from '/@/components/table/DisasterTable.vue';
//
const bootRef = ref();
const uploadDataRef = ref();
const removeThis = (row) =>{
let ids = state.multipleSelection.map((item) => item.id);
//ids使
if(ids.length == 0){
ElMessage.info("Please select the data to be deleted");
return;
}
//使
ElMessageBox.confirm('Are you sure you want to delete it?', 'Prompt', {
confirmButtonText: 'Yes',
cancelButtonText: 'No',
type: 'warning',
}).then(() => {
//
removeList(ids,(state.searchName=='1'?"News":null)).then((res) => {
ElMessage.success("Delete successfully");
getTableData();
});
}).catch(() => { ElMessage.error("Delete failed");});
}
const removeThis = (row) => {
let ids = state.multipleSelection.map((item) => item.id);
//ids使
if (ids.length == 0) {
ElMessage.info('Please select the data to be deleted');
return;
}
//使
ElMessageBox.confirm('Are you sure you want to delete it?', 'Prompt', {
confirmButtonText: 'Yes',
cancelButtonText: 'No',
type: 'warning',
})
.then(() => {
//
removeList(ids, state.searchName == '1' ? 'News' : null).then((res) => {
ElMessage.success('Delete successfully');
getTableData();
});
})
.catch(() => {
ElMessage.error('Delete failed');
});
};
const state = reactive({
dialogVisible: false,
multipleSelection: [],
searchName: '1',
disasterId: null,
queryTitle: "",
edit: {
status: 0,
},
srarchType: "0",
disasterData: {
data: [],
total: 0,
loading: false,
param: {
search: '',
pageNum: 1,
pageSize: 10,
},
},
disasterTypeList: [],
tableData: {
data: [],
total: 0,
loading: false,
param: {
search: '',
pageNum: 1,
pageSize: 10,
},
},
selectList: [],
dialogVisible: false,
multipleSelection: [],
searchName: '1',
disasterId: null,
queryTitle: '',
edit: {
status: 0,
},
srarchType: '0',
disasterData: {
data: [],
total: 0,
loading: false,
param: {
search: '',
pageNum: 1,
pageSize: 10,
},
},
disasterTypeList: [],
tableData: {
data: [],
total: 0,
loading: false,
param: {
search: '',
pageNum: 1,
pageSize: 10,
},
},
selectList: [],
selectListId: null,
});
const openDialog = async (row, bool) => {
if (bool) {
state.selectList = [row]
} else {
state.selectList = state.multipleSelection
}
state.dialogVisible = true;
state.selectListId = row.id;
state.dialogVisible = true;
};
const reviews = async (status) => {
let ids = state.selectList.map((item) => item.id);
//ids 使
ids = ids.join(',');
let res = await review(ids, status, state.searchName == '1' ? true : false);
if (res) {
state.dialogVisible = false;
ElMessage.success('success');
getTableData();
}
let ids = state.selectList.map((item) => item.id);
//ids 使
ids = ids.join(',');
let res = await review(state.selectListId, status, state.searchName == '1' ? true : false);
if (res) {
state.dialogVisible = false;
ElMessage.success('success');
getTableData();
}
};
const handleSelectionChange = (val) => {
state.multipleSelection = val
state.multipleSelection = val;
};
//
const tableClick = (i) => {
state.disasterId = i.disasterId;
getTableData();
}
state.disasterId = i.disasterId;
getTableData();
};
//
const getDisasterData = () => {
state.disasterData.loading = true;
let param = {
"search": state.disasterData.param.search,
"current": state.disasterData.param.pageNum,
"size": state.disasterData.param.pageSize,
"respondStatus": 3,
}
getList(param).then(res => {
state.disasterData.data = res.records;
state.disasterId = state.disasterData.data[0].disasterId;
getTableData()
state.disasterData.data.forEach(item => {
let date = item.disasterTime.slice(0, 10);
item.disasterTime = date;
})
state.disasterData.total = res.total;
state.disasterData.loading = false;
})
}
state.disasterData.loading = true;
let param = {
search: state.disasterData.param.search,
current: state.disasterData.param.pageNum,
size: state.disasterData.param.pageSize,
respondStatus: 3,
};
getList(param).then((res) => {
state.disasterData.data = res.records;
state.disasterId = state.disasterData.data[0].disasterId;
getTableData();
state.disasterData.data.forEach((item) => {
let date = item.disasterTime.slice(0, 10);
item.disasterTime = date;
});
state.disasterData.total = res.total;
state.disasterData.loading = false;
});
};
//
const getTableData = () => {
state.tableData.loading = true;
getNewsList(state.tableData.param.pageNum, state.tableData.param.pageSize, { "disasterId": state.disasterId, "isDeleted": 0, status: state.srarchType, title: state.queryTitle }, state.searchName == '1' ? true : false).then(res => {
state.tableData.data = res.records;
state.tableData.loading = true;
getNewsList(
state.tableData.param.pageNum,
state.tableData.param.pageSize,
{ disasterId: state.disasterId, isDeleted: 0, status: state.srarchType, title: state.queryTitle },
state.searchName == '1' ? true : false
).then((res) => {
state.tableData.data = res.records;
if (state.searchName == '1') {
state.tableData.data.forEach(item => {
let date = item.createTime.slice(0, 10);
item.time = date;
})
} else {
state.tableData.data.forEach(item => {
let date = item.time.slice(0, 10);
item.time = date;
})
}
state.tableData.total = res.total;
})
setTimeout(() => {
state.tableData.loading = false;
}, 500);
if (state.searchName == '1') {
state.tableData.data.forEach((item) => {
let date = item.createTime.slice(0, 10);
item.time = date;
});
} else {
state.tableData.data.forEach((item) => {
let date = item.time.slice(0, 10);
item.time = date;
});
}
state.tableData.total = res.total;
});
setTimeout(() => {
state.tableData.loading = false;
}, 500);
};
//
const startBot = (row) => {
bootRef.value.openDialog(row);
bootRef.value.openDialog(row);
};
//
const OpenuploadDataRef = () => {
if (state.disasterId == null) {
ElMessage.warning('Please select the disaster first');
return false;
}
uploadDataRef.value.openDialog(state.disasterId);
if (state.disasterId == null) {
ElMessage.warning('Please select the disaster first');
return false;
}
uploadDataRef.value.openDialog(state.disasterId);
};
//
const onHandleSizeChange = (val) => {
state.tableData.param.pageSize = val;
getTableData();
state.tableData.param.pageSize = val;
getTableData();
};
//
const onHandleCurrentChange = (val) => {
state.tableData.param.pageNum = val;
getTableData();
state.tableData.param.pageNum = val;
getTableData();
};
//
onMounted(() => {
getDisasterData();
getDictionary({ code: 'disaster' }).then((res) => {
state.disasterTypeList = res;
});
getDisasterData();
getDictionary({ code: 'disaster' }).then((res) => {
state.disasterTypeList = res;
});
});
</script>
<style>
.demo-tabs>.el-tabs__content {
padding: 32px;
color: #6b778c;
font-size: 32px;
font-weight: 600;
.demo-tabs > .el-tabs__content {
padding: 32px;
color: #6b778c;
font-size: 32px;
font-weight: 600;
}
.system-role-container {
.system-role-padding {
padding: 15px;
.system-role-padding {
padding: 15px;
.el-table {
flex: 1;
}
}
.el-table {
flex: 1;
}
}
}
.mt15 {
display: flex;
justify-content: end;
display: flex;
justify-content: end;
}
</style>

View File

@ -67,6 +67,10 @@ const options = [
{
value: '2',
label: 'cartographic product',
},
{
value: '3',
label: 'AOI',
}
]
const emit = defineEmits(['callback']);

View File

@ -15,6 +15,7 @@
<el-option value="0" label="basic data"></el-option>
<el-option value="1" label="responded report"></el-option>
<el-option value="2" label="cartographic product"></el-option>
<el-option value="3" label="AOI"></el-option>
</el-select>
<el-button size="default" type="primary" class="ml10" @click="getTableData">
<el-icon>
@ -38,9 +39,9 @@
<el-table :data="state.tableData.data" v-loading="state.tableData.loading"
@selection-change="handleSelectionChange" style="width: 100%">
<el-table-column type="selection" width="55" />
<el-table-column prop="uploaderName" label="Uploader name" width="150"
<el-table-column prop="uploaderName" label="Uploader Name" width="150"
show-overflow-tooltip></el-table-column>
<el-table-column prop="isPublish" label="isPublish" width="110" show-overflow-tooltip>
<el-table-column prop="IsPublish" label="IsPublish" width="110" show-overflow-tooltip>
<template #default="scope">
<el-tag type="warning" v-if="scope.row.isPublish == 0">NO</el-tag>
<el-tag type="success" v-if="scope.row.isPublish == 1">YES</el-tag>
@ -48,12 +49,12 @@
</el-table-column>
<el-table-column prop="title" label="Title" show-overflow-tooltip
width="150"></el-table-column>
<el-table-column prop="size" label="Data size" width="110" show-overflow-tooltip>
<el-table-column prop="size" label="Data Size" width="110" show-overflow-tooltip>
<template #default="scope">
{{ formatSizeUnits(scope.row.size) }}
</template>
</el-table-column>
<el-table-column prop="uploadTime" label="Upload time" show-overflow-tooltip></el-table-column>
<el-table-column prop="uploadTime" label="Upload Time" show-overflow-tooltip></el-table-column>
<el-table-column prop="Operate" label="Operate" show-overflow-tooltip>
<template #default="scope">
<el-button size="small" text type="primary" @click="del(scope.row)">Delete</el-button>

View File

@ -87,19 +87,19 @@
</el-popover>
</template>
</el-table-column>
<el-table-column prop="satelliteCode" label="Satellite code" width="170" align="center" show-overflow-tooltip
<el-table-column prop="satelliteCode" label="Satellite Code" width="170" align="center" show-overflow-tooltip
sortable></el-table-column>
<el-table-column prop="productTime" label="Product time" width="170" align="center" show-overflow-tooltip
<el-table-column prop="productTime" label="Product Time" width="170" align="center" show-overflow-tooltip
sortable></el-table-column>
<el-table-column prop="productBandsNum" label="Product bands num" width="200" align="center"
<el-table-column prop="productBandsNum" label="Product Bands Num" width="200" align="center"
show-overflow-tooltip sortable></el-table-column>
<el-table-column prop="productResolution" label="Product resolution(m)" width="220" align="center"
<el-table-column prop="productResolution" label="Product Resolution(m)" width="220" align="center"
show-overflow-tooltip sortable></el-table-column>
<el-table-column prop="cloudCover" label="Cloud cover(%)" align="center" width="180" show-overflow-tooltip
<el-table-column prop="cloudCover" label="Cloud Cover(%)" align="center" width="180" show-overflow-tooltip
sortable></el-table-column>
<el-table-column prop="sourceOrganization" label="Source organization" width="200" align="center"
<el-table-column prop="sourceOrganization" label="Source Organization" width="200" align="center"
show-overflow-tooltip sortable></el-table-column>
<el-table-column prop="downloadUrl" label="Download url" align="center" width="200" show-overflow-tooltip>
<el-table-column prop="downloadUrl" label="Download Url" align="center" width="200" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="Operate" label="Operate" align="center" width="200" show-overflow-tooltip>
<template #default="scope">

View File

@ -10,7 +10,7 @@
<el-col :span="12">
<span>{{ state.data.disasterKeyword }}</span>
<p style="color: #878787; ">VoRDM ID:{{ state.data.vordmId }}</p>
<p style="color: #aa4434;">Disaster time: {{ state.data.disasterTime }}</p>
<p style="color: #aa4434;">Disaster Time: {{ state.data.disasterTime }}</p>
<p style="color: #878787; ">Disaster Country: {{ state.data.disasterCountry }}</p>
</el-col>
<el-col :span="12">

View File

@ -37,6 +37,10 @@ const options = [
{
value: '2',
label: 'cartographic product',
},
{
value: '3',
label: 'AOI',
}
]
const emit = defineEmits(['callback']);

View File

@ -43,6 +43,10 @@ const options = [
{
value: '2',
label: 'cartographic product',
},
{
value: '3',
label: 'AOI',
}
]
const emit = defineEmits(['callback']);

View File

@ -37,6 +37,10 @@ const options = [
{
value: '2',
label: 'cartographic product',
},
{
value: '3',
label: 'AOI',
}
]
const emit = defineEmits(['callback']);

View File

@ -43,6 +43,10 @@ const options = [
{
value: '2',
label: 'cartographic product',
},
{
value: '3',
label: 'AOI',
}
]
const emit = defineEmits(['callback']);

View File

@ -34,7 +34,7 @@
</el-button>
</div>
<el-tabs v-model="activeName" class="demo-tabs" @tab-change="handleClick" type="card">
<el-tab-pane label="Word cloud" name="first">
<el-tab-pane label="Word Cloud" name="first">
<el-table :data="state.tableData.data" v-loading="state.tableData.loading"
@selection-change="handleSelectionChange" style="width: 100%">
<el-table-column type="selection" width="55" />
@ -55,7 +55,7 @@
:total="state.tableData.total">
</el-pagination>
</el-tab-pane>
<el-tab-pane label="Hotspot area" name="second">
<el-tab-pane label="Hotspot Area" name="second">
<el-tabs v-model="activeNameNew" class="demo-tabs" @tab-change="handleClickNew" type="card">
<el-tab-pane label="NEWs" name="firstNew">
<el-table :data="state.tableData.data" v-loading="state.tableData.loading"
@ -197,9 +197,6 @@ const handleClick = (tab) => {
};
const handleClickNew = (tab) => {
console.log( tab,"tabtabtab");
console.log( state.source);
if (tab === "secondNew") {
state.source = 1;
} else {

View File

@ -146,12 +146,12 @@ const options_disastertype = [
//
const options_datatype = [
{
value: 'Word cloud',
label: 'Word cloud',
value: 'Word Cloud',
label: 'Word Cloud',
},
{
value: 'Hotspot area',
label: 'Hotspot area',
value: 'Hotspot Area',
label: 'Hotspot Area',
},
];

View File

@ -14,7 +14,7 @@
<!-- 选择灾害时间下拉框 -->
<el-date-picker v-model="value_disastertime"
type="date"
placeholder="Select disaster time"
placeholder="Select disaster Time"
class="ml10"
size="default" />
<!-- 选择灾害事件下拉框 -->
@ -162,12 +162,12 @@ const options_datatype = [
label: 'Disaster mapping',
},
{
value: 'Word cloud',
label: 'Word cloud',
value: 'Word Cloud',
label: 'Word Cloud',
},
{
value: 'Hotspot area',
label: 'Hotspot area',
value: 'Hotspot Area',
label: 'Hotspot Area',
},
];

View File

@ -437,6 +437,7 @@ const initAdministratorsChart = (xData,yData) => {
data: xData,
boundaryGap: true,
axisTick: { show: false },
axisLabel: { fontSize: '11' },
},
],
yAxis: [
@ -496,8 +497,6 @@ const initPieChart = (data) => {
z: -1,
style: {
image: themeConfig.value.isIsDark,
width: 230,
height: 230,
},
@ -506,36 +505,6 @@ const initPieChart = (data) => {
},
],
},
// legend: {
// type: 'scroll',
// orient: 'vertical',
// right: '0%',
// left: '65%',
// top: 'center',
// itemWidth: 14,
// itemHeight: 14,
// data: getname,
// textStyle: {
// rich: {
// name: {
// fontSize: 14,
// fontWeight: 400,
// width: 200,
// height: 35,
// padding: [0, 0, 0, 60],
// color: state.charts.color,
// },
// rate: {
// fontSize: 15,
// fontWeight: 500,
// height: 35,
// width: 40,
// padding: [0, 0, 0, 30],
// color: state.charts.color,
// },
// },
// },
// },
series: [
{
type: 'pie',
@ -664,10 +633,10 @@ const setAdministratorsChart = (data) => {
xData.push(item.name)
yData.push(item.val)
})
if (yData) {
xData.push('');
yData.push(0);
}
// if (yData) {
// xData.push('');
// yData.push(0);
// }
initAdministratorsChart(xData,yData);
}
/**

View File

@ -8,7 +8,7 @@
<el-form>
<el-row>
<el-col :span="4">
<el-form-item label="User name"><el-input size="default" style="max-width: 180px"
<el-form-item label="User Name"><el-input size="default" style="max-width: 180px"
v-model="state.query.userName" clearable placeholder="Please enter the UserName">
</el-input>
</el-form-item>
@ -39,7 +39,7 @@
</div>
<el-table :data="state.tableData.data" style="width: 100%;height: 65vh;" v-loading="state.tableData.loading"
@selection-change="handleSelectionChange">
<el-table-column prop="userName" label="User name"> </el-table-column>
<el-table-column prop="userName" label="User Name"> </el-table-column>
<el-table-column prop="email" label="Email"> </el-table-column>
<el-table-column prop="organization" label="Organization"> </el-table-column>
<el-table-column prop="message" label="Message"> </el-table-column>

View File

@ -14,23 +14,23 @@
<el-icon>
<ele-EditPen />
</el-icon>
Batch operation
Batch Operation
</el-button>
</div>
<el-table :data="state.tableData.data" v-loading="state.tableData.loading"
@selection-change="handleSelectionChange" style="width: 100%">
<el-table-column type="selection" width="55" />
<el-table-column type="index" label="ID" width="50" />
<el-table-column prop="uploaderName" label="Uploader name" show-overflow-tooltip></el-table-column>
<el-table-column prop="uploaderName" label="Uploader Name" show-overflow-tooltip></el-table-column>
<el-table-column prop="sourceOrganization" label="Organization" show-overflow-tooltip></el-table-column>
<el-table-column prop="title" label="Professional title" show-overflow-tooltip
<el-table-column prop="title" label="Professional Title" show-overflow-tooltip
width="150"></el-table-column>
<el-table-column prop="size" label="Data size" show-overflow-tooltip>
<el-table-column prop="size" label="Data Size" show-overflow-tooltip>
<template #default="scope">
{{ formatSizeUnits(scope.row.size) }}
</template>
</el-table-column>
<el-table-column prop="uploadTime" label="Upload time" show-overflow-tooltip></el-table-column>
<el-table-column prop="uploadTime" label="Upload Time" show-overflow-tooltip></el-table-column>
<el-table-column prop="Operate" label="Operate" show-overflow-tooltip>
<template #default="scope">
<el-button size="small" text type="primary" @click="auditData(scope.row)">Audit</el-button>

View File

@ -8,12 +8,12 @@
<el-form>
<el-row>
<el-col :span="4">
<el-form-item label="Tool Name"><el-input size="default" style="max-width: 180px"
<el-form-item label="Tool Name"><el-input size="default" style="max-width: 180px" placeholder="Tool Name"
v-model="state.query.toolName" clearable> </el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="review status" style="margin-left: 10px;">
<el-form-item label="Review Status" style="margin-left: 10px;">
<el-select size="default" v-model="state.query.checked" clearable
placeholder="Please select">
<el-option label="Approved" value="0"></el-option>
@ -49,7 +49,7 @@
</el-table-column>
<el-table-column prop="label" label="Label" width="140"> </el-table-column>
<el-table-column prop="introduction" label="Introduction"> </el-table-column>
<el-table-column prop="showName" label="Uploader name"></el-table-column>
<el-table-column prop="showName" label="Uploader Name"></el-table-column>
<el-table-column prop="reviewTime" label="Review Time"></el-table-column>
<el-table-column label="Operate" width="140">
<template #default="scope">

View File

@ -13,7 +13,7 @@
v-loading="state.tableData.loading"
style="width: 100%">
<el-table-column prop="username"
label="User name"
label="User Name"
show-overflow-tooltip
sortable></el-table-column>
<el-table-column prop="organization"
@ -30,11 +30,11 @@
</template>
</el-table-column>
<el-table-column prop="disasterKeyword"
label="Disaster keyword"
label="Disaster Keyword"
show-overflow-tooltip
sortable></el-table-column>
<el-table-column prop="disasterTime"
label="Disaster time"
label="Disaster Time"
show-overflow-tooltip
sortable>
<template #default="scope">
@ -43,7 +43,7 @@
</template>
</el-table-column>
<el-table-column prop="respondStatus"
label="Response status"
label="Response Status"
show-overflow-tooltip
sortable>
<template #default="scope">
@ -84,7 +84,7 @@
v-loading="state.tableData.loading"
style="width: 100%">
<el-table-column prop="username"
label="User name"
label="User Name"
show-overflow-tooltip
sortable></el-table-column>
<el-table-column prop="organization"
@ -101,11 +101,11 @@
</template>
</el-table-column>
<el-table-column prop="disasterKeyword"
label="Disaster keyword"
label="Disaster Keyword"
show-overflow-tooltip
sortable></el-table-column>
<el-table-column prop="disasterTime"
label="Disaster time"
label="Disaster Time"
show-overflow-tooltip
sortable>
<template #default="scope">
@ -147,7 +147,7 @@
style="width: 100%">
<el-table-column prop="username"
label="User name"
label="User Name"
show-overflow-tooltip
sortable
width="150"></el-table-column>
@ -171,12 +171,12 @@
</template>
</el-table-column>
<el-table-column prop="disasterKeyword"
label="Disaster keyword"
label="Disaster Keyword"
width="190"
show-overflow-tooltip
sortable></el-table-column>
<el-table-column prop="disasterTime"
label="Disaster time"
label="Disaster Time"
show-overflow-tooltip
sortable
width="150">
@ -196,7 +196,7 @@
width="140" />
<el-table-column width="170"
prop="respondStatus"
label="Response status"
label="Response Status"
show-overflow-tooltip
sortable>
<template #default="scope">
@ -249,7 +249,7 @@
v-loading="state.tableData.loading"
style="width: 100%">
<el-table-column prop="username"
label="User name"
label="User Name"
show-overflow-tooltip
sortable></el-table-column>
<el-table-column prop="organization"
@ -266,11 +266,11 @@
</template>
</el-table-column>
<el-table-column prop="disasterKeyword"
label="Disaster keyword"
label="Disaster Keyword"
show-overflow-tooltip
sortable></el-table-column>
<el-table-column prop="disasterTime"
label="Disaster time"
label="Disaster Time"
show-overflow-tooltip
sortable>
<template #default="scope">
@ -279,7 +279,7 @@
</template>
</el-table-column>
<el-table-column prop="respondedTime"
label="Responded time"
label="Responded Time"
show-overflow-tooltip
sortable>
<template #default="scope">
@ -402,10 +402,10 @@
</el-select>
</el-form-item>
<el-form-item label="Disaster country">
<el-form-item label="Affected Country">
<el-input style="width: 200px;"
v-model="state.edit.disasterCountry"
placeholder="please Disaster country"
placeholder="please Affected Country"
clearable></el-input>
</el-form-item>
<el-form-item label="Theme keywords">

View File

@ -25,15 +25,15 @@
</div>
<el-table :data="state.tableData.data" v-loading="state.tableData.loading"
@selection-change="handleSelectionChange" style="width: 100%">
<el-table-column prop="disasterType" label="Disaster type" show-overflow-tooltip sortable></el-table-column>
<el-table-column prop="disasterCountry" label="Disaster country" show-overflow-tooltip sortable></el-table-column>
<el-table-column prop="disasterTime" label="Disaster time" show-overflow-tooltip sortable></el-table-column>
<el-table-column prop="disasterType" label="Disaster Type" show-overflow-tooltip sortable></el-table-column>
<el-table-column prop="disasterCountry" label="Affected Country" show-overflow-tooltip sortable></el-table-column>
<el-table-column prop="disasterTime" label="Disaster Time" show-overflow-tooltip sortable></el-table-column>
<el-table-column prop="managerName" label="Manager" show-overflow-tooltip sortable></el-table-column>
<el-table-column prop="sponsorOrganization" label="Sponsor organization" show-overflow-tooltip sortable></el-table-column>
<el-table-column prop="researchField" label="Research field" show-overflow-tooltip sortable></el-table-column>
<el-table-column prop="sponsorOrganization" label="Sponsor Organization" show-overflow-tooltip sortable></el-table-column>
<el-table-column prop="researchField" label="Research Field" show-overflow-tooltip sortable></el-table-column>
<el-table-column prop="occupation" label="Occupation" show-overflow-tooltip sortable></el-table-column>
<el-table-column prop="applyTime" label="Apply time" show-overflow-tooltip sortable></el-table-column>
<el-table-column v-if="state.status == '1'" prop="reviewTime" label="Review time" show-overflow-tooltip sortable></el-table-column>
<el-table-column prop="applyTime" label="Apply Time" show-overflow-tooltip sortable></el-table-column>
<el-table-column v-if="state.status == '1'" prop="reviewTime" label="Review Time" show-overflow-tooltip sortable></el-table-column>
<el-table-column v-if="state.status == '0'" prop="Operate" label="Operate" show-overflow-tooltip>
<template #default="scope">
<!-- <el-button link type="primary" size="small" @click="handleClick">Detail</el-button>-->

View File

@ -33,7 +33,7 @@
label="ID"
width="50" />
<el-table-column prop="name"
label="User name"
label="User Name"
show-overflow-tooltip></el-table-column>
<el-table-column prop="account"
label="Account"