companyManagement.vue 42 KB

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