PageView.vue 34 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204
  1. <template>
  2. <div class="containe">
  3. <div class="top">
  4. <div class="left">
  5. <div class="left1">
  6. <div class="left-top">
  7. <h3>通知</h3>
  8. <p @click="leftMores">更多</p>
  9. </div>
  10. <ul class="left-main">
  11. <li v-for="item in notices" :key="item.id">
  12. <div class="one">通知标题:{{ item.msgTitle }}</div>
  13. <div class="two">发送时间:{{ item.createTime }}</div>
  14. <div>发<span class="three">送</span>人:{{ item.createBy }}</div>
  15. <div class="four">
  16. <p class="four1">通知内容:</p>
  17. <p class="four2" v-html="item.msgContent"></p>
  18. </div>
  19. <div class="five">
  20. <span @click="looks(item.msgContent)">查看详细</span>
  21. </div>
  22. </li>
  23. </ul>
  24. </div>
  25. </div>
  26. <div class="cen">
  27. <div class="cen—top">
  28. <!-- <el-dropdown class="cen—top-left">
  29. <span class="el-dropdown-link">
  30. 全部文档<i class="el-icon-caret-bottom el-icon--right"></i>
  31. </span>
  32. <el-dropdown-menu slot="dropdown">
  33. <el-dropdown-item>个人文档</el-dropdown-item>
  34. <el-dropdown-item>部门文档</el-dropdown-item>
  35. <el-dropdown-item>公共文档</el-dropdown-item>
  36. </el-dropdown-menu>
  37. </el-dropdown> -->
  38. <div class="cen—top-right">
  39. <div class="cen—top-div">
  40. <el-input
  41. type="text"
  42. placeholder="请输入文档信息"
  43. v-model="input"
  44. class="searchs"
  45. @keyup.enter.native="jumpSearch"
  46. ></el-input>
  47. <div class="cen—top-but" @click="jumpSearch">快速搜索</div>
  48. <img
  49. src="../../assets/img/ri:search-2-line@2x.png"
  50. class="cen—top-img"
  51. />
  52. </div>
  53. </div>
  54. </div>
  55. <div class="cen—bottom">
  56. <router-link :to="{ path: '/home/doc/personal' }" class="one">
  57. <p>个人文档</p>
  58. <img src="../../assets/img/MMB1.png" alt="" />
  59. </router-link>
  60. <router-link :to="{ path: '/home/doc/dept' }" class="two">
  61. <p>部门文档</p>
  62. <img src="../../assets/img/MMB2.png" alt="" />
  63. </router-link>
  64. <router-link :to="{ path: '/home/doc/public' }" class="three">
  65. <p>公共文档</p>
  66. <img src="../../assets/img/MMB3.png" alt="" />
  67. </router-link>
  68. <router-link :to="{ path: '/home/setting/ocr' }" class="four">
  69. <p>文字识别</p>
  70. <img src="../../assets/img/MMB4.png" alt="" />
  71. </router-link>
  72. </div>
  73. </div>
  74. <div class="right">
  75. <div class="right1">
  76. <div class="right-top">
  77. <h3>消息</h3>
  78. <p @click="rightMores">更多</p>
  79. </div>
  80. <ul class="right-main">
  81. <li v-for="item in msg" :key="item.id">
  82. <div class="one">消息标题:{{ item.msgTitle }}</div>
  83. <div class="two">消息时间:{{ item.createTime }}</div>
  84. <div>发<span class="three">送</span>人:{{ item.createBy }}</div>
  85. <div class="four">
  86. <p class="four1">消息内容:</p>
  87. <p class="four2" v-html="item.msgContent"></p>
  88. </div>
  89. <div class="five">
  90. <span @click="looks(item.msgContent)">查看详细</span>
  91. </div>
  92. </li>
  93. </ul>
  94. </div>
  95. </div>
  96. </div>
  97. <div class="bottom">
  98. <div class="left">
  99. <div class="left-top">
  100. <h3>最近收到的文件</h3>
  101. <p @click="mores">更多</p>
  102. </div>
  103. <el-table
  104. :data="tableData1"
  105. stripe
  106. style="width: 99%"
  107. class="left-main"
  108. height="calc(100vh * (230 / 1080))"
  109. >
  110. <el-table-column prop="docName" label="文件名" width="180">
  111. </el-table-column>
  112. <el-table-column prop="user" label="发件人" width="140">
  113. </el-table-column>
  114. <el-table-column prop="createTime" label="收到时间" width="160">
  115. </el-table-column>
  116. <el-table-column prop="docType" label="文件类型" width="100">
  117. </el-table-column>
  118. <el-table-column prop="isSecret" label="机密" width="50">
  119. </el-table-column>
  120. <el-table-column
  121. label="操作"
  122. align="center"
  123. class-name="small-padding fixed-width"
  124. >
  125. <template slot-scope="scope">
  126. <el-button
  127. size="mini"
  128. type="text"
  129. icon="el-icon-view"
  130. @click="isSecretRole(scope.row)"
  131. >预览</el-button
  132. >
  133. </template>
  134. </el-table-column>
  135. </el-table>
  136. </div>
  137. <div class="right">
  138. <div class="right-top">
  139. <h3>最近发送的文件</h3>
  140. </div>
  141. <el-table
  142. :data="tableData2"
  143. stripe
  144. style="width: 99%"
  145. class="right-main"
  146. height="calc(100vh * (230 / 1080))"
  147. >
  148. <el-table-column prop="docName" label="文件名" width="200">
  149. </el-table-column>
  150. <el-table-column prop="createTime" label="收到时间" width="180">
  151. </el-table-column>
  152. <el-table-column prop="docType" label="文件类型" width="120">
  153. </el-table-column>
  154. <el-table-column prop="isSecret" label="机密" width="50">
  155. </el-table-column>
  156. <el-table-column
  157. label="操作"
  158. align="center"
  159. class-name="small-padding fixed-width"
  160. >
  161. <template slot-scope="scope">
  162. <el-button
  163. size="mini"
  164. type="text"
  165. icon="el-icon-view"
  166. @click="isSecretRole(scope.row)"
  167. >预览</el-button
  168. >
  169. </template>
  170. </el-table-column>
  171. </el-table>
  172. </div>
  173. </div>
  174. <!-- 预览对话框 -->
  175. <div class="dhk" v-if="preview">
  176. <video :src="vid" controls v-if="vid1"></video>
  177. <audio :src="aud" controls v-if="aud1"></audio>
  178. <div class="image-container" v-if="img1">
  179. <el-image
  180. :src="imgg"
  181. ref="imageRef"
  182. style="max-width: 100%"
  183. @mousewheel.prevent="gunlun"
  184. />
  185. <el-button-group>
  186. <el-button
  187. icon="el-icon-refresh-left"
  188. @click="rotate(-90)"
  189. title="向左旋转"
  190. ></el-button>
  191. <el-button
  192. icon="el-icon-refresh-right"
  193. @click="rotate(90)"
  194. title="向右旋转"
  195. ></el-button>
  196. <el-button
  197. icon="el-icon-zoom-in"
  198. @click="scale(0.1)"
  199. title="放大"
  200. ></el-button>
  201. <el-button
  202. icon="el-icon-zoom-out"
  203. @click="scale(-0.1)"
  204. title="缩小"
  205. ></el-button>
  206. </el-button-group>
  207. </div>
  208. <el-button class="gb" icon="el-icon-close" circle @click="gb" />
  209. </div>
  210. <!-- 是否机密文件 -->
  211. <div class="jm" v-if="check">
  212. <el-form
  213. ref="loginForm"
  214. :model="loginForm"
  215. :rules="loginRules"
  216. label-width="100px"
  217. class="login-form"
  218. >
  219. <el-form-item label="用户名" prop="username">
  220. <el-input
  221. type="text"
  222. v-model="loginForm.username"
  223. autocomplete="off"
  224. ></el-input>
  225. </el-form-item>
  226. <el-form-item label="密码" prop="password">
  227. <el-input
  228. type="password"
  229. v-model="loginForm.password"
  230. autocomplete="off"
  231. ></el-input>
  232. </el-form-item>
  233. <el-form-item style="width: 100%">
  234. <el-button
  235. size="medium"
  236. type="primary"
  237. style="width: 30%"
  238. @click="submitForm"
  239. >
  240. 提交
  241. </el-button>
  242. </el-form-item>
  243. </el-form>
  244. <el-button
  245. class="gb1"
  246. icon="el-icon-close"
  247. size="small"
  248. circle
  249. @click="gb1"
  250. />
  251. </div>
  252. <!-- 查看详细 -->
  253. <el-dialog
  254. title="内容详细"
  255. :visible.sync="look1"
  256. width="30%"
  257. custom-class="el-dialog6"
  258. >
  259. <div class="main" v-html="details"></div>
  260. <span slot="footer" class="dialog-footer1">
  261. <el-button type="primary" @click="look1 = false">确 定</el-button>
  262. <el-button @click="look1 = false">取 消</el-button>
  263. </span>
  264. </el-dialog>
  265. </div>
  266. </template>
  267. <script>
  268. import Cookies from "js-cookie";
  269. import "@/styles1/element-ui1.scss";
  270. import { delShare1, delShare2, notice, msg } from "@/api/doc/share1";
  271. export default {
  272. data() {
  273. return {
  274. //内容详细弹窗
  275. look1: false,
  276. //内容详细弹窗内容
  277. details: "",
  278. //中间通知列表
  279. notices: [],
  280. //中间消息列表
  281. msg: [],
  282. //搜索
  283. input: "",
  284. //机密文件的账号密码内容
  285. loginForm: {
  286. username: "",
  287. password: "",
  288. },
  289. //机密文件的账号密码验证规则
  290. loginRules: {
  291. username: [
  292. { required: true, trigger: "blur", message: "请输入您的用户名" },
  293. ],
  294. password: [
  295. { required: true, trigger: "blur", message: "请输入您的密码" },
  296. ],
  297. },
  298. //底部左边表格数据
  299. tableData1: [],
  300. //底部右边表格数据
  301. tableData2: [],
  302. //预览图片的旋转
  303. scalePercentage: 1,
  304. //预览图片的缩放
  305. rotationAngle: 0,
  306. // 预览界面
  307. preview: false,
  308. // 机密界面
  309. check: false,
  310. //视频路径和显示
  311. vid: "",
  312. vid1: false,
  313. //音频路径和显示
  314. aud: "",
  315. aud1: false,
  316. //图片路径和显示
  317. imgg: "",
  318. img1: false,
  319. // 临时保存当前点击行 row
  320. currentRow: {},
  321. };
  322. },
  323. mounted() {
  324. this.getList();
  325. this.noticesList();
  326. this.msgList();
  327. this.loginForm.username = sessionStorage.getItem("name");
  328. },
  329. methods: {
  330. //通知内容更多
  331. leftMores() {
  332. this.$router.push("/home/page/leftmores");
  333. },
  334. //消息内容更多
  335. rightMores() {
  336. this.$router.push("/home/page/rightmores");
  337. },
  338. //内容详细
  339. looks(val) {
  340. this.look1 = true;
  341. this.details = val;
  342. },
  343. //中间通知列表
  344. noticesList() {
  345. notice().then((response) => {
  346. this.notices = response.rows;
  347. // console.log(response.rows);
  348. });
  349. },
  350. //中间通知列表
  351. msgList() {
  352. msg().then((response) => {
  353. this.msg = response.rows;
  354. });
  355. },
  356. // 搜索跳转
  357. jumpSearch() {
  358. this.$router.push({path:"/home/retrieval",query:{datas:this.input} });
  359. // sessionStorage.setItem("suju", this.input);
  360. },
  361. //底部表格更多跳转
  362. mores() {
  363. this.$router.push("/home/page/more");
  364. },
  365. //底部表格数据
  366. getList() {
  367. //左边表格
  368. delShare1(this.queryParams).then((response) => {
  369. // console.log(response.rows,'111111111');
  370. // 给定义的列表空数组赋值
  371. this.tableData1 = response.rows;
  372. //改变是否机密的值
  373. var newisSecret = this.tableData1.map((item) => item.isSecret);
  374. // console.log(a);
  375. newisSecret = response.rows.map(
  376. (i) => (i.isSecret = i.isSecret == 1 ? "是" : "否")
  377. );
  378. // console.log(newisSecret);
  379. });
  380. //右边边表格
  381. delShare2(this.queryParams).then((response) => {
  382. // console.log(response.rows,'111111111');
  383. // 给定义的列表空数组赋值
  384. this.tableData2 = response.rows;
  385. //改变是否机密的值
  386. var newisSecret = this.tableData2.map((item) => item.isSecret);
  387. // console.log(a);
  388. newisSecret = response.rows.map(
  389. (i) => (i.isSecret = i.isSecret == 1 ? "是" : "否")
  390. );
  391. // console.log(newisSecret);
  392. });
  393. },
  394. // 滚轮滑动放大缩小
  395. gunlun(e) {
  396. const image = this.$refs.imageRef.$el.querySelector("img");
  397. if (e.deltaY > 0) {
  398. // console.log("鼠标向下滚动,图片缩小");
  399. this.scalePercentage -= 0.1;
  400. image.style.transform = `scale(${this.scalePercentage})`;
  401. } else {
  402. // console.log("鼠标向上滚动,图片放大");
  403. this.scalePercentage += 0.1;
  404. image.style.transform = `scale(${this.scalePercentage})`;
  405. }
  406. },
  407. //预览图片的缩放
  408. rotate(angle) {
  409. this.rotationAngle += angle;
  410. const image = this.$refs.imageRef.$el.querySelector("img");
  411. image.style.transform = `rotate(${this.rotationAngle}deg)`;
  412. },
  413. //预览图片的旋转
  414. scale(delta) {
  415. this.scalePercentage += delta;
  416. const image = this.$refs.imageRef.$el.querySelector("img");
  417. image.style.transform = `scale(${this.scalePercentage})`;
  418. },
  419. // 预览关闭
  420. gb() {
  421. this.preview = false;
  422. },
  423. // 检验关闭
  424. gb1() {
  425. this.check = false;
  426. },
  427. // 是否机密
  428. isSecretRole(row) {
  429. this.currentRow = row;
  430. // console.log(`row=${row}`);
  431. if (row.isSecret == "是") {
  432. this.check = true;
  433. }else{
  434. this.handlePreview(row)
  435. }
  436. },
  437. //预览
  438. handlePreview(row) {
  439. row = this.currentRow;
  440. //图片后缀名
  441. var pictures = ["jpeg", "tiff", "raw", "bmp", "gif", "png", "jpg"];
  442. //音频后缀名
  443. var audios = [
  444. "mid",
  445. "mp3",
  446. "wav",
  447. "wma",
  448. "ra",
  449. "ogg",
  450. "flac",
  451. "aac",
  452. "ape",
  453. ];
  454. //视频后缀名
  455. var videos = [
  456. "asf",
  457. "avi",
  458. "mp4",
  459. "ogm",
  460. "ifo",
  461. "mpg",
  462. "mov",
  463. "mpeg",
  464. "mpg",
  465. "vob",
  466. "wmv",
  467. "rm",
  468. "rmvb",
  469. ];
  470. //判断后缀名
  471. if (videos.some((item) => item == row.docType)) {
  472. this.preview = true;
  473. this.vid1 = true;
  474. this.aud1 = false;
  475. this.img1 = false;
  476. this.vid = row.docPath;
  477. } else if (audios.some((item) => item == row.docType)) {
  478. this.preview = true;
  479. this.aud1 = true;
  480. this.vid1 = false;
  481. this.img1 = false;
  482. this.aud = row.docPath;
  483. } else if (pictures.some((item) => item == row.docType)) {
  484. this.preview = true;
  485. this.aud1 = false;
  486. this.vid1 = false;
  487. this.img1 = true;
  488. this.imgg = row.docPath;
  489. } else {
  490. row.isEdit = false;
  491. this.$tab.openPage(
  492. window.open(
  493. "/individual/Pre/user/" + row.docId + "?row=" + JSON.stringify(row),
  494. "_blank"
  495. )
  496. // window.open("/individual/Pre/user/" + row.docId +"/title/"+ row.docName, '_blank'),
  497. );
  498. // console.log(111);
  499. }
  500. // console.log(row.docPath);
  501. // console.log(vid);
  502. },
  503. //验证账号密码
  504. getCookie() {
  505. const username = Cookies.get("username");
  506. const password = Cookies.get("password");
  507. const rememberMe = Cookies.get("rememberMe");
  508. this.loginForm = {
  509. username: username === undefined ? this.loginForm.username : username,
  510. password:
  511. password === undefined ? this.loginForm.password : decrypt(password),
  512. rememberMe: rememberMe === undefined ? false : Boolean(rememberMe),
  513. };
  514. },
  515. //验证账号密码
  516. submitForm(row) {
  517. this.$refs.loginForm.validate((valid) => {
  518. if (valid) {
  519. if (this.loginForm.rememberMe) {
  520. Cookies.set("username", this.loginForm.username, { expires: 30 });
  521. Cookies.set("password", encrypt(this.loginForm.password), {
  522. expires: 30,
  523. });
  524. } else {
  525. Cookies.remove("username");
  526. Cookies.remove("password");
  527. }
  528. this.$store
  529. .dispatch("Login", this.loginForm)
  530. .then(() => {
  531. // 登录成功
  532. this.currentLoginStatus = 1;
  533. // 关闭登录界面
  534. this.check = false;
  535. // console.log("登录成功", "关闭登录界面");
  536. // console.log("预览界面");
  537. this.handlePreview(row);
  538. })
  539. .catch(() => {
  540. this.currentLoginStatus = 0;
  541. });
  542. }
  543. });
  544. },
  545. },
  546. };
  547. </script>
  548. <style scoped lang='scss'>
  549. .containe {
  550. color: #7ea4c8ff;
  551. font-size: 0.14rem;
  552. font-family: PingFang SC-Medium, PingFang SC;
  553. background: url(../../assets/img/background.png);
  554. background-size: 100% 100%;
  555. padding-top: calc(100vh * (50 / 1080));
  556. .top {
  557. width: 100%;
  558. height: calc(100vh * (600 / 1080));
  559. padding-left: calc(100vw * (34 / 1920));
  560. padding-right: calc(100vw * (30 / 1920));
  561. display: flex;
  562. justify-content: space-between;
  563. .left {
  564. //滚动条样式
  565. ::-webkit-scrollbar {
  566. width: 3.5px;
  567. }
  568. ::-webkit-scrollbar-track {
  569. background-color: rgba(0, 0, 0, 0);
  570. }
  571. ::-webkit-scrollbar-thumb {
  572. background: #2e8aec;
  573. border-radius: 3px;
  574. }
  575. ::-webkit-scrollbar-thumb:hover {
  576. background: #2e8aec;
  577. }
  578. width: calc(100vw * (395 / 1920));
  579. height: calc(100vh * (568 / 1080));
  580. background: url(../../assets/img/main_BG_left.png);
  581. background-size: calc(100vw * (395 / 1920)) calc(100vh * (568 / 1080));
  582. padding-left: 10px;
  583. padding-top: 5px;
  584. .left1 {
  585. width: calc(100vw * (375 / 1920));
  586. height: calc(100vh * (556 / 1080));
  587. .left-top {
  588. width: calc(100vw * (365 / 1920));
  589. height: calc(100vh * (40 / 1080));
  590. margin-top: 5px;
  591. padding-left: calc(100vw * (20 / 1920));
  592. padding-right: calc(100vw * (20 / 1920));
  593. background: url(../../assets/img/main_left_decorate.png);
  594. background-size: calc(100vw * (365 / 1920)) calc(100vh * (40 / 1080));
  595. display: flex;
  596. justify-content: space-between;
  597. align-items: center;
  598. h3 {
  599. font-weight: bold;
  600. font-family: YouSheBiaoTiHei-Regular, YouSheBiaoTiHei;
  601. color: #ffffff;
  602. }
  603. p {
  604. padding-right: 10px;
  605. color: #2e8aecff;
  606. font-family: PingFang SC-Medium;
  607. &:hover {
  608. cursor: pointer;
  609. }
  610. }
  611. }
  612. }
  613. .left-main {
  614. width: calc(100vw * (365 / 1920));
  615. height: calc(100vh * (480 / 1080));
  616. list-style: none;
  617. padding: 0;
  618. margin-top: calc(100vh * (10 / 1080));
  619. overflow: auto;
  620. li {
  621. width: calc(100vw * (360 / 1920));
  622. height: calc(100vh * (230 / 1080));
  623. background: rgba(18, 32, 80, 0.4);
  624. border-radius: 2px 2px 2px 2px;
  625. opacity: 1;
  626. margin-bottom: calc(100vh * (10 / 1080));
  627. div {
  628. padding-top: 8px;
  629. padding-left: 20px;
  630. padding-right: 5px;
  631. }
  632. .one {
  633. padding-top: 12px;
  634. }
  635. .three {
  636. padding-left: calc(100vw * (6 / 1920));
  637. padding-right: calc(100vw * (6 / 1920));
  638. }
  639. .five {
  640. display: flex;
  641. justify-content: space-evenly;
  642. color: #2e8aecff;
  643. padding-top: calc(100vh * (20 / 1080));
  644. &:hover {
  645. cursor: pointer;
  646. }
  647. }
  648. .four {
  649. display: flex;
  650. padding-top: calc(100vh * (10 / 1080));
  651. .four1 {
  652. width: calc(100vw * (60 / 1920));
  653. }
  654. .four2 {
  655. width: calc(100vw * (250 / 1920));
  656. height: calc(100vh * (55 / 1080));
  657. // background: salmon;
  658. overflow: hidden;
  659. text-overflow: ellipsis;
  660. -webkit-line-clamp: 3;
  661. word-break: break-all;
  662. display: -webkit-box;
  663. -webkit-box-orient: vertical;
  664. }
  665. }
  666. }
  667. }
  668. }
  669. .right {
  670. //滚动条样式
  671. ::-webkit-scrollbar {
  672. width: 3.5px;
  673. }
  674. ::-webkit-scrollbar-track {
  675. background-color: rgba(0, 0, 0, 0);
  676. }
  677. ::-webkit-scrollbar-thumb {
  678. background: #2e8aec;
  679. border-radius: 3px;
  680. }
  681. ::-webkit-scrollbar-thumb:hover {
  682. background: #2e8aec;
  683. }
  684. width: calc(100vw * (395 / 1920));
  685. height: calc(100vh * (568 / 1080));
  686. background: url(../../assets/img/main_BG_left.png);
  687. background-size: calc(100vw * (395 / 1920)) calc(100vh * (568 / 1080));
  688. padding-left: 10px;
  689. padding-top: 5px;
  690. .right1 {
  691. width: calc(100vw * (375 / 1920));
  692. height: calc(100vh * (556 / 1080));
  693. .right-top {
  694. width: calc(100vw * (365 / 1920));
  695. height: calc(100vh * (40 / 1080));
  696. margin-top: 5px;
  697. padding-left: calc(100vw * (20 / 1920));
  698. padding-right: calc(100vw * (20 / 1920));
  699. background: url(../../assets/img/main_left_decorate.png);
  700. background-size: calc(100vw * (365 / 1920)) calc(100vh * (40 / 1080));
  701. display: flex;
  702. justify-content: space-between;
  703. align-items: center;
  704. h3 {
  705. font-weight: bold;
  706. font-family: YouSheBiaoTiHei-Regular, YouSheBiaoTiHei;
  707. color: #ffffff;
  708. }
  709. p {
  710. padding-right: 10px;
  711. color: #2e8aecff;
  712. font-family: PingFang SC-Medium;
  713. &:hover {
  714. cursor: pointer;
  715. }
  716. }
  717. }
  718. }
  719. .right-main {
  720. width: calc(100vw * (365 / 1920));
  721. height: calc(100vh * (480 / 1080));
  722. list-style: none;
  723. padding: 0;
  724. margin-top: calc(100vh * (10 / 1080));
  725. overflow: auto;
  726. li {
  727. width: calc(100vw * (360 / 1920));
  728. height: calc(100vh * (230 / 1080));
  729. background: rgba(18, 32, 80, 0.4);
  730. border-radius: 2px 2px 2px 2px;
  731. opacity: 1;
  732. margin-bottom: calc(100vh * (10 / 1080));
  733. div {
  734. padding-top: 8px;
  735. padding-left: 20px;
  736. padding-right: 5px;
  737. }
  738. .one {
  739. padding-top: 12px;
  740. }
  741. .three {
  742. padding-left: calc(100vw * (6 / 1920));
  743. padding-right: calc(100vw * (6 / 1920));
  744. }
  745. .five {
  746. display: flex;
  747. justify-content: space-evenly;
  748. color: #2e8aecff;
  749. padding-top: calc(100vh * (20 / 1080));
  750. &:hover {
  751. cursor: pointer;
  752. }
  753. }
  754. .four {
  755. display: flex;
  756. padding-top: calc(100vh * (10 / 1080));
  757. .four1 {
  758. width: calc(100vw * (60 / 1920));
  759. }
  760. .four2 {
  761. width: calc(100vw * (250 / 1920));
  762. height: calc(100vh * (55 / 1080));
  763. // background: salmon;
  764. overflow: hidden;
  765. text-overflow: ellipsis;
  766. -webkit-line-clamp: 3;
  767. word-break: break-all;
  768. display: -webkit-box;
  769. -webkit-box-orient: vertical;
  770. }
  771. }
  772. }
  773. }
  774. }
  775. .cen {
  776. width: calc(100vw * (784 / 1920));
  777. height: calc(100vh * (600 / 1080));
  778. // background: aqua;
  779. position: relative;
  780. .cen—top {
  781. width: calc(100vw * (633 / 1920));
  782. height: calc(100vh * (40 / 1080));
  783. // background: salmon;
  784. // overflow: hidden;
  785. margin-left: calc(100vw * (81 / 1920));
  786. display: flex;
  787. align-items: center;
  788. .cen—top-left {
  789. width: calc(100vw * (90 / 1920));
  790. height: calc(100vh * (36 / 1080));
  791. // background: seagreen;
  792. margin-right: calc(100vw * (5 / 1920));
  793. font-size: 12px;
  794. color: #2e8aecff;
  795. display: flex;
  796. align-items: center;
  797. .el-dropdown-link {
  798. cursor: pointer;
  799. color: #409eff;
  800. }
  801. .el-icon-arrow-down {
  802. font-size: 12px;
  803. }
  804. }
  805. .cen—top-right {
  806. width: calc(100vw * (536 / 1920));
  807. height: calc(100vh * (36 / 1080));
  808. margin-left: calc(100vw * (60 / 1920));
  809. // background: skyblue;
  810. .cen—top-div {
  811. position: relative;
  812. .cen—top-img {
  813. // background-size: calc(100vw * (24 / 1920)) calc(100vh * (24/ 1080));
  814. width: calc(100vw * (24 / 1920));
  815. height: calc(100vh * (24 / 1080));
  816. position: absolute;
  817. left: calc(100vw * (15 / 1920));
  818. top: calc(100vh * (7 / 1080));
  819. }
  820. .searchs {
  821. width: calc(100vw * (436 / 1920));
  822. ::v-deep .el-input__inner {
  823. height: calc(100vh * (36 / 1080)) !important;
  824. padding-left: calc(100vw * (50 / 1920));
  825. background: #14265e80;
  826. border: 1px solid #01d1ffff;
  827. color: #7ea4c8ff;
  828. }
  829. }
  830. .cen—top-but {
  831. width: calc(100vw * (100 / 1920));
  832. height: calc(100vh * (36 / 1080));
  833. display: inline-block;
  834. text-align: center;
  835. line-height: calc(100vh * (36 / 1080));
  836. background: #01d1ff80;
  837. color: #ffffffcc;
  838. vertical-align: top;
  839. &:hover {
  840. cursor: pointer;
  841. }
  842. }
  843. }
  844. }
  845. }
  846. .cen—bottom {
  847. width: calc(100vw * (784 / 1920));
  848. height: calc(100vh * (477 / 1080));
  849. background: url(../../assets/img/MMB.png);
  850. background-size: calc(100vw * (784 / 1920)) calc(100vh * (477 / 1080));
  851. margin-top: calc(100vh * (80 / 1080));
  852. position: relative;
  853. font-size: 0.18rem;
  854. color: #ffffffff;
  855. font-weight: 400;
  856. p {
  857. font-size: 0.18rem;
  858. font-family: YouSheBiaoTiHei-Regular, YouSheBiaoTiHei;
  859. font-weight: bold;
  860. color: #ffffff;
  861. }
  862. .one {
  863. position: absolute;
  864. display: flex;
  865. flex-direction: column;
  866. align-items: center;
  867. left: calc(100vw * (172 / 1920));
  868. top: -30px;
  869. width: calc(100vw * (140 / 1920));
  870. height: calc(100vh * (153 / 1080));
  871. img {
  872. width: 100%;
  873. height: calc(100vh * (130 / 1080));
  874. }
  875. }
  876. .two {
  877. position: absolute;
  878. display: flex;
  879. flex-direction: column;
  880. align-items: center;
  881. left: calc(100vw * (442 / 1920));
  882. top: -30px;
  883. width: calc(100vw * (140 / 1920));
  884. height: calc(100vh * (153 / 1080));
  885. img {
  886. width: 100%;
  887. height: calc(100vh * (130 / 1080));
  888. }
  889. }
  890. .three {
  891. display: flex;
  892. flex-direction: column;
  893. align-items: center;
  894. position: absolute;
  895. left: calc(100vw * (36 / 1920));
  896. top: calc(100vh * (150 / 1080));
  897. width: calc(100vw * (140 / 1920));
  898. height: calc(100vh * (153 / 1080));
  899. img {
  900. width: 100%;
  901. height: calc(100vh * (130 / 1080));
  902. }
  903. }
  904. .four {
  905. display: flex;
  906. flex-direction: column;
  907. align-items: center;
  908. position: absolute;
  909. right: calc(100vw * (57 / 1920));
  910. top: calc(100vh * (150 / 1080));
  911. width: calc(100vw * (140 / 1920));
  912. height: calc(100vh * (153 / 1080));
  913. img {
  914. width: 100%;
  915. height: calc(100vh * (130 / 1080));
  916. }
  917. }
  918. }
  919. }
  920. }
  921. .bottom {
  922. width: 100%;
  923. height: calc(100vh * (304 / 1080));
  924. background-size: cover;
  925. margin-top: calc(100vh * (30 / 1080));
  926. padding-left: calc(100vw * (30 / 1920));
  927. padding-right: calc(100vw * (34 / 1920));
  928. display: flex;
  929. justify-content: space-between;
  930. .left {
  931. width: calc(100vw * (920 / 1920));
  932. height: calc(100vh * (304 / 1080));
  933. background: url(../../assets/img/footer.png);
  934. background-size: calc(100vw * (920 / 1920)) calc(100vh * (304 / 1080));
  935. padding-left: 10px;
  936. .left-top {
  937. width: calc(100vw * (880 / 1920));
  938. height: calc(100vh * (40 / 1080));
  939. color: #ffffff;
  940. margin-top: 10px;
  941. background: url(../../assets/img/main_left_decorate.png);
  942. background-size: calc(100vw * (880 / 1920)) calc(100vh * (40 / 1080));
  943. display: flex;
  944. justify-content: space-between;
  945. align-items: center;
  946. h3 {
  947. padding-left: 10px;
  948. font-size: 0.2rem;
  949. font-weight: bold;
  950. font-family: YouSheBiaoTiHei-Regular, YouSheBiaoTiHei;
  951. }
  952. p {
  953. padding-right: 10px;
  954. font-size: 0.2rem;
  955. color: #2e8aecff;
  956. font-family: PingFang SC-Medium;
  957. &:hover {
  958. cursor: pointer;
  959. }
  960. }
  961. }
  962. .left-main {
  963. margin-top: calc(100vh * (8 / 1080));
  964. color: #7ea4c8ff;
  965. background: transparent;
  966. height: calc(100vh * (230 / 1080));
  967. // overflow: auto;
  968. font-size: 0.14rem;
  969. }
  970. //滚动条样式
  971. ::-webkit-scrollbar {
  972. width: 3.5px;
  973. }
  974. ::-webkit-scrollbar-track {
  975. background-color: rgba(0, 0, 0, 0);
  976. }
  977. ::-webkit-scrollbar-thumb {
  978. background: #2e8aec;
  979. border-radius: 3px;
  980. }
  981. ::-webkit-scrollbar-thumb:hover {
  982. background: #2e8aec;
  983. }
  984. }
  985. .right {
  986. width: calc(100vw * (920 / 1920));
  987. height: calc(100vh * (304 / 1080));
  988. background: url(../../assets/img/footer.png);
  989. background-size: calc(100vw * (920 / 1920)) calc(100vh * (304 / 1080));
  990. padding-left: 10px;
  991. .right-top {
  992. width: calc(100vw * (900 / 1920));
  993. height: calc(100vh * (40 / 1080));
  994. color: #ffffff;
  995. margin-top: 10px;
  996. background: url(../../assets/img/main_left_decorate.png);
  997. background-size: cover;
  998. h3 {
  999. padding-top: calc(100vh * (10 / 1080));
  1000. padding-left: 10px;
  1001. margin: 0;
  1002. font-size: 0.2rem;
  1003. font-weight: bold;
  1004. font-family: YouSheBiaoTiHei-Regular, YouSheBiaoTiHei;
  1005. }
  1006. }
  1007. .right-main {
  1008. margin-top: calc(100vh * (8 / 1080));
  1009. color: #7ea4c8ff;
  1010. background: transparent;
  1011. height: calc(100vh * (230 / 1080));
  1012. // overflow: auto;
  1013. font-size: 0.14rem;
  1014. }
  1015. //滚动条样式
  1016. ::-webkit-scrollbar {
  1017. width: 3.5px;
  1018. }
  1019. ::-webkit-scrollbar-track {
  1020. background-color: rgba(0, 0, 0, 0);
  1021. }
  1022. ::-webkit-scrollbar-thumb {
  1023. background: #2e8aec;
  1024. border-radius: 3px;
  1025. }
  1026. ::-webkit-scrollbar-thumb:hover {
  1027. background: #2e8aec;
  1028. }
  1029. }
  1030. }
  1031. //预览弹窗
  1032. .dhk {
  1033. width: calc(100vw * (1200 / 1920));
  1034. height: calc(100vh * (850 / 1080));
  1035. // background: salmon;
  1036. background: #0f1540ff;
  1037. position: absolute;
  1038. top: 10%;
  1039. left: 20%;
  1040. z-index: 99;
  1041. display: flex;
  1042. justify-content: center;
  1043. align-items: center;
  1044. .gb {
  1045. position: absolute;
  1046. top: 0;
  1047. right: 0;
  1048. }
  1049. video {
  1050. width: calc(100vw * (1440 / 1920));
  1051. height: calc(100vh * (810 / 1080));
  1052. }
  1053. .el-image {
  1054. width: calc(100vw * (960 / 1920));
  1055. height: calc(100vh * (720 / 1080));
  1056. }
  1057. .el-button-group {
  1058. position: absolute;
  1059. bottom: 0;
  1060. left: 35%;
  1061. }
  1062. }
  1063. //机密验证界面
  1064. .jm {
  1065. width: calc(100vw * (530 / 1920));
  1066. height: calc(100vh * (370 / 1080));
  1067. // background: salmon;
  1068. background: url(../../assets/img/Group-585.png);
  1069. background-size: calc(100vw * (530 / 1920)) calc(100vh * (370 / 1080));
  1070. padding-top: calc(100vh * (50 / 1080));
  1071. padding-left: calc(100vw * (30 / 1920));
  1072. position: absolute;
  1073. top: 25%;
  1074. left: 35%;
  1075. z-index: 99;
  1076. display: flex;
  1077. // justify-content: center;
  1078. align-items: center;
  1079. .gb1 {
  1080. position: absolute;
  1081. top: 10%;
  1082. right: 8%;
  1083. }
  1084. .el-button-group {
  1085. position: absolute;
  1086. top: 10%;
  1087. right: 1%;
  1088. }
  1089. }
  1090. }
  1091. ::v-deep .el-icon-arrow-down:before {
  1092. display: none;
  1093. }
  1094. //table样式
  1095. ::v-deep .el-table th {
  1096. background: #016c9aa6;
  1097. color: #2e8aecff;
  1098. }
  1099. ::v-deep .el-table tr {
  1100. background: transparent;
  1101. }
  1102. ::v-deep
  1103. .el-table--striped
  1104. .el-table__body
  1105. tr.el-table__row--striped
  1106. td.el-table__cell {
  1107. background: transparent;
  1108. }
  1109. //table顶部白线消失处理
  1110. ::v-deep .el-table th.el-table__cell.is-leaf {
  1111. border-bottom: 1px solid #006c9aff;
  1112. padding: 0;
  1113. }
  1114. //table底下白线消失处理
  1115. ::v-deep .el-table {
  1116. color: #ffffffff;
  1117. }
  1118. ::v-deep .el-table::before {
  1119. width: 0;
  1120. }
  1121. //tr下面边框
  1122. ::v-deep .el-table td.el-table__cell {
  1123. border-bottom: 1px solid #083b61ff;
  1124. padding: 8px 0;
  1125. }
  1126. ::v-deep .el-table tbody tr:hover > td {
  1127. background-color: #016c9a78 !important;
  1128. }
  1129. //预览弹出框样式
  1130. ::v-deep .el-form-item__label {
  1131. color: #2e8aecff;
  1132. }
  1133. ::v-deep .el-input__inner {
  1134. background-color: transparent;
  1135. border: 1px solid #01d1ffff;
  1136. color: #ffffffcc;
  1137. }
  1138. //底部表格超出显示滚动条
  1139. ::v-deep .el-table--scrollable-x .el-table__body-wrapper{
  1140. overflow: auto;
  1141. }
  1142. //通知内容详细
  1143. ::v-deep .el-dialog6 {
  1144. width: calc(100vw * (800 / 1920)) !important;
  1145. height: calc(100vh * (950 / 1080)) !important;
  1146. background: url(../../assets/img/Group-585.png);
  1147. background-size: calc(100vw * (800 / 1920)) calc(100vh * (950 / 1080));
  1148. .el-dialog__title {
  1149. color: #ffffff;
  1150. }
  1151. .main {
  1152. margin-top: calc(100vh * (40 / 1080));
  1153. width: calc(100vw * (640 / 1920));
  1154. height: calc(100vh * (680 / 1080));
  1155. // background: salmon;
  1156. color: #7ea4c8ff;
  1157. overflow: auto;
  1158. }
  1159. }
  1160. </style>
  1161. <style>
  1162. /* 中间下拉菜单样式 */
  1163. .el-dropdown-menu {
  1164. background-color: #0f1540;
  1165. border: 1px solid #0f1540ff;
  1166. }
  1167. .el-dropdown-menu__item {
  1168. color: #006c9aff;
  1169. }
  1170. .el-dropdown-menu__item:hover {
  1171. background: #01d1ff3b !important;
  1172. }
  1173. </style>