|  | @@ -12,6 +12,31 @@
 | 
	
		
			
				|  |  |          label-position="left"
 | 
	
		
			
				|  |  |        >
 | 
	
		
			
				|  |  |          <el-alert
 | 
	
		
			
				|  |  | +          title="直播设备配置"
 | 
	
		
			
				|  |  | +          type="info"
 | 
	
		
			
				|  |  | +          :closable="false"
 | 
	
		
			
				|  |  | +          style="margin-bottom: 20px"
 | 
	
		
			
				|  |  | +        ></el-alert>
 | 
	
		
			
				|  |  | +        <el-row class="row">
 | 
	
		
			
				|  |  | +          <el-form-item
 | 
	
		
			
				|  |  | +            class="mline"
 | 
	
		
			
				|  |  | +            label="直播设备"
 | 
	
		
			
				|  |  | +            prop="os"
 | 
	
		
			
				|  |  | +            label-width="130px"
 | 
	
		
			
				|  |  | +            :rules="[{ required: true, message: '请选择推广类型' }]"
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  | +            <el-radio-group v-model="form.os" @input="changeOs">
 | 
	
		
			
				|  |  | +              <!-- value="rongCloud"></el-option>
 | 
	
		
			
				|  |  | +              <el-option label="腾讯云" value="tencentCloud" -->
 | 
	
		
			
				|  |  | +              <el-radio v-if="serviceProvider === 'rongCloud'" label="pc">web</el-radio>
 | 
	
		
			
				|  |  | +              <el-radio v-if="serviceProvider === 'tencentCloud'" label="client"
 | 
	
		
			
				|  |  | +                >客户端</el-radio
 | 
	
		
			
				|  |  | +              >
 | 
	
		
			
				|  |  | +              <el-radio label="mobile">手机</el-radio>
 | 
	
		
			
				|  |  | +            </el-radio-group>
 | 
	
		
			
				|  |  | +          </el-form-item>
 | 
	
		
			
				|  |  | +        </el-row>
 | 
	
		
			
				|  |  | +        <el-alert
 | 
	
		
			
				|  |  |            title="直播课信息"
 | 
	
		
			
				|  |  |            type="info"
 | 
	
		
			
				|  |  |            :closable="false"
 | 
	
	
		
			
				|  | @@ -83,9 +108,10 @@
 | 
	
		
			
				|  |  |              <el-select
 | 
	
		
			
				|  |  |                placeholder="请选择主讲人身份"
 | 
	
		
			
				|  |  |                v-model="form.clientType"
 | 
	
		
			
				|  |  | +              :disabled="form.os == 'mobile'"
 | 
	
		
			
				|  |  |                clearable
 | 
	
		
			
				|  |  |                @change="
 | 
	
		
			
				|  |  | -                value => {
 | 
	
		
			
				|  |  | +                (value) => {
 | 
	
		
			
				|  |  |                    form.speakerId = '';
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                "
 | 
	
	
		
			
				|  | @@ -238,33 +264,7 @@
 | 
	
		
			
				|  |  |              </el-checkbox-group>
 | 
	
		
			
				|  |  |            </el-form-item>
 | 
	
		
			
				|  |  |          </el-row>
 | 
	
		
			
				|  |  | -        <el-alert
 | 
	
		
			
				|  |  | -          title="直播设备配置"
 | 
	
		
			
				|  |  | -          type="info"
 | 
	
		
			
				|  |  | -          :closable="false"
 | 
	
		
			
				|  |  | -          style="margin-bottom: 20px"
 | 
	
		
			
				|  |  | -        ></el-alert>
 | 
	
		
			
				|  |  | -        <el-row class="row">
 | 
	
		
			
				|  |  | -          <el-form-item
 | 
	
		
			
				|  |  | -            class="mline"
 | 
	
		
			
				|  |  | -            label="直播设备"
 | 
	
		
			
				|  |  | -            prop="os"
 | 
	
		
			
				|  |  | -            label-width="130px"
 | 
	
		
			
				|  |  | -            :rules="[{ required: true, message: '请选择推广类型' }]"
 | 
	
		
			
				|  |  | -          >
 | 
	
		
			
				|  |  | -            <el-radio-group v-model="form.os">
 | 
	
		
			
				|  |  | -              <!-- value="rongCloud"></el-option>
 | 
	
		
			
				|  |  | -              <el-option label="腾讯云" value="tencentCloud" -->
 | 
	
		
			
				|  |  | -              <el-radio v-if="serviceProvider === 'rongCloud'" label="pc"
 | 
	
		
			
				|  |  | -                >web</el-radio
 | 
	
		
			
				|  |  | -              >
 | 
	
		
			
				|  |  | -              <el-radio v-if="serviceProvider === 'tencentCloud'" label="client"
 | 
	
		
			
				|  |  | -                >客户端</el-radio
 | 
	
		
			
				|  |  | -              >
 | 
	
		
			
				|  |  | -              <el-radio label="mobile">手机</el-radio>
 | 
	
		
			
				|  |  | -            </el-radio-group>
 | 
	
		
			
				|  |  | -          </el-form-item>
 | 
	
		
			
				|  |  | -        </el-row>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          <el-alert
 | 
	
		
			
				|  |  |            title="观看权限配置"
 | 
	
		
			
				|  |  |            type="info"
 | 
	
	
		
			
				|  | @@ -289,8 +289,8 @@
 | 
	
		
			
				|  |  |            <el-form-item
 | 
	
		
			
				|  |  |              v-if="
 | 
	
		
			
				|  |  |                form.popularizeType == 'SCHOOL' ||
 | 
	
		
			
				|  |  | -                form.popularizeType == 'ORGAN' ||
 | 
	
		
			
				|  |  | -                form.popularizeType == 'TEAM'
 | 
	
		
			
				|  |  | +              form.popularizeType == 'ORGAN' ||
 | 
	
		
			
				|  |  | +              form.popularizeType == 'TEAM'
 | 
	
		
			
				|  |  |              "
 | 
	
		
			
				|  |  |              label="分部"
 | 
	
		
			
				|  |  |              prop="organIds"
 | 
	
	
		
			
				|  | @@ -461,7 +461,7 @@ import {
 | 
	
		
			
				|  |  |    createLiveBroadcast,
 | 
	
		
			
				|  |  |    resetLiveBroadcastRoomList,
 | 
	
		
			
				|  |  |    getRoomInfo,
 | 
	
		
			
				|  |  | -  sysTenantConfigAll
 | 
	
		
			
				|  |  | +  sysTenantConfigAll,
 | 
	
		
			
				|  |  |  } from "./api";
 | 
	
		
			
				|  |  |  import { queryByOrganId } from "@/api/systemManage";
 | 
	
		
			
				|  |  |  import { getTeamList } from "@/api/teamServer";
 | 
	
	
		
			
				|  | @@ -488,9 +488,9 @@ export default {
 | 
	
		
			
				|  |  |            whether_chat: 0,
 | 
	
		
			
				|  |  |            whether_video: 0,
 | 
	
		
			
				|  |  |            whether_mic: 0,
 | 
	
		
			
				|  |  | -          whether_view_shop_cart: 0
 | 
	
		
			
				|  |  | +          whether_view_shop_cart: 0,
 | 
	
		
			
				|  |  |          },
 | 
	
		
			
				|  |  | -        checkList: []
 | 
	
		
			
				|  |  | +        checkList: [],
 | 
	
		
			
				|  |  |        },
 | 
	
		
			
				|  |  |        serviceProvider: "tencentCloud",
 | 
	
		
			
				|  |  |        remoteLoading: false,
 | 
	
	
		
			
				|  | @@ -503,9 +503,9 @@ export default {
 | 
	
		
			
				|  |  |          firstDayOfWeek: 1,
 | 
	
		
			
				|  |  |          disabledDate(time) {
 | 
	
		
			
				|  |  |            return time.getTime() + 86400000 <= new Date().getTime();
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  |        },
 | 
	
		
			
				|  |  | -      educationList: []
 | 
	
		
			
				|  |  | +      educationList: [],
 | 
	
		
			
				|  |  |      };
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    async mounted() {
 | 
	
	
		
			
				|  | @@ -513,15 +513,14 @@ export default {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      try {
 | 
	
		
			
				|  |  |        const findName = await sysTenantConfigAll({
 | 
	
		
			
				|  |  | -        group: "LIVE_CLIENT"
 | 
	
		
			
				|  |  | +        group: "LIVE_CLIENT",
 | 
	
		
			
				|  |  |        });
 | 
	
		
			
				|  |  |        if (findName.data && findName.data.length > 0) {
 | 
	
		
			
				|  |  | -        findName.data.forEach(item => {
 | 
	
		
			
				|  |  | +        findName.data.forEach((item) => {
 | 
	
		
			
				|  |  |            if (item.paramName == "live_client") {
 | 
	
		
			
				|  |  |              this.serviceProvider = item.paranValue;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            this.form.os =
 | 
	
		
			
				|  |  | -              this.serviceProvider == "tencentCloud" ? "client" : "pc";
 | 
	
		
			
				|  |  | +            this.form.os = this.serviceProvider == "tencentCloud" ? "client" : "pc";
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |        }
 | 
	
	
		
			
				|  | @@ -574,6 +573,12 @@ export default {
 | 
	
		
			
				|  |  |      console.log(this.form, "form");
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    methods: {
 | 
	
		
			
				|  |  | +    changeOs(e) {
 | 
	
		
			
				|  |  | +      if (e == "mobile") {
 | 
	
		
			
				|  |  | +        this.form.clientType = "TEACHER";
 | 
	
		
			
				|  |  | +        this.form.speakerId = "";
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  |      async getDetail() {
 | 
	
		
			
				|  |  |        try {
 | 
	
		
			
				|  |  |          const res = await getRoomInfo({ roomUid: this.$route.query.roomUid });
 | 
	
	
		
			
				|  | @@ -585,23 +590,19 @@ export default {
 | 
	
		
			
				|  |  |            schoolIds: [],
 | 
	
		
			
				|  |  |            teamIds: [],
 | 
	
		
			
				|  |  |            catIds: [],
 | 
	
		
			
				|  |  | -          studentIds: []
 | 
	
		
			
				|  |  | +          studentIds: [],
 | 
	
		
			
				|  |  |          };
 | 
	
		
			
				|  |  |          this.form.roomConfig = JSON.parse(res.data.roomConfig);
 | 
	
		
			
				|  |  |          if (res.data.popularizeOrgIds) {
 | 
	
		
			
				|  |  | -          this.form.organIds = res.data.popularizeOrgIds
 | 
	
		
			
				|  |  | -            .split(",")
 | 
	
		
			
				|  |  | -            .map(item => {
 | 
	
		
			
				|  |  | -              return item * 1;
 | 
	
		
			
				|  |  | -            });
 | 
	
		
			
				|  |  | +          this.form.organIds = res.data.popularizeOrgIds.split(",").map((item) => {
 | 
	
		
			
				|  |  | +            return item * 1;
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          if (res.data.popularizeSchoolIds) {
 | 
	
		
			
				|  |  | -          this.form.schoolIds = res.data.popularizeSchoolIds
 | 
	
		
			
				|  |  | -            .split(",")
 | 
	
		
			
				|  |  | -            .map(item => {
 | 
	
		
			
				|  |  | -              return item * 1;
 | 
	
		
			
				|  |  | -            });
 | 
	
		
			
				|  |  | +          this.form.schoolIds = res.data.popularizeSchoolIds.split(",").map((item) => {
 | 
	
		
			
				|  |  | +            return item * 1;
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          if (res.data.popularizeTeamIds) {
 | 
	
	
		
			
				|  | @@ -628,14 +629,14 @@ export default {
 | 
	
		
			
				|  |  |        this.$router.push("/liveClassManager");
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      changeTeacher(val) {
 | 
	
		
			
				|  |  | -      this.teacherList.forEach(item => {
 | 
	
		
			
				|  |  | +      this.teacherList.forEach((item) => {
 | 
	
		
			
				|  |  |          if (val == item.id) {
 | 
	
		
			
				|  |  |            this.form.speakerName = item.realName;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |        });
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      preLook() {
 | 
	
		
			
				|  |  | -      this.$refs.form.validate(flag => {
 | 
	
		
			
				|  |  | +      this.$refs.form.validate((flag) => {
 | 
	
		
			
				|  |  |          if (flag) {
 | 
	
		
			
				|  |  |            this.preLookVisible = true;
 | 
	
		
			
				|  |  |            console.log("预览", this.form);
 | 
	
	
		
			
				|  | @@ -662,25 +663,25 @@ export default {
 | 
	
		
			
				|  |  |            method: "get",
 | 
	
		
			
				|  |  |            headers: {
 | 
	
		
			
				|  |  |              Authorization: getToken(),
 | 
	
		
			
				|  |  | -            tenantId: getTenantId()
 | 
	
		
			
				|  |  | +            tenantId: getTenantId(),
 | 
	
		
			
				|  |  |            },
 | 
	
		
			
				|  |  |            params: {
 | 
	
		
			
				|  |  |              rows: 9999,
 | 
	
		
			
				|  |  |              search: query,
 | 
	
		
			
				|  |  |              lockFlag: 0,
 | 
	
		
			
				|  |  | -            demissionFlag: false
 | 
	
		
			
				|  |  | +            demissionFlag: false,
 | 
	
		
			
				|  |  |            },
 | 
	
		
			
				|  |  | -          url
 | 
	
		
			
				|  |  | +          url,
 | 
	
		
			
				|  |  |          };
 | 
	
		
			
				|  |  |          this.remoteLoading = true;
 | 
	
		
			
				|  |  |          // this.studentList = []
 | 
	
		
			
				|  |  | -        axios(options).then(res => {
 | 
	
		
			
				|  |  | +        axios(options).then((res) => {
 | 
	
		
			
				|  |  |            this.remoteLoading = false;
 | 
	
		
			
				|  |  |            let result = res.data;
 | 
	
		
			
				|  |  |            if (result.code == 200) {
 | 
	
		
			
				|  |  |              // Array.prototype.splice.apply(this.studentList, result.data.rows);
 | 
	
		
			
				|  |  |              if (result.data && result.data.rows.length > 0) {
 | 
	
		
			
				|  |  | -              result.data.rows.forEach(item => {
 | 
	
		
			
				|  |  | +              result.data.rows.forEach((item) => {
 | 
	
		
			
				|  |  |                  this.teacherList.unshift(item);
 | 
	
		
			
				|  |  |                });
 | 
	
		
			
				|  |  |                this.teacherList = this.deweight(this.teacherList, "phone");
 | 
	
	
		
			
				|  | @@ -707,25 +708,25 @@ export default {
 | 
	
		
			
				|  |  |            method: "get",
 | 
	
		
			
				|  |  |            headers: {
 | 
	
		
			
				|  |  |              Authorization: getToken(),
 | 
	
		
			
				|  |  | -            tenantId: getTenantId()
 | 
	
		
			
				|  |  | +            tenantId: getTenantId(),
 | 
	
		
			
				|  |  |            },
 | 
	
		
			
				|  |  |            params: {
 | 
	
		
			
				|  |  |              rows: 9999,
 | 
	
		
			
				|  |  |              search: query,
 | 
	
		
			
				|  |  |              lockFlag: 0,
 | 
	
		
			
				|  |  | -            demissionFlag: false
 | 
	
		
			
				|  |  | +            demissionFlag: false,
 | 
	
		
			
				|  |  |            },
 | 
	
		
			
				|  |  | -          url
 | 
	
		
			
				|  |  | +          url,
 | 
	
		
			
				|  |  |          };
 | 
	
		
			
				|  |  |          this.remoteLoading = true;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        axios(options).then(res => {
 | 
	
		
			
				|  |  | +        axios(options).then((res) => {
 | 
	
		
			
				|  |  |            this.remoteLoading = false;
 | 
	
		
			
				|  |  |            let result = res.data;
 | 
	
		
			
				|  |  |            if (result.code == 200) {
 | 
	
		
			
				|  |  |              // Array.prototype.splice.apply(this.studentList, result.data.rows);
 | 
	
		
			
				|  |  |              if (result.data && result.data.rows.length > 0) {
 | 
	
		
			
				|  |  | -              result.data.rows.forEach(item => {
 | 
	
		
			
				|  |  | +              result.data.rows.forEach((item) => {
 | 
	
		
			
				|  |  |                  this.educationList.unshift(item);
 | 
	
		
			
				|  |  |                });
 | 
	
		
			
				|  |  |                this.educationList = this.deweight(this.educationList, "phone");
 | 
	
	
		
			
				|  | @@ -737,9 +738,9 @@ export default {
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      deweight(arr, key) {
 | 
	
		
			
				|  |  |        let res = [];
 | 
	
		
			
				|  |  | -      arr.forEach(item => {
 | 
	
		
			
				|  |  | +      arr.forEach((item) => {
 | 
	
		
			
				|  |  |          let list = [];
 | 
	
		
			
				|  |  | -        res.forEach(resitem => {
 | 
	
		
			
				|  |  | +        res.forEach((resitem) => {
 | 
	
		
			
				|  |  |            list.push(resitem[key]);
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |          if (list.indexOf(item[key]) === -1) {
 | 
	
	
		
			
				|  | @@ -758,7 +759,7 @@ export default {
 | 
	
		
			
				|  |  |        this.form.popularizeOrgIds = this.form.organIds.join(",");
 | 
	
		
			
				|  |  |        this.form.popularizeSchoolIds = this.form.schoolIds.join(",");
 | 
	
		
			
				|  |  |        this.form.popularizeTeamIds = this.form.teamIds.join(",");
 | 
	
		
			
				|  |  | -      this.$refs.form.validate(async flag => {
 | 
	
		
			
				|  |  | +      this.$refs.form.validate(async (flag) => {
 | 
	
		
			
				|  |  |          if (!flag) return;
 | 
	
		
			
				|  |  |          if (this.$route.query.id) {
 | 
	
		
			
				|  |  |            // 修改
 | 
	
	
		
			
				|  | @@ -797,7 +798,7 @@ export default {
 | 
	
		
			
				|  |  |        if (this.form.popularizeType == "SCHOOL" && val && val.length > 0) {
 | 
	
		
			
				|  |  |          let organId = val.join(",");
 | 
	
		
			
				|  |  |          try {
 | 
	
		
			
				|  |  | -          await queryByOrganId({ organId }).then(res => {
 | 
	
		
			
				|  |  | +          await queryByOrganId({ organId }).then((res) => {
 | 
	
		
			
				|  |  |              if (res.code == 200) {
 | 
	
		
			
				|  |  |                this.cooperationList = res.data;
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -809,7 +810,7 @@ export default {
 | 
	
		
			
				|  |  |        if (this.form.popularizeType == "TEAM" && val && val.length > 0) {
 | 
	
		
			
				|  |  |          let organId = val.join(",");
 | 
	
		
			
				|  |  |          try {
 | 
	
		
			
				|  |  | -          await getTeamList({ organId, page: 1, rows: 9999 }).then(res => {
 | 
	
		
			
				|  |  | +          await getTeamList({ organId, page: 1, rows: 9999 }).then((res) => {
 | 
	
		
			
				|  |  |              if (res.code == 200) {
 | 
	
		
			
				|  |  |                this.teamList = res.data.rows;
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -818,8 +819,8 @@ export default {
 | 
	
		
			
				|  |  |            console.log(e);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  |  </script>
 | 
	
		
			
				|  |  |  <style lang="scss" scoped>
 | 
	
	
		
			
				|  | @@ -906,15 +907,13 @@ export default {
 | 
	
		
			
				|  |  |        .dotWrap {
 | 
	
		
			
				|  |  |          width: 21px;
 | 
	
		
			
				|  |  |          height: 21px;
 | 
	
		
			
				|  |  | -        background: url("../../assets/images/icon_checkbox_default.png")
 | 
	
		
			
				|  |  | -          no-repeat center;
 | 
	
		
			
				|  |  | +        background: url("../../assets/images/icon_checkbox_default.png") no-repeat center;
 | 
	
		
			
				|  |  |          background-size: contain;
 | 
	
		
			
				|  |  |          margin-right: 8px;
 | 
	
		
			
				|  |  |          position: relative;
 | 
	
		
			
				|  |  |          overflow: hidden;
 | 
	
		
			
				|  |  |          &.checked {
 | 
	
		
			
				|  |  | -          background: url("../../assets/images/icon_checkbox.png") no-repeat
 | 
	
		
			
				|  |  | -            center;
 | 
	
		
			
				|  |  | +          background: url("../../assets/images/icon_checkbox.png") no-repeat center;
 | 
	
		
			
				|  |  |            background-size: contain;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |        }
 |