This commit is contained in:
qqGroup0 2023-05-06 21:56:43 +08:00
commit 467117ffc3
5 changed files with 136 additions and 119 deletions

View File

@ -39,6 +39,7 @@
import { onMounted, reactive, computed, defineProps, defineEmits } from "vue";
import { getList } from "/@/api/system/dictbiz.js";
import { getPage } from "/@/api/disasterInfo/index.js";
import { Session } from '/@/utils/storage';
//
const emit = defineEmits(["click"]);
//
@ -52,7 +53,8 @@ const props = defineProps({
const state = reactive({
//
search: {
respondStatus: props.status
respondStatus: props.status,
disasterStatus:"3"
},
//
dictList: [],
@ -83,6 +85,10 @@ const getDictBizData = () => {
//
const getDisasterTable = () => {
convert();
let userData = Session.get('userInfo');
console.log(userData,"userDatauserData");
state.search.chiefIdEquals = userData.id;
state.search.roleName = userData.roles[0];
getPage(state.disasterData.param.pageNum, state.disasterData.param.pageSize, state.search).then(res => {
state.disasterData.data = res.records;
state.disasterData.data.forEach(item => {

View File

@ -17,7 +17,8 @@
</el-col>
<el-col :span="14">
<div class="system-role-padding layout-padding-auto layout-padding-view" style="height: 90vh;">
<div class="system-user-search " style="display: flex;margin-left: 10px;margin-top: 10px;margin-bottom:-15px ">
<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 = ''">
@ -69,10 +70,10 @@
<a :href="scope.row.link" target="_blank">Read more</a>
</template>
</el-table-column>
<el-table-column prop="createTime" label="Create Time" show-overflow-tooltip sortable></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="info" v-if=" scope.row.status == 0 "
<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>
@ -242,6 +243,12 @@ const getDisasterData = () => {
}
getList(param).then(res => {
state.disasterData.data = res.records;
console.log(state.disasterData.data[0], "state.disasterData.data[0]");
state.disasterId = state.disasterData.data[0].disasterId;
console.log(state.disasterId, "state.disasterId ");
getTableData()
state.disasterData.data.forEach(item => {
let date = item.disasterTime.slice(0, 10);
item.disasterTime = date;
@ -256,10 +263,22 @@ 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;
if (state.searchName == '1') {
console.log(111111111111111111);
state.tableData.data.forEach(item => {
let date = item.createTime.slice(0, 10);
item.createTime = date;
item.time = date;
})
}else{
state.tableData.data.forEach(item => {
let date = item.time.slice(0, 10);
item.time = date;
})
}
state.tableData.total = res.total;
})
/* state.tableData.data = data;
@ -335,7 +354,6 @@ const onHandleCurrentChange = (val) => {
//
onMounted(() => {
getDisasterData();
getTableData();
getDictionary({ code: 'disaster' }).then((res) => {
state.disasterTypeList = res;
});
@ -363,5 +381,4 @@ onMounted(() => {
display: flex;
justify-content: end;
}
</style>

View File

@ -82,7 +82,7 @@ const save = async () => {
return;
}
let params = {
id: state.rowData.id,
id: state.rowData.disasterId,
chiefId: state.selectData[0].id,
chiefName: state.selectData[0].name,
};

View File

@ -78,6 +78,55 @@
</el-pagination>
</el-tab-pane>
<el-tab-pane label="Rejected"
name="firstNew">
<el-table :data="state.tableData.data"
v-loading="state.tableData.loading"
style="width: 100%">
<el-table-column prop="username"
label="User name"
show-overflow-tooltip
sortable></el-table-column>
<el-table-column prop="organization"
label="Organization"
show-overflow-tooltip
sortable></el-table-column>
<el-table-column prop="disasterType"
label="Disaster type"
show-overflow-tooltip
sortable>
<!-- 在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 keyword"
show-overflow-tooltip
sortable></el-table-column>
<el-table-column prop="disasterTime"
label="Disaster time"
show-overflow-tooltip
sortable>
<template #default="scope">
<!-- 格式化去除时分秒 -->
{{ dateFormat(scope.row.disasterTime) }}
</template>
</el-table-column>
</el-table>
<el-pagination @size-change="onHandleSizeChange"
@current-change="onHandleCurrentChange"
class="mt15"
:pager-count="5"
:page-sizes="[10, 20, 30]"
v-model:current-page="state.tableData.param.current"
background
v-model:page-size="state.tableData.param.size"
layout="total, sizes, prev, pager, next, jumper"
:total="state.tableData.total">
</el-pagination>
</el-tab-pane>
<el-tab-pane label="Approved"
name="second">
<el-table :data="state.tableData.data"
@ -170,54 +219,6 @@
</el-pagination>
</el-tab-pane>
<el-tab-pane label="Rejected"
name="firstNew">
<el-table :data="state.tableData.data"
v-loading="state.tableData.loading"
style="width: 100%">
<el-table-column prop="username"
label="User name"
show-overflow-tooltip
sortable></el-table-column>
<el-table-column prop="organization"
label="Organization"
show-overflow-tooltip
sortable></el-table-column>
<el-table-column prop="disasterType"
label="Disaster type"
show-overflow-tooltip
sortable>
<!-- 在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 keyword"
show-overflow-tooltip
sortable></el-table-column>
<el-table-column prop="disasterTime"
label="Disaster time"
show-overflow-tooltip
sortable>
<template #default="scope">
<!-- 格式化去除时分秒 -->
{{ dateFormat(scope.row.disasterTime) }}
</template>
</el-table-column>
</el-table>
<el-pagination @size-change="onHandleSizeChange"
@current-change="onHandleCurrentChange"
class="mt15"
:pager-count="5"
:page-sizes="[10, 20, 30]"
v-model:current-page="state.tableData.param.current"
background
v-model:page-size="state.tableData.param.size"
layout="total, sizes, prev, pager, next, jumper"
:total="state.tableData.total">
</el-pagination>
</el-tab-pane>
<el-tab-pane label="Finish"
name="firstNewOne">
@ -337,34 +338,28 @@
</MapPage>
<div class="latLon-div"> {{ state.popupLat }} , {{ state.popupLon }} </div>
<el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-form-item label="Disaster Time">
<el-date-picker v-model="state.edit.disasterTime"
type="date"
value-format="YYYY-MM-DD"
<el-date-picker style="width: 200px;" v-model="state.edit.disasterTime" type="date" value-format="YYYY-MM-DD"
placeholder="Select date and time" />
</el-form-item>
<el-form-item label="Disaster type">
<el-select class="form-select"
size="default"
clearable
placeholder="Disaster Type"
<el-select style="width: 200px; height: 40px;" class="form-select" size="default" clearable placeholder="Disaster Type"
v-model="state.edit.disasterType">
<el-option v-for="(item, index) in state.dictList"
:value="item.dictKey"
:key="index"
<el-option v-for="(item, index) in state.dictList" :value="item.dictKey" :key="index"
:label="item.dictValue" />
</el-select>
</el-form-item>
<el-form-item label="Disaster country">
<el-input v-model="state.edit.disasterCountry"
placeholder="please Disaster country"
clearable></el-input>
<el-input style="width: 200px;" v-model="state.edit.disasterCountry" placeholder="please Disaster country" clearable></el-input>
</el-form-item>
<el-form-item label="Theme keywords">
<el-input v-model="state.edit.disasterKeyword"
placeholder="please Theme keywords"
clearable></el-input>
<el-input style="width: 200px;" v-model="state.edit.disasterKeyword" placeholder="please Theme keywords" clearable></el-input>
</el-form-item>
</el-form>
<template #footer>
<span class="dialog-footer">
<el-button @click="dialogVisible = false">Cancel</el-button>

View File

@ -19,7 +19,6 @@
<script setup>
import {reactive, ref} from "vue";
import {addAdmin} from '/@/api/response/administrator.js';
import {auditData} from '/@/api/response/adminManager.js';
import {ElMessage} from "element-plus";
const adminAddFormRef = ref();