Browse Source

修复已知问题

dev
科技小王子 6 months ago
parent
commit
b88734477e
  1. BIN
      public/favicon2.ico
  2. 1
      src/api/app/appBszxBm/model/index.ts
  3. 1
      src/api/app/appBszxPay/model/index.ts
  4. 8
      src/api/cms/cmsArticle/model/index.ts
  5. 2
      src/layout/components/header-tools.vue
  6. 2
      src/layout/index.vue
  7. 37
      src/views/app/appBszxBm/components/search.vue
  8. 1
      src/views/app/appBszxBm/index.vue
  9. 37
      src/views/app/appBszxPay/components/search.vue
  10. 1
      src/views/app/appBszxPay/index.vue
  11. 28
      src/views/cms/cmsArticle/components/articleEdit.vue
  12. 2
      src/views/cms/cmsArticle/index.vue
  13. 5
      src/views/cms/cmsNavigation/index.vue

BIN
public/favicon2.ico

Binary file not shown.

Before

Width:  |  Height:  |  Size: 643 B

1
src/api/app/appBszxBm/model/index.ts

@ -59,5 +59,6 @@ export interface AppBszxBm {
*/ */
export interface AppBszxBmParam extends PageParam { export interface AppBszxBmParam extends PageParam {
id?: number; id?: number;
formId?: number;
keywords?: string; keywords?: string;
} }

1
src/api/app/appBszxPay/model/index.ts

@ -59,5 +59,6 @@ export interface AppBszxPay {
*/ */
export interface AppBszxPayParam extends PageParam { export interface AppBszxPayParam extends PageParam {
id?: number; id?: number;
formId?: number;
keywords?: string; keywords?: string;
} }

8
src/api/cms/cmsArticle/model/index.ts

@ -37,6 +37,12 @@ export interface CmsArticle {
virtualViews?: number; virtualViews?: number;
// 实际阅读量 // 实际阅读量
actualViews?: number; actualViews?: number;
// 活动价格
price?: number;
// 活动开始时间
startTime?: string;
// 活动结束时间
endTime?: string;
// 浏览权限(0公开 1会员 2密码) // 浏览权限(0公开 1会员 2密码)
permission?: number; permission?: number;
// 访问密码 // 访问密码
@ -105,6 +111,8 @@ export interface CmsArticle {
qrcode?: string; qrcode?: string;
// 文章路径 // 文章路径
url?: string; url?: string;
value?: any;
label?: string;
} }
/** /**

2
src/layout/components/header-tools.vue

@ -43,7 +43,7 @@
<a-dropdown placement="bottom" :overlay-style="{ minWidth: '280px' }"> <a-dropdown placement="bottom" :overlay-style="{ minWidth: '280px' }">
<div class="ele-admin-header-avatar"> <div class="ele-admin-header-avatar">
<a-avatar :src="loginUser.logo"> <a-avatar :src="loginUser.logo">
<template v-if="!merchantAvatar" #icon>
<template v-if="!loginUser.logo" #icon>
<user-outlined /> <user-outlined />
</template> </template>
</a-avatar> </a-avatar>

2
src/layout/index.vue

@ -133,7 +133,7 @@
const themeStore = useThemeStore(); const themeStore = useThemeStore();
// //
const projectName = t('layout.system');
const projectName = localStorage.getItem('TenantName') || t('layout.system');
// LOGO // LOGO
const logoPath = 'https://oss.wsdns.cn/20250127/5804668e47bf4b58ad0f29f3d8a36da2.png'; const logoPath = 'https://oss.wsdns.cn/20250127/5804668e47bf4b58ad0f29f3d8a36da2.png';

37
src/views/app/appBszxBm/components/search.vue

@ -1,6 +1,18 @@
<!-- 搜索表单 --> <!-- 搜索表单 -->
<template> <template>
<a-space :size="10" style="flex-wrap: wrap"> <a-space :size="10" style="flex-wrap: wrap">
<a-tree-select
allow-clear
:tree-data="articles"
tree-default-expand-all
style="width: 280px"
:listHeight="700"
placeholder="按活动筛选"
:value="where.formId || undefined"
:dropdown-style="{ overflow: 'auto' }"
@update:value="(value?: number) => (where.formId = value)"
@change="onCategoryId"
/>
<a-input-search <a-input-search
allow-clear allow-clear
placeholder="请输入关键词" placeholder="请输入关键词"
@ -20,6 +32,8 @@
import {AppBszxBm, AppBszxBmParam} from "@/api/app/appBszxBm/model"; import {AppBszxBm, AppBszxBmParam} from "@/api/app/appBszxBm/model";
import useSearch from "@/utils/use-search"; import useSearch from "@/utils/use-search";
import {listAppBszxBm} from "@/api/app/appBszxBm"; import {listAppBszxBm} from "@/api/app/appBszxBm";
import {listCmsArticle} from "@/api/cms/cmsArticle";
import {CmsArticle} from "@/api/cms/cmsArticle/model";
const props = withDefaults( const props = withDefaults(
defineProps<{ defineProps<{
@ -40,9 +54,12 @@
const { where } = useSearch<AppBszxBmParam>({ const { where } = useSearch<AppBszxBmParam>({
id: undefined, id: undefined,
keywords: '', keywords: '',
formId: undefined,
userId: undefined userId: undefined
}); });
const articles = ref<CmsArticle[]>([]);
const reload = () => { const reload = () => {
emit('search', where); emit('search', where);
}; };
@ -133,6 +150,26 @@
}; };
const query = () => {
listCmsArticle({
model: 'bm'
}).then((res) => {
articles.value = res.map(d => {
d.value = d.articleId;
d.label = d.title;
return d;
});
})
}
//
const onCategoryId = (id: number) => {
where.formId = id;
emit('search', where);
};
query();
watch( watch(
() => props.selection, () => props.selection,
() => {} () => {}

1
src/views/app/appBszxBm/index.vue

@ -140,6 +140,7 @@
key: 'sex', key: 'sex',
width: 90, width: 90,
align: 'center', align: 'center',
customRender: ({ text }) => ['未知','男','女'][text]
}, },
{ {
title: '班级', title: '班级',

37
src/views/app/appBszxPay/components/search.vue

@ -1,6 +1,18 @@
<!-- 搜索表单 --> <!-- 搜索表单 -->
<template> <template>
<a-space :size="10" style="flex-wrap: wrap"> <a-space :size="10" style="flex-wrap: wrap">
<a-tree-select
allow-clear
:tree-data="articles"
tree-default-expand-all
style="width: 280px"
:listHeight="700"
placeholder="按活动筛选"
:value="where.formId || undefined"
:dropdown-style="{ overflow: 'auto' }"
@update:value="(value?: number) => (where.formId = value)"
@change="onCategoryId"
/>
<a-input-search <a-input-search
allow-clear allow-clear
placeholder="请输入关键词" placeholder="请输入关键词"
@ -21,6 +33,8 @@
import {AppBszxPayParam} from "@/api/app/appBszxPay/model"; import {AppBszxPayParam} from "@/api/app/appBszxPay/model";
import {AppBszxBm} from "@/api/app/appBszxBm/model"; import {AppBszxBm} from "@/api/app/appBszxBm/model";
import {listAppBszxPay} from "@/api/app/appBszxPay"; import {listAppBszxPay} from "@/api/app/appBszxPay";
import {CmsArticle} from "@/api/cms/cmsArticle/model";
import {listCmsArticle} from "@/api/cms/cmsArticle";
const props = withDefaults( const props = withDefaults(
defineProps<{ defineProps<{
@ -41,9 +55,12 @@
const { where } = useSearch<AppBszxPayParam>({ const { where } = useSearch<AppBszxPayParam>({
id: undefined, id: undefined,
keywords: '', keywords: '',
formId: undefined,
userId: undefined userId: undefined
}); });
const articles = ref<CmsArticle[]>([]);
const reload = () => { const reload = () => {
emit('search', where); emit('search', where);
}; };
@ -134,6 +151,26 @@
}; };
//
const onCategoryId = (id: number) => {
where.formId = id;
emit('search', where);
};
const query = () => {
listCmsArticle({
model: 'pay'
}).then((res) => {
articles.value = res.map(d => {
d.value = d.articleId;
d.label = d.title;
return d;
});
})
}
query();
watch( watch(
() => props.selection, () => props.selection,
() => {} () => {}

1
src/views/app/appBszxPay/index.vue

@ -126,6 +126,7 @@
dataIndex: 'sex', dataIndex: 'sex',
key: 'sex', key: 'sex',
align: 'center', align: 'center',
customRender: ({ text }) => ['未知', '男', '女'][text]
}, },
{ {
title: '手机号码', title: '手机号码',

28
src/views/cms/cmsArticle/components/articleEdit.vue

@ -122,6 +122,18 @@
v-model:value="form.overview" v-model:value="form.overview"
/> />
</a-form-item> </a-form-item>
<a-form-item label="价格" name="price">
<a-input-number
:min="0"
:max="999999999"
style="width: 206px"
placeholder="请输入价格"
v-model:value="form.price"
/>
</a-form-item>
<a-form-item label="开始结束时间" name="startTime">
<a-range-picker v-model:value="dateRange" value-format="YYYY-MM-DD HH:mm:ss" />
</a-form-item>
<a-form-item label="文章来源" name="source"> <a-form-item label="文章来源" name="source">
<source-select <source-select
v-model:value="form.source" v-model:value="form.source"
@ -230,6 +242,8 @@
const files = ref<ItemType[]>([]); const files = ref<ItemType[]>([]);
const category = ref<string[]>([]); const category = ref<string[]>([]);
const password = ref(); const password = ref();
//
const dateRange = ref<[string, string]>(['', '']);
const lang = localStorage.getItem('i18n-lang'); const lang = localStorage.getItem('i18n-lang');
// //
@ -262,6 +276,10 @@
virtualViews: 0, virtualViews: 0,
// //
actualViews: 0, actualViews: 0,
//
price: 0,
startTime: undefined,
endTime: undefined,
recommend: undefined, recommend: undefined,
translation: true, translation: true,
permission: 0, permission: 0,
@ -276,7 +294,7 @@
// //
comments: undefined, comments: undefined,
// //
status: 1,
status: 0,
// //
createTime: '', createTime: '',
// //
@ -438,6 +456,11 @@
...form, ...form,
content: content.value content: content.value
}; };
const [createTimeStart, createTimeEnd] = dateRange.value;
if(createTimeEnd && createTimeStart){
formData.startTime = createTimeStart;
formData.endTime = createTimeEnd;
}
const saveOrUpdate = isUpdate.value ? updateCmsArticle : addCmsArticle; const saveOrUpdate = isUpdate.value ? updateCmsArticle : addCmsArticle;
saveOrUpdate(formData) saveOrUpdate(formData)
.then((msg) => { .then((msg) => {
@ -493,6 +516,9 @@
}else { }else {
form.tags = undefined; form.tags = undefined;
} }
if(data.endTime){
dateRange.value = [`${data.startTime}`, `${data.endTime}`]
}
if(data.files){ if(data.files){
const arr = JSON.parse(data.files) const arr = JSON.parse(data.files)
arr.map((url:string) => { arr.map((url:string) => {

2
src/views/cms/cmsArticle/index.vue

@ -394,7 +394,7 @@
if (!d.component) { if (!d.component) {
d.disabled = true; d.disabled = true;
} }
if(d.model == 'index' || d.model == 'page' || d.model == 'order'){
if(d.model == 'index' || d.model == 'page' || d.model == 'order' || d.model == 'links'){
d.disabled = true; d.disabled = true;
} }
return d; return d;

5
src/views/cms/cmsNavigation/index.vue

@ -88,10 +88,7 @@
<template v-else-if="column.key === 'title'"> <template v-else-if="column.key === 'title'">
<a-space> <a-space>
<a-avatar v-if="record.icon" :size="22" :src="record.icon" /> <a-avatar v-if="record.icon" :size="22" :src="record.icon" />
<!-- <span class="cursor-pointer" v-if="isDirectory(record)">{{-->
<!-- record.title-->
<!-- }}</span>-->
<a class="cursor-pointer text-black" :href="navTo(record,'',true)" target="_blank">{{ record.title }}</a>
<span class="text-black">{{ record.title }}</span>
</a-space> </a-space>
</template> </template>
<template v-if="column.key === 'banner'"> <template v-if="column.key === 'banner'">

Loading…
Cancel
Save