|
|
@@ -11,6 +11,7 @@
|
|
|
class="disaster-precaution__header--button"
|
|
|
:icon="Plus"
|
|
|
@click="handleCreateWarningInfo"
|
|
|
+ v-if="warningInfoPermissions"
|
|
|
>
|
|
|
创建灾害预警信息
|
|
|
</el-button>
|
|
|
@@ -94,10 +95,22 @@
|
|
|
import useTableConfig from '@/hooks/useTableConfigHook';
|
|
|
import { getWarningInfoList } from '@/api/disaster-warning';
|
|
|
import type { WarningInfoListResponse } from '@/types/disaster-warning';
|
|
|
- import { ACTIVE_STATUS, ACTIVE_STATUS_COLOR, ACTIVE_STATUS_MAP } from '@/views/disaster/constant';
|
|
|
+ import {
|
|
|
+ ACTIVE_STATUS,
|
|
|
+ ACTIVE_STATUS_COLOR,
|
|
|
+ ACTIVE_STATUS_MAP,
|
|
|
+ DISASTER_PERMISSIONS,
|
|
|
+ } from '@/views/disaster/constant';
|
|
|
import PlaceHolderWeather from './src/images/placeholder-weather@1X.png';
|
|
|
import { PUSH_STATUS_MAP, PUSH_STATUS, WEATHER_DISASTER_ALERT_TYPE } from './src/constant';
|
|
|
- import { WARNING_INFO_SEARCH_CONFIG, TABLE_OPTIONS, WARNING_INFO_TABLE_COLUMNS } from './src/config';
|
|
|
+ import {
|
|
|
+ WARNING_INFO_SEARCH_CONFIG,
|
|
|
+ TABLE_OPTIONS,
|
|
|
+ WARNING_INFO_TABLE_COLUMNS_DEFAULT,
|
|
|
+ WARNING_INFO_TABLE_COLUMNS_PERMISSION,
|
|
|
+ TABLE_HEIGHT_DEFAULT,
|
|
|
+ TABLE_HEIGHT_PREMISSION,
|
|
|
+ } from './src/config';
|
|
|
import { useRouter } from 'vue-router';
|
|
|
import type { QueryPageRequest } from '@/types/disaster';
|
|
|
import type { WarningInfoListQuery } from '@/types/disaster-warning';
|
|
|
@@ -105,6 +118,9 @@
|
|
|
import { formatDisasterType } from './src/util';
|
|
|
import { deleteWarningInfoItem, publishWarningInfoItem } from '@/api/disaster-warning';
|
|
|
import { ElMessage } from 'element-plus';
|
|
|
+ import { useUserInfoHook } from '@/views/disaster/hooks/userInfo';
|
|
|
+
|
|
|
+ const { permissions } = useUserInfoHook();
|
|
|
|
|
|
const router = useRouter();
|
|
|
const searchData = reactive({
|
|
|
@@ -146,7 +162,8 @@
|
|
|
ElMessage.success('删除成功');
|
|
|
};
|
|
|
const tableData = ref<WarningInfoListResponse[]>([]);
|
|
|
- const { tableConfig, pagination } = useTableConfig(WARNING_INFO_TABLE_COLUMNS, TABLE_OPTIONS);
|
|
|
+ const warningInfoPermissions = ref<Boolean>(false);
|
|
|
+ const { tableConfig, pagination } = useTableConfig(WARNING_INFO_TABLE_COLUMNS_DEFAULT, TABLE_OPTIONS);
|
|
|
let wanrningInfoListQuery: QueryPageRequest<WarningInfoListQuery> = {
|
|
|
pageNumber: pagination.pageNumber,
|
|
|
pageSize: pagination.pageSize,
|
|
|
@@ -179,6 +196,13 @@
|
|
|
};
|
|
|
onMounted(() => {
|
|
|
getTableData();
|
|
|
+ warningInfoPermissions.value = Boolean(
|
|
|
+ permissions.find((item: { code: string }) => item.code === DISASTER_PERMISSIONS.WARNING_INFO),
|
|
|
+ );
|
|
|
+ tableConfig.height = warningInfoPermissions.value ? TABLE_HEIGHT_PREMISSION : TABLE_HEIGHT_DEFAULT;
|
|
|
+ if (warningInfoPermissions.value) {
|
|
|
+ tableConfig.columns = WARNING_INFO_TABLE_COLUMNS_PERMISSION;
|
|
|
+ }
|
|
|
});
|
|
|
</script>
|
|
|
|