瀏覽代碼

Merge branch 'master' into feature/v2.4.40

yuelujie 8 月之前
父節點
當前提交
b455ba9187
共有 1 個文件被更改,包括 43 次插入2 次删除
  1. 43 2
      src/views/msgManage/sendingMsg.vue

+ 43 - 2
src/views/msgManage/sendingMsg.vue

@@ -29,11 +29,20 @@
                 :value="checkAll"
                 @click.prevent.native="handleCheckAll">全部用户</Checkbox>
         </div> -->
-        <CheckboxGroup v-model="send.userGroupName" @on-change="checkGroup" v-show="groupData.length">
+        <!-- <CheckboxGroup v-model="send.userGroupName" @on-change="checkGroup" v-show="groupData.length">
           <Checkbox v-for="item in groupData" :key="item.id" :label="item.name">
               <span>{{item.name}}</span>
           </Checkbox>
-        </CheckboxGroup>
+        </CheckboxGroup> -->
+        <div class="concertlab-group-select" v-show="groupData.length">
+          <el-tree
+            ref="concertlabTree"
+            :data="groupData"
+            show-checkbox
+            :props="concertlabTreeConfig"
+            node-key="id">
+          </el-tree>
+        </div>
       </FormItem>
       <FormItem label="消息类型:" prop="msgType" style="width:300px">
           <Select v-model="send.msgType" placeholder="请选择消息类型">
@@ -254,8 +263,27 @@ export default {
     sendDate(val) {
       this.send.sendTime = val
     },
+    getSendUserGroupName() {
+      const tree = this.$refs.concertlabTree
+      let idArr = []
+      let nameArr = []
+      if (tree) {
+        const r = tree.getCheckedNodes()
+        // 遍历取最后一级(没children的那一级)
+        const lastLevel = r.filter(item => !item.children)
+        idArr = lastLevel.map(item => item.id)
+        nameArr = lastLevel.map(item => item.name)
+      }
+      this.send.userGroupId = idArr
+      this.send.userGroupName = nameArr
+    },
     sendSub(name) {
       let rout = this.$route.query.id
+      try {
+        this.getSendUserGroupName()
+      } catch (error) {
+        console.log(error)
+      }
       let obj = {
         id: rout ? rout : '',
         userGroupId: this.send.sendway == 1 ? 'all_user' : String(this.send.userGroupId),
@@ -316,6 +344,10 @@ export default {
   data () {
     return {
       isDis: false,
+      concertlabTreeConfig: {
+        label: 'name',
+        children: 'children',
+      },
       // msgRadio: 1,
       // showSelect: [
       //   {v: 1, n: '是'},
@@ -393,6 +425,15 @@ export default {
 </script>
 
 <style lang="scss" scoped>
+  .concertlab-group-select {
+    ::v-deep {
+      .el-checkbox__input.is-checked .el-checkbox__inner,
+      .el-checkbox__input.is-indeterminate .el-checkbox__inner {
+        background-color: #2d8cf0;
+        border-color: #2d8cf0;
+      }
+    }
+  }
   .send-msg {
     display: flex;
     flex-direction: column;