需求变更,bug修复
parent
62d0304266
commit
0f19f48a80
|
@ -9,3 +9,15 @@ export const STATUS_LIST = [
|
|||
{ name: "正常", id: 1 },
|
||||
{ name: "关停", id: 2 },
|
||||
];
|
||||
export const DEPARTMENT_CATEGORY_LIST = [
|
||||
{ id: "1", name: "安委会" },
|
||||
{ id: "2", name: "行业" },
|
||||
{ id: "3", name: "属地" },
|
||||
{ id: "4", name: "其它" },
|
||||
];
|
||||
export const ADMINISTRATIVE_REGION_LEVEL_LIST = [
|
||||
{ id: "1", name: "市级" },
|
||||
{ id: "2", name: "区/县级" },
|
||||
{ id: "3", name: "乡/镇级" },
|
||||
{ id: "4", name: "村/街道" },
|
||||
];
|
||||
|
|
|
@ -2,6 +2,7 @@ import {
|
|||
getDataDictionariesList,
|
||||
getDataDictionariesListTree,
|
||||
getDepartmentTree,
|
||||
getAreaListTree,
|
||||
} from "@/request/data_dictionary";
|
||||
|
||||
// 部门
|
||||
|
@ -35,3 +36,9 @@ export const appFnGetQinHuangDaoTreeList = async () => {
|
|||
});
|
||||
return tree;
|
||||
};
|
||||
|
||||
// 属地数据字典
|
||||
export const appFnGetDataDictionaryArea = async (params) => {
|
||||
const { dictionariesList } = await getAreaListTree(params);
|
||||
return dictionariesList;
|
||||
};
|
||||
|
|
|
@ -7,8 +7,9 @@
|
|||
:control-level="controlLevel"
|
||||
:show-all-levels="false"
|
||||
:level="level"
|
||||
:disabled="disabled"
|
||||
:join-separator="joinSeparator"
|
||||
value="code"
|
||||
value="bianma"
|
||||
/>
|
||||
</template>
|
||||
|
||||
|
@ -28,6 +29,10 @@ defineProps({
|
|||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
level: {
|
||||
type: [Number, String],
|
||||
default: 3,
|
||||
|
|
|
@ -33,4 +33,10 @@ defineProps({
|
|||
});
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss"></style>
|
||||
<style scoped lang="scss">
|
||||
:deep {
|
||||
.el-descriptions__content {
|
||||
word-break: break-all;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -60,7 +60,9 @@ const fnFilterNode = (value, data) => {
|
|||
};
|
||||
const fnGetTreeData = async () => {
|
||||
const value = await props.api();
|
||||
fnAddLevel(value);
|
||||
if (value) {
|
||||
fnAddLevel(value);
|
||||
}
|
||||
data.value = value;
|
||||
emits("throw-data", value);
|
||||
refresh.value = false;
|
||||
|
|
|
@ -12,6 +12,7 @@ export const getDataDictionariesListTree = (params) =>
|
|||
// 部门树
|
||||
export const getDepartmentListTree = (params) =>
|
||||
getRequest("/sysdepartment/listTree", params);
|
||||
|
||||
// 属地
|
||||
export const getAreaListTree = (params) =>
|
||||
postRequest("/sys/dictionaries/area", params);
|
||||
postRequest("/sys/dictionaries/getLevel", params);
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
import { postRequest } from "./axios";
|
||||
|
||||
// 获取企业信息-分页
|
||||
export const getDataList = (params, apiType) =>
|
||||
postRequest(`/${apiType}/listPage`, params);
|
||||
export const getDataList = (params) =>
|
||||
postRequest("/data/info/listPage", params);
|
||||
|
||||
// 获取记录信息-分页
|
||||
export const getRecordList = (params, apiType) =>
|
||||
postRequest(`/${apiType}/record/listPage`, params);
|
||||
export const getRecordList = (params) =>
|
||||
postRequest("/data/info/record/listPage", params);
|
||||
|
||||
// 记录信息 - 删除
|
||||
export const setRecordDelete = (params, apiType) =>
|
||||
postRequest(`/${apiType}/record/delete`, params);
|
||||
export const setRecordDelete = (params) =>
|
||||
postRequest("/data/info/record/delete", params);
|
||||
|
||||
// 记录信息 - 详情
|
||||
export const getRecordDetail = (params, apiType) =>
|
||||
postRequest(`/${apiType}/record/detail`, params);
|
||||
export const getRecordDetail = (params) =>
|
||||
postRequest("/data/info/record/detail", params);
|
||||
|
|
|
@ -2,6 +2,8 @@ import { postRequest } from "@/request/axios";
|
|||
|
||||
export const getRoleList = (params) =>
|
||||
postRequest("/sys/role/listPage", params); // 角色管理列表
|
||||
export const getRoleListAll = (params) =>
|
||||
postRequest("/sys/role/listAll", params); // 角色管理列表所有
|
||||
export const setRoleDelete = (params) =>
|
||||
postRequest("/sys/role/delete", params); // 角色管理删除
|
||||
export const setRoleAdd = (params) => postRequest("/sys/role/save", params); // 角色管理添加
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
import { postRequest } from "@/request/axios.js";
|
||||
|
||||
export const getDepartmentList = (params) =>
|
||||
postRequest("/oa/department/listPage", params); // 部门列表
|
||||
export const setDepartmentAdd = (params) =>
|
||||
postRequest("/oa/department/save", params); // 部门新增
|
||||
export const setDepartmentUpdate = (params) =>
|
||||
postRequest("/oa/department/update", params); // 部门修改
|
||||
export const setDepartmentDelete = (params) =>
|
||||
postRequest("/oa/department/delete", params); // 部门删除
|
||||
export const getDepartmentInfo = (params) =>
|
||||
postRequest("/oa/department/info", params); // 部门信息
|
||||
export const getUserList = (params) => postRequest("/sys/user/list", params); // 用户列表
|
||||
export const setUserResetPassword = (params) =>
|
||||
postRequest("/sys/user/password", params); // 用户重置密码
|
||||
export const setUserDelete = (params) =>
|
||||
postRequest("/sys/user/delete", params); // 用户删除
|
||||
export const hasUser = (params) => postRequest("/sys/user/hasUser", params); // 验证用户是否重复
|
|
@ -1,6 +1,11 @@
|
|||
<template>
|
||||
<div>
|
||||
<app-search v-model="searchForm" :options @submit="resetPagination" />
|
||||
<app-search
|
||||
v-model="searchForm"
|
||||
:options
|
||||
label-width="150px"
|
||||
@submit="resetPagination"
|
||||
/>
|
||||
<app-table ref="tableRef" v-model:pagination="pagination" :data="list">
|
||||
<el-table-column prop="servicePlatformName" label="所在平台名称" />
|
||||
<el-table-column prop="companyName" label="企业名称" />
|
||||
|
@ -31,7 +36,7 @@
|
|||
thirdPlatformId: row.thirdPlatformId,
|
||||
companyId: row.companyId,
|
||||
servicePlatformId: row.servicePlatformId,
|
||||
apiType: apiType,
|
||||
dataType: dataType,
|
||||
},
|
||||
})
|
||||
"
|
||||
|
@ -52,15 +57,18 @@ import AppTable from "@/components/table/index.vue";
|
|||
import { translationStatus } from "@/assets/js/utils.js";
|
||||
import { useRouter } from "vue-router";
|
||||
const router = useRouter();
|
||||
const apiType = defineModel("apiType", {
|
||||
type: String,
|
||||
const dataType = defineModel("dataType", {
|
||||
type: Number,
|
||||
required: true,
|
||||
default: "dataRiskEvents",
|
||||
default: 1,
|
||||
});
|
||||
const { list, pagination, searchForm, resetPagination, tableRef } = useListData(
|
||||
getDataList,
|
||||
{
|
||||
apiType: apiType.value,
|
||||
params: () => ({
|
||||
dataType: dataType.value,
|
||||
}),
|
||||
// apiType: apiType.value,
|
||||
}
|
||||
);
|
||||
const pushOptions = [
|
||||
|
@ -75,6 +83,18 @@ const receiveOptions = [
|
|||
{ id: 2, name: "接收异常" },
|
||||
];
|
||||
const options = [
|
||||
{
|
||||
key: "thirdPlatformName",
|
||||
label: "上游企业名称",
|
||||
},
|
||||
{
|
||||
key: "servicePlatformName",
|
||||
label: "服务平台名称",
|
||||
},
|
||||
{
|
||||
key: "companyName",
|
||||
label: "企业名称",
|
||||
},
|
||||
{
|
||||
key: "receiveStatus",
|
||||
label: "接收状态",
|
|
@ -34,7 +34,7 @@
|
|||
path: `/data_directory/records_detail`,
|
||||
query: {
|
||||
id: row.id,
|
||||
apiType: route.query.apiType,
|
||||
dataType: route.query.dataType,
|
||||
},
|
||||
})
|
||||
"
|
||||
|
@ -66,8 +66,9 @@ const { list, pagination, searchForm, getData, resetPagination, tableRef } =
|
|||
thirdPlatformId: route.query.thirdPlatformId,
|
||||
companyId: route.query.companyId,
|
||||
servicePlatformId: route.query.servicePlatformId,
|
||||
dataType: Number(route.query.dataType),
|
||||
}),
|
||||
apiType: route.query.apiType,
|
||||
// apiType: route.query.apiType,
|
||||
});
|
||||
const pushOptions = [
|
||||
{ id: 1, name: "未推送" },
|
||||
|
@ -99,7 +100,7 @@ const fnDelete = async (id) => {
|
|||
await ElMessageBox.confirm("确定要删除吗?", {
|
||||
type: "warning",
|
||||
});
|
||||
await setRecordDelete({ id }, route.params.apiType);
|
||||
await setRecordDelete({ id, dataType: route.query.dataType });
|
||||
ElMessage.success("删除成功");
|
||||
resetPagination();
|
||||
};
|
|
@ -0,0 +1,111 @@
|
|||
<template>
|
||||
<div>
|
||||
<el-row :gutter="40">
|
||||
<el-col :span="8">
|
||||
<div class="grid-content">
|
||||
<template v-if="!fnToJsonParse(json)">{{ json }}</template>
|
||||
<template v-else>
|
||||
{
|
||||
<div
|
||||
class="mt-2 pl-18"
|
||||
v-for="(value, key) in fnToJsonParse(json)"
|
||||
:key="key"
|
||||
>
|
||||
<span class="key-contanier"> {{ key }}</span> :
|
||||
<span class="value-contanier">{{ value }}</span>
|
||||
</div>
|
||||
}
|
||||
</template>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="16">
|
||||
<div class="grid-content" v-for="(item, index) in logList" :key="index">
|
||||
<el-row :gutter="40">
|
||||
<el-col :span="12">
|
||||
<h4 class="mb-10">请求信息</h4>
|
||||
<div v-if="!fnToJsonParse(item.request)">{{ item.request }}</div>
|
||||
<template v-else>
|
||||
{
|
||||
<div
|
||||
v-for="(value, key) in fnToJsonParse(item.request)"
|
||||
:key="key"
|
||||
class="mt-2 pl-18"
|
||||
>
|
||||
<span class="key-contanier"> {{ key }}</span> :
|
||||
<span class="value-contanier">{{ value }}</span>
|
||||
</div>
|
||||
}
|
||||
</template>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<h4 class="mb-10">响应信息</h4>
|
||||
<div v-if="!fnToJsonParse(item.response)">
|
||||
{{ item.response }}
|
||||
</div>
|
||||
<template v-else>
|
||||
{
|
||||
<div
|
||||
v-for="(value, key) in fnToJsonParse(item.response)"
|
||||
:key="key"
|
||||
class="mt-2 pl-18"
|
||||
>
|
||||
<span class="key-contanier"> {{ key }}</span> :
|
||||
<span class="value-contanier">{{ value }}</span>
|
||||
</div>
|
||||
}
|
||||
</template>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import { getRecordDetail } from "@/request/data_directory.js";
|
||||
import { useRoute } from "vue-router";
|
||||
const route = useRoute();
|
||||
const { data } = await getRecordDetail({
|
||||
id: route.query.id,
|
||||
dataType: Number(route.query.dataType),
|
||||
});
|
||||
const { json, logList } = data;
|
||||
const fnToJsonParse = (params) => {
|
||||
if (params === null) {
|
||||
return false;
|
||||
}
|
||||
try {
|
||||
const obj = JSON.parse(params);
|
||||
return obj;
|
||||
} catch (error) {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.el-row {
|
||||
margin-bottom: 20px;
|
||||
&:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
.el-col {
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.grid-content {
|
||||
border-radius: 4px;
|
||||
min-height: 36px;
|
||||
border: 1px solid #dcdfe6;
|
||||
padding: 20px;
|
||||
word-break: break-all;
|
||||
}
|
||||
.key-contanier {
|
||||
color: #92278f;
|
||||
font-weight: bold;
|
||||
}
|
||||
.value-contanier {
|
||||
color: #3ab54a;
|
||||
font-weight: bold;
|
||||
}
|
||||
</style>
|
|
@ -1,105 +0,0 @@
|
|||
<template>
|
||||
<div>
|
||||
<el-row :gutter="40">
|
||||
<el-col :span="12"
|
||||
><div class="grid-content">
|
||||
<h4 class="mb-10">请求信息</h4>
|
||||
<template v-if="isJsonRequest">
|
||||
{
|
||||
<div
|
||||
class="mt-2 pl-18"
|
||||
v-for="(value, key) in requestData"
|
||||
:key="key"
|
||||
>
|
||||
<span class="key-contanier"> {{ key }}</span> :
|
||||
<span class="value-contanier">{{ value }}</span>
|
||||
</div>
|
||||
}
|
||||
</template>
|
||||
<div v-else class="text-red">{{ requestData }}</div>
|
||||
</div></el-col
|
||||
>
|
||||
<el-col :span="12">
|
||||
<div class="grid-content">
|
||||
<h4 class="mb-10">响应信息</h4>
|
||||
<template v-if="isJsonResponse">
|
||||
{
|
||||
<div
|
||||
class="mt-2 pl-18"
|
||||
v-for="(value, key) in responseData"
|
||||
:key="key"
|
||||
>
|
||||
<span class="key-contanier"> {{ key }}</span> :
|
||||
<span class="value-contanier">{{ value }}</span>
|
||||
</div>
|
||||
}
|
||||
</template>
|
||||
<div v-else class="text-red">{{ responseData }}</div>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import { ref } from "vue";
|
||||
import { getRecordDetail } from "@/request/data_directory.js";
|
||||
import { useRoute } from "vue-router";
|
||||
const route = useRoute();
|
||||
const { data } = await getRecordDetail(
|
||||
{
|
||||
id: route.query.id,
|
||||
},
|
||||
route.query.apiType
|
||||
);
|
||||
const { request, response } = data;
|
||||
|
||||
const isJsonRequest = ref(false);
|
||||
const isJsonResponse = ref(false);
|
||||
const fnJsonParse = (params, type) => {
|
||||
if (params === null) {
|
||||
type === "1"
|
||||
? (isJsonRequest.value = false)
|
||||
: (isJsonResponse.value = false);
|
||||
return params;
|
||||
}
|
||||
try {
|
||||
const obj = JSON.parse(params);
|
||||
type === "1" ? (isJsonRequest.value = true) : (isJsonResponse.value = true);
|
||||
return obj;
|
||||
} catch (error) {
|
||||
type === "1"
|
||||
? (isJsonRequest.value = false)
|
||||
: (isJsonResponse.value = false);
|
||||
return params;
|
||||
}
|
||||
};
|
||||
const requestData = fnJsonParse(request, "1");
|
||||
const responseData = fnJsonParse(response, "2");
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.el-row {
|
||||
margin-bottom: 20px;
|
||||
&:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
.el-col {
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.grid-content {
|
||||
border-radius: 4px;
|
||||
min-height: 36px;
|
||||
border: 1px solid #dcdfe6;
|
||||
padding: 20px;
|
||||
word-break: break-all;
|
||||
}
|
||||
.key-contanier {
|
||||
color: #92278f;
|
||||
font-weight: bold;
|
||||
}
|
||||
.value-contanier {
|
||||
color: #3ab54a;
|
||||
font-weight: bold;
|
||||
}
|
||||
</style>
|
|
@ -1,9 +0,0 @@
|
|||
<template>
|
||||
<index-page api-type="dataRiskUnit" />
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import indexPage from "../data_risk_events/index.vue";
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss"></style>
|
|
@ -0,0 +1,9 @@
|
|||
<template>
|
||||
<index-page :data-type="15" />
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import indexPage from "@/views/data_directory/basic/index.vue";
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss"></style>
|
|
@ -0,0 +1,9 @@
|
|||
<template>
|
||||
<index-page :data-type="16" />
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import indexPage from "@/views/data_directory/basic/index.vue";
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss"></style>
|
|
@ -0,0 +1,9 @@
|
|||
<template>
|
||||
<index-page :data-type="48" />
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import indexPage from "@/views/data_directory/basic/index.vue";
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss"></style>
|
|
@ -0,0 +1,9 @@
|
|||
<template>
|
||||
<index-page :data-type="49" />
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import indexPage from "@/views/data_directory/basic/index.vue";
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss"></style>
|
|
@ -0,0 +1,9 @@
|
|||
<template>
|
||||
<index-page :data-type="6" />
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import indexPage from "@/views/data_directory/basic/index.vue";
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss"></style>
|
|
@ -0,0 +1,9 @@
|
|||
<template>
|
||||
<index-page :data-type="7" />
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import indexPage from "@/views/data_directory/basic/index.vue";
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss"></style>
|
|
@ -0,0 +1,9 @@
|
|||
<template>
|
||||
<index-page :data-type="13" />
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import indexPage from "@/views/data_directory/basic/index.vue";
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss"></style>
|
|
@ -0,0 +1,9 @@
|
|||
<template>
|
||||
<index-page :data-type="5" />
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import indexPage from "@/views/data_directory/basic/index.vue";
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss"></style>
|
|
@ -0,0 +1,9 @@
|
|||
<template>
|
||||
<index-page :data-type="11" />
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import indexPage from "@/views/data_directory/basic/index.vue";
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss"></style>
|
|
@ -0,0 +1,9 @@
|
|||
<template>
|
||||
<index-page :data-type="12" />
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import indexPage from "@/views/data_directory/basic/index.vue";
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss"></style>
|
Loading…
Reference in New Issue