|  | @@ -0,0 +1,201 @@
 | 
	
		
			
				|  |  | +<template>
 | 
	
		
			
				|  |  | +  <el-dialog
 | 
	
		
			
				|  |  | +    class="select-teacher"
 | 
	
		
			
				|  |  | +    :visible="dialogVisible"
 | 
	
		
			
				|  |  | +    width="900px"
 | 
	
		
			
				|  |  | +    title="选择授课教师"
 | 
	
		
			
				|  |  | +    @close="dialogClose"
 | 
	
		
			
				|  |  | +  >
 | 
	
		
			
				|  |  | +    <!--查询条件-->
 | 
	
		
			
				|  |  | +    <el-form :inline="true" :model="searchForm" size="mini">
 | 
	
		
			
				|  |  | +      <el-form-item label="用户名">
 | 
	
		
			
				|  |  | +        <el-input v-model="searchForm.user_name" @keyup.enter.native="getTeacherUserList" />
 | 
	
		
			
				|  |  | +      </el-form-item>
 | 
	
		
			
				|  |  | +      <el-form-item label="真实姓名">
 | 
	
		
			
				|  |  | +        <el-input v-model="searchForm.user_real_name" @keyup.enter.native="getTeacherUserList" />
 | 
	
		
			
				|  |  | +      </el-form-item>
 | 
	
		
			
				|  |  | +      <el-form-item label="有效">
 | 
	
		
			
				|  |  | +        <el-select v-model="searchForm.is_valid" class="valid">
 | 
	
		
			
				|  |  | +          <el-option
 | 
	
		
			
				|  |  | +            v-for="item in typeList"
 | 
	
		
			
				|  |  | +            :key="item.label"
 | 
	
		
			
				|  |  | +            :label="item.label"
 | 
	
		
			
				|  |  | +            :value="item.value"
 | 
	
		
			
				|  |  | +          />
 | 
	
		
			
				|  |  | +        </el-select>
 | 
	
		
			
				|  |  | +      </el-form-item>
 | 
	
		
			
				|  |  | +      <el-form-item label="已审核">
 | 
	
		
			
				|  |  | +        <el-select v-model="searchForm.is_audited" class="audited">
 | 
	
		
			
				|  |  | +          <el-option
 | 
	
		
			
				|  |  | +            v-for="item in typeList"
 | 
	
		
			
				|  |  | +            :key="item.label"
 | 
	
		
			
				|  |  | +            :label="item.name"
 | 
	
		
			
				|  |  | +            :value="item.value"
 | 
	
		
			
				|  |  | +          ></el-option>
 | 
	
		
			
				|  |  | +        </el-select>
 | 
	
		
			
				|  |  | +      </el-form-item>
 | 
	
		
			
				|  |  | +      <el-form-item class="search-button">
 | 
	
		
			
				|  |  | +        <el-button type="primary" @click="getTeacherUserList">
 | 
	
		
			
				|  |  | +          <i class="el-icon-search" /> 搜索
 | 
	
		
			
				|  |  | +        </el-button>
 | 
	
		
			
				|  |  | +      </el-form-item>
 | 
	
		
			
				|  |  | +    </el-form>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    <!--表格-->
 | 
	
		
			
				|  |  | +    <el-table
 | 
	
		
			
				|  |  | +      ref="teacherTable"
 | 
	
		
			
				|  |  | +      :data="teacherList"
 | 
	
		
			
				|  |  | +      height="35vh"
 | 
	
		
			
				|  |  | +      @selection-change="handleSelectionChange"
 | 
	
		
			
				|  |  | +    >
 | 
	
		
			
				|  |  | +      <el-table-column type="selection" width="55" />
 | 
	
		
			
				|  |  | +      <el-table-column prop="user_name" label="用户名" width="120" />
 | 
	
		
			
				|  |  | +      <el-table-column prop="user_real_name" label="真实姓名" width="120" />
 | 
	
		
			
				|  |  | +      <el-table-column prop="org_name" label="机构名" width="120" />
 | 
	
		
			
				|  |  | +      <el-table-column prop="is_valid" label="有效" width="60">
 | 
	
		
			
				|  |  | +        <template slot-scope="scope">
 | 
	
		
			
				|  |  | +          <span>{{ scope.row.is_valid === 'true' ? '√' : '' }}</span>
 | 
	
		
			
				|  |  | +        </template>
 | 
	
		
			
				|  |  | +      </el-table-column>
 | 
	
		
			
				|  |  | +      <el-table-column prop="is_valid" label="已审核">
 | 
	
		
			
				|  |  | +        <template slot-scope="scope">
 | 
	
		
			
				|  |  | +          <span>{{ scope.row.is_audited === 'true' ? '√' : '' }}</span>
 | 
	
		
			
				|  |  | +        </template>
 | 
	
		
			
				|  |  | +      </el-table-column>
 | 
	
		
			
				|  |  | +    </el-table>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    <el-pagination
 | 
	
		
			
				|  |  | +      background
 | 
	
		
			
				|  |  | +      :page-sizes="[10, 20, 30, 40, 50]"
 | 
	
		
			
				|  |  | +      :page-size="page_capacity"
 | 
	
		
			
				|  |  | +      layout="prev, pager, next, total, sizes, jumper"
 | 
	
		
			
				|  |  | +      :total="total_count"
 | 
	
		
			
				|  |  | +      :current-page="cur_page"
 | 
	
		
			
				|  |  | +      @prev-click="changePage"
 | 
	
		
			
				|  |  | +      @next-click="changePage"
 | 
	
		
			
				|  |  | +      @current-change="changePage"
 | 
	
		
			
				|  |  | +      @size-change="changePageSize"
 | 
	
		
			
				|  |  | +    />
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    <div slot="footer" class="dialog-footer">
 | 
	
		
			
				|  |  | +      <el-button size="mini" @click="dialogClose">取 消</el-button>
 | 
	
		
			
				|  |  | +      <el-button type="primary" size="mini" @click="confirmTeacher">确 定</el-button>
 | 
	
		
			
				|  |  | +    </div>
 | 
	
		
			
				|  |  | +  </el-dialog>
 | 
	
		
			
				|  |  | +</template>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +<script>
 | 
	
		
			
				|  |  | +import { PageQueryOrgTeacherUserList } from '@/api/list';
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +export default {
 | 
	
		
			
				|  |  | +  name: 'SelectTeacher',
 | 
	
		
			
				|  |  | +  props: {
 | 
	
		
			
				|  |  | +    dialogVisible: {
 | 
	
		
			
				|  |  | +      default: false,
 | 
	
		
			
				|  |  | +      type: Boolean
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    orgId: {
 | 
	
		
			
				|  |  | +      default: '',
 | 
	
		
			
				|  |  | +      type: String
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  data() {
 | 
	
		
			
				|  |  | +    return {
 | 
	
		
			
				|  |  | +      cur_page: 1,
 | 
	
		
			
				|  |  | +      total_count: 0,
 | 
	
		
			
				|  |  | +      page_capacity: 10,
 | 
	
		
			
				|  |  | +      teacherList: [],
 | 
	
		
			
				|  |  | +      orgList: [],
 | 
	
		
			
				|  |  | +      searchForm: {
 | 
	
		
			
				|  |  | +        user_name: '',
 | 
	
		
			
				|  |  | +        user_real_name: '',
 | 
	
		
			
				|  |  | +        is_valid: '',
 | 
	
		
			
				|  |  | +        is_audited: ''
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      typeList: [
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +          label: '全部',
 | 
	
		
			
				|  |  | +          name: '全部',
 | 
	
		
			
				|  |  | +          value: ''
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +          label: '有效',
 | 
	
		
			
				|  |  | +          name: '已审核',
 | 
	
		
			
				|  |  | +          value: 'true'
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +          label: '无效',
 | 
	
		
			
				|  |  | +          name: '未审核',
 | 
	
		
			
				|  |  | +          value: 'false'
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      ]
 | 
	
		
			
				|  |  | +    };
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  created() {
 | 
	
		
			
				|  |  | +    this.getTeacherUserList();
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  methods: {
 | 
	
		
			
				|  |  | +    getTeacherUserList() {
 | 
	
		
			
				|  |  | +      let data = {
 | 
	
		
			
				|  |  | +        org_id: this.orgId,
 | 
	
		
			
				|  |  | +        user_name: this.searchForm.user_name,
 | 
	
		
			
				|  |  | +        user_real_name: this.searchForm.user_real_name,
 | 
	
		
			
				|  |  | +        is_valid: this.searchForm.is_valid,
 | 
	
		
			
				|  |  | +        is_audited: this.searchForm.is_audited,
 | 
	
		
			
				|  |  | +        page_capacity: this.page_capacity,
 | 
	
		
			
				|  |  | +        cur_page: this.cur_page
 | 
	
		
			
				|  |  | +      };
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      PageQueryOrgTeacherUserList(data).then(({ cur_page, total_count, org_teacher_user_list }) => {
 | 
	
		
			
				|  |  | +        this.cur_page = cur_page;
 | 
	
		
			
				|  |  | +        this.total_count = total_count;
 | 
	
		
			
				|  |  | +        this.teacherList = org_teacher_user_list;
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    dialogClose() {
 | 
	
		
			
				|  |  | +      this.$emit('dialogClose');
 | 
	
		
			
				|  |  | +      this.$refs.teacherTable.clearSelection();
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    handleSelectionChange(arr) {
 | 
	
		
			
				|  |  | +      let list = [];
 | 
	
		
			
				|  |  | +      arr.forEach(el => {
 | 
	
		
			
				|  |  | +        list.push(el.user_id);
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  | +      this.orgList = list;
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    changePage(newPage) {
 | 
	
		
			
				|  |  | +      this.cur_page = newPage;
 | 
	
		
			
				|  |  | +      this.getTeacherUserList();
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    changePageSize(pageSize) {
 | 
	
		
			
				|  |  | +      this.page_capacity = pageSize;
 | 
	
		
			
				|  |  | +      this.getTeacherUserList();
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    confirmTeacher() {
 | 
	
		
			
				|  |  | +      this.$emit('selectTeaher', this.orgList);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +</script>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +<style lang="scss">
 | 
	
		
			
				|  |  | +.select-teacher {
 | 
	
		
			
				|  |  | +  .el-dialog__body {
 | 
	
		
			
				|  |  | +    padding: 15px 20px 0;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  .el-input,
 | 
	
		
			
				|  |  | +  .el-select.valid,
 | 
	
		
			
				|  |  | +  .el-select.audited {
 | 
	
		
			
				|  |  | +    width: 100px;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  .search-button .el-button {
 | 
	
		
			
				|  |  | +    margin-left: 120px;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  .el-pagination {
 | 
	
		
			
				|  |  | +    margin-top: 15px;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +</style>
 |