fix: 菜单管理增加微信小程序图标,修复部分问题

This commit is contained in:
2025-05-30 18:30:18 +08:00
parent 352795d52f
commit 863bab3eba
8 changed files with 340 additions and 79 deletions

View File

@@ -233,6 +233,49 @@
</el-input>
</el-form-item>
<el-form-item label="小程序路径" prop="miniPath">
<el-input v-model="formData.miniPath" placeholder="pages/index/index" />
</el-form-item>
<el-form-item label="小程序组件" prop="miniComponent">
<el-input v-model="formData.miniComponent" placeholder="小程序组件名称" />
</el-form-item>
<el-form-item label="小程序图标">
<single-image-upload
style="width: 100px; height: 100px"
v-model="formData.miniIcon"
></single-image-upload>
</el-form-item>
<el-form-item label="接口路径" prop="miniPage">
<div class="w-full">
<div>
<el-button @click="apiInfoPush" icon="plus" type="primary">添加</el-button>
</div>
<div class="u-flex u-m-t-10" v-for="(item, index) in formData.apiInfo" :key="index">
<el-form-item label="请求方式" label-position="left">
<el-select v-model="item.method" style="width: 100px">
<el-option
v-for="(item, index) in apiMethodOptions"
:key="index"
:value="item.value"
>
{{ item.label }}
</el-option>
</el-select>
</el-form-item>
<el-form-item label="接口地址" style="flex: 1">
<el-input v-model="item.url" placeholder="支持通配符*和?" />
</el-form-item>
<el-icon
style="margin-left: 10px"
size="20"
color="#F56c6c"
@click="formData.apiInfo.splice(index, 1)"
>
<RemoveFilled />
</el-icon>
</div>
</div>
</el-form-item>
<el-form-item v-if="formData.type !== MenuTypeEnum.BUTTON" prop="hidden" label="显示状态">
<el-radio-group v-model="formData.hidden">
<el-radio :value="1">隐藏</el-radio>
@@ -302,7 +345,19 @@ const dialog = reactive({
title: "新增菜单",
visible: false,
});
const apiMethodOptions = ref([
{ value: "All", label: "All" },
{ value: "GET", label: "GET" },
{ value: "POST", label: "POST" },
{ value: "PUT", label: "PUT" },
{ value: "DELETE", label: "DELETE" },
]);
function apiInfoPush() {
if (!formData.value.apiInfo) {
formData.value.apiInfo = [];
}
formData.value.apiInfo.push({ method: "All", url: "" });
}
// 查询参数
const queryParams = reactive<getListRequest>({});
// 菜单表格数据
@@ -326,6 +381,10 @@ const initialeditRequestData = ref<editRequest>({
path: "",
component: "",
name: "",
miniPath: "",
miniComponent: "",
miniIcon: "",
apiInfo: [],
});
// 菜单表单数据
const formData = ref({ ...initialeditRequestData.value });
@@ -414,6 +473,7 @@ function handleOpenDialog(pid?: string, menuId?: string) {
path: data.path || "", // Ensure path is always a string
title: data.title || "", // Ensure title is always a string
type: data.type ?? 0, // Ensure type is always a number
apiInfo: data.apiInfo ? JSON.parse(data.apiInfo) : [],
};
});
} else {