89ae7fcddf2c705395141816c2d573a8e0e76b10.svn-base 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555
  1. <template>
  2. <div>
  3. <el-container>
  4. <!-- <el-aside id="dxdcAside" width="300px">
  5. <provTreeList
  6. rootCode=""
  7. style="max-height:calc(100vh - 100px)"
  8. @provTreeSelectChange="provTreeSelectChangeHandler"
  9. ></provTreeList>
  10. </el-aside> -->
  11. <el-container>
  12. <el-header id="dcdxHeader">
  13. <el-form :inline="true" class="demo-form-inline" size="mini">
  14. <el-form-item label="会议标题">
  15. <el-input v-model="searchObj.title" clearable placeholder="输入名称"></el-input>
  16. </el-form-item>
  17. <el-form-item>
  18. <el-button type="primary" @click="onSubmit">查询</el-button>
  19. <el-button type="primary" @click="toAddMeeting('添加')">添加</el-button>
  20. </el-form-item>
  21. </el-form>
  22. </el-header>
  23. <el-main id="dxryListMain" style="padding:5px 20px;">
  24. <el-table border stripe :data="meetingList" tooltip-effect="dark" style="width: 100%" :height="tableHeight">
  25. <el-table-column align="center" type="index" label="序号" min-width="45">
  26. <template slot-scope="scope">
  27. {{ (pageIndex - 1) * pageSize + (scope.$index + 1) }}
  28. </template>
  29. </el-table-column>
  30. <el-table-column align="center" show-overflow-tooltip prop="title" label="会议标题" min-width="100"></el-table-column>
  31. <el-table-column align="center" show-overflow-tooltip prop="details" label="会议描述" min-width="120"></el-table-column>
  32. <el-table-column align="center" show-overflow-tooltip prop="conferencenumber" label="会议号" min-width="120"></el-table-column>
  33. <el-table-column align="center" show-overflow-tooltip prop="password" label="会议密码" min-width="100"></el-table-column>
  34. <el-table-column align="center" show-overflow-tooltip prop="controlPersName" label="主持人" min-width="100"></el-table-column>
  35. <el-table-column align="center" show-overflow-tooltip prop="controlPassword" label="主持会议密码" min-width="110"></el-table-column>
  36. <el-table-column align="center" show-overflow-tooltip prop="participantsList" label="参会人员" min-width="120">
  37. <template slot-scope="scope">
  38. <span>{{scope.row.participantsList | participantsList}}</span>
  39. </template>
  40. </el-table-column>
  41. <el-table-column align="center" show-overflow-tooltip prop="startTime" label="开始时间" min-width="150"></el-table-column>
  42. <el-table-column align="center" show-overflow-tooltip prop="endTime" label="结束时间" min-width="150"></el-table-column>
  43. <el-table-column align="center" show-overflow-tooltip prop="address" label="会议地址" min-width="100"></el-table-column>
  44. <el-table-column align="center" show-overflow-tooltip prop="autoinvite" label="是否自动呼叫小鱼终端" min-width="100">
  45. <template slot-scope="scope">
  46. <span>{{scope.row.autoinvite | yesOrNo}}</span>
  47. </template></el-table-column>
  48. <el-table-column align="center" show-overflow-tooltip prop="autorecord" label="是否自动录制" min-width="110">
  49. <template slot-scope="scope">
  50. <span>{{scope.row.autorecord | yesOrNo}}</span>
  51. </template></el-table-column>
  52. <el-table-column align="center" show-overflow-tooltip prop="enableofflinerecord" label="是否离线录制" min-width="110">
  53. <template slot-scope="scope">
  54. <span>{{scope.row.enableofflinerecord | yesOrNo}}</span>
  55. </template></el-table-column>
  56. <el-table-column align="center" show-overflow-tooltip prop="enablesinglerecord" label="是否单独录制" min-width="110">
  57. <template slot-scope="scope">
  58. <span>{{scope.row.enablesinglerecord | yesOrNo}}</span>
  59. </template></el-table-column>
  60. <el-table-column align="center" label="操作" min-width="220" fixed="right">
  61. <template slot-scope="scope">
  62. <el-button type="success" plain @click="toAddMeeting('编辑',scope.row)" :disabled="scope.row.sms == '1'">编辑</el-button>
  63. <el-button type="danger" plain @click="deleteMeeting(scope.row)" :disabled="scope.row.sms == '1'">删除</el-button>
  64. <el-button type="warning" plain @click="releaseMeeting(scope.row)" :disabled="scope.row.sms == '1'">通知</el-button>
  65. </template>
  66. </el-table-column>
  67. </el-table>
  68. </el-main>
  69. <el-footer id="dxdcFooter">
  70. <el-pagination background @current-change="handleCurrentChange" @size-change="handleSizeChange" :pager-count="5" :current-page.sync="pageIndex"
  71. :page-size="pageSize" :page-sizes="[10, 20, 30, 40, 50, 100]"
  72. layout="sizes, total, prev, pager, next" :total="total"></el-pagination>
  73. </el-footer>
  74. </el-container>
  75. <!-- 添加/编辑会议室弹窗 -->
  76. <el-dialog :title="curOperate+'会议'" width="55%" :visible.sync="dialogFormVisible">
  77. <el-form :model="addObj" :rules="rules" ref="conferenceForm" :label-width="formLabelWidth">
  78. <p style="margin-top:10px;margin-bottom: 10px">
  79. <i class="el-icon-caret-right"></i>
  80. <span style="width:120px;padding-left: 8px;color: red">必填</span>
  81. <span class="hrs"></span>
  82. </p>
  83. <el-form-item label="会议标题" prop="title">
  84. <el-input style="width:360px;" v-model="addObj.title"></el-input>
  85. </el-form-item>
  86. <el-form-item label="会议简介" prop="details">
  87. <el-input style="width:360px;" type="textarea" row="3" v-model="addObj.details"></el-input>
  88. </el-form-item>
  89. <el-form-item label="会议地址" prop="address">
  90. <el-input style="width:360px;" v-model="addObj.address"></el-input>
  91. </el-form-item>
  92. <el-form-item label="会议室类型" prop="meetingroomtype">
  93. <el-select v-model="addObj.meetingroomtype" placeholder="请选择">
  94. <el-option label="随机自动生成" value="1"></el-option>
  95. <el-option label="指定会议号" value="2"></el-option>
  96. </el-select>
  97. </el-form-item>
  98. <el-form-item label="会议室" prop="conferencenumber" v-if="addObj.meetingroomtype == '2'">
  99. <el-select v-model="addObj.conferencenumber" placeholder="请选择">
  100. <el-option :label="room.meetingName" :value="room.meetingNumber" v-for="(room,index) in roomList" :key="index"></el-option>
  101. </el-select>
  102. </el-form-item>
  103. <el-form-item label="会议密码" prop="password">
  104. <el-input style="width:360px;" type="password" v-model="addObj.password"></el-input>
  105. </el-form-item>
  106. <el-form-item label="主持人" prop="hostName">
  107. <el-input style="width:360px;" v-model="hostName" readonly placeholder="请点击右侧选择"></el-input>
  108. <span class="choose_member" @click="memberShow('radio')">督查组人员</span>
  109. <span class="choose_member" @click="memberShowOrgan('radio')">机构人员</span>
  110. </el-form-item>
  111. <el-form-item label="主持会议密码" prop="controlPassword">
  112. <el-input style="width:360px;" type="password" v-model="addObj.controlPassword"></el-input>
  113. </el-form-item>
  114. <el-form-item label="参会人员" prop="participants">
  115. <el-input style="width:360px;" v-model="participants" readonly clearable placeholder="请点击右侧选择"></el-input>
  116. <i class="el-icon-circle-close-outline clearInput" @click="clearMember"></i>
  117. <span class="choose_member" @click="memberShow('checkbox')">督查组人员</span>
  118. <span class="choose_member" @click="memberShowOrgan('checkbox')">机构人员</span>
  119. </el-form-item>
  120. <el-form-item label="开始时间" prop="startTime">
  121. <el-date-picker
  122. v-model="addObj.startTime"
  123. type="datetime"
  124. value-format="yyyy-MM-dd HH:mm:ss"
  125. :picker-options="pickerOptions"
  126. placeholder="选择日期时间">
  127. </el-date-picker>
  128. </el-form-item>
  129. <el-form-item label="结束时间" prop="endTime">
  130. <el-date-picker
  131. v-model="addObj.endTime"
  132. type="datetime"
  133. value-format="yyyy-MM-dd HH:mm:ss"
  134. :picker-options="pickerOptions"
  135. placeholder="选择日期时间">
  136. </el-date-picker>
  137. </el-form-item>
  138. <p style="margin-top:10px;margin-bottom: 10px">
  139. <i class="el-icon-caret-right"></i>
  140. <span style="width:120px;padding-left: 8px;color: #37c448">选填</span>
  141. <span class="hrs"></span>
  142. </p>
  143. <el-form-item label="是否自动呼叫小鱼终端" prop="autoinvite">
  144. <el-select v-model="addObj.autoinvite" placeholder="请选择">
  145. <el-option label="是" value="1"></el-option>
  146. <el-option label="否" value="0"></el-option>
  147. </el-select>
  148. </el-form-item>
  149. <el-form-item label="是否自动录制" prop="autorecord">
  150. <el-select v-model="addObj.autorecord" placeholder="请选择">
  151. <el-option label="是" value="1"></el-option>
  152. <el-option label="否" value="0"></el-option>
  153. </el-select>
  154. </el-form-item>
  155. <el-form-item label="是否开启离线录制" prop="enableofflinerecord">
  156. <el-select v-model="addObj.enableofflinerecord" placeholder="请选择">
  157. <el-option label="是" value="1"></el-option>
  158. <el-option label="否" value="0"></el-option>
  159. </el-select>
  160. </el-form-item>
  161. <el-form-item label="是否单独录制" prop="enablesinglerecord">
  162. <el-select v-model="addObj.enablesinglerecord" placeholder="请选择">
  163. <el-option label="是" value="1"></el-option>
  164. <el-option label="否" value="0"></el-option>
  165. </el-select>
  166. </el-form-item>
  167. </el-form>
  168. <div slot="footer" class="dialog-footer">
  169. <el-button @click="dialogFormVisible = false">取 消</el-button>
  170. <el-button type="primary" @click="addMeeting">确 定</el-button>
  171. </div>
  172. </el-dialog>
  173. </el-container>
  174. <!-- 通过督查组筛选人员 人员单选时 memberType == 'radio' 多选时 memberType == 'checkbox' -->
  175. <group-member v-if="chooseMemberShow" :members="allInfo" :type="memberType" @sendPersonInfo="sendPersonInfo" @closeMember="closeMember"></group-member>
  176. <!-- 通过机构筛选人员 同上-->
  177. <organ-member v-if="chooseMemberShowOrgan && (orgId == '027' || orgId == '029')" :members="allInfo" :type="memberType" @sendPersonInfoOrgan="sendPersonInfoOrgan" @closeMember="closeMemberOrgan"></organ-member>
  178. <organ-member-organ v-if="chooseMemberShowOrgan && orgId != '027' && orgId != '029'" :members="allInfo" :type="memberType" @sendPersonInfoOrgan="sendPersonInfoOrgan" @closeMember="closeMemberOrgan"></organ-member-organ>
  179. </div>
  180. </template>
  181. <script>
  182. import provTreeList from "../../widgets/jigouTreeList.vue";
  183. import groupMember from "./Conference/groupMember.vue"
  184. import organMember from "./Conference/organMember.vue"
  185. import organMemberOrgan from "./Conference/organMemberForOrgan.vue"
  186. import request from "../../utils/gw_ajax_request.js"
  187. import {meetingStarTime,meetingEndTime} from "../../utils/gw_date.js"
  188. import JsEncrypt from 'jsencrypt'
  189. export default {
  190. components: {
  191. provTreeList: provTreeList,
  192. groupMember: groupMember,
  193. organMember: organMember,
  194. organMemberOrgan: organMemberOrgan
  195. },
  196. props: [],
  197. data() {
  198. return {
  199. tableHeight: window.innerHeight - 210,
  200. searchObj: {
  201. title: '',
  202. persId: ''
  203. },
  204. addObj: {
  205. title: '',
  206. details: '', //会议描述
  207. meetingroomtype : '', //1 随机自动生成,2 指定云会议号
  208. address: '', //会议地址
  209. conferencenumber: '', //虚拟云会议号
  210. password: '',
  211. controlPersId: '', //主持人ID
  212. controlPassword: '', // 主持会议密码
  213. participantsList: [], //参会人员列表
  214. startTime: '',
  215. endTime : '',
  216. autoinvite: '', //开会时,是否自动呼叫小鱼终端入会。默认为0,不自动;为1,自动
  217. autorecord: '', //0 不自动录制,1 自动录制
  218. enableofflinerecord: '', //是否开启离线录制,0 实时转码录制,1 离线转码录制
  219. enablesinglerecord: '', //开启单独录制,0 整个会议录制一个文件, 1 会议的所有参会方都会录制一个文件。开启单路录制,必须同时开启离线录制
  220. persId: '',
  221. },
  222. //添加和编辑时输入框的校验
  223. rules: {
  224. // title: {required: true,message: '请输入会议标题',trigger: 'blur'},
  225. // details: {required: true,message: '请输入会议简介',trigger: 'blur'},
  226. // meetingroomtype: {required: true,message: '请选择会议室类型',trigger: 'change'},
  227. // password : {required: true,message: '请输入会议密码',trigger: 'blur'},
  228. // conferencenumber: {required: true,message: '请选择会议室',trigger: 'change'},
  229. // hostName: {required: true,message: '请选择主持人',trigger: 'change'},
  230. // controlPassword: {required: true,message: '请输入主持会议密码',trigger: 'blur'},
  231. // participants: {required: true,message: '请选择参会人员',trigger: 'change'},
  232. // startTime: {required: true,message: '请选择开始时间',trigger: 'blur'},
  233. // endTime: {required: true,message: '请选择结束时间',trigger: 'blur'},
  234. // autoinvite: {required: true,message: '请选择是否自动呼叫',trigger: 'change'},
  235. },
  236. pageIndex: 1,
  237. pageSize: 20,
  238. total: 1,
  239. meetingList: [],
  240. dialogFormVisible: false,
  241. addform: [],
  242. formLabelWidth: '160px',
  243. curOperate: '',
  244. isSelected: false,
  245. changeJigou: false,
  246. chooseMemberShow: false,
  247. chooseMemberShowOrgan: false,
  248. memberType: 'checkbox',
  249. participants: '',
  250. hostName: '',
  251. roomList: [],
  252. allInfo: [],
  253. pickerOptions: {
  254. disabledDate(time) {
  255. return time.getTime() < Date.now() - 8.64e7;
  256. }
  257. }
  258. }
  259. },
  260. computed:{
  261. persId(){
  262. return localStorage.getItem('userid') ? localStorage.getItem('userid') : ''
  263. },
  264. orgId(){
  265. return localStorage.getItem('guid') ? localStorage.getItem('guid') : ''
  266. }
  267. },
  268. mounted() {
  269. this.getMeetingList()
  270. this.getRoomList()
  271. },
  272. watch: {
  273. },
  274. methods: {
  275. //获取会议列表
  276. getMeetingList(){
  277. this.searchObj.pageNum = this.pageIndex
  278. this.searchObj.persId = this.persId
  279. let paramsObj = this.searchObj
  280. request.post('/bis/insp/meet/recode/getRecodeInfo',paramsObj).then((res)=>{
  281. if(res.success){
  282. this.meetingList = res.data.list
  283. this.total = res.data.total
  284. }
  285. })
  286. },
  287. toAddMeeting(type,row){
  288. let _this = this
  289. this.curOperate = type
  290. if(this.curOperate == '编辑'){
  291. let rowObj = {}
  292. Object.assign(rowObj,row)
  293. request.get(`/bis/insp/meet/recode/${rowObj.id}`).then(res=>{
  294. if(res.success){
  295. this.addObj = res.data
  296. this.hostName = res.data.controlPersName
  297. this.participants = res.data.participants
  298. if(res.data.participantsList.length){
  299. let personId = []
  300. let personName = []
  301. res.data.participantsList.forEach(ele=>{
  302. personName.push(ele.persName)
  303. })
  304. this.participants = personName.join(',')
  305. //所有信息赋值
  306. this.allInfo = res.data.participantsList
  307. }
  308. delete this.addObj.participants
  309. }else{
  310. this.$message.error(res.message)
  311. }
  312. })
  313. }else{
  314. for (var obj in this.addObj) {
  315. if(obj != 'orgId' && obj != 'orgNm'){
  316. this.addObj[obj] = ''
  317. }
  318. }
  319. this.addObj.startTime = meetingStarTime()
  320. this.addObj.endTime = meetingEndTime()
  321. this.addObj.participantsList = []
  322. this.participants = ''
  323. this.hostName = ''
  324. }
  325. //是否显示弹框内的机构树
  326. if(!this.addObj.orgId || this.curOperate == '编辑'){
  327. this.changeJigou = true
  328. }else{
  329. this.changeJigou = false
  330. }
  331. this.dialogFormVisible = true
  332. },
  333. //添加/编辑会议
  334. addMeeting(){
  335. let insertUrl = `/bis/insp/meet/recode/add`
  336. let editUrl = `/bis/insp/meet/recode/update`
  337. // 校验
  338. if(
  339. !this.addObj.title || !this.addObj.details || !this.addObj.meetingroomtype || !this.addObj.password
  340. || !this.addObj.controlPersId || !this.addObj.controlPassword || !this.addObj.participantsList || !this.addObj.startTime
  341. || !this.addObj.endTime
  342. ){
  343. this.$message.warning('请完善必填项信息')
  344. return
  345. }
  346. if(this.addObj.meetingroomtype == '2' && !this.addObj.conferencenumber){
  347. this.$message.warning('请选择会议室')
  348. return
  349. }
  350. if(this.curOperate == '添加'){
  351. this.addObj.persId = this.persId
  352. request.post(insertUrl,this.addObj).then((res)=>{
  353. if(res.success){
  354. this.getMeetingList()
  355. this.addObj.orgId = ''
  356. this.addObj.orgNm = ''
  357. this.dialogFormVisible = false
  358. this.$message.success('添加成功')
  359. }else{
  360. this.$message.error(res.message)
  361. }
  362. })
  363. }else if(this.curOperate == '编辑'){
  364. request.post(editUrl,this.addObj).then((res)=>{
  365. if(res.success){
  366. this.getMeetingList()
  367. this.addObj.orgId = ''
  368. this.addObj.orgNm = ''
  369. this.dialogFormVisible = false
  370. this.$message.success('修改成功')
  371. }else{
  372. this.$message.error(res.message)
  373. }
  374. })
  375. }
  376. },
  377. deleteMeeting(row){
  378. this.$confirm('确定删除该会议吗?', '提示', {
  379. confirmButtonText: '确定',
  380. cancelButtonText: '取消',
  381. type: 'warning'
  382. }).then(() => {
  383. request.post(`/bis/insp/meet/recode/delete/${row.id}`).then((res)=>{
  384. if(res.success){
  385. this.getMeetingList()
  386. this.dialogFormVisible = false
  387. this.$message({
  388. type: 'success',
  389. message: '删除成功!'
  390. });
  391. }
  392. })
  393. }).catch(() => {
  394. });
  395. },
  396. onSubmit(){
  397. this.searchObj.orgId = ''
  398. this.getMeetingList()
  399. },
  400. releaseMeeting(row){
  401. this.$confirm('确认给参会人员发送会议通知吗?', '提示', {
  402. confirmButtonText: '确定',
  403. cancelButtonText: '取消',
  404. type: 'warning'
  405. }).then(() => {
  406. request.get(`/bis/insp/meet/recode/sendSms/${row.id}`).then((res)=>{
  407. if(res.success){
  408. this.getMeetingList()
  409. this.dialogFormVisible = false
  410. this.$message({
  411. type: 'success',
  412. message: '通知成功!'
  413. });
  414. }
  415. })
  416. }).catch(() => {
  417. });
  418. },
  419. //获取会议室列表
  420. getRoomList(){
  421. let paramsObj = {
  422. pageNum: '1',
  423. pageSize: '100',
  424. persId: '250'
  425. }
  426. paramsObj.persId = this.persId
  427. request.post('/bis/insp/meet/room/getRoomByPersId',paramsObj).then((res)=>{
  428. if(res.success){
  429. this.roomList = res.data.list
  430. }
  431. })
  432. },
  433. handleCurrentChange(val) {
  434. this.getMeetingList()
  435. },
  436. handleSizeChange(val){
  437. this.searchObj.pageSize = val;
  438. this.pageSize = val
  439. this.getMeetingList();
  440. },
  441. provTreeSelectChangeHandler(params) {
  442. this.isSelected = true
  443. this.addObj.orgId = params.code
  444. this.addObj.orgNm = params.name
  445. this.searchObj.orgId = params.code;
  446. this.getMeetingList();
  447. },
  448. selectJigouCode(params){
  449. this.addObj.orgId = params.code
  450. this.addObj.orgNm = params.name
  451. },
  452. sendPersonInfo(info){
  453. console.log(info)
  454. let _this = this
  455. _this.addObj.participantsList = []
  456. if(this.memberType == 'checkbox'){
  457. this.participants = info.memberNames ? info.memberNames : ''
  458. info.memberIds.forEach(ele=>{
  459. _this.addObj.participantsList.push({'persId': ele})
  460. })
  461. //接收所有信息
  462. this.allInfo = info.allInfo
  463. }else{
  464. this.hostName = info.memberName ? info.memberName : ''
  465. this.addObj.controlPersId = info.memberId
  466. }
  467. this.chooseMemberShow = false
  468. },
  469. sendPersonInfoOrgan(info){
  470. console.log(info)
  471. let _this = this
  472. _this.addObj.participantsList = []
  473. if(this.memberType == 'checkbox'){
  474. this.participants = info.memberNames ? info.memberNames : ''
  475. info.memberIds.forEach(ele=>{
  476. _this.addObj.participantsList.push({'persId': ele})
  477. })
  478. //接收所有信息
  479. this.allInfo = info.allInfo
  480. }else{
  481. this.hostName = info.memberName ? info.memberName : ''
  482. this.addObj.controlPersId = info.memberId
  483. }
  484. this.chooseMemberShowOrgan = false
  485. },
  486. clearMember(){
  487. this.participants = ''
  488. this.addObj.participantsList = []
  489. },
  490. //关闭督查组人员弹窗
  491. closeMember(){
  492. this.chooseMemberShow = false
  493. },
  494. //关闭督查机构人员弹窗
  495. closeMemberOrgan(){
  496. this.chooseMemberShowOrgan = false
  497. },
  498. //展示督查机构人员弹窗
  499. memberShowOrgan(type){
  500. this.memberType = type
  501. this.chooseMemberShowOrgan = true
  502. },
  503. //展示督查组人员弹窗
  504. memberShow(type){
  505. this.memberType = type
  506. this.chooseMemberShow = true
  507. }
  508. },
  509. filters:{
  510. participantsList(val){
  511. let person = []
  512. val.forEach(ele=>{
  513. person.push(ele.persName)
  514. })
  515. return person.join(',')
  516. },
  517. yesOrNo(val){
  518. return val == '0' ? '否' : val == '1' ? '是' : ''
  519. }
  520. }
  521. }
  522. </script>
  523. <style lang="scss" scoped>
  524. #dcdxHeader {
  525. padding: 15px 20px 0;
  526. height: auto !important;
  527. }
  528. #dxdcFooter {
  529. text-align: center;
  530. }
  531. #dxdcAside {
  532. border:1px solid #d5d5ff;
  533. }
  534. #dcdxHeader .el-dialog__wrapper .el-treeWhite{
  535. max-height: 260px !important;
  536. }
  537. .choose_member{
  538. margin-left: 10px;
  539. color: #2c7ad6;
  540. font-size: 12px;
  541. cursor: pointer;
  542. }
  543. .clearInput{
  544. margin-left: -25px;
  545. position: relative;
  546. color: #999;
  547. cursor: pointer;
  548. }
  549. </style>