diff --git a/src/assets/iconfont/iconfont.css b/src/assets/iconfont/iconfont.css index 60267ea..d15a12c 100644 --- a/src/assets/iconfont/iconfont.css +++ b/src/assets/iconfont/iconfont.css @@ -1,8 +1,8 @@ @font-face { font-family: "iconfont"; /* Project id 4966438 */ - src: url('iconfont.woff2?t=1752057370159') format('woff2'), - url('iconfont.woff?t=1752057370159') format('woff'), - url('iconfont.ttf?t=1752057370159') format('truetype'); + src: url('iconfont.woff2?t=1752205287294') format('woff2'), + url('iconfont.woff?t=1752205287294') format('woff'), + url('iconfont.ttf?t=1752205287294') format('truetype'); } .iconfont { @@ -13,6 +13,14 @@ -moz-osx-font-smoothing: grayscale; } +.icon-yonghu:before { + content: "\e616"; +} + +.icon-huiyishi1:before { + content: "\e60a"; +} + .icon-cooperation:before { content: "\e611"; } diff --git a/src/assets/iconfont/iconfont.js b/src/assets/iconfont/iconfont.js index 65c0bfe..c19e8c8 100644 --- a/src/assets/iconfont/iconfont.js +++ b/src/assets/iconfont/iconfont.js @@ -1 +1 @@ -window._iconfont_svg_string_4966438='',(a=>{var c=(t=(t=document.getElementsByTagName("script"))[t.length-1]).getAttribute("data-injectcss"),t=t.getAttribute("data-disable-injectsvg");if(!t){var e,i,l,o,h,n=function(c,t){t.parentNode.insertBefore(c,t)};if(c&&!a.__iconfont__svg__cssinject__){a.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(c){console&&console.log(c)}}e=function(){var c,t=document.createElement("div");t.innerHTML=a._iconfont_svg_string_4966438,(t=t.getElementsByTagName("svg")[0])&&(t.setAttribute("aria-hidden","true"),t.style.position="absolute",t.style.width=0,t.style.height=0,t.style.overflow="hidden",t=t,(c=document.body).firstChild?n(t,c.firstChild):c.appendChild(t))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(e,0):(i=function(){document.removeEventListener("DOMContentLoaded",i,!1),e()},document.addEventListener("DOMContentLoaded",i,!1)):document.attachEvent&&(l=e,o=a.document,h=!1,d(),o.onreadystatechange=function(){"complete"==o.readyState&&(o.onreadystatechange=null,s())})}function s(){h||(h=!0,l())}function d(){try{o.documentElement.doScroll("left")}catch(c){return void setTimeout(d,50)}s()}})(window); \ No newline at end of file +window._iconfont_svg_string_4966438='',(a=>{var c=(t=(t=document.getElementsByTagName("script"))[t.length-1]).getAttribute("data-injectcss"),t=t.getAttribute("data-disable-injectsvg");if(!t){var l,i,e,h,o,n=function(c,t){t.parentNode.insertBefore(c,t)};if(c&&!a.__iconfont__svg__cssinject__){a.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(c){console&&console.log(c)}}l=function(){var c,t=document.createElement("div");t.innerHTML=a._iconfont_svg_string_4966438,(t=t.getElementsByTagName("svg")[0])&&(t.setAttribute("aria-hidden","true"),t.style.position="absolute",t.style.width=0,t.style.height=0,t.style.overflow="hidden",t=t,(c=document.body).firstChild?n(t,c.firstChild):c.appendChild(t))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(l,0):(i=function(){document.removeEventListener("DOMContentLoaded",i,!1),l()},document.addEventListener("DOMContentLoaded",i,!1)):document.attachEvent&&(e=l,h=a.document,o=!1,d(),h.onreadystatechange=function(){"complete"==h.readyState&&(h.onreadystatechange=null,s())})}function s(){o||(o=!0,e())}function d(){try{h.documentElement.doScroll("left")}catch(c){return void setTimeout(d,50)}s()}})(window); \ No newline at end of file diff --git a/src/assets/iconfont/iconfont.json b/src/assets/iconfont/iconfont.json index 740fd53..2da3e7e 100644 --- a/src/assets/iconfont/iconfont.json +++ b/src/assets/iconfont/iconfont.json @@ -5,6 +5,20 @@ "css_prefix_text": "icon-", "description": "", "glyphs": [ + { + "icon_id": "5270862", + "name": "用户群体-业务查询", + "font_class": "yonghu", + "unicode": "e616", + "unicode_decimal": 58902 + }, + { + "icon_id": "7414004", + "name": "会议室", + "font_class": "huiyishi1", + "unicode": "e60a", + "unicode_decimal": 58890 + }, { "icon_id": "551475", "name": "同行互助", diff --git a/src/assets/iconfont/iconfont.ttf b/src/assets/iconfont/iconfont.ttf index 4ca9d78..5883f79 100644 Binary files a/src/assets/iconfont/iconfont.ttf and b/src/assets/iconfont/iconfont.ttf differ diff --git a/src/assets/iconfont/iconfont.woff b/src/assets/iconfont/iconfont.woff index 800d980..dde129c 100644 Binary files a/src/assets/iconfont/iconfont.woff and b/src/assets/iconfont/iconfont.woff differ diff --git a/src/assets/iconfont/iconfont.woff2 b/src/assets/iconfont/iconfont.woff2 index 4b61249..7957c20 100644 Binary files a/src/assets/iconfont/iconfont.woff2 and b/src/assets/iconfont/iconfont.woff2 differ diff --git a/src/enums/index.js b/src/enums/index.js index 8811e43..bcbe82b 100644 --- a/src/enums/index.js +++ b/src/enums/index.js @@ -54,4 +54,18 @@ const userStatus = new EnumManager([ { value: 1, name: '启用', color: '#52c41a' }, // 黄色(警告色) { value: 2, name: '禁用', color: '#ff4d4f' } // 红色(错误色) ]) -export {activatyStatus,enumsStatus,orderStatus,announcementStatus,nbdMutualStatus,workTypeStatus,mettingStatus,userStatus} \ No newline at end of file +//门店列表类型状态 +const storeStatus = new EnumManager([ + { value: 1, name: '待审核', color: '#faad14' }, // 黄色(警告色) + { value: 2, name: '启用', color: '#52c41a' }, // 绿色(进行中) + // { value: 98, name: '禁用', color: '#bfbfbf' }, // 灰色(失效色) + { value: 99, name: '审核不通过', color: '#ff4d4f' } // 红色(错误色) +]) +//门店列表类型状态 +const homeStatus = new EnumManager([ + { value: 1, name: '待审核', color: '#faad14' }, // 黄色(警告色) + { value: 2, name: '启用', color: '#52c41a' }, // 绿色(进行中) + // { value: 98, name: '禁用', color: '#bfbfbf' }, // 灰色(失效色) + { value: 99, name: '审核不通过', color: '#ff4d4f' } // 红色(错误色) +]) +export {activatyStatus,enumsStatus,orderStatus,announcementStatus,nbdMutualStatus,workTypeStatus,mettingStatus,userStatus,storeStatus,homeStatus} \ No newline at end of file diff --git a/src/router/routes/pages.js b/src/router/routes/pages.js index 96c056b..44763ef 100644 --- a/src/router/routes/pages.js +++ b/src/router/routes/pages.js @@ -168,7 +168,7 @@ export default [ name: 'mettingMgt', component: 'RouteViewLayout', meta: { - icon: 'icon-zhoubian', + icon: 'icon-huiyishi1', title: '会议室管理', isMenu: true, keepAlive: true, @@ -206,7 +206,7 @@ export default [ name: 'customer', component: 'pages/user/index.vue', meta: { - icon: HomeOutlined, + icon: 'icon-yonghu', title: '用户管理', isMenu: true, keepAlive: true, diff --git a/src/views/pages/activity/components/EditDialog.vue b/src/views/pages/activity/components/EditDialog.vue index c1a3a3e..6cc4558 100644 --- a/src/views/pages/activity/components/EditDialog.vue +++ b/src/views/pages/activity/components/EditDialog.vue @@ -1,6 +1,6 @@ @@ -82,17 +99,22 @@ import EditDialog from './components/EditDialog.vue' import { PlusOutlined, EditOutlined, DeleteOutlined } from '@ant-design/icons-vue' import { useI18n } from 'vue-i18n' import { delMenu, getDataList } from '@/apis/modules/imgmgt' -import { enumsStatus } from '@/enums/index.js' +import { homeStatus } from '@/enums/index.js' defineOptions({ name: 'homeBanner', }) +const currentForm = ref({}) +const open = ref(false) +const auditStatus = ref(2) +const remark = ref('') const { t } = useI18n() // 解构出t方法 const columns = [ { title: '图片', dataIndex: 'img', width: 100, align: 'center' }, { title: '名称', dataIndex: 'title', key: 'name' }, { title: '状态', dataIndex: 'status', width: 120, align: 'center' }, + { title: '备注', dataIndex: 'remark', align: 'center' }, { title: '顺序', dataIndex: 'sequence', width: 100, align: 'center' }, - { title: t('button.action'), key: 'action', fixed: 'right', width: 100, align: 'center' }, + { title: t('button.action'), key: 'action', fixed: 'right', width: 140, align: 'center' }, ] const { listData, loading, showLoading, hideLoading, paginationState, resetPagination, searchFormData } = usePagination() @@ -128,7 +150,29 @@ async function getPageList() { hideLoading() } } - +const auditHandleEdit = (params) => { + currentForm.value = params + open.value = true +} +const handleAuditEdit = async () => { + try { + const params = { + ...currentForm.value, + status: auditStatus.value, + remark: remark.value + } + const result = await apis.imgmgt.updateMenu(currentForm.value.id, params).catch(() => { + throw new Error() + }) + if (config('http.code.success') === result?.success) { + getPageList() + open.value = false + message.success('审核成功') + } + } catch (error) { + message.error(error.message) + } +} /** * 删除 */ diff --git a/src/views/pages/nbdMutual/nbdMutualAid/components/CommentItem.js b/src/views/pages/nbdMutual/nbdMutualAid/components/CommentItem.js index a911280..00f09cc 100644 --- a/src/views/pages/nbdMutual/nbdMutualAid/components/CommentItem.js +++ b/src/views/pages/nbdMutual/nbdMutualAid/components/CommentItem.js @@ -13,6 +13,10 @@ export const CommentItem = { type: Number, default: 0, }, + parentName:{ + type:String, + default:'' + } }, setup(props) { // 日期格式化函数 @@ -22,7 +26,7 @@ export const CommentItem = { // 返回渲染函数 return () => { - const { comment, depth } = props + const { comment, depth,parentName } = props // 创建子评论元素(递归部分) let childComments = null if (comment.children?.length && depth < 10) { @@ -35,21 +39,22 @@ export const CommentItem = { comment: child, key: child.id, depth: depth + 1, // 传递增加后的深度 + parentName:comment.pusherName||'' }) ) ) } // 构建主组件结构 - return h('div', { class: 'comment' }, [ + return h('div', { class: 'comment'}, [ // 评论头部 - h('div', { class: 'comment-header' }, [ - h('span', { class: 'username' }, comment.pusherName), - h('span', { class: 'time' }, formatDate(comment.createdAt)), + h('div', { class: 'comment-header',style:{display:'flex',justifyContent: 'space-between'} }, [ + h('div', { class: 'username' }, parentName&&depth!==0?`${comment.pusherName}@${parentName}`:comment.pusherName), + h('span', { class: 'time',style:{color:'#999999'} }, formatDate(comment.createdAt)), ]), // 评论内容 - h('div', { class: 'comment-content' }, comment.content), + h('div', { class: 'comment-content',style:{color:'#999999',marginBottom:'5px'} }, comment.content), // 子评论容器 childComments, diff --git a/src/views/pages/nbdMutual/nbdMutualAid/index.vue b/src/views/pages/nbdMutual/nbdMutualAid/index.vue index e1d1bb7..af00d2c 100644 --- a/src/views/pages/nbdMutual/nbdMutualAid/index.vue +++ b/src/views/pages/nbdMutual/nbdMutualAid/index.vue @@ -98,14 +98,14 @@ - + -

{{ nbdMutualAidInfo.content }}

-
- +

{{ nbdMutualAidInfo.content }}

+
+
- 暂无记录... +
暂无评论记录...
diff --git a/src/views/pages/neighborhood/components/EditDialog.vue b/src/views/pages/neighborhood/components/EditDialog.vue index 3fa5fa9..152af80 100644 --- a/src/views/pages/neighborhood/components/EditDialog.vue +++ b/src/views/pages/neighborhood/components/EditDialog.vue @@ -19,7 +19,7 @@ + :options="homeStatus.getAll()" disabled> @@ -43,7 +43,7 @@ import { useForm, useModal, useSpining } from '@/hooks' import { message } from 'ant-design-vue' import { useI18n } from 'vue-i18n' import dayjs from 'dayjs' -import { enumsStatus } from '@/enums/index.js' +import { homeStatus } from '@/enums/index.js' import { spliceUrl } from '@/utils/util' const emit = defineEmits(['ok']) const { t } = useI18n() // 解构出t方法 @@ -107,6 +107,7 @@ function handleOk() { ...values, img: spliceUrl(formData.value?.img[0]), scene: 2, + status:1 } let result = null switch (modal.value.type) { diff --git a/src/views/pages/neighborhood/index.vue b/src/views/pages/neighborhood/index.vue index 2180599..9759286 100644 --- a/src/views/pages/neighborhood/index.vue +++ b/src/views/pages/neighborhood/index.vue @@ -11,7 +11,7 @@ - {{ item.label }} + {{ item.label }} @@ -26,7 +26,7 @@ - --> + --> @@ -39,20 +39,27 @@ + :pagination="paginationState" :scroll="{ x: 1000 }" @change="onTableChange"> @@ -45,7 +64,7 @@ import { usePagination } from '@/hooks' import EditDialog from './components/EditDialog.vue' import { PlusOutlined, EditOutlined, DeleteOutlined } from '@ant-design/icons-vue' import { useI18n } from 'vue-i18n' -import { enumsStatus } from '@/enums/index.js' +import { storeStatus } from '@/enums/index.js' defineOptions({ name: 'serverList', }) @@ -59,11 +78,14 @@ const columns = [ { title: '详细地址', dataIndex: 'storeAddress', ellipsis: true }, { title: '营业时间', dataIndex: 'openAt' }, { title: '状态', dataIndex: 'status', width: 120, align: 'center' }, - { title: t('button.action'), key: 'action', fixed: 'right', width: 100, align: 'center' }, + { title: t('button.action'), key: 'action', fixed: 'right', width: 140, align: 'center' }, ] const { listData, loading, showLoading, hideLoading, paginationState, resetPagination, searchFormData } = usePagination() - +const currentForm = ref({}) +const open = ref(false) +const auditStatus = ref(2) +const remark = ref('') const editDialogRef = ref() getPageList() /** @@ -94,7 +116,29 @@ async function getPageList() { hideLoading() } } - +const auditHandleEdit = (params) => { + currentForm.value = params + open.value = true +} +const handleAuditEdit = async () => { + try { + const params = { + ...currentForm.value, + status: auditStatus.value, + remark: remark.value + } + const result = await apis.serverList.updateMenu(currentForm.value.id, params).catch(() => { + throw new Error() + }) + if (config('http.code.success') === result?.success) { + getPageList() + open.value = false + message.success('审核成功') + } + } catch (error) { + message.error(error.message) + } +} /** * 删除 */ diff --git a/src/views/pages/server/serverType/components/EditDialog.vue b/src/views/pages/server/serverType/components/EditDialog.vue index 2b98fe7..54a0f70 100644 --- a/src/views/pages/server/serverType/components/EditDialog.vue +++ b/src/views/pages/server/serverType/components/EditDialog.vue @@ -85,7 +85,8 @@ function handleOk() { showLoading() const params = { ...values, - iconUrl:formData.value.iconUrl?spliceUrl(formData.value.iconUrl[0]):'' + iconUrl:formData.value.iconUrl?spliceUrl(formData.value.iconUrl[0]):'', + status:1 } let result = null switch (modal.value.type) { diff --git a/src/views/pages/server/serverType/index.vue b/src/views/pages/server/serverType/index.vue index ecb320d..6eb1053 100644 --- a/src/views/pages/server/serverType/index.vue +++ b/src/views/pages/server/serverType/index.vue @@ -13,21 +13,30 @@