Commit eb037330 authored by xd's avatar xd

通讯录管理--移动修改

parent 1a9b5b71
......@@ -12,4 +12,6 @@ export function getList() {
    method: 'get',
    params: inData
  })
}
\ No newline at end of file
}
\ No newline at end of file
......@@ -47,4 +47,22 @@ export function getHistoryList(data) {
method: 'delete',
params: inData
})
}
// 获取移动分组
// /admin/auth/addressbook/synchronization
export function getGroup() {
return request({
url: '/admin/auth/addressbook/selectGroupPage',
method: 'get',
})
}
// 修改门店名字
export function storeNameChange(data) {
return request({
url: '/admin/auth/stall/update',
method: 'put',
data
})
}
\ No newline at end of file
......@@ -2,25 +2,32 @@
<div class="ct">
<el-dialog
:visible.sync="moveDialog"
width="55%"
width="30%"
:show-close="false"
:close-on-click-modal="false"
>
<div class="choose">
<!-- <div class="choose">
<div class="title">
<div class="cg">选择分组</div>
<div class="circle" @click="handleClose">
<d2-icon-svg name="close" class="icon" />
</div>
</div>
<tree-transfer
:title="title"
:from_data="fromData"
:to_data="toData"
:defaultProps="{ label: 'label' }"
@addBtn="add"
@removeBtn="remove"
:mode="mode"
height="540px"
filter
openAll
>
</tree-transfer>
<!-- <div class="title">
:title="title"
:button_text="['添加', '删除']"
:from_data="fromData"
:to_data="toData"
:defaultProps="{ label: 'label' }"
@addBtn="add"
@removeBtn="remove"
:mode="mode"
height="540px"
:filter="false"
openAll
>
</tree-transfer>
<div class="title">
<div class="cg">选择分组</div>
<div class="circle" @click="handleClose">
<d2-icon-svg name="close" class="icon" />
......@@ -43,8 +50,21 @@
>
</el-transfer>
</div>
</div> -->
</div>
</div>
</div> -->
<el-tree
ref="tree"
class="tree"
show-checkbox
:check-strictly="true"
:data="treeData"
:props="orgData"
node-key="id"
@node-click="handleNodeClick"
@check-change="checkChange"
>
</el-tree>
<span slot="footer" class="dialog-footer">
<el-button @click="handleCancel" size="small">取 消</el-button>
<el-button type="primary" @click="handleFinish" size="small"
......@@ -52,14 +72,14 @@
>
</span>
</el-dialog>
<div>
</div>
<div></div>
</div>
</template>
<script>
import treeTransfer from "el-tree-transfer";
import { getGroup } from "@/api/in/mail";
import { log } from "util";
export default {
props: {
moveDialog: {
......@@ -68,69 +88,18 @@ export default {
}
},
data() {
const generateData = _ => {
const data = [];
for (let i = 1; i <= 15; i++) {
data.push({
key: i,
label: `备选项 ${i}`
});
}
return data;
};
return {
title: "",
mode: "transfer", // transfer addressList
fromData: [
{
id: "1",
pid: 0,
label: "一级 1",
children: [
{
id: "1-1",
pid: "1",
label: "二级 1-1",
disabled: true,
children: []
},
{
id: "1-2",
pid: "1",
label: "二级 1-2",
children: [
{
id: "1-2-1",
pid: "1-2",
children: [],
label: "二级 1-2-1"
},
{
id: "1-2-2",
pid: "1-2",
children: [],
label: "二级 1-2-2"
}
]
}
]
}
],
toData: [],
////////////
data: generateData(),
value: [1],
value4: [1],
renderFunc(h, option) {
return (
<span>
{option.key} - {option.label}
</span>
);
}
orgData: {
label: "name",
children: "adminStallList",
id: "id"
},
treeData: []
};
},
components:{ treeTransfer },
created() {
this.getList();
},
methods: {
handleCancel() {
this.$emit("handleCancel");
......@@ -138,7 +107,7 @@ export default {
handleFinish() {
this.$emit("handleFinish", false);
},
handleChange() {},
/* handleChange() {},
handleClose() {
this.$emit("handleCancel");
},
......@@ -156,18 +125,52 @@ export default {
console.log("toData:", toData);
console.log("obj:", obj);
},
remove(fromData,toData,obj){
// 树形穿梭框模式transfer时,返回参数为左侧树移动后数据、右侧树移动后数据、移动的{keys,nodes,halfKeys,halfNodes}对象
// 通讯录模式addressList时,返回参数为右侧收件人列表、右侧抄送人列表、右侧密送人列表
console.log("fromData:", fromData);
console.log("toData:", toData);
console.log("obj:", obj);
remove(fromData, toData, obj) {
// 树形穿梭框模式transfer时,返回参数为左侧树移动后数据、右侧树移动后数据、移动的{keys,nodes,halfKeys,halfNodes}对象
// 通讯录模式addressList时,返回参数为右侧收件人列表、右侧抄送人列表、右侧密送人列表
console.log("fromData:", fromData);
console.log("toData:", toData);
console.log("obj:", obj);
}, */
handleNodeClick(item, node, self) {
//自己定义的editCheckId,防止单选出现混乱
this.editCheckId = item.id;
this.$refs.tree.setCheckedKeys([item.id]);
},
checkChange(item, node, self) {
if (node == true) {
this.editCheckId = item.id;
this.$refs.tree.setCheckedKeys([item.id]);
} else {
if (this.editCheckId == item.id) {
this.$refs.tree.setCheckedKeys([item.id]);
}
}
},
getList() {
getGroup().then(res => {
console.log(res, "移动的数据获取");
let obj = {
name: "未分组",
id: 0
};
res.data = [obj, ...res.data];
this.treeData = res.data;
});
}
}
};
</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;
......@@ -190,7 +193,7 @@ export default {
padding: 0 !important;
}
.ct >>> .el-dialog__body {
padding: 0;
padding: 40px;
}
.ct >>> .el-transfer-panel {
width: 250px;
......
......@@ -4,7 +4,7 @@
<div>
<div class="title">组织架构</div>
<div class="bottom">
<div class="ty" @click="getMailList">
<div class="ty" @click="getMailList(1)">
<div>
<span>全部</span>
<span class="number">{{ allNumber }}</span>
......@@ -26,32 +26,14 @@
>
<span class="custom-tree-node" slot-scope="{ node, data }">
<span>{{ node.label }}</span>
<span style="margin-left:30px;" class="btn">
<el-button
type="text"
size="mini"
@click="() => edit(data)"
v-if="data.type"
>
<i class="el-icon-edit"></i>
</el-button>
<el-button
v-if="data.type"
type="text"
size="mini"
@click="() => remove(node, data)"
>
<i class="el-icon-delete"></i>
</el-button>
</span>
</span>
</el-tree>
</div>
</div>
</div>
<div class="end">
<!-- <div class="end">
<span class="add-r" @click="addStore">添加门店/专柜</span>
</div>
</div> -->
</div>
<div class="right">
<!-- <div class="right-c"> -->
......@@ -151,24 +133,22 @@
@handleCancel="moveDialogShow = false"
@handleFinish="removeFinish"
></move-dialog>
<add-store ref="addStore"></add-store>
<el-dialog title="提示" :visible.sync="nameDialog" width="30%">
<!-- <el-dialog title="提示" v-if="nameDialog" :visible.sync="nameDialog" width="30%" >
<div class="changeName">
<span style="margin:0 10px;">门店名称:</span>
<el-input v-model="storeName" placeholder="请输入名称"></el-input>
<el-input v-model="store.name" placeholder="请输入名称"></el-input>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="nameDialog = false">取 消</el-button>
<el-button type="primary" @click="nameDialog = false">确 定</el-button>
<el-button type="primary" @click="handleNameChange">确 定</el-button>
</span>
</el-dialog>
</el-dialog> -->
</div>
</template>
<script>
import MoveDialog from "./components/move";
import AddStore from "./components/addStore";
import { getOrgTree,getAllMemberList,getNoGroupMember,getMemberById } from "@/api/in/mail";
import { getOrgTree,getAllMemberList,getNoGroupMember,getMemberById,storeNameChange } from "@/api/in/mail";
export default {
data() {
const data1 = [
......@@ -567,7 +547,6 @@ export default {
moveDialogShow: false,
counterDialog: false,
storeDialog: false,
storeName: "",
nameDialog: false,
allNumber: "",
wNumber: "",
......@@ -576,12 +555,15 @@ export default {
children: "adminStallList",
id: "id"
},
type: 1
type: 1,
store: {
name: "",
id: ""
}
};
},
components: {
MoveDialog,
AddStore
},
created() {
this.getOrgTree();
......@@ -626,32 +608,6 @@ export default {
this.page.total = Number(res.data.total)
})
},
append(data) {
const newChild = { id: id++, label: "testtest", children: [] };
if (!data.children) {
this.$set(data, "children", []);
}
data.children.push(newChild);
},
edit(data) {
console.log(data, "data");
this.nameDialog = true;
},
remove(data) {
console.log("删除");
this.$confirm(
"门店下包含成员,删除后所有成员将被移动到“未分组”列表,是否确认继续删除?",
{}
)
.then(() => {
this.$message.success("删除成功");
})
.catch(() => {
this.$message.info("取消删除");
});
},
listPick() {},
testButtonClick() {},
pagesSizeChange() {},
......@@ -673,10 +629,10 @@ export default {
/* addCounter() {
this.$refs.addCounter.counterDialog = true;
}, */
addStore() {
/* addStore() {
this.$refs.addStore.addStoreDialog = true;
},
}, */
getMailList(page) {
this.type = 1
let params = {
......
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