Commit c755c7f9 by xiaohai

build for test

parent c147548a
<!DOCTYPE html><html><head><meta charset=utf-8><link rel="shortcut icon" href=./favicon.ico><title>好办管理平台</title><link href=./static/css/app.84fe028f80e2b61e4a6350903ec991de.css rel=stylesheet></head><body style="min-width: 1400px;"><div id=app></div><script type=text/javascript src=./static/js/manifest.f03d8d9b2c978b4004b7.js></script><script type=text/javascript src=./static/js/vendor.4d2c133f7a5e8cba2824.js></script><script type=text/javascript src=./static/js/app.e59a380e2aedb443f86b.js></script></body></html> <!DOCTYPE html><html><head><meta charset=utf-8><link rel="shortcut icon" href=./favicon.ico><title>好办管理平台</title><link href=./static/css/app.237521a6eb6fbb83caa851cd060f7a7d.css rel=stylesheet></head><body style="min-width: 1400px;"><div id=app></div><script type=text/javascript src=./static/js/manifest.d304d264c60cc52aab33.js></script><script type=text/javascript src=./static/js/vendor.4d2c133f7a5e8cba2824.js></script><script type=text/javascript src=./static/js/app.e59a380e2aedb443f86b.js></script></body></html>
\ No newline at end of file \ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
!function(e){var a=window.webpackJsonp;window.webpackJsonp=function(c,n,r){for(var t,o,b,i=0,u=[];i<c.length;i++)o=c[i],f[o]&&u.push(f[o][0]),f[o]=0;for(t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t]);for(a&&a(c,n,r);u.length;)u.shift()();if(r)for(i=0;i<r.length;i++)b=d(d.s=r[i]);return b};var c={},f={44:0};function d(a){if(c[a])return c[a].exports;var f=c[a]={i:a,l:!1,exports:{}};return e[a].call(f.exports,f,f.exports,d),f.l=!0,f.exports}d.e=function(e){var a=f[e];if(0===a)return new Promise(function(e){e()});if(a)return a[2];var c=new Promise(function(c,d){a=f[e]=[c,d]});a[2]=c;var n=document.getElementsByTagName("head")[0],r=document.createElement("script");r.type="text/javascript",r.charset="utf-8",r.async=!0,r.timeout=12e4,d.nc&&r.setAttribute("nonce",d.nc),r.src=d.p+"static/js/"+e+"."+{0:"ad4f2fcdde89de4154fa",1:"26fc7c6e9b4ccca95f46",2:"3cab39e5d2f8a45230c5",3:"cda1da0d6813e80ea10c",4:"1a336f930b1a834bb553",5:"ddbe5efc89827cdbc90c",6:"66da2b242e2489f87a68",7:"68f7570ec0316b746865",8:"8c604ef0e6b4d2ba43c4",9:"db4659a0e6d4af2919da",10:"e4427908658ca86f6255",11:"54e5cb510f198a8972c7",12:"9daa094f82f52a9d4bc2",13:"0dbcccdf022596049f9a",14:"a75588502a2821085f91",15:"00d6d8aad37764dd8210",16:"969c8288cd1dafd9e9ee",17:"dc7a17a5d3035d7983b3",18:"29e20ee041f1c0674fd6",19:"19ce67d0c79febfd5b64",20:"a67936fc14930635fda5",21:"52f0406512b49c4c4921",22:"14faf8f1fff4233f3a3e",23:"7413057c95ac2a051a16",24:"a65971a02be425cfe7d7",25:"2c24de27abe1d03785b0",26:"47454b21c2e8bc230179",27:"064fa358afefaa62cfc1",28:"8a7c324015001d36e19e",29:"72503c368052365cdce4",30:"79e3cabfea3f849b78a9",31:"16a9c6a7b91f72803e7a",32:"34caa703918f83f0fc50",33:"b4ee29e7bf0489951aa2",34:"a07a79869df420486358",35:"11deef5b296644058145",36:"50394c564f02d0020d82",37:"f0f5cfddc9cd88a9bdb3",38:"dfc1e17546d382246116",39:"7eee96327266740f3019",40:"b4ad422e816c7f6d060c",43:"ebcd3aad25b0a21bd550"}[e]+".js";var t=setTimeout(o,12e4);function o(){r.onerror=r.onload=null,clearTimeout(t);var a=f[e];0!==a&&(a&&a[1](new Error("Loading chunk "+e+" failed.")),f[e]=void 0)}return r.onerror=r.onload=o,n.appendChild(r),c},d.m=e,d.c=c,d.d=function(e,a,c){d.o(e,a)||Object.defineProperty(e,a,{configurable:!1,enumerable:!0,get:c})},d.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return d.d(a,"a",a),a},d.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},d.p="./",d.oe=function(e){throw console.error(e),e}}([]); !function(e){var a=window.webpackJsonp;window.webpackJsonp=function(c,n,r){for(var t,o,b,i=0,u=[];i<c.length;i++)o=c[i],f[o]&&u.push(f[o][0]),f[o]=0;for(t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t]);for(a&&a(c,n,r);u.length;)u.shift()();if(r)for(i=0;i<r.length;i++)b=d(d.s=r[i]);return b};var c={},f={44:0};function d(a){if(c[a])return c[a].exports;var f=c[a]={i:a,l:!1,exports:{}};return e[a].call(f.exports,f,f.exports,d),f.l=!0,f.exports}d.e=function(e){var a=f[e];if(0===a)return new Promise(function(e){e()});if(a)return a[2];var c=new Promise(function(c,d){a=f[e]=[c,d]});a[2]=c;var n=document.getElementsByTagName("head")[0],r=document.createElement("script");r.type="text/javascript",r.charset="utf-8",r.async=!0,r.timeout=12e4,d.nc&&r.setAttribute("nonce",d.nc),r.src=d.p+"static/js/"+e+"."+{0:"ad4f2fcdde89de4154fa",1:"26fc7c6e9b4ccca95f46",2:"9fdf9220b9e60ed10617",3:"cda1da0d6813e80ea10c",4:"1a336f930b1a834bb553",5:"ddbe5efc89827cdbc90c",6:"66da2b242e2489f87a68",7:"68f7570ec0316b746865",8:"8c604ef0e6b4d2ba43c4",9:"db4659a0e6d4af2919da",10:"e4427908658ca86f6255",11:"54e5cb510f198a8972c7",12:"9daa094f82f52a9d4bc2",13:"0dbcccdf022596049f9a",14:"a75588502a2821085f91",15:"00d6d8aad37764dd8210",16:"969c8288cd1dafd9e9ee",17:"dc7a17a5d3035d7983b3",18:"29e20ee041f1c0674fd6",19:"19ce67d0c79febfd5b64",20:"a67936fc14930635fda5",21:"52f0406512b49c4c4921",22:"14faf8f1fff4233f3a3e",23:"7413057c95ac2a051a16",24:"a65971a02be425cfe7d7",25:"2c24de27abe1d03785b0",26:"47454b21c2e8bc230179",27:"064fa358afefaa62cfc1",28:"8a7c324015001d36e19e",29:"72503c368052365cdce4",30:"79e3cabfea3f849b78a9",31:"16a9c6a7b91f72803e7a",32:"34caa703918f83f0fc50",33:"b4ee29e7bf0489951aa2",34:"a07a79869df420486358",35:"11deef5b296644058145",36:"50394c564f02d0020d82",37:"f0f5cfddc9cd88a9bdb3",38:"dfc1e17546d382246116",39:"7eee96327266740f3019",40:"b4ad422e816c7f6d060c",43:"ebcd3aad25b0a21bd550"}[e]+".js";var t=setTimeout(o,12e4);function o(){r.onerror=r.onload=null,clearTimeout(t);var a=f[e];0!==a&&(a&&a[1](new Error("Loading chunk "+e+" failed.")),f[e]=void 0)}return r.onerror=r.onload=o,n.appendChild(r),c},d.m=e,d.c=c,d.d=function(e,a,c){d.o(e,a)||Object.defineProperty(e,a,{configurable:!1,enumerable:!0,get:c})},d.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return d.d(a,"a",a),a},d.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},d.p="./",d.oe=function(e){throw console.error(e),e}}([]);
//# sourceMappingURL=manifest.f03d8d9b2c978b4004b7.js.map //# sourceMappingURL=manifest.d304d264c60cc52aab33.js.map
\ No newline at end of file \ No newline at end of file
...@@ -14,12 +14,8 @@ ...@@ -14,12 +14,8 @@
<i class="iconfont icon-yewuduanmorentouxian"></i> <i class="iconfont icon-yewuduanmorentouxian"></i>
</div> </div>
<p class="name">{{li.label}}</p> <p class="name">{{li.label}}</p>
<i class="el-icon-circle-close" @click="delCurrent(li)"></i> <i class="el-icon-circle-close" @click="delCurrent(li, 'visibleList')"></i>
</li> </li>
<!-- <li class="item group-item" v-else :key="index+'_'+li.id">
{{li.label}}
<i class="el-icon-circle-close" @click="delCurrent(li)"></i>
</li> -->
</template> </template>
<li class="item J_add-btn" @click="callPerSelector"><i class="el-icon-plus"></i></li> <li class="item J_add-btn" @click="callPerSelector"><i class="el-icon-plus"></i></li>
</ul> </ul>
...@@ -29,15 +25,19 @@ ...@@ -29,15 +25,19 @@
<template v-for="(li, index) in visibleStoreList"> <template v-for="(li, index) in visibleStoreList">
<li class="item group-item" :key="index+'_'+li.id"> <li class="item group-item" :key="index+'_'+li.id">
{{li.label}} {{li.label}}
<i class="el-icon-circle-close" @click="delCurrent(li)"></i> <i class="el-icon-circle-close" @click="delCurrent(li, 'visibleStoreList')"></i>
</li> </li>
</template> </template>
<li class="item J_add-btn" @click="callSelector"><i class="el-icon-plus"></i></li> <li class="item J_add-btn" @click="callSelector"><i class="el-icon-plus"></i></li>
</ul> </ul>
</el-form-item> </el-form-item>
</el-form> </el-form>
<vue-select-store ref="storeSelector" @handleSelectedList="handleSelectedList" :treeSet="treeSet" selectType="store"></vue-select-store> <p class="m-t-20">
<vue-select-employee ref="selectEmployee" :onlyPerson="true" @handleSelectedList="handlePerSelectedList" :treeSet="perTreeSet" :changed="changed"></vue-select-employee> <el-button type="primary" @click="setSharedGroupVisible">确定</el-button>
<el-button @click="cancelSet">取消</el-button>
</p>
<vue-select-store ref="storeSelector" :defaultList="visibleStoreList" @handleSelectedList="handleSelectedList" :treeSet="treeSet" selectType="store"></vue-select-store>
<vue-select-employee :defaultSelection="visibleList" ref="selectEmployee" :onlyPerson="true" @handleSelectedList="handlePerSelectedList" :treeSet="perTreeSet" :changed="changed"></vue-select-employee>
</div> </div>
</template> </template>
<script> <script>
...@@ -85,7 +85,8 @@ export default { ...@@ -85,7 +85,8 @@ export default {
.then(res => { .then(res => {
console.log(res, "range"); console.log(res, "range");
if (res.data.errorCode == 1) { if (res.data.errorCode == 1) {
ths.visibleList = res.data.result || []; // ths.visibleList = res.data.result || [];
ths.formatList(res.data.result);
} else { } else {
ths.$message.error({ ths.$message.error({
message: res.data.message message: res.data.message
...@@ -98,9 +99,26 @@ export default { ...@@ -98,9 +99,26 @@ export default {
}); });
}); });
}, },
delCurrent(item) { formatList(list) {
let idx = this.visibleList.indexOf(item); let ths = this;
this.visibleList.splice(idx, 1); let perList = [];
let storeList = [];
list.forEach(li => {
li.label = li.name;
if (li.type == 1) {
li.employeeClerkId = li.id;
perList.push(li);
} else {
li.storeId = li.id;
storeList.push(li);
}
});
ths.visibleList = perList;
ths.visibleStoreList = storeList;
},
delCurrent(item, list) {
let idx = this[list].indexOf(item);
this[list].splice(idx, 1);
}, },
callSelector() { callSelector() {
this.treeSet.dialogVisible = true; this.treeSet.dialogVisible = true;
...@@ -111,41 +129,55 @@ export default { ...@@ -111,41 +129,55 @@ export default {
}, },
setSharedGroupVisible() { setSharedGroupVisible() {
let ths = this; let ths = this;
let allList = ths.visibleList.concat(ths.visibleStoreList);
let arr = []; let arr = [];
ths.visibleList.forEach(li => { allList.forEach(li => {
let type = li.employeeClerkId ? 1 : li.storeId ? 2 : 3; let type = li.employeeClerkId ? 1 : 2;
console.log(type);
arr.push({ arr.push({
id: li.id, id: li.id,
type type
}); });
}); });
let params = { let params = {
visibleMemberList: { visibleMemberList: [{
memberList: arr, memberList: arr,
sharedContactGroupId: ths.groupInfo.id sharedContactGroupId: ths.groupInfo.id
} }]
} }
postJson("/haoban-manage-web/shared-contact/add-shared-member", params) postJson("/haoban-manage-web/shared-contact/set-shared-group-visible-range", params)
.then(res => { .then(res => {
console.log(res, "result"); console.log(res, "result");
if (res.data.errorCode == 1) {
ths.$message.success({
message: res.data.message
});
ths.getVisibleRange();
} else {
ths.$message.error({
message: res.data.message
});
}
}).catch(e => { }).catch(e => {
console.log(e); ths.$message.error({
message: e.message
});
}); });
}, },
cancelSet() {
this.$emit("cancelSet");
},
handleSelectedList(list) { handleSelectedList(list) {
console.log(list);
this.visibleStoreList = list; this.visibleStoreList = list;
this.setSharedGroupVisible();
}, },
handlePerSelectedList(list) { handlePerSelectedList(list) {
console.log(list);
this.visibleList = list; this.visibleList = list;
this.setSharedGroupVisible();
} }
}, },
beforeMount() { beforeMount() {
this.getVisibleRange(); this.getVisibleRange();
},
mounted() {
console.log(this.groupInfo, "groupInfo");
} }
} }
</script> </script>
...@@ -163,8 +195,10 @@ export default { ...@@ -163,8 +195,10 @@ export default {
.item { .item {
position: relative; position: relative;
margin-right: 24px; margin-right: 24px;
margin-bottom: 30px;
width:40px; width:40px;
display: flex;
flex-direction: column;
margin-bottom: 30px;
.el-icon-circle-close { .el-icon-circle-close {
position: absolute; position: absolute;
font-size: 16px; font-size: 16px;
...@@ -174,7 +208,8 @@ export default { ...@@ -174,7 +208,8 @@ export default {
cursor: pointer; cursor: pointer;
} }
img { img {
width: 100%; width: 40px;
height: 40px;
border-radius:4px; border-radius:4px;
} }
.replace-head-img { .replace-head-img {
...@@ -189,7 +224,9 @@ export default { ...@@ -189,7 +224,9 @@ export default {
.name { .name {
font-size: 12px; font-size: 12px;
text-align: center; text-align: center;
margin-top: 20px; margin-top: 10px;
overflow-wrap: break-word;
line-height: 1.2;
} }
&.group-item { &.group-item {
padding: 0 10px; padding: 0 10px;
...@@ -212,6 +249,7 @@ export default { ...@@ -212,6 +249,7 @@ export default {
font-size: 16px; font-size: 16px;
box-sizing: border-box; box-sizing: border-box;
cursor: pointer; cursor: pointer;
display: inline-block;
} }
} }
} }
......
...@@ -4,47 +4,49 @@ ...@@ -4,47 +4,49 @@
<el-input prefix-icon="el-icon-search" v-model="searchKey" placeholder="姓名/手机号/部门名称" clearable @clear="clearFn" @keyup.enter.native="searchFn"></el-input> <el-input prefix-icon="el-icon-search" v-model="searchKey" placeholder="姓名/手机号/部门名称" clearable @clear="clearFn" @keyup.enter.native="searchFn"></el-input>
<slot name="buttonBox"></slot> <slot name="buttonBox"></slot>
</div> </div>
<template v-for="area in shareArea"> <template v-if="!searchResultShow">
<div :key="area.sharedContactRelationId"> <template v-for="area in shareArea">
<p class="area-title">{{area.title}}</p> <div :key="area.sharedContactRelationId">
<p class="share-title">我方共享给对方的所有人员</p> <p class="area-title">{{area.title}}</p>
<div class="p-0-15"> <p class="share-title">我方共享给对方的所有人员</p>
<el-tree <div class="p-0-15">
class="search-menu" <el-tree
node-key="id" class="search-menu"
:default-expanded-keys="defaultOpen" node-key="id"
:data="area.shares[0].childrens" :default-expanded-keys="defaultOpen"
:highlight-current="true" :data="area.shares[0].childrens"
:expand-on-click-node="false" :highlight-current="true"
:props="myProps" :expand-on-click-node="false"
@node-click="handleNodeClick"> :props="myProps"
<span class="custom-tree-node" slot-scope="{ node, data }"> @node-click="handleNodeClick">
<i class="iconfont" :class="node.level == 1 ? 'icon-2zuzhijiagou' : 'icon-tongshi-zuzhijiagou'"></i> <span class="custom-tree-node" slot-scope="{ node, data }">
<span>{{ node.label }}</span> <i class="iconfont" :class="node.level == 1 ? 'icon-2zuzhijiagou' : 'icon-tongshi-zuzhijiagou'"></i>
</span> <span>{{ node.label }}</span>
</el-tree> </span>
</div> </el-tree>
<p class="share-title">对方共享给我方的所有人员<i class="el-icon-upload"></i></p> </div>
<div class="p-0-15"> <p class="share-title">对方共享给我方的所有人员<i class="el-icon-upload"></i></p>
<el-tree <div class="p-0-15">
v-if="!searchResultShow" <el-tree
class="search-menu" v-if="!searchResultShow"
node-key="id" class="search-menu"
:default-expanded-keys="defaultOpen" node-key="id"
:data="area.shares[1].childrens" :default-expanded-keys="defaultOpen"
:highlight-current="true" :data="area.shares[1].childrens"
:expand-on-click-node="false" :highlight-current="true"
:props="myProps" :expand-on-click-node="false"
@node-click="handleNodeClick"> :props="myProps"
<span class="custom-tree-node" slot-scope="{ node, data }"> @node-click="handleNodeClick">
<i class="iconfont" :class="node.level == 1 ? 'icon-2zuzhijiagou' : 'icon-tongshi-zuzhijiagou'"></i> <span class="custom-tree-node" slot-scope="{ node, data }">
<span>{{ node.label }}</span> <i class="iconfont" :class="node.level == 1 ? 'icon-2zuzhijiagou' : 'icon-tongshi-zuzhijiagou'"></i>
</span> <span>{{ node.label }}</span>
</el-tree> </span>
</el-tree>
</div>
</div> </div>
</div> </template>
</template> </template>
<div class="search-result-container m-t-15" v-if="searchResultShow"> <div class="search-result-container m-t-15" v-else>
<template v-if="storeFrame"> <template v-if="storeFrame">
<template v-for="(brand, index) in brandList" v-if="brand.departmentList.length > 0 || brand.storeList.length > 0 || brand.searchList.length > 0"> <template v-for="(brand, index) in brandList" v-if="brand.departmentList.length > 0 || brand.storeList.length > 0 || brand.searchList.length > 0">
<div :key="brand.topDepartment.brandId + '_' + index"> <div :key="brand.topDepartment.brandId + '_' + index">
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
</search-menu> </search-menu>
<employee-info v-if="showEmployee == 'employee'" :info="selectedEmployee"></employee-info> <employee-info v-if="showEmployee == 'employee'" :info="selectedEmployee"></employee-info>
<!-- <div class="af-right-container" v-loading="loading" v-else-if="groupInfo.level !=0 || groupInfo.isStoreGroup != 1 || !groupInfo.isMine"> --> <!-- <div class="af-right-container" v-loading="loading" v-else-if="groupInfo.level !=0 || groupInfo.isStoreGroup != 1 || !groupInfo.isMine"> -->
<permission-set :groupInfo="groupInfo" v-else-if="showEmployee == 'permission'"></permission-set> <permission-set @cancelSet="cancelSet" :groupInfo="groupInfo" v-else-if="showEmployee == 'permission'"></permission-set>
<div class="af-right-container" v-loading="loading" v-else> <div class="af-right-container" v-loading="loading" v-else>
<div class="af-right-header"> <div class="af-right-header">
<span class="title-span">{{groupInfo.groupName}}{{total}}人)<span class="not-show-app">本企业通讯录APP中不展示</span></span> <span class="title-span">{{groupInfo.groupName}}{{total}}人)<span class="not-show-app">本企业通讯录APP中不展示</span></span>
...@@ -226,7 +226,7 @@ export default { ...@@ -226,7 +226,7 @@ export default {
}); });
}); });
let params = { let params = {
overwrite: true, overwrite: false,
sharedContactMemberList: [ sharedContactMemberList: [
{ {
sharedContactGroupId: ths.groupInfo.id, sharedContactGroupId: ths.groupInfo.id,
...@@ -261,6 +261,10 @@ export default { ...@@ -261,6 +261,10 @@ export default {
this.currentPage = val; this.currentPage = val;
this.getEmployee(); this.getEmployee();
}, },
cancelSet() {
console.log("Cancel");
this.showEmployee = false;
},
/** /**
* 设置是否共享门店及成员数据 * 设置是否共享门店及成员数据
*/ */
...@@ -288,14 +292,14 @@ export default { ...@@ -288,14 +292,14 @@ export default {
/** /**
* 树形菜单搜索 * 树形菜单搜索
*/ */
handleSearchKey(keyWord) { handleSearchKey(keyword) {
let params = { let params = {
keyWord keyword
}; };
getRequest("/haoban-manage-web/emp/searchpage", params) getRequest("/haoban-manage-web/shared-contact/search-shared-contact", params)
.then(res => { .then(res => {
console.log(res, "search result"); console.log(res, "search result");
this.searchResult = res.data.result; // this.searchResult = res.data.result;
}) })
.catch(e => { .catch(e => {
}); });
......
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