|
@@ -1,4 +1,6 @@
|
|
|
-<link rel="stylesheet" href='{{Msg "seo" "cdn"}}/common-module/personDialog/personDialog.scss?v={{Msg "seo" "version"}}'>
|
|
|
+<link rel="stylesheet" href='{{Msg "seo" "cdn"}}/common-module/personDialog/personDialog.css?v={{Msg "seo" "version"}}'>
|
|
|
+<script src=//cdn-common.jianyu360.com/cdn/lib/vue/2.7.14/vue.min.js></script>
|
|
|
+<script src="//cdn-common.jianyu360.com/cdn/lib/element-ui/2.15.13-rc/lib/index.js"></script>
|
|
|
<div id="personDialog">
|
|
|
<div class="ent_powerPerson">
|
|
|
<el-dialog
|
|
@@ -15,9 +17,6 @@
|
|
|
<h4>选择</h4>
|
|
|
<div class="search">
|
|
|
<el-input prefix-icon="el-icon-search" v-model="searchVal" placeholder="搜索" >
|
|
|
- <!-- <template slot="prepend">
|
|
|
- <img style="width: 20px;height: 20px" src="@/assets/images/search.png" alt="">
|
|
|
- </template> -->
|
|
|
</el-input>
|
|
|
</div>
|
|
|
<div class="all" v-if="allQuan">
|
|
@@ -26,15 +25,6 @@
|
|
|
<span class="noselect" @click="allToggle()">全选</span>
|
|
|
</div>
|
|
|
<div class="allList">
|
|
|
- <!-- <div v-for="(item,i) in deal_personList" :key="item.id" :class="{toggle:!item.toggle}">
|
|
|
- <h5><i class="seleced" @click="selectGroup(item,i)" :class="item.status"></i> <span class="noselect" @click="toggle(item,i)">{{ item.name }}</span> <i @click="toggle(item,i)" class="el-icon-arrow-down" :id="'up'+i"></i></h5>
|
|
|
- <div class="itemList" :id="'plays'+i">
|
|
|
- <div v-for="val in deal_personList" :key="val.user_id" @click="chooseUser(val,'single')" :class="{active:val.checked, 'selectDisabled':val.disabled}">
|
|
|
- <h5><i class="seleced" :class="{'selectAll':val.checked&&!val.disabled }"></i></h5>
|
|
|
- <span class="userName">{{ val.username }}</span> <span> {{ val.phone }}</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div> -->
|
|
|
<div v-for="val in deal_personList" :key="val.id" @click="chooseUser(val,'single')" :class="{active:val.toggle, 'selectDisabled':val.disabled}">
|
|
|
<h5>
|
|
|
<i class="seleced" :class="{'selectAll':val.checked&&!val.disabled }"></i>
|
|
@@ -51,15 +41,12 @@
|
|
|
<span class="userName">@@ item.name @@</span>
|
|
|
<span>@@ item.phone @@</span>
|
|
|
<i class="el-icon-error" @click="delChooseUser(i)"></i>
|
|
|
- <!-- <p v-else style="width:24px;height:24px;"></p> -->
|
|
|
+
|
|
|
</li>
|
|
|
</ul>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <!-- <p v-if="currentIndex !== 1 && pagetype!=='manage'">已选择{{ maxLength }}人共购买{{ personList.length }}人</p>
|
|
|
- <p class="rootdialog" v-else>已选择 <span>{{ selectedList.length }}</span> 人共购买 <span>{{ empower_count }}</span> 人</p> -->
|
|
|
<p class="ent_person_tip" v-if="pagetype!==''">
|
|
|
- <!-- <img class="tip_icon" src="@/assets/images/icon/guanyu.png" alt=""> -->
|
|
|
<span>注:同一人员只能拥有1个超级订阅或大会员产品权限,如需添加请删除该人员原有的产品权限</span>
|
|
|
</p>
|
|
|
<span slot="footer" class="dialog-footer btns">
|
|
@@ -69,13 +56,11 @@
|
|
|
</el-dialog>
|
|
|
</div>
|
|
|
</div>
|
|
|
-<script src=//cdn-common.jianyu360.com/cdn/lib/vue/2.7.14/vue.min.js></script>
|
|
|
<script>
|
|
|
var person_Dialog = new Vue({
|
|
|
el: "#personDialog",
|
|
|
delimiters: ["@@", "@@"],
|
|
|
- // template: temp,
|
|
|
- data () {
|
|
|
+ data: function () {
|
|
|
return {
|
|
|
pagetype:'',
|
|
|
selectData:{},
|
|
@@ -84,8 +69,8 @@
|
|
|
vt:'',
|
|
|
centerDialogVisible: false,
|
|
|
searchVal: '',
|
|
|
- personList: {},
|
|
|
- personSpareList: {},
|
|
|
+ personList: [{"id":4357,"name":"企业管理员","phone":"18738625921"}],
|
|
|
+ personSpareList:[{"id":4357,"name":"企业管理员","phone":"18738625921"}],
|
|
|
selectedList: [],
|
|
|
checked: false,
|
|
|
titleMsg: '',
|
|
@@ -107,7 +92,7 @@
|
|
|
selectAreas:[]
|
|
|
}
|
|
|
},
|
|
|
- created () {
|
|
|
+ created: function () {
|
|
|
this.$watch('searchVal', this.debounce((newValue, oldValue) => {
|
|
|
console.log(newValue, oldValue)
|
|
|
const searchList = []
|
|
@@ -195,7 +180,7 @@
|
|
|
}
|
|
|
},
|
|
|
// 获取人员列表
|
|
|
- async getData (flag = 'no', num) {
|
|
|
+ getData (flag = 'no', num) {
|
|
|
this.filterType = !!num
|
|
|
this.loading = true
|
|
|
const selectAreas = this.selectAreas
|
|
@@ -212,38 +197,48 @@
|
|
|
region: num ? '' : selectAreas.toString(),
|
|
|
queryType: num || ''
|
|
|
}
|
|
|
- const res = await getDistributor(this.vt, params)
|
|
|
- if (res.error_code === 0 && res.data && res) {
|
|
|
- // this.personList = data
|
|
|
- this.personList = {}
|
|
|
- this.loading = false
|
|
|
- res.data.forEach(v => {
|
|
|
- v.toggle = true
|
|
|
- v.status = false
|
|
|
- })
|
|
|
- this.personList = res.data
|
|
|
- this.personSpareList = res.data
|
|
|
- if (flag === 'yes') {
|
|
|
- if (this.searchVal) {
|
|
|
- this.allQuan = false
|
|
|
- }
|
|
|
- return
|
|
|
- }
|
|
|
- this.maxLength = res.data.checked
|
|
|
- if (this.pagetype !== 'manage') {
|
|
|
- this.selectedList = res.data.checkedList
|
|
|
- }
|
|
|
- this.allChecked = true
|
|
|
- if (res.data.checked === 0) {
|
|
|
- this.quan = false
|
|
|
- }
|
|
|
- } else {
|
|
|
- this.personList = {}
|
|
|
- this.loading = false
|
|
|
- }
|
|
|
- if (this.searchVal === '') {
|
|
|
- this.allQuan = true
|
|
|
- }
|
|
|
+ $.ajax({
|
|
|
+ type: 'post',
|
|
|
+ contentType: "application/json",
|
|
|
+ url: '/jyapi/jybx/subscribe/eType/distributor',
|
|
|
+ data: JSON.stringify(params),
|
|
|
+ dataType: 'json',
|
|
|
+ success: function (res) {
|
|
|
+ if (res.error_code === 0 && res.data && res) {
|
|
|
+ // this.personList = data
|
|
|
+ this.personList = {}
|
|
|
+ this.loading = false
|
|
|
+ res.data.forEach(v => {
|
|
|
+ v.toggle = true
|
|
|
+ v.status = false
|
|
|
+ })
|
|
|
+ this.personList = res.data
|
|
|
+ this.personSpareList = res.data
|
|
|
+ if (flag === 'yes') {
|
|
|
+ if (this.searchVal) {
|
|
|
+ this.allQuan = false
|
|
|
+ }
|
|
|
+ return
|
|
|
+ }
|
|
|
+ this.maxLength = res.data.checked
|
|
|
+ if (this.pagetype !== 'manage') {
|
|
|
+ this.selectedList = res.data.checkedList
|
|
|
+ }
|
|
|
+ this.allChecked = true
|
|
|
+ if (res.data.checked === 0) {
|
|
|
+ this.quan = false
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.personList = {}
|
|
|
+ this.loading = false
|
|
|
+ }
|
|
|
+
|
|
|
+ if (this.searchVal === '') {
|
|
|
+ this.allQuan = true
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ })
|
|
|
},
|
|
|
// 数组去重
|
|
|
newArrFn (arr) {
|
|
@@ -270,24 +265,34 @@
|
|
|
if (delId.length !== 0) {
|
|
|
if (this.filterType) {
|
|
|
console.log('刷新?')
|
|
|
-
|
|
|
} else {
|
|
|
- getMsgDistributor({ messageId: this.selectDataIds.toString(), staffs: data }).then(res => {
|
|
|
- if (res.error_code === 0) {
|
|
|
- if (res.data === 1) {
|
|
|
- this.$message({ message: '分发成功', type: 'success' })
|
|
|
- } else {
|
|
|
- this.$message({ message: res.error_msg, type: 'warning' })
|
|
|
+ let this_ = this
|
|
|
+ let params_Data = {
|
|
|
+ infoids:this_.selectDataIds,
|
|
|
+ staffs:delId.toString()
|
|
|
}
|
|
|
- } else {
|
|
|
- this.$message({ message: res.error_msg, type: 'warning' })
|
|
|
- }
|
|
|
- })
|
|
|
-
|
|
|
+ $.ajax({
|
|
|
+ type: 'post',
|
|
|
+ contentType: "application/json",
|
|
|
+ url: '/jybx/subscribe/bidDistributor',
|
|
|
+ data: JSON.stringify(params_Data),
|
|
|
+ dataType: 'json',
|
|
|
+ success: function (res) {
|
|
|
+ if (res.error_code === 0) {
|
|
|
+ if (res.data === 1) {
|
|
|
+ this_.$message({ message: '分发成功', type: 'success' })
|
|
|
+ } else {
|
|
|
+ this_.$message({ message: res.error_msg, type: 'warning' })
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this_.$message({ message: res.error_msg, type: 'warning' })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
}
|
|
|
} else {
|
|
|
if (this.filterType) {
|
|
|
- this.$message({ message: '请选择', type: 'warning' })
|
|
|
+ this.$message({ message: '请选择人员', type: 'warning' })
|
|
|
} else {
|
|
|
this.$message({ message: '请选择分发人员', type: 'warning' })
|
|
|
}
|
|
@@ -391,7 +396,7 @@
|
|
|
this._scrollTop = document.scrollingElement.scrollTop
|
|
|
document.body.style.position = 'fixed'
|
|
|
document.body.style.width = '100%'
|
|
|
- document.body.style.top = -_scrollTop + 'px'
|
|
|
+ document.body.style.top = -this._scrollTop + 'px'
|
|
|
},
|
|
|
|
|
|
// popup 关闭时调用
|
|
@@ -402,5 +407,5 @@
|
|
|
document.scrollingElement.scrollTop = this._scrollTop
|
|
|
}
|
|
|
}
|
|
|
- });
|
|
|
+ })
|
|
|
</script>
|