companyManagement.vue 42 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018
  1. <template>
  2. <div class="companyManagement_template">
  3. <div class="nav_top">
  4. <div class="left_title">
  5. <img src="../img/iconfont/notice.png"><span class="span">Please pay attention to the updated content at any time.</span>
  6. </div>
  7. <div class="right_operation">
  8. <el-dropdown @command="commandDropdown" trigger="click" @visible-change="commandHide('dropdown_projectManagement_role_')">
  9. <span class="el-dropdown-link">
  10. <span>{{role_Name}}</span><i class="el-icon-caret-bottom el-icon--right"></i>
  11. </span>
  12. <el-dropdown-menu slot="dropdown" class="scrollbar_style dropdown_projectManagement_role_">
  13. <el-dropdown-item :class="{'select':role_ == '0'}" :command="{'key':'role_','id':'0'}" :key="'0'">All</el-dropdown-item>
  14. <el-dropdown-item v-for="item in roleList" :class="{'select':item.id==role_}" :command="{'key':'role_','id':item.id}" :key="item.id">{{item.name}}</el-dropdown-item>
  15. </el-dropdown-menu>
  16. </el-dropdown>
  17. <el-input placeholder="search..." type='search' v-model="keyword" @keyup.native="getCompanyListKeyUp($event)" class="input-with-select">
  18. <i slot="suffix" class="el-input__icon el-icon-search" @click="getCompanyList()"></i>
  19. </el-input>
  20. <div class="btn" @click="addCompanyFun()"><img src="../img/iconfont/add.png"><span>New company</span></div>
  21. </div>
  22. </div>
  23. <div class="companyManagement_main">
  24. <div class="table_box">
  25. <el-table
  26. ref="companyList"
  27. v-loading="loading.companyList"
  28. element-loading-background="rgba(255, 255, 255, 0.5)"
  29. height="calc(100% - 5.5rem)"
  30. :data="companyList">
  31. <el-table-column
  32. label="Num"
  33. prop="webIndex"
  34. align="center"
  35. header-align="center"
  36. width="100">
  37. </el-table-column>
  38. <el-table-column
  39. v-for="(item) in companyListArr"
  40. :key="'table_'+item.prop"
  41. :prop="item.prop"
  42. :label="item.label"
  43. :align="item.align?item.align:'center'"
  44. :width="item.width"
  45. :show-overflow-tooltip="true"
  46. :min-width="item.minWidth">
  47. <template slot-scope="scope">
  48. <div v-if="item.type != 1">{{scope.row[item.prop]}}{{item.unit?item.unit:''}}</div>
  49. <div v-if="item.prop == 'type'" class="Type">
  50. <div class="box">{{roleArr[scope.row[item.prop]]}}{{item.unit?item.unit:''}}</div>
  51. </div>
  52. </template>
  53. </el-table-column>
  54. <el-table-column
  55. align="center"
  56. :width="12*remRatio"
  57. :label="'Operation'">
  58. <template slot-scope="scope">
  59. <span class="btn" @click="editFun(scope.row)" title="Edit">
  60. <i class="iconfont icon-bianji" style="color: #A3AFBB"></i>
  61. </span>
  62. <span class="btn" @click="delFun(scope.row)" title="Delete">
  63. <i class="iconfont icon-shanchu" style="color: #A3AFBB"></i>
  64. </span>
  65. </template>
  66. </el-table-column>
  67. </el-table>
  68. <div class="pagination_box">
  69. <div class="left">
  70. <div class="totle">
  71. <span class="span1">Total</span>
  72. <span class="span2">{{total}}</span>
  73. </div>
  74. <div class="line"></div>
  75. <el-dropdown @command="commandDropdown" trigger="click" @visible-change="commandHide('dropdown_projectManagement_division')">
  76. <span class="el-dropdown-link">
  77. <span>{{pageSizeName}}</span><i class="el-icon-caret-bottom el-icon--right"></i>
  78. </span>
  79. <el-dropdown-menu slot="dropdown" class="scrollbar_style dropdown_projectManagement_division">
  80. <el-dropdown-item v-for="item in pageSizeArr" :class="{'select':item.id==pageSize}" :command="{'key':'pageSize','id':item.id}" :key="item.id">{{item.name}}</el-dropdown-item>
  81. </el-dropdown-menu>
  82. </el-dropdown>
  83. </div>
  84. <el-pagination
  85. @current-change="handleCurrentChange"
  86. :current-page="currentPage"
  87. :page-sizes="pageSizeArr"
  88. :page-size="pageSize"
  89. layout="prev, pager, next, jumper"
  90. :total="total">
  91. </el-pagination>
  92. </div>
  93. </div>
  94. </div>
  95. <!-- 添加编辑用户 -->
  96. <div class="company_wrap" v-show="companyTkShowbg">
  97. <div class="company_wrap_bg" @click="companyTkClose()"></div>
  98. <div class="company_box" :class="{'company_tk_show':companyTkShow}">
  99. <div class="company_title">
  100. <span class="span1">{{companyTkTitle}}</span>
  101. </div>
  102. <div class="form_box scrollbar_style">
  103. <div class="form">
  104. <div class="form_item">
  105. <span class="laber">company type</span>
  106. <!-- <el-input v-model="companyForm.type" placeholder=""></el-input> -->
  107. <el-dropdown @command="commandDropdown" trigger="click" @visible-change="commandHide('dropdown_projectManagement_roleName')" v-if="companyForm.type != 1">
  108. <span class="el-dropdown-link">
  109. <span>{{companyFormRoleName}}</span><i class="el-icon-caret-bottom el-icon--right"></i>
  110. </span>
  111. <el-dropdown-menu slot="dropdown" class="scrollbar_style dropdown_projectManagement_roleName_">
  112. <el-dropdown-item v-for="item in roleList" :class="{'select':item.id==companyForm.type}" :command="{'key':'companyForm.type','id':item.id}" :key="item.id">{{item.name}}</el-dropdown-item>
  113. </el-dropdown-menu>
  114. </el-dropdown>
  115. <span class="text" v-if="companyForm.type == 1">Admin</span>
  116. </div>
  117. <div class="form_item">
  118. <span class="laber">Company ID</span>
  119. <el-input v-model="companyForm.companyId" placeholder=""></el-input>
  120. </div>
  121. <div class="form_item">
  122. <span class="laber">company name</span>
  123. <el-input v-model="companyForm.name" placeholder=""></el-input>
  124. </div>
  125. <div class="form_item">
  126. <span class="laber">Abbreviation</span>
  127. <el-input v-model="companyForm.no" placeholder=""></el-input>
  128. </div>
  129. </div>
  130. </div>
  131. <div class="btn_box">
  132. <div class="btn" @click="companySave()">Confirm</div>
  133. </div>
  134. </div>
  135. </div>
  136. </div>
  137. </template>
  138. <script type="text/javascript">
  139. import { mapGetters } from 'vuex'
  140. import allUel from '../api/allUel.js'
  141. import base from '../api/base.js'
  142. export default{
  143. name:'companyManagement',
  144. data(){
  145. return{
  146. userId:'',
  147. userInfo:{
  148. avatar:'',
  149. },
  150. userData:{},
  151. actionImg:'',
  152. imgUploadData:{
  153. username:'',
  154. client_key:'',
  155. token:'',
  156. },
  157. privilegeList: [],
  158. keyword:'',
  159. role_:'',
  160. role_Nav:[{id:'0',name:'All'},{id:'1',name:'admin'},{id:2,name:'Manufacturer'},{id:3,name:'Supplier'},{id:4,name:'PO'},{id:5,name:'Upazilla'},{id:6,name:'Monitoring'},{id:7,name:'Controlling'}],
  161. rightDate:'',
  162. rightDateNav:[{id:'0',name:'Today'}],
  163. myChart1:'',
  164. companyList:[],
  165. companyListArr:[],
  166. currentPage:1,
  167. pageSize:0,
  168. total:400,
  169. pageSizeArr:[{id:10,name:'10/page'},{id:20,name:'20/page'},{id:50,name:'50/page'},{id:100,name:'100/page'}],
  170. companyTkShowbg:false,
  171. companyTkShow:false,
  172. companyForm:{
  173. id:'',
  174. name:'',
  175. companyId:'',
  176. type:'',
  177. no:'',
  178. },
  179. companyTkTitle:'Edit company',
  180. roleArr:['','Admin','Manufacturer','Supplier','PO','Upazilla','Monitoring','Controlling'],
  181. roleList:[{id:2,name:'Manufacturer'},{id:3,name:'Supplier'},{id:4,name:'PO'},{id:5,name:'Upazilla'},{id:6,name:'Monitoring'},{id:7,name:'Controlling'}],
  182. loading:{
  183. companyList:false,
  184. }
  185. }
  186. },
  187. // components:{sideBarIdcol},
  188. computed:{
  189. ...mapGetters({
  190. token:'token',
  191. client_key:'client_key',
  192. username:'username',
  193. version:'version',
  194. id:'id',
  195. role:'role',
  196. remRatio:'remRatio',
  197. }),
  198. role_Name(){
  199. let name;
  200. for(let d of this.role_Nav){
  201. if(d.id == this.role_){
  202. name = d.name;
  203. }
  204. }
  205. return name;
  206. },
  207. companyFormRoleName(){
  208. let name;
  209. for(let d of this.roleList){
  210. if(d.id == this.companyForm.type){
  211. name = d.name;
  212. }
  213. }
  214. return name;
  215. },
  216. pageSizeName(){
  217. let name;
  218. for(let d of this.pageSizeArr){
  219. if(d.id == this.pageSize){
  220. name = d.name;
  221. }
  222. }
  223. return name;
  224. },
  225. },
  226. mounted(){
  227. this.actionImg = allUel.user.update_avatar;
  228. this.imgUploadData.username = this.username;
  229. this.imgUploadData.client_key = this.client_key;
  230. this.imgUploadData.token = this.token;
  231. this.pageSize = 10;
  232. this.role_ = 0;
  233. this.companyListArr = [
  234. {prop:'type',label:'Type',minWidth:8*this.remRatio,type:1,align:'letf'},
  235. {prop:'name',label:'Name',minWidth:16*this.remRatio,align:'letf'},
  236. {prop:'no',label:'Abbreviation',minWidth:8*this.remRatio,align:'letf'},
  237. {prop:'companyId',label:'Company ID',minWidth:8*this.remRatio}
  238. ];
  239. this.getCompanyList();
  240. },
  241. methods:{
  242. commandHide(val){
  243. this.$nextTick(function(){
  244. if($('.'+val)&&$('.'+val+' >.select').offset()){
  245. $('.'+val).animate({scrollTop: $('.'+val).scrollTop() + $('.'+val+' >.select').offset().top - $('.'+val).offset().top - 100})
  246. }
  247. })
  248. },
  249. commandDropdown(obj){
  250. if(obj.key.split('.').length == 1){
  251. this.$set(this,obj.key,obj.id)
  252. }else if(obj.key.split('.').length == 2){
  253. this.$set(this[obj.key.split('.')[0]],obj.key.split('.')[1],obj.id)
  254. }
  255. if(obj.key == 'pageSize'||obj.key == 'role_'){
  256. this.currentPage = 1;
  257. this.getCompanyList();
  258. }
  259. },
  260. addCompanyFun(){
  261. this.companyTkTitle = 'Add company';
  262. for(let key in this.companyForm){
  263. this.companyForm[key] = '';
  264. }
  265. this.companyForm.type = 2;
  266. let this_ = this;
  267. this.companyTkShowbg = true;
  268. setTimeout(function(){
  269. this_.companyTkShow = true;
  270. },300)
  271. },
  272. editFun(data){
  273. this.companyTkTitle = 'Edit company';
  274. this.companyTkShowbg = true;
  275. for(let key in data){
  276. this.companyForm[key] = data[key];
  277. }
  278. this.$nextTick(function(){
  279. this.companyTkShow = true;
  280. })
  281. },
  282. companyTkClose(){
  283. let this_ = this;
  284. this.companyTkShow = false;
  285. setTimeout(function(){
  286. this_.companyTkShowbg = false;
  287. },300)
  288. },
  289. companySave(){
  290. this.companyTkShow = false;
  291. base.ajax_post(
  292. allUel.user.company_save,
  293. {
  294. username:this.username,
  295. token:this.token,
  296. client_key:this.client_key,
  297. ...this.companyForm,
  298. },
  299. {},
  300. data => {
  301. this.$message({
  302. showClose: true,
  303. message: data.msg,
  304. type: 'success'
  305. });
  306. this.companyTkShowbg = false;
  307. this.getCompanyList();
  308. if(this.companyForm.id == this.userInfo.id){
  309. this.getUserInfo(this.userInfo.id,data=>{
  310. this.userInfo = data.data;
  311. });
  312. }
  313. },
  314. this,()=>{
  315. this.companyTkShow = true;
  316. }
  317. )
  318. },
  319. /*删除*/
  320. delFun(obj,type){
  321. let ids = '',isTrue = true;
  322. if(type == 'batch'){
  323. if(obj.length == 0){
  324. isTrue = false;
  325. this.$message({
  326. message: 'Please select the devices',
  327. type: 'warning'
  328. });
  329. }else{
  330. for(let id of obj){
  331. if(id == ''){
  332. ids = id;
  333. }else{
  334. ids += ','+id;
  335. }
  336. }
  337. }
  338. }else{
  339. ids = obj.id;
  340. }
  341. if(isTrue){
  342. this.$confirm(
  343. 'Are you sure you want to delete the user?', 'Warning', {
  344. confirmButtonText: 'Confirm',
  345. cancelButtonText: 'Cancel',
  346. type: 'warning'
  347. }
  348. ).then(() => {
  349. base.ajax_post(
  350. allUel.user.company_del,
  351. {
  352. username:this.username,
  353. client_key:this.client_key,
  354. token:this.token,
  355. id:ids,
  356. },
  357. {},
  358. data =>{
  359. this.$message({
  360. showClose: true,
  361. message: data.msg,
  362. type: 'success'
  363. });
  364. this.currentPage = 1;
  365. this.getCompanyList();
  366. },
  367. this
  368. )
  369. }).catch(() => {
  370. this.$message({
  371. type: 'info',
  372. message: 'Delete canceled'
  373. });
  374. });
  375. }
  376. },
  377. handleCurrentChange(val){
  378. this.currentPage = val;
  379. this.getCompanyList();
  380. },
  381. /*列表*/
  382. getCompanyListKeyUp(e){
  383. if(e.key == 'Enter'){
  384. this.getCompanyList();
  385. }
  386. },
  387. getCompanyList(){
  388. this.loading.companyList = true;
  389. base.ajax_post(
  390. allUel.user.company_get_list,
  391. {
  392. username:this.username,
  393. token:this.token,
  394. client_key:this.client_key,
  395. keyword:this.keyword,
  396. type:this.role_,
  397. page:this.currentPage,
  398. count:this.pageSize,
  399. },
  400. {},
  401. data => {
  402. this.companyList = data.data.list;
  403. let i = (this.currentPage - 1)*this.pageSize+1;
  404. for(let d of this.companyList){
  405. this.$set(d,'block_userLoading',false)
  406. d.webIndex = i;
  407. i++;
  408. }
  409. this.total = data.data.total;
  410. this.count = data.data.count;
  411. this.fault = data.data.fault;
  412. this.loading.companyList = false;
  413. this.$refs.companyList.doLayout();
  414. },
  415. this,()=>{
  416. this.loading.companyList = false;
  417. }
  418. )
  419. },
  420. }
  421. }
  422. </script>
  423. <style type="text/css" lang="less">
  424. .companyManagement_template{
  425. width: 100%;
  426. height: 100%;
  427. // height: 105rem;
  428. min-height: 50rem;
  429. // min-width: 120rem;
  430. margin: 0 auto;
  431. overflow: hidden;
  432. position: relative;
  433. .nav_top{
  434. display: flex;
  435. justify-content: space-between;
  436. width:100%;
  437. height:3.3rem;line-height: 3.3rem;
  438. background:rgba(255,255,255,1);
  439. border:0.1rem solid rgba(240,240,240,1);
  440. .left_title{
  441. display: flex;
  442. align-items: center;
  443. img{
  444. display: inline-block;
  445. // width: 1.2rem;
  446. height: 1rem;
  447. margin: 0 0.6rem;
  448. }
  449. .span{
  450. font-size:1rem;
  451. font-family:HiraginoSansGB-W3,HiraginoSansGB;
  452. font-weight:normal;
  453. color:rgba(101,112,133,1);
  454. }
  455. }
  456. .right_operation{
  457. display: flex;
  458. align-items: center;
  459. padding-right: 1.6rem;
  460. .el-dropdown{
  461. width: 10rem;
  462. height: 2rem;line-height: 2rem;
  463. background:rgba(246,248,250,1);
  464. border-radius: 0.2rem;
  465. margin-right: 0.8rem;
  466. .el-dropdown-link{
  467. cursor: pointer;
  468. height: 100%;
  469. display: flex;
  470. align-items: center;
  471. justify-content: space-between;
  472. padding: 0 0.8rem;
  473. font-size:1rem;
  474. font-family:PingFang-SC-Medium,PingFang-SC;
  475. font-weight:500;
  476. color:rgba(101,112,133,1);
  477. }
  478. }
  479. .el-input{
  480. width: 16.5rem;
  481. height: 2rem;line-height: 2rem;
  482. .el-input__inner{
  483. height: 2rem;line-height: 2rem;
  484. background:rgba(246,248,250,1);
  485. border: none;
  486. }
  487. .el-input__suffix{
  488. right: 0;
  489. border-top-right-radius: 0.2rem;
  490. border-bottom-right-radius: 0.2rem;
  491. }
  492. .el-input__icon{
  493. width: 1.8rem;
  494. height: 2rem;line-height: 2rem;
  495. border-top-right-radius: 0.2rem;
  496. border-bottom-right-radius: 0.2rem;
  497. background:#FC8440;
  498. color: #fff;
  499. font-size: 1rem;
  500. cursor: pointer;
  501. position: absolute;
  502. top: 0;
  503. right: 0;
  504. }
  505. }
  506. .btn{
  507. margin-left: 0.6rem;
  508. display: flex;
  509. align-items: center;
  510. padding: 0.5rem 1rem;
  511. height:2rem;line-height: 2rem;
  512. background:rgba(255,255,255,1);
  513. border-radius:0.2rem 0.1rem 0.1rem 0.2rem;
  514. border:0.1rem solid rgba(240,240,240,1);
  515. cursor: pointer;
  516. font-size:1rem;
  517. font-family:PingFang-SC-Medium,PingFang-SC;
  518. font-weight:500;
  519. color:rgba(51,51,51,1);
  520. img{
  521. height: 1.2rem;
  522. margin-right: 0.5rem;
  523. }
  524. }
  525. }
  526. }
  527. .companyManagement_main{
  528. padding: 1.5rem 1.5rem 0;
  529. height:calc(100% - 4.8rem);
  530. .table_box{
  531. height:100%;
  532. background:rgba(255,255,255,1);
  533. border:0.08rem solid rgba(240,240,240,1);
  534. .el-table{
  535. width: 100%;
  536. th,td{
  537. padding: 0;
  538. >.cell{
  539. padding: 0 0.5rem;
  540. }
  541. }
  542. th{
  543. height: 3.33rem;line-height: 3.33rem;
  544. background:rgba(246,248,250,1);
  545. font-size:1rem;
  546. font-family:PingFang-SC-Medium,PingFang-SC;
  547. font-weight:500;
  548. color:rgba(102,102,102,1);
  549. }
  550. td{
  551. height: 4.2rem;line-height: 4.2rem;
  552. font-size:1rem;
  553. font-family:PingFangSC-Medium,PingFang SC;
  554. font-weight:500;
  555. color:rgba(51,51,51,1);
  556. }
  557. .btn{
  558. padding: 0.2rem 0.5rem;
  559. cursor: pointer;
  560. i{
  561. font-size: 1rem;
  562. color: #A3AFBB;
  563. }
  564. }
  565. .Type{
  566. display: flex;
  567. align-items: center;
  568. justify-content: left;
  569. // width: calc(100% - 1rem);
  570. // margin: 0 0.5rem;
  571. .box{
  572. padding: 0 1rem;
  573. height:1.8rem;line-height: 1.8rem;
  574. background:rgba(29,125,253,0.1);
  575. border-radius:1rem;
  576. font-size:1rem;
  577. font-family:PingFang-SC-Medium,PingFang-SC;
  578. font-weight:500;
  579. color:rgba(29,125,253,1);
  580. }
  581. }
  582. .State{
  583. display: flex;
  584. align-items: center;
  585. // width: calc(100% - 1rem);
  586. // margin: 0 0.5rem;
  587. .pl_switch{
  588. margin: 0 auto;
  589. position: relative;
  590. display: inline-block;
  591. width: 2.5rem;
  592. height: 1.4rem;
  593. background: #EBEFF2;
  594. border-radius: 1.1rem;
  595. cursor: pointer;
  596. &::after{
  597. position: absolute;
  598. left: 0.3rem;top: 0.2rem;
  599. width: 1rem;height: 1rem;border-radius: 50%;
  600. content: '';
  601. background: #A3AFBB;
  602. transition: all 0.5s;
  603. }
  604. &.checked{
  605. background: #F2EEEB;
  606. &::after{
  607. left: 1.2rem;
  608. background: #FC8440;
  609. }
  610. }
  611. }
  612. }
  613. .el-loading-spinner{
  614. height: 100%;
  615. top: 0;
  616. margin-top: 0;
  617. display: flex;
  618. align-items: center;
  619. .circular{
  620. max-height: 10rem;
  621. height: 100%;
  622. width: inherit;
  623. }
  624. }
  625. }
  626. .pagination_box{
  627. height: 2.3rem;line-height: 2.3rem;
  628. margin-top: 1.6rem;
  629. margin-bottom: 1.6rem;
  630. display: flex;
  631. .left{
  632. margin-left: auto;
  633. display: flex;
  634. align-items: center;
  635. background:rgba(246,248,250,1);
  636. border-radius:1.2rem;
  637. padding: 0 1.2rem;
  638. .totle{
  639. font-size:1rem;
  640. font-family:AlibabaPuHuiTiR;
  641. color:rgba(51,51,51,1);
  642. .span2{
  643. margin-left: 0.2rem;
  644. color: rgba(252, 132, 64, 1);
  645. }
  646. }
  647. .line{
  648. margin: 0 0.7rem;
  649. width:0.08rem;
  650. height:1rem;
  651. background-color: rgba(235, 239, 242, 1);
  652. }
  653. .el-dropdown-link{
  654. font-size:1rem;
  655. font-family:AlibabaPuHuiTiR;
  656. color:rgba(51,51,51,1);
  657. cursor: pointer;
  658. }
  659. }
  660. .el-pagination{
  661. margin: 0 auto 0 0.8rem;
  662. // border-radius:1.2rem;
  663. padding: 0;
  664. .btn-next,.btn-prev{
  665. height: 2.3rem;line-height: 2.3rem;
  666. background:rgba(246,248,250,1);
  667. &:hover{
  668. background:rgba(252,132,64,1);
  669. font-family:AlibabaPuHuiTiM;
  670. color:rgba(255,255,255,1);
  671. }
  672. &.active{
  673. font-family:AlibabaPuHuiTiM;
  674. color:rgba(255,255,255,1);
  675. cursor: default;
  676. background:rgba(252,132,64,1);
  677. }
  678. }
  679. // button{
  680. // &:disabled{
  681. // background-color: initial;
  682. // }
  683. // }
  684. .btn-prev{
  685. border-top-left-radius: 1.2rem;
  686. border-bottom-left-radius: 1.2rem;
  687. }
  688. .btn-next{
  689. border-top-right-radius: 1.2rem;
  690. border-bottom-right-radius: 1.2rem;
  691. }
  692. .el-pager{
  693. background:rgba(246,248,250,1);
  694. li{
  695. height: 2.3rem;line-height: 2.3rem;
  696. background-color: initial;
  697. font-size:1rem;
  698. font-family:AlibabaPuHuiTiR;
  699. color:rgba(51,51,51,1);
  700. border-radius:0.25rem;
  701. &:hover{
  702. background:rgba(252,132,64,1);
  703. font-family:AlibabaPuHuiTiM;
  704. color:rgba(255,255,255,1);
  705. }
  706. &.active{
  707. font-family:AlibabaPuHuiTiM;
  708. color:rgba(255,255,255,1);
  709. cursor: default;
  710. background:rgba(252,132,64,1);
  711. }
  712. }
  713. }
  714. .el-pagination__jump{
  715. margin-left: 0.8rem;
  716. height:2.3rem;line-height: 2.3rem;
  717. background:rgba(246,248,250,1);
  718. border-radius:1.2rem;
  719. padding: 0 1.2rem;
  720. font-size:1rem;
  721. font-family:AlibabaPuHuiTiR;
  722. color:rgba(51,51,51,1);
  723. .el-input{
  724. height:2.3rem;line-height: 2.3rem;
  725. .el-input__inner{
  726. height:2.3rem;line-height: 2.3rem;
  727. border: none;
  728. background-color: #f6f8fa;
  729. }
  730. }
  731. }
  732. }
  733. }
  734. }
  735. }
  736. .permissions_wrap{
  737. position: fixed;
  738. top: 0;left: 0;right: 0;bottom: 0;
  739. z-index: 2000;
  740. .permissions_wrap_bg{
  741. position: absolute;
  742. top: 0;left: 0;width: 100%;height: 100%;
  743. background-color:rgba(57,57,57,0.3);
  744. }
  745. // overflow: hidden;
  746. .permissions_box{
  747. position: absolute;
  748. width: 36rem;height: calc(100% - 4.1rem);
  749. top: 4.1rem;
  750. // min-height: 50rem;
  751. background: #FFFFFF;
  752. box-shadow: 0 0 8px 0 rgba(0,0,0,0.12);
  753. right: -36rem;
  754. transition: all 0.5s;
  755. &.permissions_tk_show{
  756. right: 0rem;
  757. }
  758. .permissions_title{
  759. height: 4.1rem;line-height: 4.1rem;
  760. display: flex;
  761. justify-content: space-between;
  762. padding: 0 1.6rem 0 1.6rem;
  763. .span1{
  764. font-family: PingFang-SC-Medium;
  765. font-size: 1.17rem;
  766. color: #333333;
  767. }
  768. }
  769. .form{
  770. padding: 0 0.8rem 0 1.6rem;
  771. margin-top: 1.96rem;
  772. height: calc(100% - 11.1rem);
  773. margin-right: 0.8rem;
  774. .form_item{
  775. &.open{
  776. .form_item_title{
  777. i{
  778. transform: rotate(180deg);
  779. }
  780. }
  781. }
  782. .form_item_title{
  783. display: flex;
  784. justify-content: space-between;
  785. align-items: center;
  786. height:2.5rem;
  787. background:rgba(246,248,250,1);
  788. border-radius:0.17rem;
  789. padding: 0 1rem;
  790. cursor: pointer;
  791. span{
  792. font-size:1rem;
  793. font-family:PingFang-SC-Medium,PingFang-SC;
  794. font-weight:500;
  795. color:rgba(101,112,133,1);
  796. }
  797. .icon-xialajiantou{
  798. font-size: 0.6rem;
  799. transition: all 0.5s;
  800. color: #657085;
  801. }
  802. }
  803. .form_item_main{
  804. margin-top: 0.5rem;
  805. padding-left: 1rem;
  806. &.open{
  807. .checkbox_inde{
  808. .icon-xialajiantou{
  809. transform: rotate(180deg);
  810. }
  811. }
  812. }
  813. .checkbox_inde{
  814. display: flex;
  815. align-items: center;
  816. cursor: pointer;
  817. .icon-xialajiantou{
  818. margin-right: 0.5rem;
  819. font-size: 0.6rem;
  820. transition: all 0.5s;
  821. color: #657085;
  822. }
  823. }
  824. .el-checkbox__input{
  825. .el-checkbox__inner{
  826. width: 1.2rem;height: 1.2rem;
  827. background-color: #EBEFF2;
  828. border: none;
  829. &::after{
  830. border: 0.1rem solid rgba(252, 132, 64, 1);
  831. border-left: 0;
  832. border-top: 0;
  833. height: 0.6rem;width: 0.25rem;
  834. top:0.15rem;left: 0.5rem;
  835. }
  836. &::before{
  837. background-color: rgba(252, 132, 64, 1);
  838. }
  839. }
  840. &.is-checked .el-checkbox__inner,&.is-indeterminate .el-checkbox__inner{
  841. background-color: #EBEFF2;
  842. border: none;
  843. }
  844. }
  845. .el-checkbox{
  846. margin-right: 0.3rem;
  847. }
  848. .el-checkbox__label{
  849. font-size:1rem;
  850. font-family:PingFang-SC-Medium,PingFang-SC;
  851. font-weight:500;
  852. color:rgba(101,112,133,1);
  853. }
  854. .el-checkbox{
  855. display: block;
  856. }
  857. .el-checkbox-group{
  858. padding-left: 3rem;
  859. }
  860. }
  861. }
  862. }
  863. .btn_box{
  864. margin-top: 1rem;
  865. width: 100%;
  866. display: flex;
  867. justify-content: center;
  868. .cancel{
  869. padding: 0 1rem;
  870. height: 2.67rem;line-height: 2.67rem;
  871. cursor: pointer;
  872. font-size:1rem;
  873. font-family:PingFang-SC-Medium,PingFang-SC;
  874. font-weight:500;
  875. color:rgba(101,112,133,1);
  876. }
  877. .btn{
  878. width: 9rem;height: 2.67rem;line-height: 2.67rem;
  879. margin-left: 2rem;
  880. background:linear-gradient(134deg,rgba(252,169,64,1) 0%,rgba(252,132,64,1) 100%);
  881. border-radius: 0.2rem;
  882. text-align:center;
  883. cursor: pointer;
  884. font-size:1rem;
  885. font-family:PingFang-SC-Medium,PingFang-SC;
  886. font-weight:500;
  887. color:rgba(255,255,255,1);
  888. }
  889. }
  890. }
  891. }
  892. .company_wrap{
  893. position: fixed;
  894. top: 0;left: 0;right: 0;bottom: 0;
  895. z-index: 2000;
  896. .company_wrap_bg{
  897. position: absolute;
  898. top: 0;left: 0;width: 100%;height: 100%;
  899. background-color:rgba(57,57,57,0.3);
  900. }
  901. // overflow: hidden;
  902. .company_box{
  903. position: absolute;
  904. width: 36rem;height: calc(100% - 4.1rem);
  905. top: 4.1rem;
  906. background: #FFFFFF;
  907. box-shadow: 0 0 8px 0 rgba(0,0,0,0.12);
  908. right: -36rem;
  909. transition: all 0.5s;
  910. &.company_tk_show{
  911. right: 0rem;
  912. }
  913. .company_title{
  914. height: 4.1rem;line-height: 4.1rem;
  915. display: flex;
  916. justify-content: space-between;
  917. padding: 0 1.6rem 0 1.6rem;
  918. .span1{
  919. font-family: PingFang-SC-Medium;
  920. font-size: 1.17rem;
  921. color: #333333;
  922. }
  923. }
  924. .form_box{
  925. height: calc(100% - 9.1rem);
  926. }
  927. .form{
  928. margin: 0 1.6rem 0 1.6rem;
  929. .form_item{
  930. display: flex;
  931. justify-content: space-between;
  932. align-items: center;
  933. margin-bottom: 0.8rem;
  934. padding: 0 0.8rem 0;
  935. height:2.5rem;line-height: 2.5rem;
  936. background:rgba(246,248,250,1);
  937. border-radius:0.17rem;
  938. .laber{
  939. font-family: PingFang-SC-Medium;
  940. font-size: 1rem;
  941. color: #333333;
  942. }
  943. .el-dropdown{
  944. cursor: pointer;
  945. i{
  946. margin-left: 1.67rem;
  947. }
  948. }
  949. .el-input{
  950. width: calc(100% - 8rem);
  951. .el-input__inner{
  952. height:2.5rem;line-height: 2.5rem;
  953. font-family: PingFang-SC-Medium;
  954. font-size: 1rem;
  955. color: #657085;
  956. text-align: right;
  957. background: initial;
  958. border: none;
  959. }
  960. }
  961. .text{
  962. margin-right: 15px;
  963. }
  964. }
  965. }
  966. .btn_box{
  967. position: absolute;
  968. width: 100%;
  969. bottom: 1.67rem;
  970. display: flex;
  971. justify-content: center;
  972. .cancel{
  973. padding: 0 1rem;
  974. height: 2.67rem;line-height: 2.67rem;
  975. cursor: pointer;
  976. font-size:1rem;
  977. font-family:PingFang-SC-Medium,PingFang-SC;
  978. font-weight:500;
  979. color:rgba(101,112,133,1);
  980. }
  981. .btn{
  982. width: 9rem;height: 2.67rem;line-height: 2.67rem;
  983. margin-left: 2rem;
  984. background:linear-gradient(134deg,rgba(252,169,64,1) 0%,rgba(252,132,64,1) 100%);
  985. border-radius: 0.2rem;
  986. text-align:center;
  987. cursor: pointer;
  988. font-size:1rem;
  989. font-family:PingFang-SC-Medium,PingFang-SC;
  990. font-weight:500;
  991. color:rgba(255,255,255,1);
  992. }
  993. }
  994. }
  995. }
  996. }
  997. </style>