Browse Source

增加全局日期转换

master
siyaqi 18 hours ago
parent
commit
9b3c1c4c7a
  1. 4
      vue-fastapi-frontend/src/main.js
  2. 7
      vue-fastapi-frontend/src/utils/index.js
  3. 74
      vue-fastapi-frontend/src/views/metadataConfig/bizConfig/index.vue

4
vue-fastapi-frontend/src/main.js

@ -18,6 +18,7 @@ import useUserStore from '@/store/modules/user'
// 注册指令 // 注册指令
import plugins from './plugins' // plugins import plugins from './plugins' // plugins
import { download } from '@/utils/request' import { download } from '@/utils/request'
import { formatDateTime } from '@/utils/index'
// svg图标 // svg图标
import 'virtual:svg-icons-register' import 'virtual:svg-icons-register'
@ -51,7 +52,8 @@ const app = createApp(App)
// 全局方法挂载 // 全局方法挂载
app.config.globalProperties.useDict = useDict app.config.globalProperties.useDict = useDict
app.config.globalProperties.download = download app.config.globalProperties.download = download
app.config.globalProperties.parseTime = parseTime app.config.globalProperties.download = download
app.config.globalProperties.formatDateTime = formatDateTime
app.config.globalProperties.resetForm = resetForm app.config.globalProperties.resetForm = resetForm
app.config.globalProperties.handleTree = handleTree app.config.globalProperties.handleTree = handleTree
app.config.globalProperties.addDateRange = addDateRange app.config.globalProperties.addDateRange = addDateRange

7
vue-fastapi-frontend/src/utils/index.js

@ -76,6 +76,13 @@ export function getQueryObject(url) {
}) })
return obj return obj
} }
export function formatDateTime(datetime) {
if (!datetime) return ''
const date = new Date(datetime)
const pad = (n) => String(n).padStart(2, '0')
return `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())} ` +
`${pad(date.getHours())}:${pad(date.getMinutes())}:${pad(date.getSeconds())}`
}
/** /**
* @param {string} input value * @param {string} input value

74
vue-fastapi-frontend/src/views/metadataConfig/bizConfig/index.vue

@ -3,11 +3,19 @@
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-form :inline="true" :model="queryForm" > <el-form :inline="true" :model="queryForm" >
<el-form-item label="业务域名称"> <el-form-item label="业务域名称">
<el-input v-model="queryForm.bizName" placeholder="请输入业务域名称" clearable /> <el-input v-model="queryForm.bizName" placeholder="请输入业务域名称" clearable style="width: 200px"/>
</el-form-item> </el-form-item>
<el-form-item label="风险等级"> <el-form-item label="风险等级">
<el-input v-model="queryForm.riskLvl" placeholder="请输入风险等级" clearable /> <el-select v-model="queryForm.riskLvl" placeholder="请选择风险等级" clearable filterable style="width: 200px">
</el-form-item> <el-option
v-for="dict in secList"
:key="dict.onum"
:label="dict.secLevelSummary"
:value="dict.onum"
></el-option>
</el-select>
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="Search" @click="handleSearch">搜索</el-button> <el-button type="primary" icon="Search" @click="handleSearch">搜索</el-button>
@ -50,18 +58,31 @@
> >
<el-table-column type="selection" width="55" /> <el-table-column type="selection" width="55" />
<el-table-column prop="bizName" label="业务域名称" /> <el-table-column prop="bizName" label="业务域名称" />
<el-table-column prop="riskLvl" label="风险等级" /> <el-table-column label="风险等级">
<template #default="{ row }">
{{ getSecLevelName(row.riskLvl) }}
</template>
</el-table-column>
<el-table-column prop="isStop" label="是否停用"> <el-table-column prop="isStop" label="是否停用">
<template #default="{ row }"> <template #default="{ row }">
<el-tag :type="row.isStop === 0 ? 'success' : 'info'"> <el-tag :type="row.isStop? 'success' : 'info'">
{{ row.isStop === 0 ? '运行' : '停用' }} {{ row.isStop? '运行' : '停用' }}
</el-tag> </el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="createBy" label="创建者" /> <el-table-column prop="createBy" label="创建者" />
<el-table-column prop="createTime" label="创建时间" width="180" /> <el-table-column prop="createTime" label="创建时间" width="180">
<template #default="{ row }">
{{ formatDateTime(row.createTime) }}
</template>
</el-table-column>
<el-table-column prop="updateBy" label="更新者" /> <el-table-column prop="updateBy" label="更新者" />
<el-table-column prop="updateTime" label="更新时间" width="180" /> <el-table-column prop="updateTime" label="更新时间" width="180">
<template #default="{ row }">
{{ formatDateTime(row.updateTime) }}
</template>
</el-table-column>
</el-table> </el-table>
<pagination <pagination
@ -90,12 +111,25 @@
<el-input v-model="form.bizName" /> <el-input v-model="form.bizName" />
</el-form-item> </el-form-item>
<el-form-item label="风险等级" prop="riskLvl"> <el-form-item label="风险等级" prop="riskLvl">
<el-input v-model="form.riskLvl" /> <el-select
v-model="form.riskLvl"
placeholder="风险等级"
filterable
clearable
>
<el-option
v-for="dict in secList"
:key="dict.onum"
:label="dict.secLevelSummary"
:value="dict.onum"
></el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="是否停用" prop="isStop"> <el-form-item label="是否停用" prop="isStop">
<el-select v-model="form.isStop" placeholder="请选择状态"> <el-select v-model="form.isStop" placeholder="请选择状态">
<el-option label="运行" :value="0" /> <el-option label="运行" :value=true />
<el-option label="停用" :value="1" /> <el-option label="停用" :value=false />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -111,9 +145,11 @@
<script setup> <script setup>
import { ref, reactive, onMounted } from 'vue' import { ref, reactive, onMounted } from 'vue'
import { ElMessageBox, ElMessage } from 'element-plus' import { ElMessageBox, ElMessage } from 'element-plus'
import { import {
listBizConfig, listBizConfig,
addBizConfig, addBizConfig,
listMetadataSec,
updateBizConfig, updateBizConfig,
delBizConfig delBizConfig
} from '@/api/metadataConfig/metadataConfig' } from '@/api/metadataConfig/metadataConfig'
@ -126,6 +162,7 @@ const queryForm = reactive({
}) })
const bizList = ref([]) const bizList = ref([])
const secList = ref([])
const total = ref(0) const total = ref(0)
const loading = ref(false) const loading = ref(false)
const open = ref(false) const open = ref(false)
@ -142,7 +179,7 @@ const form = reactive({
const rules = { const rules = {
bizName: [{ required: true, message: '请输入业务域名称', trigger: 'blur' }], bizName: [{ required: true, message: '请输入业务域名称', trigger: 'blur' }],
riskLvl: [{ required: true, message: '请输入风险等级', trigger: 'blur' }], riskLvl: [{ required: true, message: '请选择风险等级', trigger: 'blur' }],
isStop: [{ required: true, message: '请选择状态', trigger: 'change' }] isStop: [{ required: true, message: '请选择状态', trigger: 'change' }]
} }
@ -164,6 +201,18 @@ async function getList() {
loading.value = false loading.value = false
} }
} }
async function getSecList() {
try {
const res = await listMetadataSec({pageSize:100,pageNum:1})
secList.value = res.rows
} catch (error) {
ElMessage.error('获取安全等级列表失败,请重试')
}
}
function getSecLevelName(value) {
const item = secList.value.find((d) => d.onum === value)
return item ? item.secLevelSummary : value
}
function resetQuery() { function resetQuery() {
queryForm.bizName = '' queryForm.bizName = ''
@ -259,6 +308,7 @@ function handleClose(done) {
onMounted(() => { onMounted(() => {
getList() getList()
getSecList()
}) })
</script> </script>

Loading…
Cancel
Save