|
|
@@ -4,9 +4,7 @@
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="12">
|
|
|
<div>
|
|
|
- <div class="flex-align-center flex-between normal-margin">
|
|
|
- <el-checkbox v-model="allcheck1">全 选</el-checkbox>
|
|
|
- <el-checkbox v-model="allcheck1">仅组织负责人可见</el-checkbox>
|
|
|
+ <div class="normal-margin" style="height:32px;line-height:32px">
|
|
|
</div>
|
|
|
<div class="panel">
|
|
|
<div class="tab flex-align-center">
|
|
|
@@ -14,24 +12,52 @@
|
|
|
<p :class="activeName === '营销组织'?'tab-act':''" @click="tabChange('营销组织')">营销组织</p>
|
|
|
</div>
|
|
|
<div>
|
|
|
- <deplist v-if="activeName === '组织架构'" :checked="true"></deplist>
|
|
|
- <arealist v-else :checked="true"></arealist>
|
|
|
+ <deplist v-show="activeName === '组织架构'" :checked="true" :dep_default="defaultData.departmentid" @onChecked="onChecked"></deplist>
|
|
|
+ <arealist v-show="activeName === '营销组织'" :checked="true" :area_default="defaultData.sa_saleareaid" @onAreaChecked="onAreaChecked" ></arealist>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="12" v-show="activeName === '组织架构'">
|
|
|
<div>
|
|
|
- <!-- <div class="flex-align-center flex-between normal-margin">
|
|
|
- <el-checkbox v-model="allcheck1">全 选</el-checkbox>
|
|
|
- <el-checkbox v-model="allcheck1">仅组织负责人可见</el-checkbox>
|
|
|
- </div> -->
|
|
|
- <div></div>
|
|
|
+ <div class="flex-align-center flex-between normal-margin">
|
|
|
+ <el-checkbox v-model="allcheck_m" :indeterminate="isIndeterminate" @change="handleCheckAllChange">全 选</el-checkbox>
|
|
|
+ <el-checkbox v-model="allcheck1" @change="handleCheckedChange">仅组织负责人可见</el-checkbox>
|
|
|
+ </div>
|
|
|
<div class="panel">
|
|
|
<div class="tab flex-align-center">
|
|
|
<p>人员信息</p>
|
|
|
</div>
|
|
|
- <div>
|
|
|
+ <div class="container" style="max-height:600px;overflow-y:scroll">
|
|
|
+ <el-input size="small" v-model="searchValue" class="normal-margin" placeholder="搜索人员" clearable></el-input>
|
|
|
+ <el-checkbox-group v-model="checkedMenbers" @change="handleCheckedChange">
|
|
|
+ <div v-for="item in menberData" :key="item.index">
|
|
|
+ <el-checkbox v-if="searchValue" v-show="item.name === searchValue" :label="item.hrid">{{item.name}}</el-checkbox>
|
|
|
+ <el-checkbox v-else :label="item.hrid">{{item.name}}</el-checkbox>
|
|
|
+ </div>
|
|
|
+ </el-checkbox-group>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12" v-show="activeName === '营销组织'">
|
|
|
+ <div>
|
|
|
+ <div class="flex-align-center flex-between normal-margin">
|
|
|
+ <el-checkbox v-model="allcheck_a" :indeterminate="isIndeterminate2" @change="handleCheckAllChange">全 选</el-checkbox>
|
|
|
+ <el-checkbox v-model="allcheck2" @change="handleCheckedChange">仅经销商主账号可见</el-checkbox>
|
|
|
+ </div>
|
|
|
+ <div class="panel">
|
|
|
+ <div class="tab flex-align-center">
|
|
|
+ <p>经销商信息</p>
|
|
|
+ </div>
|
|
|
+ <div class="container" style="max-height:600px;overflow-y:scroll">
|
|
|
+ <el-input size="small" v-model="searchValue" class="normal-margin" placeholder="搜索人员" clearable></el-input>
|
|
|
+ <el-checkbox-group v-model="checkedAgents" @change="handleCheckedChange">
|
|
|
+ <div v-for="item in agentData" :key="item.index">
|
|
|
+ <el-checkbox v-if="searchValue" v-show="item.agentname === searchValue" :label="item.sa_agentsid">{{item.agentname}}</el-checkbox>
|
|
|
+ <el-checkbox v-else :label="item.sa_agentsid">{{item.agentname}}</el-checkbox>
|
|
|
+ </div>
|
|
|
+ </el-checkbox-group>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -53,12 +79,119 @@ export default {
|
|
|
return {
|
|
|
activeName:'组织架构',
|
|
|
allcheck1:false,
|
|
|
+ allcheck2:false,
|
|
|
+ allcheck_m:false,
|
|
|
+ allcheck_a:false,
|
|
|
+ isIndeterminate:true,
|
|
|
+ isIndeterminate2:true,
|
|
|
+ menberData:[],
|
|
|
+ checkedMenbers:[],
|
|
|
+ checkedAgents:[],
|
|
|
+ depChecked:[],
|
|
|
+ areaChecked:[],
|
|
|
+ agentData:[],
|
|
|
+ searchValue:null,
|
|
|
+ defaultData:{}
|
|
|
}
|
|
|
},
|
|
|
methods:{
|
|
|
tabChange (val) {
|
|
|
this.activeName = val
|
|
|
- }
|
|
|
+ },
|
|
|
+ // 查询授权信息
|
|
|
+ async query_auth () {
|
|
|
+ const res = await this.$api.requested({
|
|
|
+ "classname": "webmanage.saletool.courseware.coursewareauth",
|
|
|
+ "method": "selectList",
|
|
|
+ "content": {
|
|
|
+ "sat_coursewareid": this.$route.query.id,
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.defaultData = res.data
|
|
|
+ this.checkedMenbers = res.data.hrid
|
|
|
+ this.checkedAgents = res.data.sa_agentsid
|
|
|
+ this.allcheck1 = res.data.isonlymanager_dept
|
|
|
+ this.allcheck2 = res.data.isonlymanager_agent
|
|
|
+ },
|
|
|
+ // 根据组织架构范围查询人员
|
|
|
+ async menberList (val) {
|
|
|
+ let param = {
|
|
|
+ "classname": "webmanage.hr.hr",
|
|
|
+ "method": "query_hrList",
|
|
|
+ "content": {
|
|
|
+ "nocahe":true,
|
|
|
+ "pageNumber": 1,
|
|
|
+ "pageSize": 10000,
|
|
|
+ "departmentids":val,
|
|
|
+ "containssub":0,
|
|
|
+ "where": {
|
|
|
+ "condition": ""
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ const res = await this.$api.requested(param)
|
|
|
+ this.menberData = res.data
|
|
|
+ },
|
|
|
+ // 根据营销区域范围查询经销商
|
|
|
+ async agentList (val) {
|
|
|
+ let param = {
|
|
|
+ "classname": "webmanage.sale.salearea.salearea",
|
|
|
+ "method": "query_agent",
|
|
|
+ "content": {
|
|
|
+ "pageNumber": 1,
|
|
|
+ "pageSize": 10000,
|
|
|
+ "sa_saleareaids":val,
|
|
|
+ "containssub":0,
|
|
|
+ "where": {
|
|
|
+ "condition": ""
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ const res = await this.$api.requested(param)
|
|
|
+ this.agentData = res.data
|
|
|
+ },
|
|
|
+ // 选中的组织架构数据
|
|
|
+ onChecked (val) {
|
|
|
+ this.depChecked = val
|
|
|
+ this.menberList(val)
|
|
|
+ },
|
|
|
+ // 选中的营销区域数据
|
|
|
+ onAreaChecked (val) {
|
|
|
+ this.areaChecked = val
|
|
|
+ this.agentList(val)
|
|
|
+ },
|
|
|
+ handleCheckAllChange(val) {
|
|
|
+ if (this.activeName === '组织架构') {
|
|
|
+ let arr = this.menberData.map(e=>{
|
|
|
+ return e.hrid
|
|
|
+ })
|
|
|
+ this.checkedMenbers = val ? arr : [];
|
|
|
+ this.isIndeterminate = false;
|
|
|
+ this.handleCheckedChange()
|
|
|
+ } else {
|
|
|
+ let arr = this.agentData.map(e=>{
|
|
|
+ return e.sa_agentsid
|
|
|
+ })
|
|
|
+ this.checkedAgents = val ? arr : [];
|
|
|
+ this.isIndeterminate2 = false;
|
|
|
+ this.handleCheckedChange()
|
|
|
+ }
|
|
|
+ },
|
|
|
+ handleCheckedChange (){
|
|
|
+ let param = {
|
|
|
+ "isonlymanager_dept":this.allcheck1,
|
|
|
+ "isonlymanager_agent":this.allcheck2,
|
|
|
+ "sat_coursewareid":this.$route.query.id,
|
|
|
+ "departmentid":this.depChecked,
|
|
|
+ "hrid":this.checkedMenbers,
|
|
|
+ "sa_saleareaid":this.areaChecked,
|
|
|
+ "sa_agentsid":this.checkedAgents
|
|
|
+ }
|
|
|
+ this.$emit('onChecked',param)
|
|
|
+ },
|
|
|
+ },
|
|
|
+ mounted () {
|
|
|
+ this.query_auth()
|
|
|
}
|
|
|
}
|
|
|
|