mirror of
https://gitee.com/hhyykk/ipms-sjy.git
synced 2025-07-13 02:25:06 +08:00
fix: bugs
This commit is contained in:
@ -18,7 +18,7 @@
|
||||
preIcon="ep:view"
|
||||
:title="t('action.preview')"
|
||||
v-hasPermi="['infra:codegen:query']"
|
||||
@click="handlePreview(row.id)"
|
||||
@click="handlePreview(row)"
|
||||
/>
|
||||
<!-- 操作:编辑 -->
|
||||
<XTextButton
|
||||
@ -39,14 +39,14 @@
|
||||
preIcon="ep:refresh"
|
||||
:title="t('action.sync')"
|
||||
v-hasPermi="['infra:codegen:update']"
|
||||
@click="handleSynchDb(row.id)"
|
||||
@click="handleSynchDb(row)"
|
||||
/>
|
||||
<!-- 操作:生成 -->
|
||||
<XTextButton
|
||||
preIcon="ep:download"
|
||||
:title="t('action.generate')"
|
||||
v-hasPermi="['infra:codegen:download']"
|
||||
@click="handleGenTable(row.id)"
|
||||
@click="handleGenTable(row)"
|
||||
/>
|
||||
</template>
|
||||
</vxe-grid>
|
||||
@ -86,7 +86,6 @@ const openImportTable = () => {
|
||||
importRef.value.show()
|
||||
}
|
||||
// 预览操作
|
||||
// TODO 星语:点击后报错
|
||||
const previewRef = ref()
|
||||
const handlePreview = (row: CodegenTableVO) => {
|
||||
previewRef.value.show(row)
|
||||
|
@ -85,7 +85,6 @@ import { useVxeGrid } from '@/hooks/web/useVxeGrid'
|
||||
import { VxeGridInstance } from 'vxe-table'
|
||||
import { ElUpload, ElImage, UploadInstance, UploadRawFile } from 'element-plus'
|
||||
// 业务相关的 import
|
||||
// TODO 星语:貌似这个界面打开 404
|
||||
import { allSchemas } from './fileList.data'
|
||||
import * as FileApi from '@/api/infra/fileList'
|
||||
import { getAccessToken, getTenantId } from '@/utils/auth'
|
||||
|
@ -12,8 +12,8 @@ export const rules = reactive({
|
||||
email: [required],
|
||||
phone: [
|
||||
{
|
||||
pattern:
|
||||
/^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/, // TODO @星语:前端只校验长度,格式交给后端;因为号码格式不断在变的
|
||||
min: 11,
|
||||
max: 11,
|
||||
trigger: 'blur',
|
||||
message: '请输入正确的手机号码'
|
||||
}
|
||||
|
@ -17,6 +17,7 @@ export const crudSchemas = reactive<VxeCrudSchema>({
|
||||
primaryType: null,
|
||||
action: true,
|
||||
actionWidth: '140px',
|
||||
searchSpan: 12,
|
||||
columns: [
|
||||
{
|
||||
title: '字典类型',
|
||||
|
@ -7,8 +7,7 @@ const { t } = useI18n() // 国际化
|
||||
|
||||
// 表单校验
|
||||
export const dictTypeRules = reactive({
|
||||
name: [required],
|
||||
type: [required]
|
||||
name: [required]
|
||||
})
|
||||
// 新增 + 修改
|
||||
const crudSchemas = reactive<VxeCrudSchema>({
|
||||
@ -16,6 +15,7 @@ const crudSchemas = reactive<VxeCrudSchema>({
|
||||
primaryType: null,
|
||||
action: true,
|
||||
actionWidth: '140px',
|
||||
searchSpan: 12,
|
||||
columns: [
|
||||
{
|
||||
title: '字典名称',
|
||||
|
@ -1,7 +1,6 @@
|
||||
<template>
|
||||
<div class="flex">
|
||||
<!-- ====== 字典分类 ====== -->
|
||||
<!-- TODO 星语:筛选框很小 -->
|
||||
<el-card class="w-1/2 dict" :gutter="12" shadow="always">
|
||||
<template #header>
|
||||
<div class="card-header">
|
||||
@ -94,7 +93,7 @@
|
||||
ref="typeFormRef"
|
||||
>
|
||||
<template #type>
|
||||
<template v-if="dictTypeValue">
|
||||
<template v-if="actionType == 'typeUpdate'">
|
||||
<el-tag>{{ dictTypeValue }}</el-tag>
|
||||
</template>
|
||||
<template v-else><el-input v-model="dictTypeValue" /> </template>
|
||||
@ -232,7 +231,7 @@ const submitTypeForm = async () => {
|
||||
const elForm = unref(typeFormRef)?.getElFormRef()
|
||||
if (!elForm) return
|
||||
elForm.validate(async (valid) => {
|
||||
if (valid) {
|
||||
if (valid && dictTypeValue.value != '') {
|
||||
actionLoading.value = true
|
||||
// 提交请求
|
||||
try {
|
||||
|
@ -75,7 +75,18 @@
|
||||
v-if="actionType === 'detail'"
|
||||
:schema="allSchemas.detailSchema"
|
||||
:data="detailData"
|
||||
/>
|
||||
>
|
||||
<template #tags="{ row }">
|
||||
<el-tag
|
||||
:disable-transitions="true"
|
||||
:key="index"
|
||||
v-for="(tag, index) in row.tags"
|
||||
:index="index"
|
||||
>
|
||||
{{ tag }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</Descriptions>
|
||||
<!-- 操作按钮 -->
|
||||
<template #footer>
|
||||
<!-- 按钮:保存 -->
|
||||
|
@ -15,7 +15,7 @@ export const rules = reactive({
|
||||
const crudSchemas = reactive<VxeCrudSchema>({
|
||||
primaryKey: 'id',
|
||||
primaryType: 'seq',
|
||||
primaryTitle: '敏感词编号', // TODO 星语:如果长度超过 4 个字符,会导致表格列宽度不够,需要优化
|
||||
primaryTitle: '敏感词编号',
|
||||
action: true,
|
||||
columns: [
|
||||
{
|
||||
@ -25,7 +25,7 @@ const crudSchemas = reactive<VxeCrudSchema>({
|
||||
},
|
||||
{
|
||||
title: '标签',
|
||||
field: 'tags', // TODO 星语:如果是数组的话,是不是使用 el tag 展示呀?
|
||||
field: 'tags',
|
||||
table: {
|
||||
slots: {
|
||||
default: 'tags_default'
|
||||
|
@ -122,7 +122,7 @@ const crudSchemas = reactive<VxeCrudSchema>({
|
||||
{
|
||||
title: t('table.createTime'),
|
||||
field: 'createTime',
|
||||
formatter: 'formatDate', // TODO 星语:要不给 formatter = formatDate 的时候,设置一个它的默认宽度,避免缩进
|
||||
formatter: 'formatDate',
|
||||
isForm: false
|
||||
}
|
||||
]
|
||||
|
@ -25,7 +25,7 @@
|
||||
ref="formRef"
|
||||
>
|
||||
<template #menuIds>
|
||||
<el-card class="box-card">
|
||||
<el-card class="w-120">
|
||||
<template #header>
|
||||
<div class="card-header">
|
||||
全选/全不选:
|
||||
|
@ -36,7 +36,7 @@ const crudSchemas = reactive<VxeCrudSchema>({
|
||||
},
|
||||
{
|
||||
title: '菜单权限',
|
||||
field: 'menuIds', // TODO 星语:菜单权限,表单可以搞大点哇?
|
||||
field: 'menuIds',
|
||||
isTable: false
|
||||
},
|
||||
{
|
||||
|
@ -142,11 +142,14 @@
|
||||
<span>{{ row.dept?.name }}</span>
|
||||
</template>
|
||||
<template #postIds="{ row }">
|
||||
<el-tag v-for="(post, index) in row.postIds" :key="index" index="">
|
||||
<template v-for="postObj in postOptions">
|
||||
{{ post === postObj.id ? postObj.name : '' }}
|
||||
</template>
|
||||
</el-tag>
|
||||
<template v-if="row.postIds !== ''">
|
||||
<el-tag v-for="(post, index) in row.postIds" :key="index" index="">
|
||||
<template v-for="postObj in postOptions">
|
||||
{{ post === postObj.id ? postObj.name : '' }}
|
||||
</template>
|
||||
</el-tag>
|
||||
</template>
|
||||
<template v-else> </template>
|
||||
</template>
|
||||
</Descriptions>
|
||||
<!-- 操作按钮 -->
|
||||
@ -379,7 +382,7 @@ const handleCreate = async () => {
|
||||
|
||||
// 修改操作
|
||||
const handleUpdate = async (rowId: number) => {
|
||||
setDialogTile('update') // TODO @星语:有警告
|
||||
setDialogTile('update')
|
||||
await nextTick()
|
||||
unref(formRef)?.delSchema('username')
|
||||
unref(formRef)?.delSchema('password')
|
||||
|
@ -13,8 +13,8 @@ export const rules = reactive({
|
||||
status: [required],
|
||||
mobile: [
|
||||
{
|
||||
pattern:
|
||||
/^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/, // TODO @星语:前端只校验长度,格式交给后端;因为号码格式不断在变的
|
||||
min: 11,
|
||||
max: 11,
|
||||
trigger: 'blur',
|
||||
message: '请输入正确的手机号码'
|
||||
}
|
||||
@ -57,12 +57,12 @@ const crudSchemas = reactive<VxeCrudSchema>({
|
||||
},
|
||||
{
|
||||
title: '部门',
|
||||
field: 'deptId', // TODO 星语:详情的部门没展示
|
||||
field: 'deptId',
|
||||
isTable: false
|
||||
},
|
||||
{
|
||||
title: '岗位',
|
||||
field: 'postIds', // TODO 星语:岗位为空的时候,要不要不展示
|
||||
field: 'postIds',
|
||||
isTable: false
|
||||
},
|
||||
{
|
||||
@ -75,7 +75,7 @@ const crudSchemas = reactive<VxeCrudSchema>({
|
||||
{
|
||||
title: '最后登录时间',
|
||||
field: 'loginDate',
|
||||
formatter: 'formatDate', // TODO 星语:未登录的时候,不要展示 Invalid Date
|
||||
formatter: 'formatDate',
|
||||
isForm: false
|
||||
},
|
||||
{
|
||||
|
Reference in New Issue
Block a user