diff --git a/src/apis/modules/aiRequest.js b/src/apis/modules/aiRequest.js
new file mode 100644
index 0000000..1921140
--- /dev/null
+++ b/src/apis/modules/aiRequest.js
@@ -0,0 +1,14 @@
+/**
+ * 图片管理接口
+ */
+import request from '@/utils/request'
+// 获取菜单列表
+export const getDataList = (params) => request.basic.get('/api/v1/ai-requests', params)
+// 获取菜单条数据
+export const getMenu = (id) => request.basic.get(`/api/v1/ai-requests/${id}`)
+// 添加菜单
+export const createMenu = (params) => request.basic.post('/api/v1/ai-requests', params)
+// 更新菜单
+export const updateMenu = (id, params) => request.basic.put(`/api/v1/ai-requests/${id}`, params)
+// 删除菜单
+export const delMenu = (id) => request.basic.delete(`/api/v1/ai-requests/${id}`)
diff --git a/src/assets/iconfont/iconfont.css b/src/assets/iconfont/iconfont.css
index d15a12c..6115f34 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=1752205287294') format('woff2'),
- url('iconfont.woff?t=1752205287294') format('woff'),
- url('iconfont.ttf?t=1752205287294') format('truetype');
+ src: url('iconfont.woff2?t=1753153732187') format('woff2'),
+ url('iconfont.woff?t=1753153732187') format('woff'),
+ url('iconfont.ttf?t=1753153732187') format('truetype');
}
.iconfont {
@@ -13,6 +13,10 @@
-moz-osx-font-smoothing: grayscale;
}
+.icon-rengongzhinengbeifen:before {
+ content: "\e6b9";
+}
+
.icon-yonghu:before {
content: "\e616";
}
diff --git a/src/assets/iconfont/iconfont.js b/src/assets/iconfont/iconfont.js
index c19e8c8..8b669bb 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 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
+window._iconfont_svg_string_4966438='',(l=>{var c=(t=(t=document.getElementsByTagName("script"))[t.length-1]).getAttribute("data-injectcss"),t=t.getAttribute("data-disable-injectsvg");if(!t){var a,i,h,e,o,n=function(c,t){t.parentNode.insertBefore(c,t)};if(c&&!l.__iconfont__svg__cssinject__){l.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(c){console&&console.log(c)}}a=function(){var c,t=document.createElement("div");t.innerHTML=l._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(a,0):(i=function(){document.removeEventListener("DOMContentLoaded",i,!1),a()},document.addEventListener("DOMContentLoaded",i,!1)):document.attachEvent&&(h=a,e=l.document,o=!1,d(),e.onreadystatechange=function(){"complete"==e.readyState&&(e.onreadystatechange=null,s())})}function s(){o||(o=!0,h())}function d(){try{e.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 2da3e7e..b994d96 100644
--- a/src/assets/iconfont/iconfont.json
+++ b/src/assets/iconfont/iconfont.json
@@ -5,6 +5,13 @@
"css_prefix_text": "icon-",
"description": "",
"glyphs": [
+ {
+ "icon_id": "24669053",
+ "name": "人工智能",
+ "font_class": "rengongzhinengbeifen",
+ "unicode": "e6b9",
+ "unicode_decimal": 59065
+ },
{
"icon_id": "5270862",
"name": "用户群体-业务查询",
diff --git a/src/assets/iconfont/iconfont.ttf b/src/assets/iconfont/iconfont.ttf
index 5883f79..81a2a3d 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 dde129c..7fe71ea 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 7957c20..36bbc43 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 bcbe82b..97b137d 100644
--- a/src/enums/index.js
+++ b/src/enums/index.js
@@ -68,4 +68,11 @@ const homeStatus = new EnumManager([
// { 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
+//门店列表类型状态
+const aiStatus = 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,aiStatus}
\ No newline at end of file
diff --git a/src/locales/lang/zh-CN/menu.js b/src/locales/lang/zh-CN/menu.js
index 4e29e26..1936ea1 100644
--- a/src/locales/lang/zh-CN/menu.js
+++ b/src/locales/lang/zh-CN/menu.js
@@ -48,5 +48,6 @@ export default {
mettingMgt:'会议室管理',
mettingRoom:'会议室列表',
mettingYuYue:'预约记录',
- customer:'用户管理'
+ customer:'用户管理',
+ aiHelper:'AI助手'
}
diff --git a/src/router/routes/pages.js b/src/router/routes/pages.js
index 44763ef..cfb3faa 100644
--- a/src/router/routes/pages.js
+++ b/src/router/routes/pages.js
@@ -36,6 +36,18 @@ export default [
keepAlive: true,
permission: '*',
},
+ },
+ {
+ path: 'aiHelper/index',
+ name: 'aiHelper',
+ component: 'pages/aiHelper/index.vue',
+ meta: {
+ icon: 'icon-rengongzhinengbeifen',
+ title: 'ai助手',
+ isMenu: true,
+ keepAlive: true,
+ permission: '*',
+ },
},
{
path: 'activity/index',
diff --git a/src/views/pages/aiHelper/components/EditDialog.vue b/src/views/pages/aiHelper/components/EditDialog.vue
new file mode 100644
index 0000000..4e5d573
--- /dev/null
+++ b/src/views/pages/aiHelper/components/EditDialog.vue
@@ -0,0 +1,227 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/pages/aiHelper/index.vue b/src/views/pages/aiHelper/index.vue
new file mode 100644
index 0000000..6f42350
--- /dev/null
+++ b/src/views/pages/aiHelper/index.vue
@@ -0,0 +1,221 @@
+
+
+
+
+
+
+
+
+
+ 新增
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ aiStatus.getName(record.status)
+ }}
+
+
+
+
+ {{ $t('pages.system.user.edit') }}
+
+
+
+ {{ '审核' }}
+
+
+
+
+
+ {{ $t('pages.system.delete') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+