configDialog.vue 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739
  1. <template>
  2. <el-dialog class="configDialog"
  3. :close-on-click-modal="false"
  4. :title="configDialogData.staffType==1?'检查人员配置':'整改人员配置'" :visible.sync="configDialogType" v-if="configDialogType"
  5. @close="addDialogAllOff" width="1373px" append-to-body>
  6. <div class="configDialog-box" v-if="configPageType == 1">
  7. <div class="configDialog-content-box">
  8. <div class="configDialog-content-min-box">
  9. <p class="configDialog-content-min-title">实验室{{configDialogData.staffType==1?'检查':(configDialogData.staffType==2?'整改':'')}}人员配置:</p>
  10. <div class="configDialog-content-min-checkbox">
  11. <el-checkbox-group v-model="checkDataList" @change="checkboxChange" :disabled="!editType">
  12. <el-checkbox style="width:170px;margin-right:70px;"
  13. v-for="item in checkList" :value="item.key" :label="item.key" :key="item.key">{{item.label}}</el-checkbox>
  14. </el-checkbox-group>
  15. </div>
  16. <p v-if="checkType" class="configDialog-content-min-button" @click="configUserButton(2)">配置</p>
  17. <div class="configDialog-content-min-text-box" v-if="versionField() !== 'xiBeiNongLinDaXue'">
  18. <p></p>
  19. <p></p>
  20. <p>实验室白名单内的老师</p>
  21. <p v-if="checkType">拥有实验室安全准入资格的学生</p>
  22. </div>
  23. </div>
  24. </div>
  25. <div class="dialog-footer-box" v-hasPermi="['check:set:edit']">
  26. <p class="dialog-footer-button-null"></p>
  27. <p class="dialog-footer-button-info" @click="addDialogOff">取消</p>
  28. <p class="dialog-footer-button-primary" @click="upDataButton">确定</p>
  29. <p class="dialog-footer-button-null"></p>
  30. </div>
  31. </div>
  32. <div class="configDialog-user-box" v-if="configPageType == 2">
  33. <div class="configDialog-user-content-box">
  34. <div class="left-max-box">
  35. <div class="dept-table-title-box">
  36. <p>待选人员</p>
  37. <p>{{userNumLeft}}/{{userTotalLeft}}</p>
  38. </div>
  39. <div class="dept-table-max-box">
  40. <el-form :model="userQueryParamsLeft" class="form-box" ref="queryForm" :inline="true" label-width="50px">
  41. <el-form-item label="" prop="deptId">
  42. <el-select v-model="userQueryParamsLeft.deptId" clearable @change="userHandleQueryLeft" placeholder="选择部门" style="width: 110px">
  43. <el-option
  44. v-for="item in deptSelectList"
  45. :key="item.deptId"
  46. :label="item.deptName"
  47. :value="item.deptId">
  48. </el-option>
  49. </el-select>
  50. </el-form-item>
  51. <el-form-item>
  52. <el-date-picker
  53. :clearable="false"
  54. v-model="leftDateRange"
  55. size="small"
  56. style="width: 180px"
  57. value-format="yyyy-MM-dd"
  58. type="daterange"
  59. range-separator="-"
  60. start-placeholder="开始日期"
  61. end-placeholder="结束日期"
  62. ></el-date-picker>
  63. </el-form-item>
  64. <el-form-item label="" prop="searchValue" class="form-index" style="margin-right:0;">
  65. <el-input
  66. maxLength="30"
  67. v-model="userQueryParamsLeft.searchValue"
  68. placeholder="姓名/手机号/实验室"
  69. style="width: 178px">
  70. <p class="el-icon-search" slot="append" @click="userHandleQueryLeft"></p>
  71. </el-input>
  72. </el-form-item>
  73. <el-form-item style="margin-right:0;margin-left: 10px;">
  74. <p class="inquire-button-one" @click="userResetQueryLeft" style="width:60px;margin-right:0;">重置</p>
  75. </el-form-item>
  76. </el-form>
  77. <el-table ref="leftUserTable" border :data="userTableListLeft" @selection-change="userChangeLeft" :row-key="getRowKeys">
  78. <el-table-column v-if="editType" type="selection" width="50" :reserve-selection="true" align="center"/>
  79. <el-table-column label="姓名" align="center" prop="userName" show-overflow-tooltip/>
  80. <el-table-column label="学号" align="center" prop="userNumber" show-overflow-tooltip width="80"/>
  81. <el-table-column label="手机号" align="center" prop="phonenumber" show-overflow-tooltip width="100"/>
  82. <el-table-column label="实验室" align="center" prop="subjectName" show-overflow-tooltip width="80"/>
  83. <el-table-column label="准入有效期" align="center" prop="deptName" show-overflow-tooltip width="200">
  84. <template slot-scope="scope">{{scope.row.validBeginTime}} 至 {{scope.row.validEndTime}}</template>
  85. </el-table-column>
  86. </el-table>
  87. <pagination :page-sizes="[20, 30, 40, 50]"
  88. v-show="userTotalLeft>0"
  89. :total="userTotalLeft"
  90. :page.sync="userQueryParamsLeft.pageNum"
  91. :limit.sync="userQueryParamsLeft.pageSize"
  92. @pagination="userGetListLeft"/>
  93. </div>
  94. </div>
  95. <div class="center-box">
  96. <p v-if="editType" class="el-icon-arrow-left" @click="userArrowButton(1)"></p>
  97. <p v-if="editType" class="el-icon-arrow-right" @click="userArrowButton(2)"></p>
  98. </div>
  99. <div class="right-max-box">
  100. <div class="dept-table-title-box">
  101. <p>已选成员</p>
  102. <p>{{userNumRight}}/{{userTotalRight}}</p>
  103. </div>
  104. <div class="dept-table-max-box">
  105. <el-form :model="userQueryParamsRight" class="form-box" ref="queryForm" :inline="true" label-width="50px">
  106. <el-form-item label="" prop="deptId">
  107. <el-select v-model="userQueryParamsRight.deptId" clearable @change="userHandleQueryRight" placeholder="选择部门" style="width: 110px">
  108. <el-option
  109. v-for="item in deptSelectList"
  110. :key="item.deptId"
  111. :label="item.deptName"
  112. :value="item.deptId">
  113. </el-option>
  114. </el-select>
  115. </el-form-item>
  116. <el-form-item>
  117. <el-date-picker
  118. :clearable="false"
  119. v-model="rightDateRange"
  120. size="small"
  121. style="width: 180px"
  122. value-format="yyyy-MM-dd"
  123. type="daterange"
  124. range-separator="-"
  125. start-placeholder="开始日期"
  126. end-placeholder="结束日期"
  127. ></el-date-picker>
  128. </el-form-item>
  129. <el-form-item label="" prop="searchValue" class="form-index" style="margin-right:0;">
  130. <el-input
  131. maxLength="30"
  132. v-model="userQueryParamsRight.searchValue"
  133. placeholder="姓名/手机号/实验室"
  134. style="width: 178px">
  135. <p class="el-icon-search" slot="append" @click="userHandleQueryRight"></p>
  136. </el-input>
  137. </el-form-item>
  138. <el-form-item style="margin-right:0;margin-left: 10px;">
  139. <p class="inquire-button-one" @click="userResetQueryRight" style="width:60px;margin-right:0;">重置</p>
  140. </el-form-item>
  141. </el-form>
  142. <el-table ref="rightUserTable" border :data="userTableListRight" @selection-change="userChangeRight" :row-key="getRowKeys">
  143. <el-table-column v-if="editType" type="selection" width="50" :reserve-selection="true" align="center"/>
  144. <el-table-column label="姓名" align="center" prop="userName" show-overflow-tooltip/>
  145. <el-table-column label="学号" align="center" prop="userNumber" show-overflow-tooltip width="80"/>
  146. <el-table-column label="手机号" align="center" prop="phonenumber" show-overflow-tooltip width="100"/>
  147. <el-table-column label="实验室" align="center" prop="subjectName" show-overflow-tooltip width="80"/>
  148. <el-table-column label="准入有效期" align="center" prop="deptName" show-overflow-tooltip width="200">
  149. <template slot-scope="scope">{{scope.row.validBeginTime}} 至 {{scope.row.validEndTime}}</template>
  150. </el-table-column>
  151. </el-table>
  152. <pagination :page-sizes="[20, 30, 40, 50]"
  153. v-show="userTotalRight>0"
  154. :total="userTotalRight"
  155. :page.sync="userQueryParamsRight.pageNum"
  156. :limit.sync="userQueryParamsRight.pageSize"
  157. @pagination="userGetListRight"/>
  158. </div>
  159. </div>
  160. </div>
  161. <div class="dialog-footer-box" v-hasPermi="['check:set:edit']">
  162. <p class="dialog-footer-button-null"></p>
  163. <p class="dialog-footer-button-info" @click="addDialogOff">返回</p>
  164. <p class="dialog-footer-button-primary" @click="addUserButton">确定</p>
  165. <p class="dialog-footer-button-null"></p>
  166. </div>
  167. </div>
  168. </el-dialog>
  169. </template>
  170. <script>
  171. import { listDepartments } from "@/apiDemo/system/dept";
  172. import { checkSet,checkSetAdd,checkStaffUserList } from '@/apiDemo/safetyCheck/index'
  173. export default {
  174. name: 'configDialog',
  175. props:{
  176. configDialogData:{},
  177. },
  178. data(){
  179. return{
  180. editType:this.hasPermiDom(['check:set:edit']),
  181. configDialogType:true,
  182. configPageType:1,
  183. checkDataList:[],
  184. checkList:[],
  185. checkType:false,
  186. /*===================================人员选择相关===================================*/
  187. deptSelectList:[],
  188. userQueryParamsLeft:{
  189. pageNum:1,
  190. pageSize:20,
  191. searchValue:"",
  192. deptId:"",
  193. filtType:1
  194. },
  195. userTableListLeft:[],
  196. userTotalLeft:0,
  197. userNumLeft:0,
  198. userIdsLeft:[],
  199. userQueryParamsRight:{
  200. pageNum:1,
  201. pageSize:20,
  202. deptId:"",
  203. searchValue:"",
  204. filtType:2
  205. },
  206. userTableListRight:[],
  207. userTotalRight:0,
  208. userNumRight:0,
  209. userIdsRight:[],
  210. leftDateRange:[],
  211. rightDateRange:[],
  212. //选中巡查人员列表
  213. dialogTableList:[],
  214. //选中页面人员列表数据
  215. dialogTableDataList:[],
  216. }
  217. },
  218. created(){
  219. },
  220. mounted(){
  221. this.checkSet();
  222. this.listDepartments();
  223. },
  224. methods:{
  225. //提交
  226. upDataButton(){
  227. let self = this;
  228. let obj = {
  229. staffType:this.configDialogData.staffType,
  230. setSubjectLead:false,
  231. setSubjectSafety:false,
  232. setTeacher:false,
  233. setStudent:false,
  234. };
  235. if(this.versionField() === 'xiBeiNongLinDaXue'){
  236. for(let i=0;i<self.checkDataList.length;i++){
  237. if(self.checkDataList[i] == '2'){
  238. obj.setSubjectLead = true;
  239. }else if(self.checkDataList[i] == '1'){
  240. obj.setSubjectSafety = true;
  241. }
  242. }
  243. obj.sysUserVoList = []
  244. }else{
  245. for(let i=0;i<self.checkDataList.length;i++){
  246. if(self.checkDataList[i] == '2'){
  247. obj.setSubjectLead = true;
  248. }else if(self.checkDataList[i] == '1'){
  249. obj.setSubjectSafety = true;
  250. }else if(self.checkDataList[i] == '3'){
  251. obj.setTeacher = true;
  252. }else if(self.checkDataList[i] == '4'){
  253. obj.setStudent = true;
  254. }
  255. }
  256. obj.sysUserVoList = obj.setStudent?this.dialogTableList:[]
  257. }
  258. if(obj.setStudent){
  259. if(!obj.sysUserVoList[0]){
  260. this.msgError('并未勾选任何学生')
  261. return
  262. }
  263. }
  264. checkSetAdd(obj).then(response => {
  265. this.msgSuccess(response.msg);
  266. this.$parent.configButton(3)
  267. })
  268. },
  269. //获取配置
  270. checkSet(){
  271. checkSet({staffType:this.configDialogData.staffType}).then(response => {
  272. let list = [];
  273. console.log('this.versionField()',this.versionField())
  274. if(this.versionField() === 'xiBeiNongLinDaXue'){
  275. if(response.data.setSubjectLead){
  276. //实验室负责人
  277. list.push('2');
  278. }
  279. if(response.data.setSubjectSafety){
  280. //实验室安全责任人
  281. list.push('1');
  282. }
  283. this.$set(this,'checkList',[
  284. {
  285. key:"2",
  286. label:"实验室负责人",
  287. },
  288. {
  289. key:"1",
  290. label:"实验室安全责任人",
  291. }
  292. ]);
  293. }else{
  294. if(response.data.setSubjectLead){
  295. //实验室负责人
  296. list.push('2');
  297. }
  298. if(response.data.setSubjectSafety){
  299. //实验室安全责任人
  300. list.push('1');
  301. }
  302. if(response.data.setTeacher){
  303. //全部老师
  304. list.push('3');
  305. }
  306. if(response.data.setStudent){
  307. //全部学生
  308. list.push('4');
  309. this.$set(this,'checkType',true);
  310. }
  311. this.$set(this,'checkList',[
  312. {
  313. key:"2",
  314. label:"实验室负责人",
  315. },
  316. {
  317. key:"1",
  318. label:"实验室安全责任人",
  319. },
  320. {
  321. key:"3",
  322. label:"老师",
  323. },
  324. {
  325. key:"4",
  326. label:"学生",
  327. },
  328. ]);
  329. }
  330. this.$set(this,'checkDataList',list);
  331. this.$set(this,'dialogTableList',response.data.userStuList);
  332. });
  333. },
  334. //人员选择
  335. configUserButton(type){
  336. let self = this;
  337. if(this.configPageType != type){
  338. if(type == 2){
  339. this.$set(self,'dialogTableDataList',JSON.parse(JSON.stringify(this.dialogTableList)));
  340. this.userResetQueryLeft();
  341. this.userResetQueryRight();
  342. this.$set(this,'configPageType',type);
  343. }else{
  344. checkStaffUserList.then(response => {
  345. this.dialogTableList = response.data;
  346. });
  347. this.$set(this,'configPageType',type);
  348. }
  349. }
  350. },
  351. //选择器
  352. checkboxChange(val){
  353. if(val[0]){
  354. let num = 0;
  355. for(let i=0;i<val.length;i++){
  356. if(val[i] == '4'){
  357. num++
  358. }
  359. }
  360. this.$set(this,'checkType',num != 0?true:false);
  361. }else{
  362. this.$set(this,'checkType',false);
  363. }
  364. },
  365. //窗口关闭
  366. addDialogAllOff(){
  367. this.$parent.configButton(2)
  368. },
  369. addDialogOff(){
  370. if(this.configPageType == 1){
  371. this.$parent.configButton(2)
  372. }else{
  373. this.$set(this,'configPageType',1);
  374. }
  375. },
  376. addUserButton(){
  377. this.$set(this,'dialogTableList',this.dialogTableDataList);
  378. this.$set(this,'configPageType',1);
  379. },
  380. /*===================================人员选择相关===================================*/
  381. //查询
  382. userHandleQueryLeft(){
  383. this.$set(this.userQueryParamsLeft,'pageNum',1);
  384. this.$set(this,'userNumLeft',0);
  385. this.$set(this,'userIdsLeft',[]);
  386. if (this.$refs.leftUserTable){
  387. this.$refs.leftUserTable.clearSelection();
  388. }
  389. this.userGetListLeft();
  390. },
  391. //重置
  392. userResetQueryLeft(){
  393. this.$set(this,'leftDateRange',[])
  394. this.$set(this,'userQueryParamsLeft',{
  395. pageNum:1,
  396. pageSize:20,
  397. searchValue:"",
  398. deptId:"",
  399. filtType:1
  400. });
  401. this.userHandleQueryLeft();
  402. },
  403. //查询接口
  404. userGetListLeft(){
  405. let self = this;
  406. let leftObj = JSON.parse(JSON.stringify(this.userQueryParamsLeft));
  407. leftObj.filtCheckUserIdList = [];
  408. for(let i=0;i<self.dialogTableDataList.length;i++){
  409. let obj = {
  410. userId:self.dialogTableDataList[i].userId,
  411. subjectId:self.dialogTableDataList[i].subId
  412. }
  413. leftObj.filtCheckUserIdList.push(obj)
  414. }
  415. if(this.leftDateRange[0]){
  416. leftObj.beginTime = this.leftDateRange[0]
  417. }else{
  418. leftObj.beginTime = ""
  419. }
  420. if(this.leftDateRange[1]){
  421. leftObj.endTime = this.leftDateRange[1]
  422. }else{
  423. leftObj.endTime = ""
  424. }
  425. checkStaffUserList(leftObj).then(response => {
  426. this.userTotalLeft = response.data.total;
  427. this.userTableListLeft = response.data.records;
  428. });
  429. },
  430. //查询
  431. userHandleQueryRight(){
  432. this.$set(this.userQueryParamsRight,'pageNum',1);
  433. this.$set(this,'userNumRight',0);
  434. this.$set(this,'userIdsRight',[]);
  435. if(this.$refs.rightUserTable){
  436. this.$refs.rightUserTable.clearSelection();
  437. }
  438. this.userGetListRight();
  439. },
  440. //重置
  441. userResetQueryRight(){
  442. this.$set(this,'rightDateRange',[])
  443. this.$set(this,'userQueryParamsRight',{
  444. pageNum:1,
  445. pageSize:20,
  446. deptId:"",
  447. searchValue:"",
  448. filtType:2
  449. });
  450. this.userHandleQueryRight();
  451. },
  452. //查询接口
  453. userGetListRight(){
  454. let self = this;
  455. let rightObj = JSON.parse(JSON.stringify(this.userQueryParamsRight));
  456. rightObj.notFiltCheckUserIdList = [];
  457. for(let i=0;i<self.dialogTableDataList.length;i++){
  458. let obj = {
  459. userId:self.dialogTableDataList[i].userId,
  460. subjectId:self.dialogTableDataList[i].subId
  461. }
  462. rightObj.notFiltCheckUserIdList.push(obj)
  463. }
  464. if(this.rightDateRange[0]){
  465. rightObj.beginTime = this.rightDateRange[0]
  466. }else{
  467. rightObj.beginTime = ""
  468. }
  469. if(this.rightDateRange[1]){
  470. rightObj.endTime = this.rightDateRange[1]
  471. }else{
  472. rightObj.endTime = ""
  473. }
  474. checkStaffUserList(rightObj).then(response => {
  475. this.userTotalRight = response.data.total;
  476. this.userTableListRight = response.data.records;
  477. });
  478. },
  479. //穿梭按钮
  480. userArrowButton(type){
  481. let self = this;
  482. if(type == 1){
  483. //右至左
  484. if(this.$refs.rightUserTable.selection[0]){
  485. let list = JSON.parse(JSON.stringify(this.dialogTableDataList));
  486. let userIdsRight = JSON.parse(JSON.stringify(this.$refs.rightUserTable.selection))
  487. for(let i=0;i<userIdsRight.length;i++){
  488. for(let s=0;s<list.length;s++){
  489. if(userIdsRight[i].userId == list[s].userId && userIdsRight[i].subjectId == list[s].subId){
  490. list.splice(s,1);
  491. s--
  492. }
  493. }
  494. }
  495. this.$set(this,'dialogTableDataList',list);
  496. this.$refs.rightUserTable.clearSelection();
  497. this.userHandleQueryLeft();
  498. this.userHandleQueryRight();
  499. }else{
  500. this.msgError('请先勾选右侧列表')
  501. }
  502. }else if(type == 2){
  503. //左至右
  504. if(this.$refs.leftUserTable.selection[0]){
  505. let list = JSON.parse(JSON.stringify(this.dialogTableDataList));
  506. let userIdsLeft = JSON.parse(JSON.stringify(this.$refs.leftUserTable.selection))
  507. console.log('userIdsLeft',userIdsLeft)
  508. for(let i=0;i<userIdsLeft.length;i++){
  509. let obj = {
  510. subId:userIdsLeft[i].subjectId,
  511. subName:userIdsLeft[i].subjectName,
  512. subRom:userIdsLeft[i].roomNum,
  513. deptId:userIdsLeft[i].deptId,
  514. deptName:userIdsLeft[i].deptName,
  515. userId:userIdsLeft[i].userId,
  516. nickName:userIdsLeft[i].userName,
  517. userNumber:userIdsLeft[i].userNumber,
  518. phonenumber:userIdsLeft[i].phonenumber,
  519. validBeginTime:userIdsLeft[i].validBeginTime,
  520. validEndTime:userIdsLeft[i].validEndTime,
  521. }
  522. list.push(obj);
  523. }
  524. this.$set(this,'dialogTableDataList',list);
  525. this.$refs.leftUserTable.clearSelection();
  526. this.userHandleQueryLeft();
  527. this.userHandleQueryRight();
  528. }else{
  529. this.msgError('请先勾选左侧列表')
  530. }
  531. }
  532. },
  533. /*===记录勾选数据===
  534. 需要再el-table 添加 :row-key="getRowKeys"
  535. 需要在selection 添加 :reserve-selection="true"
  536. */
  537. getRowKeys(row) {
  538. return row.id
  539. },
  540. userChangeLeft(selection){
  541. this.userNumLeft = selection.length;
  542. this.userIdsLeft = selection.map(item => item.userId);
  543. },
  544. userChangeRight(selection){
  545. this.userNumRight = selection.length;
  546. this.userIdsRight = selection.map(item => item.userId);
  547. },
  548. //获取学院列表
  549. listDepartments(){
  550. listDepartments().then(response => {
  551. this.deptSelectList = response.data;
  552. });
  553. },
  554. }
  555. }
  556. </script>
  557. <style scoped lang="scss">
  558. .configDialog{
  559. overflow: hidden;
  560. .configDialog-box{
  561. height:600px;
  562. display: flex;
  563. flex-direction: column;
  564. overflow: hidden;
  565. .configDialog-content-box{
  566. flex:1;
  567. padding:0 70px;
  568. .configDialog-content-min-box{
  569. height:160px;
  570. border-radius:4px;
  571. border: 1px solid #F5F5F5;
  572. padding:0 30px;
  573. position: relative;
  574. .configDialog-content-min-title{
  575. margin-top:19px;
  576. margin-bottom:32px;
  577. line-height:20px;
  578. font-size:14px;
  579. color:#333;
  580. }
  581. .configDialog-content-min-checkbox{
  582. }
  583. .configDialog-content-min-button{
  584. position: absolute;
  585. top:65px;
  586. right:205px;
  587. background-color: #0045AF;
  588. width:70px;
  589. height:30px;
  590. line-height:30px;
  591. text-align: center;
  592. color:#fff;
  593. border-radius:4px;
  594. cursor: pointer;
  595. }
  596. .configDialog-content-min-text-box{
  597. display: flex;
  598. margin-top:15px;
  599. p{
  600. width:240px;
  601. color:#999999;
  602. }
  603. }
  604. }
  605. }
  606. .dialog-footer-box{
  607. display: flex;
  608. }
  609. }
  610. .configDialog-user-box{
  611. height:600px;
  612. display: flex;
  613. flex-direction: column;
  614. overflow: hidden;
  615. .configDialog-user-content-box{
  616. flex:1;
  617. display: flex;
  618. overflow: hidden;
  619. .dept-table-title-box{
  620. display: flex;
  621. padding:0 20px;
  622. background: rgba(1,131,250,0.1);
  623. p{
  624. flex:1;
  625. color:#0183FA;
  626. font-size:16px;
  627. line-height:40px;
  628. }
  629. p:nth-child(1){
  630. text-align: left;
  631. }
  632. p:nth-child(2){
  633. text-align: right;
  634. }
  635. }
  636. .dept-table-max-box{
  637. border: 1px solid #e0e0e0;
  638. flex:1;
  639. display: flex;
  640. flex-direction: column;
  641. overflow: hidden;
  642. padding:20px;
  643. .form-index{
  644. .el-input__inner{
  645. border-right:none;
  646. padding-right:0;
  647. }
  648. .el-input-group__append{
  649. background: #fff;
  650. cursor: pointer;
  651. padding:0 10px;
  652. }
  653. }
  654. input{
  655. border: 1px solid #DCDFE6;
  656. }
  657. }
  658. .left-max-box{
  659. height:550px;
  660. display: flex;
  661. flex-direction: column;
  662. overflow: hidden;
  663. width:639px;
  664. }
  665. .right-max-box{
  666. height:550px;
  667. display: flex;
  668. flex-direction: column;
  669. overflow: hidden;
  670. width:639px;
  671. }
  672. .center-box{
  673. width:60px;
  674. p{
  675. display: block;
  676. border-radius:50%;
  677. width:30px;
  678. height:30px;
  679. line-height:30px;
  680. text-align: center;
  681. background: rgba(245,245,245,1);
  682. color:rgba(62,62,62,1);
  683. cursor: pointer;
  684. font-size:16px;
  685. }
  686. p:nth-child(1){
  687. margin:270px 16px 0;
  688. }
  689. p:nth-child(2){
  690. margin:14px 16px 0;
  691. }
  692. p:hover{
  693. color:#fff;
  694. background: #0183fa;
  695. }
  696. }
  697. ::v-deep .el-range-editor--small .el-range__icon{
  698. display: none;
  699. }
  700. ::v-deep .el-range-editor--small .el-range__close-icon{
  701. display: none;
  702. }
  703. ::v-deep .el-date-editor .el-range-input{
  704. width:45%;
  705. }
  706. ::v-deep .el-range-editor--small .el-range-separator{
  707. line-height:30px;
  708. }
  709. ::v-deep .el-input-group__append, .el-input-group__prepend{
  710. background-color: #fff;
  711. }
  712. .form-index{
  713. ::v-deep .el-input--medium .el-input__inner{
  714. border:1px solid #DCDFE6;
  715. border-right:none;
  716. padding-right:0;
  717. }
  718. ::v-deep .el-input-group__append{
  719. padding:0 10px;
  720. cursor: pointer;
  721. }
  722. }
  723. }
  724. .dialog-footer-box{
  725. display: flex;
  726. }
  727. }
  728. ::v-deep .el-dialog__body{
  729. padding: 30px 20px!important;
  730. }
  731. }
  732. </style>