Merge branch 'main' of http://47.92.168.204:3000/VoRDM/vordm-admin into zqq
This commit is contained in:
commit
12f4636320
|
@ -6,7 +6,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<meta name="keywords" content="VoRDM"/>
|
<meta name="keywords" content="VoRDM"/>
|
||||||
<meta name="description" content="VoRDM"/>
|
<meta name="description" content="VoRDM"/>
|
||||||
<link rel="icon" href="/src/assets/vordm-mini.png" />
|
<link rel="icon" href="logo2.png" />
|
||||||
<title>VoRDM Admin</title>
|
<title>VoRDM Admin</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 384 KiB |
Binary file not shown.
After Width: | Height: | Size: 2.2 MiB |
Binary file not shown.
After Width: | Height: | Size: 699 KiB |
Binary file not shown.
After Width: | Height: | Size: 20 KiB |
Binary file not shown.
After Width: | Height: | Size: 2.4 KiB |
|
@ -84,7 +84,7 @@ export const pushing = (data) => {
|
||||||
//wordcloud服务
|
//wordcloud服务
|
||||||
export const landsat = (disaster_id,number,id) => {
|
export const landsat = (disaster_id,number,id) => {
|
||||||
return request({
|
return request({
|
||||||
url: '/api/' + crawlModule + '/rs/landsat',
|
url: '/api/' + crawlModule + '/visual/wordcloud',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
params:{
|
params:{
|
||||||
disaster_id,
|
disaster_id,
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
<el-table-column prop="dictValue" label="Disaster type" show-overflow-tooltip sortable></el-table-column>
|
<el-table-column prop="dictValue" 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="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="disasterTime" label="Disaster time" show-overflow-tooltip sortable></el-table-column>
|
||||||
|
<slot></slot>
|
||||||
</el-table>
|
</el-table>
|
||||||
<el-pagination @size-change="onHandleDisasterSizeChange" @current-change="onHandleDisasterCurrentChange" class="mt15"
|
<el-pagination @size-change="onHandleDisasterSizeChange" @current-change="onHandleDisasterCurrentChange" class="mt15"
|
||||||
:pager-count="3" :page-sizes="[10, 20, 30]" v-model:current-page="state.disasterData.param.pageNum" background
|
:pager-count="3" :page-sizes="[10, 20, 30]" v-model:current-page="state.disasterData.param.pageNum" background
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="layout-footer pb15">
|
<div class="layout-footer pb15">
|
||||||
<div class="layout-footer-warp">
|
<div class="layout-footer-warp">
|
||||||
<div>vue-next-admin,Made by lyt with ❤️</div>
|
|
||||||
<div class="mt5">深圳市 xxx 公司版权所有</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -12,26 +12,26 @@
|
||||||
<template #dropdown>
|
<template #dropdown>
|
||||||
<el-dropdown-menu>
|
<el-dropdown-menu>
|
||||||
<el-dropdown-item command="large"
|
<el-dropdown-item command="large"
|
||||||
:disabled="state.disabledSize === 'large'">大型</el-dropdown-item>
|
:disabled="state.disabledSize === 'large'">Large</el-dropdown-item>
|
||||||
<el-dropdown-item command="default"
|
<el-dropdown-item command="default"
|
||||||
:disabled="state.disabledSize === 'default'">默认</el-dropdown-item>
|
:disabled="state.disabledSize === 'default'">Default</el-dropdown-item>
|
||||||
<el-dropdown-item command="small"
|
<el-dropdown-item command="small"
|
||||||
:disabled="state.disabledSize === 'small'">小型</el-dropdown-item>
|
:disabled="state.disabledSize === 'small'">Small</el-dropdown-item>
|
||||||
</el-dropdown-menu>
|
</el-dropdown-menu>
|
||||||
</template>
|
</template>
|
||||||
</el-dropdown>
|
</el-dropdown>
|
||||||
<div class="layout-navbars-breadcrumb-user-icon"
|
<!-- <div class="layout-navbars-breadcrumb-user-icon"
|
||||||
@click="onSearchClick">
|
@click="onSearchClick">
|
||||||
<el-icon title="菜单搜索">
|
<el-icon title="菜单搜索">
|
||||||
<ele-Search />
|
<ele-Search />
|
||||||
</el-icon>
|
</el-icon>
|
||||||
</div>
|
</div> -->
|
||||||
<div class="layout-navbars-breadcrumb-user-icon"
|
<!-- <div class="layout-navbars-breadcrumb-user-icon"
|
||||||
@click="onLayoutSetingClick">
|
@click="onLayoutSetingClick">
|
||||||
<i class="icon-skin iconfont"
|
<i class="icon-skin iconfont"
|
||||||
title="布局配置"></i>
|
title="布局配置"></i>
|
||||||
</div>
|
</div> -->
|
||||||
<div class="layout-navbars-breadcrumb-user-icon">
|
<!-- <div class="layout-navbars-breadcrumb-user-icon">
|
||||||
<el-popover placement="bottom"
|
<el-popover placement="bottom"
|
||||||
trigger="click"
|
trigger="click"
|
||||||
transition="el-zoom-in-top"
|
transition="el-zoom-in-top"
|
||||||
|
@ -48,7 +48,7 @@
|
||||||
<UserNews />
|
<UserNews />
|
||||||
</template>
|
</template>
|
||||||
</el-popover>
|
</el-popover>
|
||||||
</div>
|
</div> -->
|
||||||
<el-dropdown :show-timeout="70"
|
<el-dropdown :show-timeout="70"
|
||||||
:hide-timeout="50"
|
:hide-timeout="50"
|
||||||
trigger="click"
|
trigger="click"
|
||||||
|
@ -87,12 +87,9 @@
|
||||||
</span>
|
</span>
|
||||||
<template #dropdown>
|
<template #dropdown>
|
||||||
<el-dropdown-menu>
|
<el-dropdown-menu>
|
||||||
<el-dropdown-item command="/home">首页</el-dropdown-item>
|
<el-dropdown-item command="/home">Dashboard</el-dropdown-item>
|
||||||
<el-dropdown-item command="wareHouse">代码仓库</el-dropdown-item>
|
|
||||||
<el-dropdown-item command="/404">404</el-dropdown-item>
|
|
||||||
<el-dropdown-item command="/401">401</el-dropdown-item>
|
|
||||||
<el-dropdown-item divided
|
<el-dropdown-item divided
|
||||||
command="logOut">退出登录</el-dropdown-item>
|
command="logOut">Sign out</el-dropdown-item>
|
||||||
</el-dropdown-menu>
|
</el-dropdown-menu>
|
||||||
</template>
|
</template>
|
||||||
</el-dropdown>
|
</el-dropdown>
|
||||||
|
@ -174,16 +171,16 @@ const onHandleCommandClick = (path) => {
|
||||||
ElMessageBox({
|
ElMessageBox({
|
||||||
closeOnClickModal: false,
|
closeOnClickModal: false,
|
||||||
closeOnPressEscape: false,
|
closeOnPressEscape: false,
|
||||||
title: '提示',
|
title: 'Prompt',
|
||||||
message: '此操作将退出登录, 是否继续?',
|
message: 'This action will log you out of the login and whether to continue?',
|
||||||
showCancelButton: true,
|
showCancelButton: true,
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: 'Yes',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: 'No',
|
||||||
buttonSize: 'default',
|
buttonSize: 'default',
|
||||||
beforeClose: (action, instance, done) => {
|
beforeClose: (action, instance, done) => {
|
||||||
if (action === 'confirm') {
|
if (action === 'confirm') {
|
||||||
instance.confirmButtonLoading = true;
|
instance.confirmButtonLoading = true;
|
||||||
instance.confirmButtonText = '退出中';
|
instance.confirmButtonText = 'Exiting';
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
done();
|
done();
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
|
|
@ -12,7 +12,7 @@ export const useThemeConfig = defineStore('themeConfig', {
|
||||||
state: () => ({
|
state: () => ({
|
||||||
website: {
|
website: {
|
||||||
// 开启验证码模式
|
// 开启验证码模式
|
||||||
captchaMode: false,
|
captchaMode: true,
|
||||||
tokenTime: 3000,
|
tokenTime: 3000,
|
||||||
tenantId: '595035',
|
tenantId: '595035',
|
||||||
},
|
},
|
||||||
|
@ -109,7 +109,7 @@ export const useThemeConfig = defineStore('themeConfig', {
|
||||||
// 是否开启水印
|
// 是否开启水印
|
||||||
isWartermark: false,
|
isWartermark: false,
|
||||||
// 水印文案
|
// 水印文案
|
||||||
wartermarkText: 'vue-next-admin',
|
wartermarkText: 'vordm',
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 其它设置
|
* 其它设置
|
||||||
|
@ -142,7 +142,7 @@ export const useThemeConfig = defineStore('themeConfig', {
|
||||||
* 全局网站标题 / 副标题
|
* 全局网站标题 / 副标题
|
||||||
*/
|
*/
|
||||||
// 网站主标题(菜单导航、浏览器当前网页标题)
|
// 网站主标题(菜单导航、浏览器当前网页标题)
|
||||||
globalTitle: 'vue-next-admin',
|
globalTitle: 'vordm',
|
||||||
// 网站副标题(登录页顶部文字)
|
// 网站副标题(登录页顶部文字)
|
||||||
globalViceTitle: 'vueNextAdmin',
|
globalViceTitle: 'vueNextAdmin',
|
||||||
// 网站副标题(登录页顶部文字)
|
// 网站副标题(登录页顶部文字)
|
||||||
|
|
|
@ -126,12 +126,12 @@ export function formatPast(param, format = 'YYYY-mm-dd') {
|
||||||
*/
|
*/
|
||||||
export function formatAxis(param) {
|
export function formatAxis(param) {
|
||||||
let hour = new Date(param).getHours();
|
let hour = new Date(param).getHours();
|
||||||
if (hour < 6) return '凌晨好';
|
if (hour < 6) return 'Good morning';
|
||||||
else if (hour < 9) return '早上好';
|
else if (hour < 9) return 'Good morning';
|
||||||
else if (hour < 12) return '上午好';
|
else if (hour < 12) return 'Good morning';
|
||||||
else if (hour < 14) return '中午好';
|
else if (hour < 14) return 'Good noon';
|
||||||
else if (hour < 17) return '下午好';
|
else if (hour < 17) return 'Good afternoon';
|
||||||
else if (hour < 19) return '傍晚好';
|
else if (hour < 19) return 'Good evening';
|
||||||
else if (hour < 22) return '晚上好';
|
else if (hour < 22) return 'Good evening';
|
||||||
else return '夜里好';
|
else return 'Good night';
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,8 +3,7 @@ import { ElMessage, ElMessageBox } from 'element-plus';
|
||||||
import qs from 'qs';
|
import qs from 'qs';
|
||||||
import { Session } from '/@/utils/storage';
|
import { Session } from '/@/utils/storage';
|
||||||
|
|
||||||
// export const moduleName = 'zqq-biz-vordm';
|
export const moduleName = 'biz-vordm';
|
||||||
export const moduleName = 'yyhouc-biz-vordm';
|
|
||||||
export const crawlModule = 'vordm-crawl';
|
export const crawlModule = 'vordm-crawl';
|
||||||
const service = axios.create({
|
const service = axios.create({
|
||||||
//baseURL: import.meta.env.VITE_API_URL,
|
//baseURL: import.meta.env.VITE_API_URL,
|
||||||
|
|
|
@ -3,31 +3,16 @@
|
||||||
<el-config-provider :locale="en">
|
<el-config-provider :locale="en">
|
||||||
<el-row :gutter="22">
|
<el-row :gutter="22">
|
||||||
<el-col :span="10">
|
<el-col :span="10">
|
||||||
<div class="system-role-padding layout-padding-auto layout-padding-view" style="height: 90vh;">
|
<div class="system-role-padding layout-padding-auto layout-padding-view" style="height: 85vh;">
|
||||||
<el-table :data="state.disasterData.data" v-loading="state.disasterData.loading" style="width: 100%;"
|
|
||||||
highlight-current-row @row-click="tableClick">
|
<disasterTable @childClick="tableClick">
|
||||||
<el-table-column prop="vordmId" label="ID" width="118" />
|
|
||||||
<el-table-column prop="disasterType" label="Disaster type" show-overflow-tooltip>
|
|
||||||
<!-- 在disasterType中获取dictKey 对应的dictValue -->
|
|
||||||
<template #default="scope">
|
|
||||||
<el-tag type="info">{{ getValue(scope.row.disasterType) }}</el-tag>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column prop="disasterKeyword" label="Disaster keywords" show-overflow-tooltip></el-table-column>
|
|
||||||
<el-table-column prop="disasterTime" label="Disaster time" show-overflow-tooltip></el-table-column>
|
|
||||||
<el-table-column prop="Operate" label="Operate" width="85" show-overflow-tooltip>
|
<el-table-column prop="Operate" label="Operate" width="85" show-overflow-tooltip>
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button size="small" text type="primary" @click="startBot(scope.row)">start</el-button>
|
<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> -->
|
<!-- <el-tag type="info" v-if="scope.row.respondStatus == 3">complete</el-tag> -->
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</disasterTable>
|
||||||
<el-pagination @size-change="onHandleDisasterSizeChange" @current-change="onHandleDisasterCurrentChange"
|
|
||||||
class="mt15" :page-sizes="[10, 20, 30]"
|
|
||||||
v-model:current-page="state.disasterData.param.pageNum" background
|
|
||||||
v-model:page-size="state.disasterData.param.pageSize" layout="total, sizes, prev, pager, next"
|
|
||||||
:total="state.disasterData.total">
|
|
||||||
</el-pagination>
|
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="14">
|
<el-col :span="14">
|
||||||
|
@ -65,7 +50,7 @@
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
<el-table :data=" state.tableData.data " v-loading=" state.tableData.loading "
|
<el-table :data=" state.tableData.data " v-loading=" state.tableData.loading "
|
||||||
@selection-change=" handleSelectionChange " style="width: 100%;">
|
@selection-change=" handleSelectionChange " style="width: 100%; height: 600px;">
|
||||||
<el-table-column type="selection" width="55" />
|
<el-table-column type="selection" width="55" />
|
||||||
<el-table-column type="index" label="ID" width="50" />
|
<el-table-column type="index" label="ID" width="50" />
|
||||||
<el-table-column v-if=" state.searchName == '1' " prop="title" label="Title"
|
<el-table-column v-if=" state.searchName == '1' " prop="title" label="Title"
|
||||||
|
@ -104,10 +89,11 @@
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<el-pagination style="margin-left: 20px;" @size-change=" onHandleSizeChange " @current-change=" onHandleCurrentChange " class="mt15"
|
<el-pagination style="margin-left: 20px;" @size-change=" onHandleSizeChange "
|
||||||
:page-sizes=" [10, 20, 30] " v-model:current-page=" state.tableData.param.pageNum " background
|
@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"
|
v-model:page-size=" state.tableData.param.pageSize " layout="total, sizes, prev, pager, next"
|
||||||
:total=" state.tableData.total" >
|
:total=" state.tableData.total ">
|
||||||
</el-pagination>
|
</el-pagination>
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
@ -150,6 +136,7 @@ import { getDictionary } from '/@/api/system/dictbiz';
|
||||||
import { defineAsyncComponent, reactive, onMounted, ref } from 'vue';
|
import { defineAsyncComponent, reactive, onMounted, ref } from 'vue';
|
||||||
import { ElMessageBox, ElMessage } from 'element-plus';
|
import { ElMessageBox, ElMessage } from 'element-plus';
|
||||||
import boot from "./component/boot.vue";
|
import boot from "./component/boot.vue";
|
||||||
|
import disasterTable from "/@/components/table/DisasterTable.vue";
|
||||||
// 引入组件
|
// 引入组件
|
||||||
const auditRef = ref();
|
const auditRef = ref();
|
||||||
const bootRef = ref();
|
const bootRef = ref();
|
||||||
|
@ -250,8 +237,8 @@ const formatSizeUnits = (size) => {
|
||||||
return (size / Math.pow(k, i)).toPrecision(3) + ' ' + sizes[i];
|
return (size / Math.pow(k, i)).toPrecision(3) + ' ' + sizes[i];
|
||||||
}
|
}
|
||||||
//灾害表格点击事件
|
//灾害表格点击事件
|
||||||
const tableClick = (row, column, event) => {
|
const tableClick = (i) => {
|
||||||
state.disasterId = row.id;
|
state.disasterId = i.disasterId;
|
||||||
getTableData();
|
getTableData();
|
||||||
}
|
}
|
||||||
// 初始化灾害表格数据
|
// 初始化灾害表格数据
|
||||||
|
@ -271,8 +258,8 @@ const getDisasterData = () => {
|
||||||
}
|
}
|
||||||
getList(param).then(res => {
|
getList(param).then(res => {
|
||||||
state.disasterData.data = res.records;
|
state.disasterData.data = res.records;
|
||||||
state.disasterData.data.forEach(item=>{
|
state.disasterData.data.forEach(item => {
|
||||||
let date = item.disasterTime.slice(0,10);
|
let date = item.disasterTime.slice(0, 10);
|
||||||
item.disasterTime = date;
|
item.disasterTime = date;
|
||||||
})
|
})
|
||||||
state.disasterData.total = res.total;
|
state.disasterData.total = res.total;
|
||||||
|
@ -377,11 +364,13 @@ onMounted(() => {
|
||||||
.system-role-container {
|
.system-role-container {
|
||||||
.system-role-padding {
|
.system-role-padding {
|
||||||
padding: 15px;
|
padding: 15px;
|
||||||
|
|
||||||
.el-table {
|
.el-table {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.mt15 {
|
.mt15 {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: end;
|
justify-content: end;
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<el-dialog title="upload" v-model="state.isShowDialog" width="500px">
|
<el-dialog title="upload" v-model="state.isShowDialog" width="500px">
|
||||||
<el-form :model="state.ruleForm" size="default" label-width="120px" :rules="rules" ref="adminAddFormRef" style="margin-left: 6%;">
|
<el-form :model="state.ruleForm" size="default" label-width="120px" :rules="rules" ref="adminAddFormRef"
|
||||||
|
style="margin-left: 6%;">
|
||||||
<el-form-item label="upload picture" prop="img">
|
<el-form-item label="upload picture" prop="img">
|
||||||
<el-upload ref="upFileRef" class="upload-demo" drag accept="image/*" action="#" multiple :http-request="uploadPic"
|
<el-upload ref="upFileRef" class="upload-demo" drag accept="image/*" action="#" multiple :http-request="uploadPic"
|
||||||
:on-remove="removePic" :before-upload="beforeUpload">
|
:on-remove="removePic" :before-upload="beforeUpload">
|
||||||
|
@ -16,8 +17,12 @@
|
||||||
</el-upload>
|
</el-upload>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="title" label="data title">
|
<el-form-item prop="title" label="data title">
|
||||||
<el-input v-model="state.ruleForm.title" class="m-2" placeholder="please enter data title" :rows="3"
|
<el-input v-model="state.ruleForm.title" class="m-2" placeholder="please enter data title" :rows="3" type="text"
|
||||||
type="text" style="width:220px;" />
|
style="width:220px;" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item prop="sourceOrganization" label="data organization">
|
||||||
|
<el-input v-model="state.ruleForm.sourceOrganization" class="m-2" placeholder="please enter data organization "
|
||||||
|
:rows="3" type="text" style="width:220px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="type" label="data type">
|
<el-form-item prop="type" label="data type">
|
||||||
<el-select v-model="state.ruleForm.type" class="m-2" placeholder="please select data type">
|
<el-select v-model="state.ruleForm.type" class="m-2" placeholder="please select data type">
|
||||||
|
@ -25,9 +30,9 @@
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="visualFlag" label="data visualFlag">
|
<el-form-item prop="visualFlag" label="data visualFlag">
|
||||||
<el-select v-model="state.ruleForm.visualFlag" placeholder="please select data visualFlag" size="default" >
|
<el-select v-model="state.ruleForm.visualFlag" placeholder="please select data visualFlag" size="default">
|
||||||
<el-option label="Visualization" value= 1></el-option>
|
<el-option label="Visualization" value=1></el-option>
|
||||||
<el-option label="B Visualization" value= 0></el-option>
|
<el-option label="Not Visualization" value=0></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="remark" label="data details">
|
<el-form-item prop="remark" label="data details">
|
||||||
|
@ -154,10 +159,15 @@ const onSubmit = () => {
|
||||||
state.dataForm.append('disasterId', state.disasterId);
|
state.dataForm.append('disasterId', state.disasterId);
|
||||||
state.dataForm.append('visualFlag', state.ruleForm.visualFlag);
|
state.dataForm.append('visualFlag', state.ruleForm.visualFlag);
|
||||||
state.dataForm.append('title', state.ruleForm.title);
|
state.dataForm.append('title', state.ruleForm.title);
|
||||||
|
state.dataForm.append('sourceOrganization', state.ruleForm.sourceOrganization);
|
||||||
for (let [a, b] of state.dataForm.entries()) {
|
for (let [a, b] of state.dataForm.entries()) {
|
||||||
console.log(a, b, '--------------');
|
console.log(a, b, '--------------');
|
||||||
}
|
}
|
||||||
uploadData(state.dataForm).then(res => {
|
uploadData(state.dataForm).then(res => {
|
||||||
|
adminAddFormRef.value.resetFields();
|
||||||
|
state.dataForm = new FormData(),
|
||||||
|
state.fileArray = [];
|
||||||
|
upFileRef.value.clearFiles();
|
||||||
ElMessage.success("Upload successfully");
|
ElMessage.success("Upload successfully");
|
||||||
emit('callback');
|
emit('callback');
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
|
|
|
@ -46,7 +46,7 @@
|
||||||
<el-tag type="success" v-if="scope.row.isPublish == 1">YES</el-tag>
|
<el-tag type="success" v-if="scope.row.isPublish == 1">YES</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="title" label="Professional title" show-overflow-tooltip
|
<el-table-column prop="title" label="Title" show-overflow-tooltip
|
||||||
width="150"></el-table-column>
|
width="150"></el-table-column>
|
||||||
<el-table-column prop="size" label="Data size" width="90" show-overflow-tooltip>
|
<el-table-column prop="size" label="Data size" width="90" show-overflow-tooltip>
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
|
@ -252,16 +252,17 @@ const pub = (row) => {
|
||||||
name:row.title
|
name:row.title
|
||||||
}
|
}
|
||||||
pushing(da).then(data => {
|
pushing(da).then(data => {
|
||||||
console.log(data,"row==================");
|
console.log(data,"datadatadatadata");
|
||||||
|
if(data.code == 1500){
|
||||||
|
ElMessage.error(data.msg);
|
||||||
|
}
|
||||||
let daNew = {
|
let daNew = {
|
||||||
id: row.id,
|
id: row.id,
|
||||||
isPublish: 1
|
isPublish: 1
|
||||||
}
|
}
|
||||||
updateEntityData(daNew).then(da => {
|
updateEntityData(daNew)
|
||||||
|
ElMessage.success('success');
|
||||||
})
|
})
|
||||||
})
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// 分页改变
|
// 分页改变
|
||||||
|
|
|
@ -3,25 +3,15 @@
|
||||||
<el-row :gutter="22">
|
<el-row :gutter="22">
|
||||||
<el-col :span="10">
|
<el-col :span="10">
|
||||||
<div class="system-role-padding layout-padding-auto layout-padding-view" style="height: 80vh;">
|
<div class="system-role-padding layout-padding-auto layout-padding-view" style="height: 80vh;">
|
||||||
<span style="margin:2%;font-weight: 600;font-size: 18px;">Disaster Info</span>
|
|
||||||
<el-table :data="state.disasterData.data" v-loading="state.disasterData.loading" style="width: 100%"
|
<disasterTable @childClick="tableClick">
|
||||||
highlight-current-row @row-click="tableClick">
|
|
||||||
<el-table-column prop="disasterType" label="Disaster type" show-overflow-tooltip></el-table-column>
|
|
||||||
<el-table-column prop="disasterCountry" label="Disaster country" show-overflow-tooltip></el-table-column>
|
|
||||||
<el-table-column prop="disasterTime" label="Disaster time" show-overflow-tooltip></el-table-column>
|
|
||||||
<el-table-column prop="Operate" label="Operate" width="85" show-overflow-tooltip>
|
<el-table-column prop="Operate" label="Operate" width="85" show-overflow-tooltip>
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button size="small" text type="primary" @click="startBot(scope.row)">start</el-button>
|
<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> -->
|
<!-- <el-tag type="info" v-if="scope.row.respondStatus == 3">complete</el-tag> -->
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</disasterTable>
|
||||||
<el-pagination style="margin-right:20px;" @size-change="onHandleDisasterSizeChange" @current-change="onHandleDisasterCurrentChange"
|
|
||||||
class="mt15" :page-sizes="[10, 20, 30]"
|
|
||||||
v-model:current-page="state.disasterData.param.pageNum" background
|
|
||||||
v-model:page-size="state.disasterData.param.pageSize" layout="total, sizes, prev, pager, next"
|
|
||||||
:total="state.disasterData.total">
|
|
||||||
</el-pagination>
|
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="14">
|
<el-col :span="14">
|
||||||
|
@ -154,6 +144,8 @@
|
||||||
import { ref, reactive, onMounted } from 'vue';
|
import { ref, reactive, onMounted } from 'vue';
|
||||||
import { getRemoteSensingSourceData, getRemoteSensingSourceDataByCondition, getPagesRemoteSensingSourceData } from "/@/api/remoteSensingSourceData/remoteSensingSourceData.js";
|
import { getRemoteSensingSourceData, getRemoteSensingSourceDataByCondition, getPagesRemoteSensingSourceData } from "/@/api/remoteSensingSourceData/remoteSensingSourceData.js";
|
||||||
import { getDisasterPage } from '/@/api/data/otherData.js'
|
import { getDisasterPage } from '/@/api/data/otherData.js'
|
||||||
|
import disasterTable from "/@/components/table/DisasterTable.vue";
|
||||||
|
|
||||||
// import { getList as getDisasterPage } from '/@/api/disasterInfo/index';
|
// import { getList as getDisasterPage } from '/@/api/disasterInfo/index';
|
||||||
|
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
|
@ -239,8 +231,8 @@ const getDisasterData = () => {
|
||||||
}
|
}
|
||||||
|
|
||||||
// 灾害表格点击事件
|
// 灾害表格点击事件
|
||||||
const tableClick = (row) => {
|
const tableClick = (i) => {
|
||||||
state.disasterId = row.disasterId;
|
state.disasterId = i.disasterId;
|
||||||
getData()
|
getData()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<!-- <el-tabs v-model="state.activeName">
|
|
||||||
<el-tab-pane label="Search condition"
|
|
||||||
name="first">
|
|
||||||
<search-condition></search-condition>
|
|
||||||
</el-tab-pane>
|
|
||||||
|
|
||||||
<el-tab-pane label="Retrieval condition"
|
|
||||||
name="second">
|
|
||||||
<retrieval-condition></retrieval-condition>
|
|
||||||
</el-tab-pane>
|
|
||||||
</el-tabs> -->
|
|
||||||
|
|
||||||
<search-condition v-if ="state.isEdit" ref="edit" @response="responseFn"></search-condition>
|
<search-condition v-if ="state.isEdit" ref="edit" @response="responseFn"></search-condition>
|
||||||
<retrieval-condition v-if ="!state.isEdit" @response="responseFn"></retrieval-condition>
|
<retrieval-condition v-if ="!state.isEdit" @response="responseFn"></retrieval-condition>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
<el-tabs v-model="activeName" class="demo-tabs" @tab-change="handleClick" type="card">
|
<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"
|
<el-table :data="state.tableData.data" v-loading="state.tableData.loading"
|
||||||
@selection-change="handleSelectionChange" style="width: 100%">
|
@selection-change="handleSelectionChange" style="width: 100%">
|
||||||
<el-table-column type="selection" width="55" />
|
<el-table-column type="selection" width="55" />
|
||||||
|
@ -56,7 +56,7 @@
|
||||||
:total="state.tableData.total">
|
:total="state.tableData.total">
|
||||||
</el-pagination>
|
</el-pagination>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="Hotspot area" name="second" >
|
<el-tab-pane label="Hotspot area" name="second">
|
||||||
<el-table :data="state.tableData.data" v-loading="state.tableData.loading"
|
<el-table :data="state.tableData.data" v-loading="state.tableData.loading"
|
||||||
@selection-change="handleSelectionHotspotChange" style="width: 100%">
|
@selection-change="handleSelectionHotspotChange" style="width: 100%">
|
||||||
<el-table-column type="selection" width="55" />
|
<el-table-column type="selection" width="55" />
|
||||||
|
@ -109,7 +109,10 @@ import { defineAsyncComponent, reactive, onMounted, ref } from 'vue';
|
||||||
import { ElMessageBox, ElMessage } from 'element-plus';
|
import { ElMessageBox, ElMessage } from 'element-plus';
|
||||||
import disasterTable from "/@/components/table/DisasterTable.vue";
|
import disasterTable from "/@/components/table/DisasterTable.vue";
|
||||||
import { ta } from 'element-plus/es/locale';
|
import { ta } from 'element-plus/es/locale';
|
||||||
import { landsat } from '/@/api/crawl/index.js'
|
import { landsat, submit } from '/@/api/crawl/index.js'
|
||||||
|
import { useUserInfo } from '/@/stores/userInfo';
|
||||||
|
|
||||||
|
const userInfo = useUserInfo();
|
||||||
// 引入组件
|
// 引入组件
|
||||||
const RoleDialog = defineAsyncComponent(() => import('/@/views/system/role/dialog.vue'));
|
const RoleDialog = defineAsyncComponent(() => import('/@/views/system/role/dialog.vue'));
|
||||||
const auditRef = ref();
|
const auditRef = ref();
|
||||||
|
@ -117,7 +120,7 @@ const uploadRef = ref();
|
||||||
// 定义变量内容
|
// 定义变量内容
|
||||||
const roleDialogRef = ref();
|
const roleDialogRef = ref();
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
nameNew:false,
|
nameNew: false,
|
||||||
multipleWord: [],
|
multipleWord: [],
|
||||||
multipleHotspot: [],
|
multipleHotspot: [],
|
||||||
tabVal: 'first',
|
tabVal: 'first',
|
||||||
|
@ -153,9 +156,9 @@ const handleSelectionHotspotChange = (val) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleClick = (tab) => {
|
const handleClick = (tab) => {
|
||||||
if (tab=="second") {
|
if (tab == "second") {
|
||||||
state.nameNew = true;
|
state.nameNew = true;
|
||||||
}else{
|
} else {
|
||||||
state.nameNew = false;
|
state.nameNew = false;
|
||||||
}
|
}
|
||||||
state.tabVal = tab;
|
state.tabVal = tab;
|
||||||
|
@ -205,6 +208,8 @@ const formatSizeUnits = (size) => {
|
||||||
}
|
}
|
||||||
//灾害表格点击事件
|
//灾害表格点击事件
|
||||||
const tableClick = (i) => {
|
const tableClick = (i) => {
|
||||||
|
console.log(i);
|
||||||
|
|
||||||
state.disasterId = i.disasterId;
|
state.disasterId = i.disasterId;
|
||||||
getTableData();
|
getTableData();
|
||||||
}
|
}
|
||||||
|
@ -213,8 +218,8 @@ const getDisasterData = () => {
|
||||||
state.disasterData.loading = true;
|
state.disasterData.loading = true;
|
||||||
getDisasterPage(state.disasterData.param.pageNum, state.disasterData.param.pageSize, {}).then(res => {
|
getDisasterPage(state.disasterData.param.pageNum, state.disasterData.param.pageSize, {}).then(res => {
|
||||||
state.disasterData.data = res.records;
|
state.disasterData.data = res.records;
|
||||||
state.disasterData.data.forEach(item=>{
|
state.disasterData.data.forEach(item => {
|
||||||
let date = item.disasterTime.slice(0,10);
|
let date = item.disasterTime.slice(0, 10);
|
||||||
item.disasterTime = date;
|
item.disasterTime = date;
|
||||||
})
|
})
|
||||||
state.disasterData.total = res.total;
|
state.disasterData.total = res.total;
|
||||||
|
@ -249,10 +254,29 @@ const uploadData = () => {
|
||||||
state.tabVal == 'first' ? wordCloudsRef.value.openDialog(state.disasterId) : hotspotRef.value.openDialog(state.disasterId);
|
state.tabVal == 'first' ? wordCloudsRef.value.openDialog(state.disasterId) : hotspotRef.value.openDialog(state.disasterId);
|
||||||
};
|
};
|
||||||
//获取图文信息
|
//获取图文信息
|
||||||
const generateData =()=>{
|
const generateData = () => {
|
||||||
landsat(state.disasterId).then(da=>{
|
if (!state.disasterId) {
|
||||||
console.log(da);
|
ElMessage.error("Please select disaster information!")
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//记录爬虫信息
|
||||||
|
submit(
|
||||||
|
{
|
||||||
|
type: 8,
|
||||||
|
manageId: userInfo.userInfos.id,
|
||||||
|
status: 0,
|
||||||
|
disasterId: state.disasterId,
|
||||||
|
keywords: 'word clouds',
|
||||||
|
}
|
||||||
|
).then(ret => {
|
||||||
|
if (ret == 1042) {
|
||||||
|
ElMessage.error("error")
|
||||||
|
} else {
|
||||||
|
landsat(ret.disasterId, 30, ret.id).then(res => {
|
||||||
|
getTableData;
|
||||||
|
ElMessage.success("success")
|
||||||
|
})
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item class="login-animation3" v-if="state.captchaMode">
|
<el-form-item class="login-animation3" v-if="state.captchaMode">
|
||||||
<el-col :span="15">
|
<el-col :span="15">
|
||||||
<el-input text maxlength="3" placeholder="Please input validate code" v-model="state.ruleForm.code" clearable autocomplete="off">
|
<el-input text maxlength="5" placeholder="Please input validate code" v-model="state.ruleForm.code" clearable autocomplete="off">
|
||||||
<template #prefix>
|
<template #prefix>
|
||||||
<el-icon class="el-input__icon"><ele-Position /></el-icon>
|
<el-icon class="el-input__icon"><ele-Position /></el-icon>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -1,40 +1,34 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="login-container flex">
|
<div class="login-container flex">
|
||||||
<div class="login-left">
|
<div class="login-left">
|
||||||
|
|
||||||
<div class="login-left-logo">
|
<div class="login-left-logo">
|
||||||
<img :src="logoMini" />
|
<img src="/logo.png">
|
||||||
<div class="login-left-logo-text">
|
|
||||||
<span>{{ getThemeConfig.globalViceTitle }}</span>
|
|
||||||
<span class="login-left-logo-text-msg">{{ getThemeConfig.globalViceTitleMsg }}</span>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="login-left-img">
|
|
||||||
<img :src="loginMain" />
|
|
||||||
</div>
|
|
||||||
<img :src="loginBg" class="login-left-waves" />
|
|
||||||
</div>
|
|
||||||
<div class="login-right flex">
|
<div class="login-right flex">
|
||||||
<div class="login-right-warp flex-margin">
|
<div class="login-right-warp flex-margin">
|
||||||
<span class="login-right-warp-one"></span>
|
<span class="login-right-warp-one"></span>
|
||||||
<span class="login-right-warp-two"></span>
|
<span class="login-right-warp-two"></span>
|
||||||
<div class="login-right-warp-mian">
|
<div class="login-right-warp-mian">
|
||||||
<div class="login-right-warp-main-title">{{ getThemeConfig.globalTitle }} 欢迎您!</div>
|
<div class="login-right-warp-main-title">Welcome To VoRDM!</div>
|
||||||
<div class="login-right-warp-main-form">
|
<div class="login-right-warp-main-form">
|
||||||
<div v-if="!state.isScan">
|
<div v-if="!state.isScan">
|
||||||
<el-tabs v-model="state.tabsActiveName">
|
<el-tabs v-model="state.tabsActiveName">
|
||||||
<el-tab-pane label="Account Login" name="account">
|
<el-tab-pane label="Account Login" name="account">
|
||||||
<Account />
|
<Account />
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="手机号登录" name="mobile">
|
<!-- <el-tab-pane label="手机号登录" name="mobile">
|
||||||
<Mobile />
|
<Mobile />
|
||||||
</el-tab-pane>
|
</el-tab-pane> -->
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
</div>
|
</div>
|
||||||
<Scan v-if="state.isScan" />
|
<!-- <Scan v-if="state.isScan" /> -->
|
||||||
<div class="login-content-main-sacn" @click="state.isScan = !state.isScan">
|
<!-- <div class="login-content-main-sacn" @click="state.isScan = !state.isScan">
|
||||||
<i class="iconfont" :class="state.isScan ? 'icon-diannao1' : 'icon-barcode-qr'"></i>
|
<i class="iconfont" :class="state.isScan ? 'icon-diannao1' : 'icon-barcode-qr'"></i>
|
||||||
<div class="login-content-main-sacn-delta"></div>
|
<div class="login-content-main-sacn-delta"></div>
|
||||||
</div>
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -78,11 +72,15 @@ onMounted(() => {
|
||||||
.login-container {
|
.login-container {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background: var(--el-color-white);
|
background: var(--el-color-white);
|
||||||
|
|
||||||
.login-left {
|
.login-left {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
position: relative;
|
position: relative;
|
||||||
background-color: rgba(211, 239, 255, 1);
|
// background-color: rgba(211, 239, 255, 1);
|
||||||
margin-right: 100px;
|
// margin-right: 100px;
|
||||||
|
background: url(/home1.png) no-repeat;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
|
||||||
.login-left-logo {
|
.login-left-logo {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
@ -91,24 +89,29 @@ onMounted(() => {
|
||||||
left: 80px;
|
left: 80px;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
animation: logoAnimation 0.3s ease;
|
animation: logoAnimation 0.3s ease;
|
||||||
|
|
||||||
img {
|
img {
|
||||||
width: 52px;
|
width: 60%;
|
||||||
height: 52px;
|
height: 70%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login-left-logo-text {
|
.login-left-logo-text {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
||||||
span {
|
span {
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
font-size: 28px;
|
font-size: 28px;
|
||||||
color: #26a59a;
|
color: #26a59a;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login-left-logo-text-msg {
|
.login-left-logo-text-msg {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
color: #32a99e;
|
color: #32a99e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.login-left-img {
|
.login-left-img {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 50%;
|
top: 50%;
|
||||||
|
@ -116,20 +119,24 @@ onMounted(() => {
|
||||||
transform: translate(-50%, -50%);
|
transform: translate(-50%, -50%);
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 52%;
|
height: 52%;
|
||||||
|
|
||||||
img {
|
img {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
animation: error-num 0.6s ease;
|
animation: error-num 0.6s ease;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.login-left-waves {
|
.login-left-waves {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
right: -100px;
|
right: -100px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.login-right {
|
.login-right {
|
||||||
width: 700px;
|
width: 700px;
|
||||||
|
|
||||||
.login-right-warp {
|
.login-right-warp {
|
||||||
border: 1px solid var(--el-color-primary-light-3);
|
border: 1px solid var(--el-color-primary-light-3);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
|
@ -138,12 +145,14 @@ onMounted(() => {
|
||||||
position: relative;
|
position: relative;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
background-color: var(--el-color-white);
|
background-color: var(--el-color-white);
|
||||||
|
|
||||||
.login-right-warp-one,
|
.login-right-warp-one,
|
||||||
.login-right-warp-two {
|
.login-right-warp-two {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
display: block;
|
display: block;
|
||||||
width: inherit;
|
width: inherit;
|
||||||
height: inherit;
|
height: inherit;
|
||||||
|
|
||||||
&::before,
|
&::before,
|
||||||
&::after {
|
&::after {
|
||||||
content: '';
|
content: '';
|
||||||
|
@ -151,6 +160,7 @@ onMounted(() => {
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.login-right-warp-one {
|
.login-right-warp-one {
|
||||||
&::before {
|
&::before {
|
||||||
filter: hue-rotate(0deg);
|
filter: hue-rotate(0deg);
|
||||||
|
@ -161,6 +171,7 @@ onMounted(() => {
|
||||||
background: linear-gradient(90deg, transparent, var(--el-color-primary));
|
background: linear-gradient(90deg, transparent, var(--el-color-primary));
|
||||||
animation: loginLeft 3s linear infinite;
|
animation: loginLeft 3s linear infinite;
|
||||||
}
|
}
|
||||||
|
|
||||||
&::after {
|
&::after {
|
||||||
filter: hue-rotate(60deg);
|
filter: hue-rotate(60deg);
|
||||||
top: -100%;
|
top: -100%;
|
||||||
|
@ -172,6 +183,7 @@ onMounted(() => {
|
||||||
animation-delay: 0.7s;
|
animation-delay: 0.7s;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.login-right-warp-two {
|
.login-right-warp-two {
|
||||||
&::before {
|
&::before {
|
||||||
filter: hue-rotate(120deg);
|
filter: hue-rotate(120deg);
|
||||||
|
@ -183,6 +195,7 @@ onMounted(() => {
|
||||||
animation: loginRight 3s linear infinite;
|
animation: loginRight 3s linear infinite;
|
||||||
animation-delay: 1.4s;
|
animation-delay: 1.4s;
|
||||||
}
|
}
|
||||||
|
|
||||||
&::after {
|
&::after {
|
||||||
filter: hue-rotate(300deg);
|
filter: hue-rotate(300deg);
|
||||||
bottom: -100%;
|
bottom: -100%;
|
||||||
|
@ -194,10 +207,12 @@ onMounted(() => {
|
||||||
animation-delay: 2.1s;
|
animation-delay: 2.1s;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.login-right-warp-mian {
|
.login-right-warp-mian {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|
||||||
.login-right-warp-main-title {
|
.login-right-warp-main-title {
|
||||||
height: 130px;
|
height: 130px;
|
||||||
line-height: 130px;
|
line-height: 130px;
|
||||||
|
@ -208,9 +223,11 @@ onMounted(() => {
|
||||||
animation-delay: 0.3s;
|
animation-delay: 0.3s;
|
||||||
color: var(--el-text-color-primary);
|
color: var(--el-text-color-primary);
|
||||||
}
|
}
|
||||||
|
|
||||||
.login-right-warp-main-form {
|
.login-right-warp-main-form {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
padding: 0 50px 50px;
|
padding: 0 50px 50px;
|
||||||
|
|
||||||
.login-content-main-sacn {
|
.login-content-main-sacn {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
|
@ -221,6 +238,7 @@ onMounted(() => {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: all ease 0.3s;
|
transition: all ease 0.3s;
|
||||||
color: var(--el-color-primary);
|
color: var(--el-color-primary);
|
||||||
|
|
||||||
&-delta {
|
&-delta {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: 35px;
|
width: 35px;
|
||||||
|
@ -231,11 +249,13 @@ onMounted(() => {
|
||||||
background: var(--el-color-white);
|
background: var(--el-color-white);
|
||||||
transform: rotate(-45deg);
|
transform: rotate(-45deg);
|
||||||
}
|
}
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
transition: all ease 0.3s;
|
transition: all ease 0.3s;
|
||||||
color: var(--el-color-primary) !important;
|
color: var(--el-color-primary) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
i {
|
i {
|
||||||
width: 47px;
|
width: 47px;
|
||||||
height: 50px;
|
height: 50px;
|
||||||
|
|
Loading…
Reference in New Issue