Commit 5949cb0b authored by wengjianling's avatar wengjianling

pc通讯录管理

parent a9758cfa
...@@ -5,7 +5,7 @@ import request from '@/utils/request' ...@@ -5,7 +5,7 @@ import request from '@/utils/request'
//通讯录管理---表格---获取全部人员 //通讯录管理---表格---获取全部人员
export function getAllMemberList(data) { export function getAllMemberList(data) {
return request({ return request({
url: '/admin/auth/addressbook/getUserAll', url: '/admin/auth/addressbook/clerk/getAll',
method: 'get', method: 'get',
params: data params: data
}) })
...@@ -13,7 +13,7 @@ export function getAllMemberList(data) { ...@@ -13,7 +13,7 @@ export function getAllMemberList(data) {
// 获取未分组人员 // 获取未分组人员
export function getNoGroupMember(data) { export function getNoGroupMember(data) {
return request({ return request({
url: '/admin/auth/addressbook/getUserUnselected', url: '/admin/auth/addressbook/clerk/getArrangeNot',
method: 'get', method: 'get',
params: data params: data
}) })
...@@ -21,7 +21,7 @@ export function getNoGroupMember(data) { ...@@ -21,7 +21,7 @@ export function getNoGroupMember(data) {
// 获取柜组用户 // 获取柜组用户
export function getGroupById(data) { export function getGroupById(data) {
return request({ return request({
url: '/admin/auth/addressbook/getUserByShopId', url: '/admin/auth/addressbook/orgnization/getClerkById',
method: 'get', method: 'get',
params: data params: data
}) })
...@@ -37,13 +37,13 @@ export function getMemberById(data) { ...@@ -37,13 +37,13 @@ export function getMemberById(data) {
//通讯录管理---组织架构 //通讯录管理---组织架构
export function getOrgTree() { export function getOrgTree() {
return request({ return request({
url: '/admin/auth/addressbook/addressBookPage', url: '/admin/auth/addressbook/orgnization/getAll',
method: 'get', method: 'get',
}) })
} }
export function getHistoryList(data) { export function getHistoryList(data) {
return request({ return request({
url: 'admin/auth/addressbook/synchronization', url: 'admin/auth/addressbook/clerk/synchronization',
method: 'get', method: 'get',
params:data params:data
}) })
...@@ -57,7 +57,6 @@ export function getHistoryList(data) { ...@@ -57,7 +57,6 @@ export function getHistoryList(data) {
} }
// 获取移动分组 // 获取移动分组
// /admin/auth/addressbook/synchronization
export function getGroup() { export function getGroup() {
return request({ return request({
url: '/admin/auth/addressbook/selectGroupPage', url: '/admin/auth/addressbook/selectGroupPage',
...@@ -77,7 +76,16 @@ export function getHistoryList(data) { ...@@ -77,7 +76,16 @@ export function getHistoryList(data) {
// 移动人员 // 移动人员
export function moveMember(data) { export function moveMember(data) {
return request({ return request({
url: 'admin/auth/addressbook/updateStallClerkByUserId', url: 'admin/auth/addressbook/clerk/moveTo',
method: 'put',
params:data
})
}
// 设置管理员||取消管理员
export function changeRole(data) {
return request({
url: 'admin/auth/addressbook/clerk/configManagerById',
method: 'put', method: 'put',
params:data params:data
}) })
...@@ -86,8 +94,26 @@ export function getHistoryList(data) { ...@@ -86,8 +94,26 @@ export function getHistoryList(data) {
// 模糊查询 // 模糊查询
export function search(data) { export function search(data) {
return request({ return request({
url: '/admin/auth/addressbook/getUserByKeyWords', url: '/admin/auth/addressbook/clerk/getByUserIdOrUserName',
method: 'get', method: 'get',
params:data params:data
}) })
} }
// 添加子部门
export function addGroup(data) {
return request({
url: '/admin/auth/addressbook/orgnization/save',
method: 'post',
params:data
})
}
// 删除子部门
export function deleteGroup(data) {
return request({
url: '/admin/auth/addressbook/orgnization/deleteById',
method: 'delete',
params:data
})
}
\ No newline at end of file
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
</div> </div>
</div> </div>
<!-- 下面 主体 --> <!-- 下面 主体 -->
<div class="d2-theme-container" flex-box="1" flex flex="dir:top"> <div class="d2-theme-container" flex-box="1" flex="dir:top">
<!-- 主体 侧边栏 --> <!-- 主体 侧边栏 -->
<!-- <div <!-- <div
flex-box="0" flex-box="0"
...@@ -101,17 +101,17 @@ export default { ...@@ -101,17 +101,17 @@ export default {
name: 'd2-layout-header-aside', name: 'd2-layout-header-aside',
mixins: [mixinSearch], mixins: [mixinSearch],
components: { components: {
d2MenuSide, // d2MenuSide,
d2MenuHeader, d2MenuHeader,
d2Tabs, // d2Tabs,
d2HeaderFullscreen, d2HeaderFullscreen,
d2HeaderLocales, // d2HeaderLocales,
d2HeaderSearch, // d2HeaderSearch,
d2HeaderSize, // d2HeaderSize,
d2HeaderTheme, // d2HeaderTheme,
d2HeaderUser, d2HeaderUser,
d2HeaderLog, // d2HeaderLog,
d2HeaderColor, // d2HeaderColor,
d2HeaderAlarmNotify d2HeaderAlarmNotify
}, },
data () { data () {
......
<template>
<div class="ct">
<el-dialog
title="创建子部门"
:visible.sync="addDialog"
width="30%"
:show-close="false"
:close-on-click-modal="false"
>
<div class="config_item">
<label class="config_name">部门名称</label>
<el-input class="config_value" v-model="params.d_name" placeholder="请输入部门名称" />
</div>
<div class="config_item">
<span class="config_name">上级部门</span>
<div>
<div @click="showTreeData" class="config_value father_group">
<span class="father_name_text">{{ paramsForShow.father_name }}</span>
<span :class="showTree ? 'arrow_up' : 'arrow_down'"></span>
</div>
</div>
</div>
<div class="tree_data" v-if="showTree">
<el-tree
ref="tree"
class="tree"
:check-strictly="true"
:data="treeData"
node-key="id"
@node-click="handleNodeClick"
@check-change="checkChange"
>
</el-tree>
</div>
<div class="config_item">
<label class="config_name">店铺编号</label>
<el-input class="config_value" v-model="params.code" placeholder="请输入店铺编号" />
</div>
<div class="tips" v-if="checked">请将表单填写完整</div>
<span slot="footer" class="dialog-footer">
<el-button @click="handleAddCancel" size="small">取 消</el-button>
<el-button type="primary" @click="handleAddFinish" size="small"
>确 定</el-button
>
</span>
</el-dialog>
<div></div>
</div>
</template>
<script>
import { addGroup, getOrgTree } from "@/api/in/mail";
import { log } from "util";
export default {
props: {
addDialog: {
type: Boolean,
default: false
}
},
data() {
return {
treeData: [],
group_name: '',
shop_code: '',
showTree: false,
paramsForShow: {
name: '',
father_name: '',
code: ''
},
params: {
d_name: '',
d_parentId: '',
code: ''
},
checked: false
};
},
created() {
this.getList()
},
methods: {
handleAddCancel() {
this.$emit("handleAddCancel");
},
handleAddFinish() {
if(!this.params.d_name || !this.params.d_parentId || !this.params.code) {
this.checked = true
return
}
addGroup(this.params).then(res=> {
// console.log(res)
})
// console.log(addGroup)
this.$emit("handleAddFinish");
},
handleNodeClick(item, node, self) {
// console.log(item,node,self)
this.params.d_parentId = item.id;
this.paramsForShow.father_name = item.label
},
checkChange(item, node, self) {
},
showTreeData() {
this.showTree = !this.showTree
},
getList() {
getOrgTree().then(res => {
console.log(res.data.organizations)
this.treeData = [res.data.organizations];
}).catch(err => {
console.log(err)
});
}
}
};
</script>
<style scoped>
.tree >>> .is-leaf + .el-checkbox .el-checkbox__inner {
display: inline-block;
}
.tree >>> .el-checkbox .el-checkbox__inner {
display: none;
}
.choose {
padding: 16px;
font-size: 16px;
font-weight: bold;
color: rgba(56, 56, 56, 1);
box-sizing: border-box;
}
.title {
display: flex;
align-items: center;
justify-content: space-between;
/* border-bottom: 1px solid #f8f8f8; */
padding-bottom: 10px;
}
.transfer-footer {
margin-left: 20px;
padding: 6px 5px;
}
.ct >>> .el-dialog__header {
border-bottom: 1px solid #f8f8f8;
}
.ct >>> .el-dialog__body {
padding: 20px 40px;
}
.ct >>> .el-transfer-panel {
width: 250px;
}
.circle {
width: 30px;
height: 30px;
line-height: 30px;
border-radius: 50%;
border: 1px solid rgba(208, 2, 27, 1);
position: relative;
}
.circle >>> .icon {
width: 28px;
height: 28px;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
.br {
border-top: 1px solid #f8f8f8;
border-bottom: 1px solid #f8f8f8;
padding: 24px 0;
}
.config_item {
display: flex;
flex-direction: row;
align-items: center;
}
.config_name:before {
content: '* ';
color: red;
}
.config_name {
width: 80px;
text-align: center;
margin-right: 10px;
}
.config_value {
width: 230px;
}
.father_group {
margin: 10px 0;
width: 228px;
height: 38px;
border-radius: 4px;
border: 1px solid #DCDFE6;
position: relative;
}
.arrow_down {
width: 0;
height: 0;
border-width: 5px;
border-style: solid;
border-color: #ccc transparent transparent transparent;
position: absolute;
right: 10px;
top: 20px;
}
.arrow_up {
width: 0;
height: 0;
border-width: 5px;
border-style: solid;
border-color: transparent transparent #ccc transparent;
position: absolute;
right: 10px;
top: 15px;
}
.tree_data {
margin-left: 90px;
}
.father_name_text {
line-height: 38px;
padding-left: 15px;
}
.tips {
width: 100%;
text-align: center;
color: red;
margin: 5px 0;
}
</style>
<template>
<div class="ct">
<el-dialog
title="删除子部门"
:visible.sync="deleteDialog"
width="30%"
:show-close="false"
:close-on-click-modal="false"
>
<div v-if="nowNode.children.length > 0 ? true : false">删除"{{nowNode.label}}"请先删除其下所有子部门</div>
<div v-else>部门"{{nowNode.label}}"删除后,该部门下的用户会被分配至“未分组列表”,是否删除?</div>
<span slot="footer" class="dialog-footer">
<el-button @click="handleDeleteCancel" size="small">取 消</el-button>
<el-button v-if="nowNode.children.length > 0 ? false : true" type="primary" @click="handleDeleteFinish" size="small"
>确 定</el-button
>
</span>
</el-dialog>
<div></div>
</div>
</template>
<script>
import { deleteGroup } from "@/api/in/mail";
import { log } from "util";
export default {
props: {
deleteDialog: {
type: Boolean,
default: true
},
nowNode: {
type: Object,
default: {}
}
},
data() {
return {
};
},
created() {
console.log(this.nowNode)
},
methods: {
handleDeleteCancel() {
this.$emit('handleDeleteCancel')
},
handleDeleteFinish() {
deleteGroup({id: this.nowNode.id}).then(res => {
console.log(res)
})
this.$emit('handleDeleteFinish')
}
}
};
</script>
<style scoped>
.tree >>> .is-leaf + .el-checkbox .el-checkbox__inner {
display: inline-block;
}
.tree >>> .el-checkbox .el-checkbox__inner {
display: none;
}
.choose {
padding: 16px;
font-size: 16px;
font-weight: bold;
color: rgba(56, 56, 56, 1);
box-sizing: border-box;
}
.title {
display: flex;
align-items: center;
justify-content: space-between;
/* border-bottom: 1px solid #f8f8f8; */
padding-bottom: 10px;
}
.transfer-footer {
margin-left: 20px;
padding: 6px 5px;
}
.ct >>> .el-dialog__header {
border-bottom: 1px solid #f8f8f8;
}
.ct >>> .el-dialog__body {
padding: 20px 40px;
}
.ct >>> .el-transfer-panel {
width: 250px;
}
.circle {
width: 30px;
height: 30px;
line-height: 30px;
border-radius: 50%;
border: 1px solid rgba(208, 2, 27, 1);
position: relative;
}
.circle >>> .icon {
width: 28px;
height: 28px;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
.br {
border-top: 1px solid #f8f8f8;
border-bottom: 1px solid #f8f8f8;
padding: 24px 0;
}
</style>
...@@ -102,7 +102,7 @@ export default { ...@@ -102,7 +102,7 @@ export default {
page: { page: {
currentPage: 1, currentPage: 1,
size: 20, size: 20,
total: 100 total: 0
}, },
}; };
}, },
...@@ -115,9 +115,9 @@ export default { ...@@ -115,9 +115,9 @@ export default {
pageNum: 1 pageNum: 1
} }
getHistoryList(params).then(res => { getHistoryList(params).then(res => {
console.log(res,"res"); // console.log(res,"res");
this.main = res.data.list this.main = res.data.pageInfo.list
this.page.total = Number(res.data.total) this.page.total = Number(res.data.pageInfo.total)
}) })
}, },
setListsHeadStyle({ row, column, rowIndex, columnIndex }) { setListsHeadStyle({ row, column, rowIndex, columnIndex }) {
......
...@@ -59,7 +59,6 @@ ...@@ -59,7 +59,6 @@
show-checkbox show-checkbox
:check-strictly="true" :check-strictly="true"
:data="treeData" :data="treeData"
:props="orgData"
node-key="id" node-key="id"
@node-click="handleNodeClick" @node-click="handleNodeClick"
@check-change="checkChange" @check-change="checkChange"
...@@ -78,7 +77,7 @@ ...@@ -78,7 +77,7 @@
</template> </template>
<script> <script>
import { getGroup, moveMember } from "@/api/in/mail"; import { getOrgTree, moveMember } from "@/api/in/mail";
import { log } from "util"; import { log } from "util";
export default { export default {
...@@ -94,11 +93,6 @@ export default { ...@@ -94,11 +93,6 @@ export default {
}, },
data() { data() {
return { return {
orgData: {
label: "name",
children: "adminStallList",
id: "id"
},
treeData: [] treeData: []
}; };
}, },
...@@ -110,10 +104,11 @@ export default { ...@@ -110,10 +104,11 @@ export default {
this.$emit("handleCancel"); this.$emit("handleCancel");
}, },
handleFinish() { handleFinish() {
console.log(this.idList)
let groupId = this.$refs.tree.getCheckedKeys()[0] let groupId = this.$refs.tree.getCheckedKeys()[0]
let data = { let data = {
stallIds: groupId, departmentId: groupId,
userIds: this.idList+',' id: this.idList[0]
} }
moveMember(data).then(res=> { moveMember(data).then(res=> {
this.$emit("handleFinish", false); this.$emit("handleFinish", false);
...@@ -162,14 +157,9 @@ export default { ...@@ -162,14 +157,9 @@ export default {
}, },
getList() { getList() {
getGroup().then(res => { getOrgTree().then(res => {
console.log(res, "移动的数据获取"); console.log(res.data.organizations)
let obj = { this.treeData = [res.data.organizations];
name: "未分组",
id: 0
};
res.data = [obj, ...res.data];
this.treeData = res.data;
}); });
} }
} }
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment