From 648ceef0e693072ccf831ed535c415c5eddc93d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=8A=E9=92=8A?= <13512071256@163.com> Date: Thu, 26 Dec 2024 11:47:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=8E=A5=E5=8F=A3=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E7=B1=BB=E5=9E=8B=E5=8F=8AUI=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E7=BB=86=E8=8A=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/manage/dyUser/types.ts | 2 +- src/api/manage/notebook/index.ts | 4 +- src/api/manage/route/index.ts | 2 +- src/components/Editor/index.vue | 44 ++++++++------- src/components/noteList/index.vue | 66 ++++++++++++++++------ src/views/manage/articleManage/index.vue | 26 +++++---- src/views/manage/bannerManage/index.vue | 2 +- src/views/manage/dyUser/index.vue | 27 ++++++--- src/views/manage/ipImage/index.vue | 10 ++-- src/views/manage/mkConfig/index.vue | 3 +- src/views/manage/mkPostcard/index.vue | 3 +- src/views/manage/orders/index.vue | 19 +++++-- src/views/manage/product/index.vue | 11 +++- src/views/manage/productCategory/index.vue | 4 +- src/views/manage/scenic/index.vue | 35 +++++++----- src/views/manage/userLevel/index.vue | 4 +- 16 files changed, 169 insertions(+), 93 deletions(-) diff --git a/src/api/manage/dyUser/types.ts b/src/api/manage/dyUser/types.ts index a9af781..f8ba73e 100644 --- a/src/api/manage/dyUser/types.ts +++ b/src/api/manage/dyUser/types.ts @@ -199,7 +199,7 @@ export interface DyUserForm extends BaseEntity { /** * 封禁天数 */ - banDays?: number; + banDays?: number | string; /** * 经度 diff --git a/src/api/manage/notebook/index.ts b/src/api/manage/notebook/index.ts index 84d11b7..743c2c9 100644 --- a/src/api/manage/notebook/index.ts +++ b/src/api/manage/notebook/index.ts @@ -65,7 +65,7 @@ export const delNotebook = (id: string | number | Array) => { * 查询标签 * @param id */ -export const tagall = (): AxiosPromise => { +export const tagall = () => { return request({ url: '/manage/tag/all', method: 'get' @@ -75,7 +75,7 @@ export const tagall = (): AxiosPromise => { * 查询景点 * @param query */ -export const contentall = (query?: NotebookQuery): AxiosPromise => { +export const contentall = (query?: any) => { return request({ url: '/manage/content/all', method: 'get', diff --git a/src/api/manage/route/index.ts b/src/api/manage/route/index.ts index d0e13ca..7d4f3bc 100644 --- a/src/api/manage/route/index.ts +++ b/src/api/manage/route/index.ts @@ -77,7 +77,7 @@ export const getRegionTree = (query?: RouteForm) => { * 住宿下拉列表 * @param query */ -export const hotelall = (query?: RouteForm) => { +export const hotelall = (query?: any) => { return request({ url: '/manage/hotel/all', method: 'get', diff --git a/src/components/Editor/index.vue b/src/components/Editor/index.vue index ba70fbb..6c7652e 100644 --- a/src/components/Editor/index.vue +++ b/src/components/Editor/index.vue @@ -1,28 +1,14 @@ @@ -102,6 +88,7 @@ const styles = computed(() => { if (props.height) { style.height = `${props.height}px`; } + style.width = '1000px'; return style; }); @@ -166,77 +153,96 @@ const handleUploadError = (err: any) => { .editor-img-uploader { display: none; } + .editor, .ql-toolbar { white-space: pre-wrap !important; line-height: normal !important; } + .quill-img { display: none; } + .ql-snow .ql-tooltip[data-mode='link']::before { content: '请输入链接地址:'; } + .ql-snow .ql-tooltip.ql-editing a.ql-action::after { border-right: 0; content: '保存'; padding-right: 0; } + .ql-snow .ql-tooltip[data-mode='video']::before { content: '请输入视频地址:'; } + .ql-snow .ql-picker.ql-size .ql-picker-label::before, .ql-snow .ql-picker.ql-size .ql-picker-item::before { content: '14px'; } + .ql-snow .ql-picker.ql-size .ql-picker-label[data-value='small']::before, .ql-snow .ql-picker.ql-size .ql-picker-item[data-value='small']::before { content: '10px'; } + .ql-snow .ql-picker.ql-size .ql-picker-label[data-value='large']::before, .ql-snow .ql-picker.ql-size .ql-picker-item[data-value='large']::before { content: '18px'; } + .ql-snow .ql-picker.ql-size .ql-picker-label[data-value='huge']::before, .ql-snow .ql-picker.ql-size .ql-picker-item[data-value='huge']::before { content: '32px'; } + .ql-snow .ql-picker.ql-header .ql-picker-label::before, .ql-snow .ql-picker.ql-header .ql-picker-item::before { content: '文本'; } + .ql-snow .ql-picker.ql-header .ql-picker-label[data-value='1']::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value='1']::before { content: '标题1'; } + .ql-snow .ql-picker.ql-header .ql-picker-label[data-value='2']::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value='2']::before { content: '标题2'; } + .ql-snow .ql-picker.ql-header .ql-picker-label[data-value='3']::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value='3']::before { content: '标题3'; } + .ql-snow .ql-picker.ql-header .ql-picker-label[data-value='4']::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value='4']::before { content: '标题4'; } + .ql-snow .ql-picker.ql-header .ql-picker-label[data-value='5']::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value='5']::before { content: '标题5'; } + .ql-snow .ql-picker.ql-header .ql-picker-label[data-value='6']::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value='6']::before { content: '标题6'; } + .ql-snow .ql-picker.ql-font .ql-picker-label::before, .ql-snow .ql-picker.ql-font .ql-picker-item::before { content: '标准字体'; } + .ql-snow .ql-picker.ql-font .ql-picker-label[data-value='serif']::before, .ql-snow .ql-picker.ql-font .ql-picker-item[data-value='serif']::before { content: '衬线字体'; } + .ql-snow .ql-picker.ql-font .ql-picker-label[data-value='monospace']::before, .ql-snow .ql-picker.ql-font .ql-picker-item[data-value='monospace']::before { content: '等宽字体'; diff --git a/src/components/noteList/index.vue b/src/components/noteList/index.vue index b1e7a1f..ab9b585 100644 --- a/src/components/noteList/index.vue +++ b/src/components/noteList/index.vue @@ -7,8 +7,11 @@ - - + + + -
@@ -88,6 +89,9 @@ import { ref, reactive, onMounted, nextTick } from 'vue'; import { string } from 'vue-types'; import { listByTagIdNotebook } from '@/api/manage/scenic'; +import { tagall,contentall } from '@/api/manage/notebook'; +import { hotelall } from '@/api/manage/route'; + //导入父组件传递的值 const props = defineProps({ @@ -107,10 +111,10 @@ const props = defineProps({ type: String, default: () => '' }, - sys_user_tagOptions: { - type: Array, - default: () => [] - } + // sys_user_tagOptions: { + // type: Array, + // default: () => [] + // } }); const total = ref(0); const loading = ref(false); @@ -153,14 +157,16 @@ const handleComment = async (row: any) => { } // 监听父组件传递的tagIds,当tagIds发生变化时,重新获取数据 watch( - () => props.noteBookTagIds, + () => props.articleList, (newVal, oldVal) => { console.log(newVal); queryParams.tagIds = newVal; if (newVal) { //获取数据 nextTick(() => { - getTableList(); + // getTableList(); + getTag(); + getContent(); }); } }, @@ -186,14 +192,8 @@ const handleDelete = (row: any) => { */ const formatTag = (tagId: string | null) => { let tagString = ''; - // for (let i = 0; i < props.sys_user_tagOptions.length; i++) { - // const element:any = props.sys_user_tagOptions[i]; - // if (tagId?.includes(element.id)) { - // tagString += ',' + element.title; - // } - // } - for (let i = 0; i < props.sys_user_tagOptions.length; i++) { - const element:any = props.sys_user_tagOptions[i]; + for (let i = 0; i < sys_user_tagOptions.value.length; i++) { + const element:any = sys_user_tagOptions.value[i]; if (tagId!=null) { let filteredArray = tagId.split(',').filter((item) => item==element.id); if (filteredArray.length>0) { @@ -203,6 +203,36 @@ const formatTag = (tagId: string | null) => { } return tagString.substring(1); }; +const sys_user_contentOptions = ref([]); //标签库 +// 获取地点 +const getContent = async () => { + const res = await contentall({ status: 2 }); + const arr = await hotelall({ status: 1 }); + sys_user_contentOptions.value = res.concat(arr); //地点 +}; +// 获取标签 +const sys_user_tagOptions=ref([]);// +const getTag = async () => { + const res = await tagall(); + Object.assign(sys_user_tagOptions.value,res); +}; +/** + * 标记地点格式化 + */ +const formatlocation = (tagId: string | null) => { + let tagString = ''; + let arrlist = tagId?.split(',').map(Number); + for (let i = 0; i < sys_user_contentOptions.value.length; i++) { + const element = sys_user_contentOptions.value[i]; + for (let j = 0; j < arrlist.length; j++) { + const conten = arrlist[j]; + if (conten == element.id) { + tagString += ',' + element.name; + } + } + } + return tagString.substring(1); +}; // 导入父组件定义的函数 const emit = defineEmits(['hideDialog', 'handleUpdate', 'handleDelete']); diff --git a/src/views/manage/articleManage/index.vue b/src/views/manage/articleManage/index.vue index 9e1ab2a..0cf2482 100644 --- a/src/views/manage/articleManage/index.vue +++ b/src/views/manage/articleManage/index.vue @@ -40,7 +40,12 @@ - + + + +