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. 4
      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 {
id?: number;
formId?: number;
keywords?: string;
}

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

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

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

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

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

@ -43,12 +43,12 @@
<a-dropdown placement="bottom" :overlay-style="{ minWidth: '280px' }">
<div class="ele-admin-header-avatar">
<a-avatar :src="loginUser.logo">
<template v-if="!merchantAvatar" #icon>
<template v-if="!loginUser.logo" #icon>
<user-outlined />
</template>
</a-avatar>
<span :class="{ 'hidden-sm-and-down': styleResponsive }">
{{ loginUser.tenantName }}
{{ loginUser.tenantName }}
</span>
<down-outlined style="margin-left: 6px" />
</div>

2
src/layout/index.vue

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

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

@ -1,6 +1,18 @@
<!-- 搜索表单 -->
<template>
<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
allow-clear
placeholder="请输入关键词"
@ -20,6 +32,8 @@
import {AppBszxBm, AppBszxBmParam} from "@/api/app/appBszxBm/model";
import useSearch from "@/utils/use-search";
import {listAppBszxBm} from "@/api/app/appBszxBm";
import {listCmsArticle} from "@/api/cms/cmsArticle";
import {CmsArticle} from "@/api/cms/cmsArticle/model";
const props = withDefaults(
defineProps<{
@ -40,9 +54,12 @@
const { where } = useSearch<AppBszxBmParam>({
id: undefined,
keywords: '',
formId: undefined,
userId: undefined
});
const articles = ref<CmsArticle[]>([]);
const reload = () => {
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(
() => props.selection,
() => {}

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

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

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

@ -1,6 +1,18 @@
<!-- 搜索表单 -->
<template>
<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
allow-clear
placeholder="请输入关键词"
@ -21,6 +33,8 @@
import {AppBszxPayParam} from "@/api/app/appBszxPay/model";
import {AppBszxBm} from "@/api/app/appBszxBm/model";
import {listAppBszxPay} from "@/api/app/appBszxPay";
import {CmsArticle} from "@/api/cms/cmsArticle/model";
import {listCmsArticle} from "@/api/cms/cmsArticle";
const props = withDefaults(
defineProps<{
@ -41,9 +55,12 @@
const { where } = useSearch<AppBszxPayParam>({
id: undefined,
keywords: '',
formId: undefined,
userId: undefined
});
const articles = ref<CmsArticle[]>([]);
const reload = () => {
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(
() => props.selection,
() => {}

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

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

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

@ -122,6 +122,18 @@
v-model:value="form.overview"
/>
</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">
<source-select
v-model:value="form.source"
@ -230,6 +242,8 @@
const files = ref<ItemType[]>([]);
const category = ref<string[]>([]);
const password = ref();
//
const dateRange = ref<[string, string]>(['', '']);
const lang = localStorage.getItem('i18n-lang');
//
@ -262,6 +276,10 @@
virtualViews: 0,
//
actualViews: 0,
//
price: 0,
startTime: undefined,
endTime: undefined,
recommend: undefined,
translation: true,
permission: 0,
@ -276,7 +294,7 @@
//
comments: undefined,
//
status: 1,
status: 0,
//
createTime: '',
//
@ -438,6 +456,11 @@
...form,
content: content.value
};
const [createTimeStart, createTimeEnd] = dateRange.value;
if(createTimeEnd && createTimeStart){
formData.startTime = createTimeStart;
formData.endTime = createTimeEnd;
}
const saveOrUpdate = isUpdate.value ? updateCmsArticle : addCmsArticle;
saveOrUpdate(formData)
.then((msg) => {
@ -493,6 +516,9 @@
}else {
form.tags = undefined;
}
if(data.endTime){
dateRange.value = [`${data.startTime}`, `${data.endTime}`]
}
if(data.files){
const arr = JSON.parse(data.files)
arr.map((url:string) => {

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

@ -394,7 +394,7 @@
if (!d.component) {
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;
}
return d;

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

@ -88,10 +88,7 @@
<template v-else-if="column.key === 'title'">
<a-space>
<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>
</template>
<template v-if="column.key === 'banner'">

Loading…
Cancel
Save