diff --git a/src/api/login/index.ts b/src/api/login/index.ts
index a82c649..38ca856 100644
--- a/src/api/login/index.ts
+++ b/src/api/login/index.ts
@@ -71,3 +71,10 @@ export const getAppInfo = (instanceId: number) => {
url: '/admin-api/system/serviceInstance/getInstanceInfo?instanceId=' + instanceId
})
}
+
+export const bindWx = (data: any) => {
+ return request.post({
+ url: '/admin-api/system/user/bind/wx',
+ data
+ })
+}
diff --git a/src/api/system/dept/index.ts b/src/api/system/dept/index.ts
index 070d46b..156c740 100644
--- a/src/api/system/dept/index.ts
+++ b/src/api/system/dept/index.ts
@@ -41,3 +41,13 @@ export const updateDept = async (params: DeptVO) => {
export const deleteDept = async (id: number) => {
return await request.delete({ url: '/admin-api/system/dept/delete?id=' + id })
}
+
+// 获取部门业务指标
+export const getDeptTarget = async (deptId: number) => {
+ return await request.get({ url: '/admin-api/crm/dept-target/get', params: { deptId } })
+}
+
+// 更新部门业务指标
+export const updateDeptTarget = async (data: any) => {
+ return await request.put({ url: '/admin-api/crm/dept-target/save', data, isSubmitForm: true })
+}
diff --git a/src/api/system/dict/dict.data.ts b/src/api/system/dict/dict.data.ts
index 3b38226..c0e481e 100644
--- a/src/api/system/dict/dict.data.ts
+++ b/src/api/system/dict/dict.data.ts
@@ -44,6 +44,11 @@ export const deleteDictData = (id: number) => {
}
// 导出字典类型数据
-export const exportDictData = (params) => {
+export const exportDictData = (params: any) => {
return request.get({ url: '/admin-api/crm/dict-data/export', params })
}
+
+// 获取通用字典数据
+export const getGeneralSysDictData = (dictType: string) => {
+ return request.get({ url: '/admin-api/system/dict-data/get-by-type', params: { dictType } })
+}
diff --git a/src/api/system/notify/message/index.ts b/src/api/system/notify/message/index.ts
index 07b6730..3ef0237 100644
--- a/src/api/system/notify/message/index.ts
+++ b/src/api/system/notify/message/index.ts
@@ -1,5 +1,4 @@
import request from '@/config/axios'
-import qs from 'qs'
export interface NotifyMessageVO {
id: number
@@ -16,35 +15,39 @@ export interface NotifyMessageVO {
}
// 查询站内信消息列表
-export const getNotifyMessagePage = async (params: PageParam) => {
+export const getNotifyMessagePage = async (params: any) => {
return await request.get({ url: '/admin-api/system/notify-message/page', params })
}
// 获得我的站内信分页
-export const getMyNotifyMessagePage = async (params: PageParam) => {
+export const getMyNotifyMessagePage = async (params: any) => {
return await request.get({ url: '/admin-api/system/notify-message/my-page', params })
}
// 批量标记已读
-export const updateNotifyMessageRead = async (ids) => {
+export const updateNotifyMessageRead = async (data: any) => {
return await request.put({
- url:
- '/admin-api/system/notify-message/update-read?' +
- qs.stringify({ ids: ids }, { indices: false })
+ url: '/admin-api/system/notify-message/update-read?',
+ data
})
}
// 标记所有站内信为已读
-export const updateAllNotifyMessageRead = async () => {
- return await request.put({ url: '/admin-api/system/notify-message/update-all-read' })
+export const updateAllNotifyMessageRead = async (data: any) => {
+ return await request.put({ url: '/admin-api/system/notify-message/update-all-read', data })
}
// 获取当前用户的最新站内信列表
-export const getUnreadNotifyMessageList = async () => {
- return await request.get({ url: '/admin-api/system/notify-message/get-unread-list' })
+export const getUnreadNotifyMessageList = async (params: any) => {
+ return await request.get({ url: '/admin-api/system/notify-message/get-unread-list', params })
}
// 获得当前用户的未读站内信数量
-export const getUnreadNotifyMessageCount = async () => {
- return await request.get({ url: '/admin-api/system/notify-message/get-unread-count' })
+export const getUnreadNotifyMessageCount = async (params: any) => {
+ return await request.get({ url: '/admin-api/system/notify-message/get-unread-count', params })
+}
+
+// 获取详情
+export const getNotifyMessageDetail = async (id: number) => {
+ return await request.get({ url: '/admin-api/system/notify-message/get', params: { id } })
}
diff --git a/src/api/system/role/daliyReport.js b/src/api/system/role/daliyReport.js
new file mode 100644
index 0000000..e76d863
--- /dev/null
+++ b/src/api/system/role/daliyReport.js
@@ -0,0 +1,25 @@
+import request from '@/config/axios'
+
+// 获取角色快报配置
+export const getRoleDaliyReport = async (roleId) => {
+ return await request.get({
+ url: '/admin-api/system/role-message-setting/get',
+ params: { roleId }
+ })
+}
+
+// 保存角色每日快报配置
+export const updateRoleDaliyReport = async (data) => {
+ return await request.post({
+ url: '/admin-api/system/role-message-setting/save',
+ data,
+ isSubmitForm: true
+ })
+}
+
+// 获取每日快报发送内容
+export const getDaliyReportContent = async () => {
+ return await request.get({
+ url: '/admin-api/system/message-item/list-all-simple'
+ })
+}
diff --git a/src/config/axios/service.ts b/src/config/axios/service.ts
index a4a7ec7..e11c1e1 100644
--- a/src/config/axios/service.ts
+++ b/src/config/axios/service.ts
@@ -205,6 +205,8 @@ service.interceptors.response.use(
if (msg === '无效的刷新令牌') {
// hard coding:忽略这个提示,直接登出
console.log(msg)
+ } else if (code == 18888) {
+ return { data }
} else {
ElNotification.error({ title: msg })
if (code == 403) {
diff --git a/src/layout/components/Message/src/Message.vue b/src/layout/components/Message/src/Message.vue
index f51751f..f5d362f 100644
--- a/src/layout/components/Message/src/Message.vue
+++ b/src/layout/components/Message/src/Message.vue
@@ -1,6 +1,9 @@
+
+
diff --git a/src/views/Basic/Dept/index.vue b/src/views/Basic/Dept/index.vue
index d337d7c..88e4445 100644
--- a/src/views/Basic/Dept/index.vue
+++ b/src/views/Basic/Dept/index.vue
@@ -23,9 +23,13 @@
-
+
+
+ {{ ['启用', '禁用'][row.status] }}
+
+
-
+
修改
+
+ 业绩指标
+
+
+
diff --git a/src/views/Basic/Role/index.vue b/src/views/Basic/Role/index.vue
index 2f894b1..ede7e35 100644
--- a/src/views/Basic/Role/index.vue
+++ b/src/views/Basic/Role/index.vue
@@ -75,9 +75,13 @@
@success="getList"
/>
-
+
+
+
@@ -89,7 +93,7 @@ import RoleForm from './RoleForm.vue'
import RoleEmployee from './Comp/RoleEmployee.vue'
import RoleAssignMenuForm from './RoleAssignMenuForm.vue'
import RoleDataPermissionForm from './RoleDataPermissionForm.vue'
-// import ReportDaily from './Comp/ReportDaily.vue'
+import ReportDaily from './Comp/ReportDaily.vue'
import * as RoleApi from '@/api/system/role'
const message = useMessage() // 消息弹窗
diff --git a/src/views/Basic/User/DeptTree.vue b/src/views/Basic/User/DeptTree.vue
index c7bc14b..3a3a028 100644
--- a/src/views/Basic/User/DeptTree.vue
+++ b/src/views/Basic/User/DeptTree.vue
@@ -1,11 +1,4 @@
-
-
-
-
-
-
-
([]) // 树形结构
const treeRef = ref>()
diff --git a/src/views/Basic/User/UserForm.vue b/src/views/Basic/User/UserForm.vue
index a745737..967652d 100644
--- a/src/views/Basic/User/UserForm.vue
+++ b/src/views/Basic/User/UserForm.vue
@@ -139,7 +139,8 @@ const formData = ref({
remark: '',
status: CommonStatusEnum.ENABLE,
roleIds: [],
- hireDate: ''
+ hireDate: '',
+ isNewUserConfirm: false
})
const formRules = ref({
username: [{ required: true, message: '登录账号不能为空', trigger: 'blur' }],
@@ -192,8 +193,14 @@ const submitForm = async () => {
try {
const data = formData.value as unknown as UserApi.UserVO
if (formType.value === 'create') {
- await UserApi.createUser(data)
- message.success(t('common.createSuccess'))
+ const resp = await UserApi.createUser(data)
+ if (resp.code == 18888) {
+ await message.confirm(resp.msg)
+ formData.value.isNewUserConfirm = true
+ submitForm()
+ } else {
+ message.success(t('common.createSuccess'))
+ }
} else {
await UserApi.updateUser(data)
message.success(t('common.updateSuccess'))
@@ -220,7 +227,8 @@ const resetForm = () => {
remark: '',
status: CommonStatusEnum.ENABLE,
roleIds: [],
- hireDate: formatDate(new Date(), 'YYYY-MM-DD')
+ hireDate: formatDate(new Date(), 'YYYY-MM-DD'),
+ isNewUserConfirm: false
}
formRef.value?.resetFields()
}
diff --git a/src/views/Clue/Order/Comp/Reback.vue b/src/views/Clue/Order/Comp/Reback.vue
index 2a6383e..65107ae 100644
--- a/src/views/Clue/Order/Comp/Reback.vue
+++ b/src/views/Clue/Order/Comp/Reback.vue
@@ -7,6 +7,9 @@
+
+
+
@@ -337,6 +340,7 @@ const searchForm = ref({
applyTime: [],
applyUser: undefined,
checkTime: [],
+ phone: undefined,
pageNo: 1,
pageSize: 20
})
@@ -364,6 +368,7 @@ function handleReset() {
applyTime: [],
applyUser: undefined,
checkTime: [],
+ mobile: undefined,
pageNo: 1,
pageSize: 20
}
diff --git a/src/views/Login/MPLogin.vue b/src/views/Login/MPLogin.vue
new file mode 100644
index 0000000..0647f2e
--- /dev/null
+++ b/src/views/Login/MPLogin.vue
@@ -0,0 +1,86 @@
+
+
+
微信授权登陆
+
+
+
+
+
+
+
+
+
+ 授权登陆
+
+
+
+
+
+
+
diff --git a/src/views/Profile/NotifyMessage.vue b/src/views/Profile/NotifyMessage.vue
index e85a272..e9c0c90 100644
--- a/src/views/Profile/NotifyMessage.vue
+++ b/src/views/Profile/NotifyMessage.vue
@@ -1,7 +1,193 @@
- 站内信
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 标记已读
+
+ 全部已读
+
+
+
+ tips: 双击展示消息详情
+
+
+
+
+
+
+
+
+
+
+ {{ row.readStatus ? '已读' : '未读' }}
+
+
+
+
+
+
+
+function getOptions() {
+ getGeneralSysDictData('message_type').then((data) => {
+ typeOptions.value = data
+ })
+}
-
+/** 初始化 **/
+onMounted(() => {
+ getOptions()
+ getList()
+})
+
diff --git a/src/views/Profile/NotifyMessageDetail.vue b/src/views/Profile/NotifyMessageDetail.vue
new file mode 100644
index 0000000..769ab2f
--- /dev/null
+++ b/src/views/Profile/NotifyMessageDetail.vue
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+ {{ info.title }}
+
+
+ {{ formatDate(info.createTime, 'YYYY-MM-DD hh:mm:ss') }}
+
+
+
+
+
+
+
+
+
+
+
+