|
|
@@ -9,17 +9,16 @@
|
|
|
<div v-if="resourceList.content && resourceList.content.length > 0">
|
|
|
<div class="customer-btob-wrapper-list" v-for="item in resourceList.content">
|
|
|
<div class="customer-btob-wrapper-content">
|
|
|
- <div class="list-item"><span>UU:</span>{{item.vendorEnterprise.uu}}</div>
|
|
|
<div class="list-item"><span>供应商名称:</span><a>{{item.vendorEnterprise.enName}}</a></div>
|
|
|
- <div class="list-item"><span>简称:</span><a>{{item.vendorEnterprise.enShortname}}</a></div>
|
|
|
<div class="address clearfix"><span class="fl">地址:</span><div class="fl" style="width:5.6rem">{{item.vendorEnterprise.enAddress}}</div></div>
|
|
|
<div class="list-item"><span>联系人:</span>{{item.vendorUser.userName}}</div>
|
|
|
- <div class="list-item"><span>联系人电话:</span>{{item.vendorUser.userTel}}</div>
|
|
|
+ <div class="list-item"><span>供应商电话:</span>{{item.vendorUser.userTel}}</div>
|
|
|
+ <div class="list-item"><span>采购对接人:</span>{{item.saleContacts ? item.saleContacts.toString() : '-'}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="customer-btob-wrapper-bottom clearfix">
|
|
|
+ <div @click="addUserInfo(item)"><i class="iconfont icon-allocation"></i>分配</div>
|
|
|
+ <div @click="transferUserInfo(item)"><i class="iconfont icon-zhuanyi"></i>转移</div>
|
|
|
</div>
|
|
|
- <!--<div class="customer-btob-wrapper-bottom clearfix">-->
|
|
|
- <!--<div @click="addUserInfo(item)"><i class="iconfont icon-allocation"></i>分配</div>-->
|
|
|
- <!--<div @click="transferUserInfo(item)"><i class="iconfont icon-zhuanyi"></i>转移</div>-->
|
|
|
- <!--</div>-->
|
|
|
</div>
|
|
|
</div>
|
|
|
<empty-status
|
|
|
@@ -29,6 +28,49 @@
|
|
|
></empty-status>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <div class="mobile-modal" v-if="modalObj.showModal" @click="closeModal()">
|
|
|
+ <div class="mobile-modal-box mobile-modal-wrapper" @click="stopPropagation($event)">
|
|
|
+ <div class="mobile-modal-header">{{modalObj.type === 'add' ? '客户分配' : '权限转移'}}<i @click="closeModal()" class="icon-guanbi iconfont"></i></div>
|
|
|
+ <div ref="mobileModalBox" class="mobile-scroll-wrap">
|
|
|
+ <div>
|
|
|
+ <div class="customer-modal-wrapper">
|
|
|
+ <div class="search-content mi-search-content">
|
|
|
+ <input type="text" v-model="modalObj.keyword" @input="modalObjonFilter" placeholder="输入用户UU">
|
|
|
+ <span @click="modalObjonFilter"><i class="iconfont icon-sousuo"></i></span>
|
|
|
+ </div>
|
|
|
+ <div class="customer-modal-content">
|
|
|
+ <div class="customer-modal-content-title">
|
|
|
+ <span class="item inline-block" style="width: 28%;" @click="chooseAll()" v-if="modalObj.type === 'add'">
|
|
|
+ <label class="mobile-cart-check" :class="{'active': !Allcheck}"></label>
|
|
|
+ 全选
|
|
|
+ </span>
|
|
|
+ <span class="item inline-block" style="width: 28%;height:2px" v-else>
|
|
|
+
|
|
|
+ </span>
|
|
|
+ <span class="item inline-block" style="width: 32%;">用户UU</span>
|
|
|
+ <span class="item inline-block" style="width: 40%;text-align: center">用户名称</span>
|
|
|
+ </div>
|
|
|
+ <div class="customer-modal-content-list" v-for="item in modalObj.showModalList" v-if="item.userUU !== thisUser.userUU">
|
|
|
+ <span class="item inline-block" style="width: 28%;" @click="checkItem(item)">
|
|
|
+ <label class="mobile-cart-check" :class="{'active': item.distribute}" v-if="modalObj.type === 'add'"></label>
|
|
|
+ <label class="mobile-cart-check" :class="{'active': item.transfer}" v-else></label>
|
|
|
+ <!--<label class="mobile-cart-check" :class="{'active': item.distribute}"></label>-->
|
|
|
+ </span>
|
|
|
+ <span class="item inline-block" style="width: 32%;">{{item.userUU}}</span>
|
|
|
+ <span class="item inline-block" style="width: 40%;text-align: center;">{{item.userName}}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="customer-modal-bottom clearfix">
|
|
|
+ <div class="fl" @click="answerModal()">确定</div>
|
|
|
+ <div class="fr" @click="closeModal()">取消</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <remind-box :title="collectResult" :timeoutCount="timeoutCount"></remind-box>
|
|
|
<pull-up :fixId="'mobile-customer-btob'" :allPage="allPage" :page="filterParams.page" @pullUpAction="onPullUpAction"></pull-up>
|
|
|
</div>
|
|
|
</template>
|
|
|
@@ -47,21 +89,136 @@
|
|
|
count: 10,
|
|
|
page: 1
|
|
|
},
|
|
|
+ collectResult: '',
|
|
|
+ timeoutCount: 0,
|
|
|
resourceList: {
|
|
|
content: []
|
|
|
},
|
|
|
enabled: '',
|
|
|
+ modalObj: {
|
|
|
+ customer: {},
|
|
|
+ showModal: false,
|
|
|
+ showModalList: [], // 筛选完的数据
|
|
|
+ type: 'add', // chance
|
|
|
+ originList: [] // 原数据
|
|
|
+ },
|
|
|
+ transfer: false,
|
|
|
thisUser: {}
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
|
+ this.$http.get('/account/role/currentRole').then(res => {
|
|
|
+ this.thisUser = this.$store.state.option.user.data
|
|
|
+ this.enabled = res.data.count > 0 || this.thisUser.sys
|
|
|
+ })
|
|
|
this.setSelect()
|
|
|
},
|
|
|
|
|
|
methods: {
|
|
|
+ async answerModal() {
|
|
|
+ if (this.modalObj.type !== 'add') {
|
|
|
+ if (this.modalObj.customer.vendorEnterprise.uu) {
|
|
|
+ // 当前用户是管理员时
|
|
|
+ if (this.thisUser.sys) {
|
|
|
+ this.$http.post(`/vendorDistribute/bindUserToVendor/${this.modalObj.customer.id}`, this.modalObj.originList).then(data => {
|
|
|
+ this.onMind('转移成功!')
|
|
|
+ this.closeModal()
|
|
|
+ }, err => {
|
|
|
+ this.onMind(err.data)
|
|
|
+ this.closeModal()
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ this.onMind('您没有权限转移!')
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.closeModal()
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.$http.post(`/vendorDistribute/bindVendor/${this.modalObj.customer.id}`, this.modalObj.originList).then(res => {
|
|
|
+ this.onMind('分配成功!')
|
|
|
+ this.closeModal()
|
|
|
+ }).catch(err => {
|
|
|
+ this.onMind('保存失败!')
|
|
|
+ this.closeModal()
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ chooseAll() {
|
|
|
+ let _str = 'distribute'
|
|
|
+ if (this.modalObj.type !== 'add') {
|
|
|
+ _str = 'transfer'
|
|
|
+ }
|
|
|
+ if (!this.Allcheck) {
|
|
|
+ this.modalObj.showModalList.forEach(item => {
|
|
|
+ item[_str] = false
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ this.modalObj.showModalList.forEach(item => {
|
|
|
+ item[_str] = true
|
|
|
+ })
|
|
|
+ },
|
|
|
+ checkItem(item) {
|
|
|
+ if (this.modalObj.type !== 'add') {
|
|
|
+ if (this.$store.state.option.user.data.sys) { // 管理员操作
|
|
|
+ item.transfer = !item.transfer
|
|
|
+ this.modalObj.originList.forEach(userInfo => {
|
|
|
+ if (this.$store.state.option.user.data.userUU === item.userUU && item.transfer) {
|
|
|
+ this.transfer = true
|
|
|
+ }
|
|
|
+ if (item.userUU !== userInfo.userUU) {
|
|
|
+ userInfo.transfer = false
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else if (this.transfer) { // 被管理员转移权限的非管理员操作
|
|
|
+ item.transfer = !item.transfer
|
|
|
+ this.modalObj.originList.forEach(userInfo => {
|
|
|
+ if (item.userUU !== userInfo.userUU) {
|
|
|
+ userInfo.transfer = false
|
|
|
+ } else {
|
|
|
+ userInfo.transfer = true
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else { // 被分配客户的用户
|
|
|
+ item.transfer = !item.transfer
|
|
|
+ this.modalObj.originList.forEach(userInfo => {
|
|
|
+ if (item.userUU !== userInfo.userUU) {
|
|
|
+ userInfo.transfer = false
|
|
|
+ } else {
|
|
|
+ userInfo.transfer = true
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ item.distribute = !item.distribute
|
|
|
+ }
|
|
|
+ },
|
|
|
+ closeModal() {
|
|
|
+ this.modalObj.showModal = false
|
|
|
+ this.initScroll.destroy()
|
|
|
+ this.initScroll = null
|
|
|
+ },
|
|
|
+ modalObjonFilter() {
|
|
|
+ let _arr = []
|
|
|
+ this.modalObj.originList.forEach(item => {
|
|
|
+ if (item.userUU.toString().indexOf(this.modalObj.keyword) > -1) {
|
|
|
+ _arr.push(item)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.modalObj.showModalList = _arr
|
|
|
+ },
|
|
|
+ init () {
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this._initscroll()
|
|
|
+ })
|
|
|
+ },
|
|
|
onFilter() {
|
|
|
this.setSelect(true)
|
|
|
},
|
|
|
+ onMind(str) {
|
|
|
+ this.collectResult = str
|
|
|
+ this.timeoutCount++
|
|
|
+ },
|
|
|
onPullUpAction() {
|
|
|
this.filterParams.page++
|
|
|
this.setSelect()
|
|
|
@@ -85,11 +242,66 @@
|
|
|
}
|
|
|
this.resourceList = data
|
|
|
data = null
|
|
|
+ },
|
|
|
+ // 分配
|
|
|
+ async addUserInfo(customer) {
|
|
|
+ this.modalObj.type = 'add'
|
|
|
+ this.modalObj.customer = customer
|
|
|
+ this.$http.post(`/vendorDistribute/${customer.id}`).then(res => {
|
|
|
+ customer.enTransfer = res.data.result
|
|
|
+ if (this.enabled || customer.enTransfer) {
|
|
|
+ this.$http.post(`/account/user/customer/${customer.vendorEnterprise.uu}`).then(data => {
|
|
|
+ customer.userinfos = data.data
|
|
|
+ this.modalObj.showModal = true
|
|
|
+ this.modalObj.showModalList = customer.userinfos
|
|
|
+ this.modalObj.originList = customer.userinfos
|
|
|
+ this.init()
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ this.onMind('您没有为当前客户分配用户的权限!')
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 转移
|
|
|
+ transferUserInfo(customer) {
|
|
|
+ this.modalObj.type = 'chance'
|
|
|
+ this.modalObj.customer = customer
|
|
|
+ this.$http.post(`/vendorDistribute/${customer.id}`).then(res => {
|
|
|
+ customer.enTransfer = res.data.result
|
|
|
+ if (this.enabled || customer.enTransfer) {
|
|
|
+ this.$http.get('/authentication').then(res => {
|
|
|
+ this.thisUser = res.data
|
|
|
+ })
|
|
|
+ this.$http.post(`/account/user/customer/${customer.vendorEnterprise.uu}`).then(data => {
|
|
|
+ customer.userinfos = data.data
|
|
|
+ customer.userinfos.forEach(user => {
|
|
|
+ if (this.$store.state.option.user.data.userUU === user.userUU && user.transfer) {
|
|
|
+ this.transfer = true
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.modalObj.showModal = true
|
|
|
+ this.modalObj.showModalList = customer.userinfos
|
|
|
+ this.modalObj.originList = customer.userinfos
|
|
|
+ this.init()
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ this.onMind('您没有为当前客户分配用户的权限!')
|
|
|
+ }
|
|
|
+ })
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
|
|
allPage() {
|
|
|
return this.resourceList.totalPage
|
|
|
+ },
|
|
|
+ Allcheck() {
|
|
|
+ let _str = 'distribute'
|
|
|
+ if (this.modalObj.type !== 'add') {
|
|
|
+ _str = 'transfer'
|
|
|
+ }
|
|
|
+ return this.modalObj.showModalList.some(item => {
|
|
|
+ return item[_str] === false
|
|
|
+ })
|
|
|
}
|
|
|
},
|
|
|
components: {
|