Compare commits

...

3 Commits

Author SHA1 Message Date
9e8e3aeba3 Merge branch 'wyfMain-dev'
Some checks are pending
Check / lint (push) Waiting to run
Check / typecheck (push) Waiting to run
Check / build (build, 18.x, ubuntu-latest) (push) Waiting to run
Check / build (build, 18.x, windows-latest) (push) Waiting to run
Check / build (build:app, 18.x, ubuntu-latest) (push) Waiting to run
Check / build (build:app, 18.x, windows-latest) (push) Waiting to run
Check / build (build:mp-weixin, 18.x, ubuntu-latest) (push) Waiting to run
Check / build (build:mp-weixin, 18.x, windows-latest) (push) Waiting to run
2025-03-20 14:52:23 +08:00
wwt
1f64ffd8aa 调整发起群聊,部门创建的权限
Some checks are pending
Check / lint (push) Waiting to run
Check / typecheck (push) Waiting to run
Check / build (build, 18.x, ubuntu-latest) (push) Waiting to run
Check / build (build, 18.x, windows-latest) (push) Waiting to run
Check / build (build:app, 18.x, ubuntu-latest) (push) Waiting to run
Check / build (build:app, 18.x, windows-latest) (push) Waiting to run
Check / build (build:mp-weixin, 18.x, ubuntu-latest) (push) Waiting to run
Check / build (build:mp-weixin, 18.x, windows-latest) (push) Waiting to run
2025-03-20 14:39:57 +08:00
张 元山
8eb0f0b4f2 处理@
Some checks are pending
Check / lint (push) Waiting to run
Check / typecheck (push) Waiting to run
Check / build (build, 18.x, ubuntu-latest) (push) Waiting to run
Check / build (build, 18.x, windows-latest) (push) Waiting to run
Check / build (build:app, 18.x, ubuntu-latest) (push) Waiting to run
Check / build (build:app, 18.x, windows-latest) (push) Waiting to run
Check / build (build:mp-weixin, 18.x, ubuntu-latest) (push) Waiting to run
Check / build (build:mp-weixin, 18.x, windows-latest) (push) Waiting to run
2025-03-20 11:02:29 +08:00
6 changed files with 705 additions and 520 deletions

View File

@ -31,15 +31,16 @@
"@uni-helper/axios-adapter": "^1.5.2",
"@uni-helper/localforage-adapter": "^1.0.2",
"@uni-helper/uni-use": "^0.19.12",
"@vueup/vue-quill": "^1.2.0",
"@vueuse/core": "^9.13.0",
"@vueup/vue-quill": "^1.2.0",
"quill": "^1.3.7",
"quill-mention": "^4.1.0",
"axios": "^1.7.2",
"dayjs": "^1.11.12",
"less": "^4.2.0",
"lodash": "^4.17.21",
"nzh": "^1.0.13",
"pinia-plugin-persistedstate": "^4.1.3",
"quill-mention": "^6.0.2",
"vconsole": "^3.15.1",
"vue": "^3.3.8",
"vue-i18n": "11.0.0-rc.1"

View File

@ -86,9 +86,12 @@ importers:
pinia-plugin-persistedstate:
specifier: ^4.1.3
version: 4.1.3(pinia@2.0.36(typescript@5.5.4)(vue@3.4.35(typescript@5.5.4)))(rollup@4.19.2)
quill:
specifier: ^1.3.7
version: 1.3.7
quill-mention:
specifier: ^6.0.2
version: 6.0.2
specifier: ^4.1.0
version: 4.1.0
vconsole:
specifier: ^3.15.1
version: 3.15.1
@ -2997,9 +3000,6 @@ packages:
fast-diff@1.2.0:
resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==}
fast-diff@1.3.0:
resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==}
fast-glob@3.3.2:
resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
engines: {node: '>=8.6.0'}
@ -3986,9 +3986,6 @@ packages:
parchment@1.1.4:
resolution: {integrity: sha512-J5FBQt/pM2inLzg4hEWmzQx/8h8D0CiDxaG3vyp9rKrQRSDgBlhjdP5jQGgosEajXPSQouXGHOmVdgo7QmJuOg==}
parchment@3.0.0:
resolution: {integrity: sha512-HUrJFQ/StvgmXRcQ1ftY6VEZUq3jA2t9ncFN4F84J/vN0/FPpQF+8FKXb3l6fLces6q0uOHj6NJn+2xvZnxO6A==}
parse-bmfont-ascii@1.0.6:
resolution: {integrity: sha512-U4RrVsUFCleIOBsIGYOMKjn9PavsGOXxbvYGtMOEfnId0SVNsgehXh1DxUdVPLoxd5mvcEtvmKs2Mmf0Mpa1ZA==}
@ -4262,20 +4259,12 @@ packages:
quill-delta@4.2.2:
resolution: {integrity: sha512-qjbn82b/yJzOjstBgkhtBjN2TNK+ZHP/BgUQO+j6bRhWQQdmj2lH6hXG7+nwwLF41Xgn//7/83lxs9n2BkTtTg==}
quill-delta@5.1.0:
resolution: {integrity: sha512-X74oCeRI4/p0ucjb5Ma8adTXd9Scumz367kkMK5V/IatcX6A0vlgLgKbzXWy5nZmCGeNJm2oQX0d2Eqj+ZIlCA==}
engines: {node: '>= 12.0.0'}
quill-mention@6.0.2:
resolution: {integrity: sha512-ZyiEzLxtoNJ/hAjMyfVsugpXAcOdD2fbHmJT3yKuwpUxiDHdmutVJqOzpItqiVbcjUecnjAF+/Yo1IN3/W6iAg==}
quill-mention@4.1.0:
resolution: {integrity: sha512-dT8HLYeuGU8yjjUr5SgdOusFSqQ7FQt/DWefz4V/L2omJsZ9CVYWepg3GyqV/evNDV7LQtfM7cadxtYD2bi2ew==}
quill@1.3.7:
resolution: {integrity: sha512-hG/DVzh/TiknWtE6QmWAF/pxoZKYxfe3J/d/+ShUWkDvvkZQVTPeVmUJVu1uE6DDooC4fWTiCLh84ul89oNz5g==}
quill@2.0.2:
resolution: {integrity: sha512-QfazNrhMakEdRG57IoYFwffUIr04LWJxbS/ZkidRFXYCQt63c1gK6Z7IHUXMx/Vh25WgPBU42oBaNzQ0K1R/xw==}
engines: {npm: '>=8.2.3'}
range-parser@1.2.1:
resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
engines: {node: '>= 0.6'}
@ -8956,8 +8945,6 @@ snapshots:
fast-diff@1.2.0: {}
fast-diff@1.3.0: {}
fast-glob@3.3.2:
dependencies:
'@nodelib/fs.stat': 2.0.5
@ -10153,8 +10140,6 @@ snapshots:
parchment@1.1.4: {}
parchment@3.0.0: {}
parse-bmfont-ascii@1.0.6: {}
parse-bmfont-binary@1.0.6: {}
@ -10407,15 +10392,9 @@ snapshots:
lodash.clonedeep: 4.5.0
lodash.isequal: 4.5.0
quill-delta@5.1.0:
quill-mention@4.1.0:
dependencies:
fast-diff: 1.3.0
lodash.clonedeep: 4.5.0
lodash.isequal: 4.5.0
quill-mention@6.0.2:
dependencies:
quill: 2.0.2
quill: 1.3.7
quill@1.3.7:
dependencies:
@ -10426,13 +10405,6 @@ snapshots:
parchment: 1.1.4
quill-delta: 3.6.3
quill@2.0.2:
dependencies:
eventemitter3: 5.0.1
lodash-es: 4.17.21
parchment: 3.0.0
quill-delta: 5.1.0
range-parser@1.2.1: {}
raw-body@2.5.2:

View File

@ -34,6 +34,14 @@ export const departmentV2TreeAll2 = (data) => {
data,
})
}
// 查询是否有权限
export const userHasPermission = (data) => {
return request({
url: '/api/v1/contact/check/erp/rule',
method: 'POST',
data,
})
}
//获取指定部门下的所有岗位
export const v2TreePositionByDepartment = (data) => {

View File

@ -33,6 +33,7 @@
</div>
</div>
<div
v-if="isHasPermission"
@click="groupActiveIndex = 1"
class="groupCard secondPanel"
:class="groupActiveIndex === 1 ? 'activePanel' : ''"
@ -136,11 +137,30 @@ import { useChatList } from '@/store/chatList/index.js'
import { useAuth } from '@/store/auth'
import { useTalkStore, useUserStore } from '@/store'
import { useGroupTypeStore } from '@/store/groupType'
import { userHasPermission } from '@/api/deps/index.js'
const { groupActiveIndex, depCheckedKeys } = useGroupTypeStore()
const { userInfo } = useAuth()
onUnload(()=> {
})
const isHasPermission = ref(false)
onShow( async() =>{
const isHasRes = await userHasPermission({
erpUserId: userInfo?.value?.ID,
ruleUrl: [
"auth_chat_app_create_all_dept",
"auth_chat_app_create_limit_dept"
]
})
if (isHasRes.code === 200) {
if (isHasRes.data.auth_chat_app_create_all_dept || isHasRes.data.auth_chat_app_create_limit_dept) {
isHasPermission.value = true
} else{
isHasPermission.value = false
}
}
})
const confirmBtnStatus = computed(() => {
let disabledT = false
switch (groupActiveIndex.value) {
@ -210,10 +230,10 @@ const handleConfirm = () => {
border-radius: 12rpx;
&.firstPanel {
background-image: url('@/static/image/chatList/zu6033@2x.png');
margin-bottom: 28rpx;
}
&.secondPanel {
background-image: url('@/static/image/chatList/zu6031@2x.png');
margin-top: 28rpx;
margin-bottom: 28rpx;
}
&.thirdPanel {

File diff suppressed because it is too large Load Diff

View File

@ -11,10 +11,12 @@ import {
groupCreateDept,
departmentV2TreeAll,
departmentV2TreeAll2,
userHasPermission,
userV2List,
v2TreePositionByDepartment,
} from '@/api/deps/index.js'
import { useAuth } from '@/store/auth'
const { userInfo } = useAuth()
export const useGroupTypeStore = createGlobalState(() => {
const groupName = ref('')
const groupActiveIndex = ref(-1) // 当前激活的分组索引
@ -35,9 +37,34 @@ export const useGroupTypeStore = createGlobalState(() => {
depTreeMyList.value = res.data.nodes
}
}
// userInfo?.value?.ID
const getDepsTreeMy2 = async () => {
const res = await departmentV2TreeAll2()
const isHasRes = await userHasPermission({
erpUserId: userInfo?.value?.ID,
ruleUrl: [
"auth_chat_app_create_all_dept",
"auth_chat_app_create_limit_dept"
]
})
let pramas = { nowUserId : 0 }
if (isHasRes.code === 200) {
if (isHasRes.data.auth_chat_app_create_all_dept) {
pramas = {
nowUserId : 0
}
} else{
if (isHasRes.data.auth_chat_app_create_limit_dept) {
pramas = {
nowUserId : userInfo?.value?.ID
}
} else {
pramas = {
nowUserId : 0
}
}
}
}
const res = await departmentV2TreeAll2(pramas)
if (res.status === 0) {
depTreeMyList.value = res.data.nodes
}