Skip to content

Commit be4750a

Browse files
committed
Merge branch 'master' of https://gitee.com/yudaocode/yudao-ui-admin-vue3 into dev
2 parents ce79dd6 + b4aa09a commit be4750a

File tree

6 files changed

+388
-3
lines changed

6 files changed

+388
-3
lines changed

.vscode/settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@
8383
"editor.defaultFormatter": "esbenp.prettier-vscode"
8484
},
8585
"editor.codeActionsOnSave": {
86-
"source.fixAll.eslint": true
86+
"source.fixAll.eslint": "explicit"
8787
},
8888
"[vue]": {
8989
"editor.defaultFormatter": "rvest.vs-code-prettier-eslint"

src/api/report/ureport/index.ts

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import request from '@/config/axios'
2+
3+
export interface UReportDataVO {
4+
id: number
5+
name: string
6+
status: number
7+
content: string
8+
remark: string
9+
}
10+
11+
// 查询Ureport2报表分页
12+
export const getUReportDataPage = async (params) => {
13+
return await request.get({ url: `/report/ureport-data/page`, params })
14+
}
15+
16+
// 查询Ureport2报表详情
17+
export const getUReportData = async (id: number) => {
18+
return await request.get({ url: `/report/ureport-data/get?id=` + id })
19+
}
20+
21+
// 新增Ureport2报表
22+
export const createUReportData = async (data: UReportDataVO) => {
23+
return await request.post({ url: `/report/ureport-data/create`, data })
24+
}
25+
26+
// 修改Ureport2报表
27+
export const updateUReportData = async (data: UReportDataVO) => {
28+
return await request.put({ url: `/report/ureport-data/update`, data })
29+
}
30+
31+
// 删除Ureport2报表
32+
export const deleteUReportData = async (id: number) => {
33+
return await request.delete({ url: `/report/ureport-data/delete?id=` + id })
34+
}
35+
36+
// 导出Ureport2报表 Excel
37+
export const exportUReportData = async (params) => {
38+
return await request.download({ url: `/report/ureport-data/export-excel`, params })
39+
}

src/views/mall/product/spu/form/BasicInfoForm.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ defineOptions({ name: 'ProductSpuBasicInfoForm' })
197197
const ruleConfig: RuleConfig[] = [
198198
{
199199
name: 'stock',
200-
rule: (arg) => arg >= 1,
200+
rule: (arg) => arg >= 0,
201201
message: '商品库存必须大于等于 1 !!!'
202202
},
203203
{
@@ -213,7 +213,7 @@ const ruleConfig: RuleConfig[] = [
213213
{
214214
name: 'costPrice',
215215
rule: (arg) => arg >= 0.01,
216-
message: '商品成本价格必须大于等于 0.01 元!!!'
216+
message: '商品成本价格必须大于等于 0.00 元!!!'
217217
}
218218
]
219219
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
<template>
2+
<Dialog :title="dialogTitle" v-model="dialogVisible">
3+
<el-form
4+
ref="formRef"
5+
:model="formData"
6+
:rules="formRules"
7+
label-width="100px"
8+
v-loading="formLoading"
9+
>
10+
<el-form-item label="文件名称" prop="name">
11+
<el-input v-model="formData.name" placeholder="请输入文件名称" />
12+
</el-form-item>
13+
<el-form-item label="状态" prop="status">
14+
<el-select v-model="formData.status" placeholder="请选择状态">
15+
<el-option
16+
v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)"
17+
:key="dict.value"
18+
:label="dict.label"
19+
:value="dict.value"
20+
/>
21+
</el-select>
22+
</el-form-item>
23+
<el-form-item label="文件内容" prop="content">
24+
<Editor v-model="formData.content" height="150px" />
25+
</el-form-item>
26+
<el-form-item label="备注" prop="remark">
27+
<el-input v-model="formData.remark" placeholder="请输入备注" />
28+
</el-form-item>
29+
</el-form>
30+
<template #footer>
31+
<el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button>
32+
<el-button @click="dialogVisible = false">取 消</el-button>
33+
</template>
34+
</Dialog>
35+
</template>
36+
<script setup lang="ts">
37+
import { getIntDictOptions, DICT_TYPE } from '@/utils/dict'
38+
import * as UReportDataApi from '@/api/report/ureport'
39+
40+
const { t } = useI18n() // 国际化
41+
const message = useMessage() // 消息弹窗
42+
43+
const dialogVisible = ref(false) // 弹窗的是否展示
44+
const dialogTitle = ref('') // 弹窗的标题
45+
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
46+
const formType = ref('') // 表单的类型:create - 新增;update - 修改
47+
const formData = ref({
48+
id: undefined,
49+
name: undefined,
50+
status: undefined,
51+
content: undefined,
52+
remark: undefined,
53+
})
54+
const formRules = reactive({
55+
name: [{ required: true, message: '文件名称不能为空', trigger: 'blur' }],
56+
status: [{ required: true, message: '状态不能为空', trigger: 'change' }],
57+
})
58+
const formRef = ref() // 表单 Ref
59+
60+
/** 打开弹窗 */
61+
const open = async (type: string, id?: number) => {
62+
dialogVisible.value = true
63+
dialogTitle.value = t('action.' + type)
64+
formType.value = type
65+
resetForm()
66+
// 修改时,设置数据
67+
if (id) {
68+
formLoading.value = true
69+
try {
70+
formData.value = await UReportDataApi.getUReportData(id)
71+
} finally {
72+
formLoading.value = false
73+
}
74+
}
75+
}
76+
defineExpose({ open }) // 提供 open 方法,用于打开弹窗
77+
78+
/** 提交表单 */
79+
const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调
80+
const submitForm = async () => {
81+
// 校验表单
82+
await formRef.value.validate()
83+
// 提交请求
84+
formLoading.value = true
85+
try {
86+
const data = formData.value as unknown as UReportDataApi.UReportDataVO
87+
if (formType.value === 'create') {
88+
await UReportDataApi.createUReportData(data)
89+
message.success(t('common.createSuccess'))
90+
} else {
91+
await UReportDataApi.updateUReportData(data)
92+
message.success(t('common.updateSuccess'))
93+
}
94+
dialogVisible.value = false
95+
// 发送操作成功的事件
96+
emit('success')
97+
} finally {
98+
formLoading.value = false
99+
}
100+
}
101+
102+
/** 重置表单 */
103+
const resetForm = () => {
104+
formData.value = {
105+
id: undefined,
106+
name: undefined,
107+
status: undefined,
108+
content: undefined,
109+
remark: undefined,
110+
}
111+
formRef.value?.resetFields()
112+
}
113+
</script>

src/views/report/ureport/index.vue

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<template>
2+
<ContentWrap>
3+
<IFrame :src="src" />
4+
</ContentWrap>
5+
</template>
6+
<script lang="ts" setup>
7+
import { getAccessToken } from '@/utils/auth'
8+
9+
defineOptions({ name: 'UReportData' })
10+
11+
const BASE_URL = import.meta.env.VITE_BASE_URL
12+
const src = ref(BASE_URL + '/ureport/designer?token=' + getAccessToken())
13+
</script>

0 commit comments

Comments
 (0)