Browse Source

增加全局日期转换

master
siyaqi 20 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 { download } from '@/utils/request'
import { formatDateTime } from '@/utils/index'
// svg图标
import 'virtual:svg-icons-register'
@ -51,7 +52,8 @@ const app = createApp(App)
// 全局方法挂载
app.config.globalProperties.useDict = useDict
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.handleTree = handleTree
app.config.globalProperties.addDateRange = addDateRange

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

@ -76,6 +76,13 @@ export function getQueryObject(url) {
})
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

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

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

Loading…
Cancel
Save