feat: 更新 @riwa/api-types 依赖至 0.0.145,修改产品图标字段及相关表单验证规则

This commit is contained in:
2026-01-15 02:12:36 +07:00
parent 1b032a8573
commit dfd4074ff4
5 changed files with 23 additions and 15 deletions

View File

@@ -51,7 +51,7 @@
"@better-scroll/core": "2.5.1", "@better-scroll/core": "2.5.1",
"@elysiajs/eden": "^1.4.5", "@elysiajs/eden": "^1.4.5",
"@iconify/vue": "5.0.0", "@iconify/vue": "5.0.0",
"@riwa/api-types": "http://192.168.1.7:9528/api/riwa-eden-0.0.144.tgz", "@riwa/api-types": "http://192.168.1.7:9528/api/riwa-eden-0.0.145.tgz",
"@sa/axios": "workspace:*", "@sa/axios": "workspace:*",
"@sa/color": "workspace:*", "@sa/color": "workspace:*",
"@sa/hooks": "workspace:*", "@sa/hooks": "workspace:*",

12
pnpm-lock.yaml generated
View File

@@ -18,8 +18,8 @@ importers:
specifier: 5.0.0 specifier: 5.0.0
version: 5.0.0(vue@3.5.25(typescript@5.9.3)) version: 5.0.0(vue@3.5.25(typescript@5.9.3))
'@riwa/api-types': '@riwa/api-types':
specifier: http://192.168.1.7:9528/api/riwa-eden-0.0.144.tgz specifier: http://192.168.1.7:9528/api/riwa-eden-0.0.145.tgz
version: '@riwa/eden@http://192.168.1.7:9528/api/riwa-eden-0.0.144.tgz(@elysiajs/eden@1.4.5(elysia@1.4.19(@sinclair/typebox@0.34.41)(exact-mirror@0.2.5(@sinclair/typebox@0.34.41))(file-type@21.1.1)(openapi-types@12.1.3)(typescript@5.9.3)))' version: '@riwa/eden@http://192.168.1.7:9528/api/riwa-eden-0.0.145.tgz(@elysiajs/eden@1.4.5(elysia@1.4.19(@sinclair/typebox@0.34.41)(exact-mirror@0.2.5(@sinclair/typebox@0.34.41))(file-type@21.1.1)(openapi-types@12.1.3)(typescript@5.9.3)))'
'@sa/axios': '@sa/axios':
specifier: workspace:* specifier: workspace:*
version: link:packages/axios version: link:packages/axios
@@ -1230,9 +1230,9 @@ packages:
'@quansync/fs@0.1.6': '@quansync/fs@0.1.6':
resolution: {integrity: sha512-zoA8SqQO11qH9H8FCBR7NIbowYARIPmBz3nKjgAaOUDi/xPAAu1uAgebtV7KXHTc6CDZJVRZ1u4wIGvY5CWYaw==} resolution: {integrity: sha512-zoA8SqQO11qH9H8FCBR7NIbowYARIPmBz3nKjgAaOUDi/xPAAu1uAgebtV7KXHTc6CDZJVRZ1u4wIGvY5CWYaw==}
'@riwa/eden@http://192.168.1.7:9528/api/riwa-eden-0.0.144.tgz': '@riwa/eden@http://192.168.1.7:9528/api/riwa-eden-0.0.145.tgz':
resolution: {tarball: http://192.168.1.7:9528/api/riwa-eden-0.0.144.tgz} resolution: {tarball: http://192.168.1.7:9528/api/riwa-eden-0.0.145.tgz}
version: 0.0.144 version: 0.0.145
peerDependencies: peerDependencies:
'@elysiajs/eden': ^1.4.5 '@elysiajs/eden': ^1.4.5
@@ -5651,7 +5651,7 @@ snapshots:
dependencies: dependencies:
quansync: 0.3.0 quansync: 0.3.0
'@riwa/eden@http://192.168.1.7:9528/api/riwa-eden-0.0.144.tgz(@elysiajs/eden@1.4.5(elysia@1.4.19(@sinclair/typebox@0.34.41)(exact-mirror@0.2.5(@sinclair/typebox@0.34.41))(file-type@21.1.1)(openapi-types@12.1.3)(typescript@5.9.3)))': '@riwa/eden@http://192.168.1.7:9528/api/riwa-eden-0.0.145.tgz(@elysiajs/eden@1.4.5(elysia@1.4.19(@sinclair/typebox@0.34.41)(exact-mirror@0.2.5(@sinclair/typebox@0.34.41))(file-type@21.1.1)(openapi-types@12.1.3)(typescript@5.9.3)))':
dependencies: dependencies:
'@elysiajs/eden': 1.4.5(elysia@1.4.19(@sinclair/typebox@0.34.41)(exact-mirror@0.2.5(@sinclair/typebox@0.34.41))(file-type@21.1.1)(openapi-types@12.1.3)(typescript@5.9.3)) '@elysiajs/eden': 1.4.5(elysia@1.4.19(@sinclair/typebox@0.34.41)(exact-mirror@0.2.5(@sinclair/typebox@0.34.41))(file-type@21.1.1)(openapi-types@12.1.3)(typescript@5.9.3))

View File

@@ -21,7 +21,7 @@ const { data } = safeClient(
); );
const form = ref<Body>({ const form = ref<Body>({
icon: '', iconifyIcon: '',
name: '', name: '',
code: '', code: '',
categoryId: '', categoryId: '',
@@ -32,7 +32,7 @@ const form = ref<Body>({
}); });
const rules: FormRules = { const rules: FormRules = {
icon: [{ required: true, message: '请选择产品图标', trigger: ['blur', 'input'] }], iconifyIcon: [{ required: true, message: '请选择产品图标', trigger: ['blur', 'input'] }],
name: [{ required: true, message: '请输入产品名称', trigger: ['blur', 'input'] }], name: [{ required: true, message: '请输入产品名称', trigger: ['blur', 'input'] }],
code: [ code: [
{ required: true, message: '请输入产品编号', trigger: ['blur', 'input'] }, { required: true, message: '请输入产品编号', trigger: ['blur', 'input'] },
@@ -95,8 +95,8 @@ function handleCreateDraftAndSubmit() {
:rules="rules" :rules="rules"
require-mark-placement="left" require-mark-placement="left"
> >
<NFormItem path="icon" label="产品图标 "> <NFormItem path="iconifyIcon" label="产品图标 ">
<IconPicker v-model="form.icon" /> <IconPicker v-model="form.iconifyIcon" />
</NFormItem> </NFormItem>
<NFormItem path="name" label="产品名称"> <NFormItem path="name" label="产品名称">
<NInput v-model:value="form.name" /> <NInput v-model:value="form.name" />

View File

@@ -27,7 +27,7 @@ const { data: categories } = safeClient(
const form = ref<Body>({ const form = ref<Body>({
id: props.data.id, id: props.data.id,
icon: props.data.icon, iconifyIcon: props.data.iconifyIcon,
name: props.data.name, name: props.data.name,
code: props.data.code, code: props.data.code,
categoryId: props.data.categoryId, categoryId: props.data.categoryId,
@@ -38,7 +38,7 @@ const form = ref<Body>({
}); });
const rules: FormRules = { const rules: FormRules = {
icon: [{ required: true, message: '请选择产品图标', trigger: ['blur', 'input'] }], iconifyIcon: [{ required: true, message: '请选择产品图标', trigger: ['blur', 'input'] }],
name: [{ required: true, message: '请输入产品名称', trigger: ['blur', 'input'] }], name: [{ required: true, message: '请输入产品名称', trigger: ['blur', 'input'] }],
code: [ code: [
{ required: true, message: '请输入产品编号', trigger: ['blur', 'input'] }, { required: true, message: '请输入产品编号', trigger: ['blur', 'input'] },
@@ -90,8 +90,8 @@ function handleSubmit() {
:rules="rules" :rules="rules"
require-mark-placement="left" require-mark-placement="left"
> >
<NFormItem path="icon" label="产品图标 "> <NFormItem path="iconifyIcon" label="产品图标 ">
<IconPicker v-model="form.icon" /> <IconPicker v-model="form.iconifyIcon" />
</NFormItem> </NFormItem>
<NFormItem path="name" label="产品名称"> <NFormItem path="name" label="产品名称">
<NInput v-model:value="form.name" /> <NInput v-model:value="form.name" />

View File

@@ -5,6 +5,7 @@ import { NDatePicker, useDialog, useMessage } from 'naive-ui';
import { client, safeClient } from '@/service/api'; import { client, safeClient } from '@/service/api';
import type { TableBaseColumns, TableFetchData, TableFilterColumns, TableInst } from '@/components/table'; import type { TableBaseColumns, TableFetchData, TableFilterColumns, TableInst } from '@/components/table';
import { RwaStatusEnum } from '@/enum'; import { RwaStatusEnum } from '@/enum';
import SvgIcon from '@/components/custom/svg-icon.vue';
import Add from './components/add.vue'; import Add from './components/add.vue';
import Edit from './components/edit.vue'; import Edit from './components/edit.vue';
import Editions from './components/editions.vue'; import Editions from './components/editions.vue';
@@ -32,6 +33,13 @@ const columns: TableBaseColumns = [
type: 'selection', type: 'selection',
width: 60 width: 60
}, },
{
title: '产品图标',
key: 'iconifyIcon',
render: (row: any) => {
return h(SvgIcon, { icon: row.iconifyIcon });
}
},
{ {
title: '产品代码', title: '产品代码',
key: 'code' key: 'code'