PageView.vue 34 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196
  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 class="three">发送人:{{ 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 class="three">发送人:{{ 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">查看详细</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. // console.log(`row=${row}`);
  430. if (row.isSecret == "是") {
  431. this.check = true;
  432. this.currentRow = row;
  433. }
  434. },
  435. //预览
  436. handlePreview(row) {
  437. row = this.currentRow;
  438. //图片后缀名
  439. var pictures = ["jpeg", "tiff", "raw", "bmp", "gif", "png", "jpg"];
  440. //音频后缀名
  441. var audios = [
  442. "mid",
  443. "mp3",
  444. "wav",
  445. "wma",
  446. "ra",
  447. "ogg",
  448. "flac",
  449. "aac",
  450. "ape",
  451. ];
  452. //视频后缀名
  453. var videos = [
  454. "asf",
  455. "avi",
  456. "mp4",
  457. "ogm",
  458. "ifo",
  459. "mpg",
  460. "mov",
  461. "mpeg",
  462. "mpg",
  463. "vob",
  464. "wmv",
  465. "rm",
  466. "rmvb",
  467. ];
  468. //判断后缀名
  469. if (videos.some((item) => item == row.docType)) {
  470. this.preview = true;
  471. this.vid1 = true;
  472. this.aud1 = false;
  473. this.img1 = false;
  474. this.vid = row.docPath;
  475. } else if (audios.some((item) => item == row.docType)) {
  476. this.preview = true;
  477. this.aud1 = true;
  478. this.vid1 = false;
  479. this.img1 = false;
  480. this.aud = row.docPath;
  481. } else if (pictures.some((item) => item == row.docType)) {
  482. this.preview = true;
  483. this.aud1 = false;
  484. this.vid1 = false;
  485. this.img1 = true;
  486. this.imgg = row.docPath;
  487. } else {
  488. row.isEdit = false;
  489. this.$tab.openPage(
  490. window.open(
  491. "/individual/Pre/user/" + row.docId + "?row=" + JSON.stringify(row),
  492. "_blank"
  493. )
  494. // window.open("/individual/Pre/user/" + row.docId +"/title/"+ row.docName, '_blank'),
  495. );
  496. // console.log(111);
  497. }
  498. // console.log(row.docPath);
  499. // console.log(vid);
  500. },
  501. //验证账号密码
  502. getCookie() {
  503. const username = Cookies.get("username");
  504. const password = Cookies.get("password");
  505. const rememberMe = Cookies.get("rememberMe");
  506. this.loginForm = {
  507. username: username === undefined ? this.loginForm.username : username,
  508. password:
  509. password === undefined ? this.loginForm.password : decrypt(password),
  510. rememberMe: rememberMe === undefined ? false : Boolean(rememberMe),
  511. };
  512. },
  513. //验证账号密码
  514. submitForm(row) {
  515. this.$refs.loginForm.validate((valid) => {
  516. if (valid) {
  517. if (this.loginForm.rememberMe) {
  518. Cookies.set("username", this.loginForm.username, { expires: 30 });
  519. Cookies.set("password", encrypt(this.loginForm.password), {
  520. expires: 30,
  521. });
  522. } else {
  523. Cookies.remove("username");
  524. Cookies.remove("password");
  525. }
  526. this.$store
  527. .dispatch("Login", this.loginForm)
  528. .then(() => {
  529. // 登录成功
  530. this.currentLoginStatus = 1;
  531. // 关闭登录界面
  532. this.check = false;
  533. // console.log("登录成功", "关闭登录界面");
  534. // console.log("预览界面");
  535. this.handlePreview(row);
  536. })
  537. .catch(() => {
  538. this.currentLoginStatus = 0;
  539. });
  540. }
  541. });
  542. },
  543. },
  544. };
  545. </script>
  546. <style scoped lang='scss'>
  547. .containe {
  548. color: #7ea4c8ff;
  549. font-size: 0.14rem;
  550. font-family: PingFang SC-Medium, PingFang SC;
  551. background: url(../../assets/img/background.png);
  552. background-size: 100% 100%;
  553. padding-top: calc(100vh * (50 / 1080));
  554. .top {
  555. width: 100%;
  556. height: calc(100vh * (600 / 1080));
  557. padding-left: calc(100vw * (34 / 1920));
  558. padding-right: calc(100vw * (30 / 1920));
  559. display: flex;
  560. justify-content: space-between;
  561. .left {
  562. //滚动条样式
  563. ::-webkit-scrollbar {
  564. width: 3.5px;
  565. }
  566. ::-webkit-scrollbar-track {
  567. background-color: rgba(0, 0, 0, 0);
  568. }
  569. ::-webkit-scrollbar-thumb {
  570. background: #2e8aec;
  571. border-radius: 3px;
  572. }
  573. ::-webkit-scrollbar-thumb:hover {
  574. background: #2e8aec;
  575. }
  576. width: calc(100vw * (395 / 1920));
  577. height: calc(100vh * (568 / 1080));
  578. background: url(../../assets/img/main_BG_left.png);
  579. background-size: calc(100vw * (395 / 1920)) calc(100vh * (568 / 1080));
  580. padding-left: 10px;
  581. padding-top: 5px;
  582. .left1 {
  583. width: calc(100vw * (375 / 1920));
  584. height: calc(100vh * (556 / 1080));
  585. .left-top {
  586. width: calc(100vw * (365 / 1920));
  587. height: calc(100vh * (40 / 1080));
  588. margin-top: 5px;
  589. padding-left: calc(100vw * (20 / 1920));
  590. padding-right: calc(100vw * (20 / 1920));
  591. background: url(../../assets/img/main_left_decorate.png);
  592. background-size: calc(100vw * (365 / 1920)) calc(100vh * (40 / 1080));
  593. display: flex;
  594. justify-content: space-between;
  595. align-items: center;
  596. h3 {
  597. font-weight: bold;
  598. font-family: YouSheBiaoTiHei-Regular, YouSheBiaoTiHei;
  599. color: #ffffff;
  600. }
  601. p {
  602. padding-right: 10px;
  603. color: #2e8aecff;
  604. font-family: PingFang SC-Medium;
  605. &:hover {
  606. cursor: pointer;
  607. }
  608. }
  609. }
  610. }
  611. .left-main {
  612. width: calc(100vw * (365 / 1920));
  613. height: calc(100vh * (480 / 1080));
  614. list-style: none;
  615. padding: 0;
  616. margin-top: calc(100vh * (10 / 1080));
  617. overflow: auto;
  618. li {
  619. width: calc(100vw * (360 / 1920));
  620. height: calc(100vh * (230 / 1080));
  621. background: rgba(18, 32, 80, 0.4);
  622. border-radius: 2px 2px 2px 2px;
  623. opacity: 1;
  624. margin-bottom: calc(100vh * (10 / 1080));
  625. div {
  626. padding-top: 8px;
  627. padding-left: 20px;
  628. padding-right: 5px;
  629. }
  630. .one {
  631. padding-top: 12px;
  632. }
  633. .three {
  634. padding-left: calc(100vw * (30 / 1920));
  635. }
  636. .five {
  637. display: flex;
  638. justify-content: space-evenly;
  639. color: #2e8aecff;
  640. padding-top: calc(100vh * (20 / 1080));
  641. &:hover {
  642. cursor: pointer;
  643. }
  644. }
  645. .four {
  646. display: flex;
  647. padding-top: calc(100vh * (10 / 1080));
  648. .four1 {
  649. width: calc(100vw * (60 / 1920));
  650. }
  651. .four2 {
  652. width: calc(100vw * (250 / 1920));
  653. height: calc(100vh * (55 / 1080));
  654. // background: salmon;
  655. overflow: hidden;
  656. text-overflow: ellipsis;
  657. -webkit-line-clamp: 3;
  658. word-break: break-all;
  659. display: -webkit-box;
  660. -webkit-box-orient: vertical;
  661. }
  662. }
  663. }
  664. }
  665. }
  666. .right {
  667. //滚动条样式
  668. ::-webkit-scrollbar {
  669. width: 3.5px;
  670. }
  671. ::-webkit-scrollbar-track {
  672. background-color: rgba(0, 0, 0, 0);
  673. }
  674. ::-webkit-scrollbar-thumb {
  675. background: #2e8aec;
  676. border-radius: 3px;
  677. }
  678. ::-webkit-scrollbar-thumb:hover {
  679. background: #2e8aec;
  680. }
  681. width: calc(100vw * (395 / 1920));
  682. height: calc(100vh * (568 / 1080));
  683. background: url(../../assets/img/main_BG_left.png);
  684. background-size: calc(100vw * (395 / 1920)) calc(100vh * (568 / 1080));
  685. padding-left: 10px;
  686. padding-top: 5px;
  687. .right1 {
  688. width: calc(100vw * (375 / 1920));
  689. height: calc(100vh * (556 / 1080));
  690. .right-top {
  691. width: calc(100vw * (365 / 1920));
  692. height: calc(100vh * (40 / 1080));
  693. margin-top: 5px;
  694. padding-left: calc(100vw * (20 / 1920));
  695. padding-right: calc(100vw * (20 / 1920));
  696. background: url(../../assets/img/main_left_decorate.png);
  697. background-size: calc(100vw * (365 / 1920)) calc(100vh * (40 / 1080));
  698. display: flex;
  699. justify-content: space-between;
  700. align-items: center;
  701. h3 {
  702. font-weight: bold;
  703. font-family: YouSheBiaoTiHei-Regular, YouSheBiaoTiHei;
  704. color: #ffffff;
  705. }
  706. p {
  707. padding-right: 10px;
  708. color: #2e8aecff;
  709. font-family: PingFang SC-Medium;
  710. &:hover {
  711. cursor: pointer;
  712. }
  713. }
  714. }
  715. }
  716. .right-main {
  717. width: calc(100vw * (365 / 1920));
  718. height: calc(100vh * (480 / 1080));
  719. list-style: none;
  720. padding: 0;
  721. margin-top: calc(100vh * (10 / 1080));
  722. overflow: auto;
  723. li {
  724. width: calc(100vw * (360 / 1920));
  725. height: calc(100vh * (230 / 1080));
  726. background: rgba(18, 32, 80, 0.4);
  727. border-radius: 2px 2px 2px 2px;
  728. opacity: 1;
  729. margin-bottom: calc(100vh * (10 / 1080));
  730. div {
  731. padding-top: 8px;
  732. padding-left: 20px;
  733. padding-right: 5px;
  734. }
  735. .one {
  736. padding-top: 12px;
  737. }
  738. .three {
  739. padding-left: calc(100vw * (30 / 1920));
  740. }
  741. .five {
  742. display: flex;
  743. justify-content: space-evenly;
  744. color: #2e8aecff;
  745. padding-top: calc(100vh * (20 / 1080));
  746. &:hover {
  747. cursor: pointer;
  748. }
  749. }
  750. .four {
  751. display: flex;
  752. padding-top: calc(100vh * (10 / 1080));
  753. .four1 {
  754. width: calc(100vw * (60 / 1920));
  755. }
  756. .four2 {
  757. width: calc(100vw * (250 / 1920));
  758. height: calc(100vh * (55 / 1080));
  759. // background: salmon;
  760. overflow: hidden;
  761. text-overflow: ellipsis;
  762. -webkit-line-clamp: 3;
  763. word-break: break-all;
  764. display: -webkit-box;
  765. -webkit-box-orient: vertical;
  766. }
  767. }
  768. }
  769. }
  770. }
  771. .cen {
  772. width: calc(100vw * (784 / 1920));
  773. height: calc(100vh * (600 / 1080));
  774. // background: aqua;
  775. position: relative;
  776. .cen—top {
  777. width: calc(100vw * (633 / 1920));
  778. height: calc(100vh * (40 / 1080));
  779. // background: salmon;
  780. // overflow: hidden;
  781. margin-left: calc(100vw * (81 / 1920));
  782. display: flex;
  783. align-items: center;
  784. .cen—top-left {
  785. width: calc(100vw * (90 / 1920));
  786. height: calc(100vh * (36 / 1080));
  787. // background: seagreen;
  788. margin-right: calc(100vw * (5 / 1920));
  789. font-size: 12px;
  790. color: #2e8aecff;
  791. display: flex;
  792. align-items: center;
  793. .el-dropdown-link {
  794. cursor: pointer;
  795. color: #409eff;
  796. }
  797. .el-icon-arrow-down {
  798. font-size: 12px;
  799. }
  800. }
  801. .cen—top-right {
  802. width: calc(100vw * (536 / 1920));
  803. height: calc(100vh * (36 / 1080));
  804. margin-left: calc(100vw * (60 / 1920));
  805. // background: skyblue;
  806. .cen—top-div {
  807. position: relative;
  808. .cen—top-img {
  809. // background-size: calc(100vw * (24 / 1920)) calc(100vh * (24/ 1080));
  810. width: calc(100vw * (24 / 1920));
  811. height: calc(100vh * (24 / 1080));
  812. position: absolute;
  813. left: calc(100vw * (15 / 1920));
  814. top: calc(100vh * (7 / 1080));
  815. }
  816. .searchs {
  817. width: calc(100vw * (436 / 1920));
  818. ::v-deep .el-input__inner {
  819. height: calc(100vh * (36 / 1080)) !important;
  820. padding-left: calc(100vw * (50 / 1920));
  821. background: #14265e80;
  822. border: 1px solid #01d1ffff;
  823. color: #7ea4c8ff;
  824. }
  825. }
  826. .cen—top-but {
  827. width: calc(100vw * (100 / 1920));
  828. height: calc(100vh * (36 / 1080));
  829. display: inline-block;
  830. text-align: center;
  831. line-height: calc(100vh * (36 / 1080));
  832. background: #01d1ff80;
  833. color: #ffffffcc;
  834. vertical-align: top;
  835. &:hover {
  836. cursor: pointer;
  837. }
  838. }
  839. }
  840. }
  841. }
  842. .cen—bottom {
  843. width: calc(100vw * (784 / 1920));
  844. height: calc(100vh * (477 / 1080));
  845. background: url(../../assets/img/MMB.png);
  846. background-size: calc(100vw * (784 / 1920)) calc(100vh * (477 / 1080));
  847. margin-top: calc(100vh * (80 / 1080));
  848. position: relative;
  849. font-size: 0.18rem;
  850. color: #ffffffff;
  851. font-weight: 400;
  852. p {
  853. font-size: 0.18rem;
  854. font-family: YouSheBiaoTiHei-Regular, YouSheBiaoTiHei;
  855. font-weight: bold;
  856. color: #ffffff;
  857. }
  858. .one {
  859. position: absolute;
  860. display: flex;
  861. flex-direction: column;
  862. align-items: center;
  863. left: calc(100vw * (172 / 1920));
  864. top: -30px;
  865. width: calc(100vw * (140 / 1920));
  866. height: calc(100vh * (153 / 1080));
  867. img {
  868. width: 100%;
  869. height: calc(100vh * (130 / 1080));
  870. }
  871. }
  872. .two {
  873. position: absolute;
  874. display: flex;
  875. flex-direction: column;
  876. align-items: center;
  877. left: calc(100vw * (442 / 1920));
  878. top: -30px;
  879. width: calc(100vw * (140 / 1920));
  880. height: calc(100vh * (153 / 1080));
  881. img {
  882. width: 100%;
  883. height: calc(100vh * (130 / 1080));
  884. }
  885. }
  886. .three {
  887. display: flex;
  888. flex-direction: column;
  889. align-items: center;
  890. position: absolute;
  891. left: calc(100vw * (36 / 1920));
  892. top: calc(100vh * (150 / 1080));
  893. width: calc(100vw * (140 / 1920));
  894. height: calc(100vh * (153 / 1080));
  895. img {
  896. width: 100%;
  897. height: calc(100vh * (130 / 1080));
  898. }
  899. }
  900. .four {
  901. display: flex;
  902. flex-direction: column;
  903. align-items: center;
  904. position: absolute;
  905. right: calc(100vw * (57 / 1920));
  906. top: calc(100vh * (150 / 1080));
  907. width: calc(100vw * (140 / 1920));
  908. height: calc(100vh * (153 / 1080));
  909. img {
  910. width: 100%;
  911. height: calc(100vh * (130 / 1080));
  912. }
  913. }
  914. }
  915. }
  916. }
  917. .bottom {
  918. width: 100%;
  919. height: calc(100vh * (304 / 1080));
  920. background-size: cover;
  921. margin-top: calc(100vh * (30 / 1080));
  922. padding-left: calc(100vw * (30 / 1920));
  923. padding-right: calc(100vw * (34 / 1920));
  924. display: flex;
  925. justify-content: space-between;
  926. .left {
  927. width: calc(100vw * (920 / 1920));
  928. height: calc(100vh * (304 / 1080));
  929. background: url(../../assets/img/footer.png);
  930. background-size: calc(100vw * (920 / 1920)) calc(100vh * (304 / 1080));
  931. padding-left: 10px;
  932. .left-top {
  933. width: calc(100vw * (880 / 1920));
  934. height: calc(100vh * (40 / 1080));
  935. color: #ffffff;
  936. margin-top: 10px;
  937. background: url(../../assets/img/main_left_decorate.png);
  938. background-size: calc(100vw * (880 / 1920)) calc(100vh * (40 / 1080));
  939. display: flex;
  940. justify-content: space-between;
  941. align-items: center;
  942. h3 {
  943. padding-left: 10px;
  944. font-size: 0.2rem;
  945. font-weight: bold;
  946. font-family: YouSheBiaoTiHei-Regular, YouSheBiaoTiHei;
  947. }
  948. p {
  949. padding-right: 10px;
  950. font-size: 0.2rem;
  951. color: #2e8aecff;
  952. font-family: PingFang SC-Medium;
  953. &:hover {
  954. cursor: pointer;
  955. }
  956. }
  957. }
  958. .left-main {
  959. margin-top: calc(100vh * (8 / 1080));
  960. color: #7ea4c8ff;
  961. background: transparent;
  962. height: calc(100vh * (230 / 1080));
  963. overflow: auto;
  964. font-size: 0.14rem;
  965. }
  966. //滚动条样式
  967. ::-webkit-scrollbar {
  968. width: 3.5px;
  969. }
  970. ::-webkit-scrollbar-track {
  971. background-color: rgba(0, 0, 0, 0);
  972. }
  973. ::-webkit-scrollbar-thumb {
  974. background: #2e8aec;
  975. border-radius: 3px;
  976. }
  977. ::-webkit-scrollbar-thumb:hover {
  978. background: #2e8aec;
  979. }
  980. }
  981. .right {
  982. width: calc(100vw * (920 / 1920));
  983. height: calc(100vh * (304 / 1080));
  984. background: url(../../assets/img/footer.png);
  985. background-size: calc(100vw * (920 / 1920)) calc(100vh * (304 / 1080));
  986. padding-left: 10px;
  987. .right-top {
  988. width: calc(100vw * (900 / 1920));
  989. height: calc(100vh * (40 / 1080));
  990. color: #ffffff;
  991. margin-top: 10px;
  992. background: url(../../assets/img/main_left_decorate.png);
  993. background-size: cover;
  994. h3 {
  995. padding-top: calc(100vh * (10 / 1080));
  996. padding-left: 10px;
  997. margin: 0;
  998. font-size: 0.2rem;
  999. font-weight: bold;
  1000. font-family: YouSheBiaoTiHei-Regular, YouSheBiaoTiHei;
  1001. }
  1002. }
  1003. .right-main {
  1004. margin-top: calc(100vh * (8 / 1080));
  1005. color: #7ea4c8ff;
  1006. background: transparent;
  1007. height: calc(100vh * (230 / 1080));
  1008. overflow: auto;
  1009. font-size: 0.14rem;
  1010. }
  1011. //滚动条样式
  1012. ::-webkit-scrollbar {
  1013. width: 3.5px;
  1014. }
  1015. ::-webkit-scrollbar-track {
  1016. background-color: rgba(0, 0, 0, 0);
  1017. }
  1018. ::-webkit-scrollbar-thumb {
  1019. background: #2e8aec;
  1020. border-radius: 3px;
  1021. }
  1022. ::-webkit-scrollbar-thumb:hover {
  1023. background: #2e8aec;
  1024. }
  1025. }
  1026. }
  1027. //预览弹窗
  1028. .dhk {
  1029. width: calc(100vw * (1200 / 1920));
  1030. height: calc(100vh * (850 / 1080));
  1031. // background: salmon;
  1032. background: #0f1540ff;
  1033. position: absolute;
  1034. top: 10%;
  1035. left: 20%;
  1036. z-index: 99;
  1037. display: flex;
  1038. justify-content: center;
  1039. align-items: center;
  1040. .gb {
  1041. position: absolute;
  1042. top: 0;
  1043. right: 0;
  1044. }
  1045. video {
  1046. width: calc(100vw * (1440 / 1920));
  1047. height: calc(100vh * (810 / 1080));
  1048. }
  1049. .el-image {
  1050. width: calc(100vw * (960 / 1920));
  1051. height: calc(100vh * (720 / 1080));
  1052. }
  1053. .el-button-group {
  1054. position: absolute;
  1055. bottom: 0;
  1056. left: 35%;
  1057. }
  1058. }
  1059. //机密验证界面
  1060. .jm {
  1061. width: calc(100vw * (530 / 1920));
  1062. height: calc(100vh * (370 / 1080));
  1063. // background: salmon;
  1064. background: url(../../assets/img/Group-585.png);
  1065. background-size: calc(100vw * (530 / 1920)) calc(100vh * (370 / 1080));
  1066. padding-top: calc(100vh * (50 / 1080));
  1067. padding-left: calc(100vw * (30 / 1920));
  1068. position: absolute;
  1069. top: 25%;
  1070. left: 35%;
  1071. z-index: 99;
  1072. display: flex;
  1073. // justify-content: center;
  1074. align-items: center;
  1075. .gb1 {
  1076. position: absolute;
  1077. top: 10%;
  1078. right: 8%;
  1079. }
  1080. .el-button-group {
  1081. position: absolute;
  1082. top: 10%;
  1083. right: 1%;
  1084. }
  1085. }
  1086. }
  1087. ::v-deep .el-icon-arrow-down:before {
  1088. display: none;
  1089. }
  1090. //table样式
  1091. ::v-deep .el-table th {
  1092. background: #016c9aa6;
  1093. color: #2e8aecff;
  1094. }
  1095. ::v-deep .el-table tr {
  1096. background: transparent;
  1097. }
  1098. ::v-deep
  1099. .el-table--striped
  1100. .el-table__body
  1101. tr.el-table__row--striped
  1102. td.el-table__cell {
  1103. background: transparent;
  1104. }
  1105. //table顶部白线消失处理
  1106. ::v-deep .el-table th.el-table__cell.is-leaf {
  1107. border-bottom: 1px solid #006c9aff;
  1108. padding: 0;
  1109. }
  1110. //table底下白线消失处理
  1111. ::v-deep .el-table {
  1112. color: #ffffffff;
  1113. }
  1114. ::v-deep .el-table::before {
  1115. width: 0;
  1116. }
  1117. //tr下面边框
  1118. ::v-deep .el-table td.el-table__cell {
  1119. border-bottom: 1px solid #083b61ff;
  1120. padding: 8px 0;
  1121. }
  1122. ::v-deep .el-table tbody tr:hover > td {
  1123. background-color: #016c9a78 !important;
  1124. }
  1125. //预览弹出框样式
  1126. ::v-deep .el-form-item__label {
  1127. color: #2e8aecff;
  1128. }
  1129. ::v-deep .el-input__inner {
  1130. background-color: transparent;
  1131. border: 1px solid #01d1ffff;
  1132. color: #ffffffcc;
  1133. }
  1134. //通知内容详细
  1135. ::v-deep .el-dialog6 {
  1136. width: calc(100vw * (800 / 1920)) !important;
  1137. height: calc(100vh * (950 / 1080)) !important;
  1138. background: url(../../assets/img/Group-585.png);
  1139. background-size: calc(100vw * (800 / 1920)) calc(100vh * (950 / 1080));
  1140. .el-dialog__title {
  1141. color: #ffffff;
  1142. }
  1143. .main {
  1144. margin-top: calc(100vh * (40 / 1080));
  1145. width: calc(100vw * (640 / 1920));
  1146. height: calc(100vh * (680 / 1080));
  1147. // background: salmon;
  1148. color: #7ea4c8ff;
  1149. overflow: auto;
  1150. }
  1151. }
  1152. </style>
  1153. <style>
  1154. /* 中间下拉菜单样式 */
  1155. .el-dropdown-menu {
  1156. background-color: #0f1540;
  1157. border: 1px solid #0f1540ff;
  1158. }
  1159. .el-dropdown-menu__item {
  1160. color: #006c9aff;
  1161. }
  1162. .el-dropdown-menu__item:hover {
  1163. background: #01d1ff3b !important;
  1164. }
  1165. </style>