index.vue 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798
  1. <template>
  2. <div class="history-warning">
  3. <div class="form-wrapper">
  4. <div class="search-wrapper">
  5. <div class="search-item">
  6. <span class="label">场站:</span>
  7. <div class="search-content">
  8. <el-select
  9. v-model="state.stationId"
  10. clearable
  11. size="mini"
  12. placeholder="全部"
  13. popper-class="select"
  14. @change="getWindturbineList"
  15. >
  16. <el-option
  17. v-for="item in stationList"
  18. :key="item.id"
  19. :value="item.id"
  20. :label="item.name"
  21. ></el-option>
  22. </el-select>
  23. </div>
  24. </div>
  25. <div class="search-item">
  26. <span class="label">型号:</span>
  27. <div class="search-content">
  28. <el-select
  29. v-model="state.modelId"
  30. clearable
  31. size="mini"
  32. placeholder="全部"
  33. popper-class="select"
  34. >
  35. <el-option
  36. v-for="item in modelList"
  37. :key="item.id"
  38. :value="item.id"
  39. :label="item.name"
  40. >
  41. </el-option>
  42. </el-select>
  43. </div>
  44. </div>
  45. <div class="search-item">
  46. <span class="label">部件:</span>
  47. <div class="search-content">
  48. <el-select
  49. v-model="state.components"
  50. clearable
  51. size="mini"
  52. placeholder="全部"
  53. popper-class="select"
  54. >
  55. <el-option
  56. v-for="item in componentList"
  57. :key="item.id"
  58. :value="item.nemCode"
  59. :label="item.name"
  60. >
  61. </el-option>
  62. </el-select>
  63. </div>
  64. </div>
  65. <div class="search-item">
  66. <span class="label">日期:</span>
  67. <div class="search-content">
  68. <el-date-picker
  69. v-model="state.dateTime"
  70. size="mini"
  71. type="datetimerange"
  72. range-separator="-"
  73. format="YYYY-MM-DD HH:mm:ss"
  74. value-format="YYYY-MM-DD HH:mm:ss"
  75. start-placeholder="开始"
  76. end-placeholder="结束"
  77. popper-class="date-select"
  78. >
  79. </el-date-picker>
  80. </div>
  81. <el-button class="buttons" round size="mini">查询</el-button>
  82. </div>
  83. </div>
  84. </div>
  85. <div class="table-wrapper">
  86. <div class="leftContent">
  87. <span>{{ pageTitle }}</span>
  88. </div>
  89. <el-table
  90. size="mini"
  91. :data="state.tableData"
  92. height="calc(100% - 35px - 55px)"
  93. style="width: 100%"
  94. stripe
  95. >
  96. <el-table-column label="部件功率统计表">
  97. <el-table-column label="机组"
  98. prop="projectname"
  99. width="200"
  100. header-align="center"
  101. align="center"
  102. >
  103. <template #default="scope">
  104. <el-button type="text" style="color: #05bb4c">{{scope.row.projectname}}</el-button>
  105. </template>
  106. </el-table-column>
  107. <el-table-column label="0kw-150kw">
  108. <el-table-column
  109. v-for="item in state.tableHeader"
  110. :label="item.title"
  111. :prop="item.code"
  112. :key="item.code"
  113. :width="item.width || ''"
  114. show-overflow-tooltip
  115. align="center"
  116. >
  117. </el-table-column>
  118. </el-table-column>
  119. <el-table-column label="150kw-300kw">
  120. <el-table-column
  121. v-for="item in state.tableHeader1"
  122. :label="item.title"
  123. :prop="item.code"
  124. :key="item.code"
  125. :width="item.width || ''"
  126. show-overflow-tooltip
  127. align="center"
  128. >
  129. </el-table-column>
  130. </el-table-column>
  131. <el-table-column label="300kw-450kw">
  132. <el-table-column
  133. v-for="item in state.tableHeader2"
  134. :label="item.title"
  135. :prop="item.code"
  136. :key="item.code"
  137. :width="item.width || ''"
  138. show-overflow-tooltip
  139. align="center"
  140. >
  141. </el-table-column>
  142. </el-table-column>
  143. </el-table-column>
  144. </el-table>
  145. <div class="pagination-wrapper">
  146. <el-pagination
  147. layout="total, sizes, prev, pager, next"
  148. :current-page="query.page"
  149. :page-size="query.limit"
  150. :page-sizes="[21, 100, 500, 1000]"
  151. :total="query.pageTotal"
  152. @size-change="
  153. (value) => {
  154. query.page = 1;
  155. query.limit = value;
  156. getAlarmHistoryt();
  157. }
  158. "
  159. @current-change="handlePageChange"
  160. ></el-pagination>
  161. </div>
  162. </div>
  163. </div>
  164. </template>
  165. <script setup name="partsTemperatureAnalyse">
  166. import { getStation } from "@/api/performance";
  167. import { getApiequipmentListByWp } from "@/api/monthlyPerformanceAnalysis.js";
  168. import { watch, reactive, nextTick, computed, onMounted, ref } from "vue";
  169. import { useRouter, useRoute } from "vue-router";
  170. import BASE from "@/tools/basicTool.js";
  171. import dayjs from "dayjs";
  172. import {
  173. alarm_history,
  174. new_alarm_history,
  175. fetchWindturbineList,
  176. fetchModel,
  177. fetchRelatePartAndAlarmType,
  178. getWpList,
  179. confirmAlart,
  180. } from "@/api/zhbj/index.js";
  181. import { ElMessageBox, ElMessage } from "element-plus";
  182. import { outExportExcel } from "@/tools/excel/exportExcel.js"; //引入文件
  183. import { useStore } from "vuex";
  184. const pageTitle = "各出力部件温度分析";
  185. const store = useStore();
  186. const route = useRoute();
  187. onMounted(() => {
  188. state.dateTime = [
  189. dayjs().startOf("day").format("YYYY-MM-DD HH:mm:ss"),
  190. dayjs().format("YYYY-MM-DD HH:mm:ss"),
  191. ];
  192. if (route.query.deviceType != "booststation") {
  193. state.deviceId = route.query.deviceId || "";
  194. state.alarmId = route.query.alarmId || "";
  195. state.modelId = route.query.modelId || "";
  196. } else {
  197. state.stationName = route.query.deviceId;
  198. state.deviceId = "";
  199. state.alarmId = route.query.alarmId || "";
  200. }
  201. getAlarmHistoryt()
  202. // if (route.query.ts) {
  203. // state.dateTime = [
  204. // `${dayjs(Number(route.query.ts)).format("YYYY-MM-DD")} 00:00:00`,
  205. // dayjs(Number(route.query.ts)).format("YYYY-MM-DD HH:mm:ss"),
  206. // ];
  207. // }
  208. // getStationList(); //场站
  209. getequipmentmodel_list(); //机型
  210. getfetchRelatePart(); //部件
  211. });
  212. // 机型
  213. const getequipmentmodel_list = async () => {
  214. const { data } = await fetchModel();
  215. state.modelListAll = data;
  216. };
  217. //所属部件
  218. const getfetchRelatePart = async () => {
  219. const { data } = await fetchRelatePartAndAlarmType();
  220. state.fetchListAll = data;
  221. };
  222. const confirmItem = (alarmItem) => {
  223. ElMessageBox("您确定要执行此操作吗?", "提示", {
  224. confirmButtonText: "确定",
  225. cancelButtonText: "取消",
  226. type: "warning",
  227. })
  228. .then(() => {
  229. confirmAlart(alarmItem)
  230. .then((res) => {
  231. if (res.code === 200) {
  232. ElMessage.success("确认成功");
  233. store.commit("removeWarning", alarmItem);
  234. getAlarmHistoryt();
  235. }
  236. })
  237. .catch(() => {
  238. ElMessage.error("确认失败,请重试");
  239. });
  240. })
  241. .catch(() => {});
  242. };
  243. const getColumnStyle = (columnItem) => {
  244. let style = "color:";
  245. if (columnItem.endts) {
  246. style += " #05bb4c";
  247. } else {
  248. style += "var(--el-color-danger)";
  249. }
  250. return style;
  251. };
  252. const state = reactive({
  253. stationId: "",
  254. stationName: "",
  255. alarmId: "",
  256. windturbineList: [],
  257. deviceId: "",
  258. modelListAll: {},
  259. fetchListAll: {},
  260. modelId: "", //型号
  261. components: "", //部件
  262. description: "", //描述
  263. dateTime: [],
  264. startDate: null,
  265. endDate: null,
  266. tableData: [],
  267. isshowwindturbineName: true,
  268. ts: "",
  269. tableHeader: [
  270. { title: "发电机U相绕组温度", code: "U_150", width: "150" },
  271. { title: "发电机V相绕组温度", code: "V_150", width: "150" },
  272. { title: "发电机W相绕组温度", code: "W_150", width: "150" },
  273. { title: "发电机冷却风温度", code: "X_150", width: "180" },
  274. { title: "发电机轴承温度A", code: "A_150", width: "150" }
  275. ],
  276. tableHeader1: [
  277. { title: "发电机U相绕组温度", code: "U_300", width: "150" },
  278. { title: "发电机V相绕组温度", code: "V_300", width: "150" },
  279. { title: "发电机W相绕组温度", code: "W_300", width: "150" },
  280. { title: "发电机冷却风温度", code: "X_300", width: "180" },
  281. { title: "发电机轴承温度A", code: "A_300", width: "150" }
  282. ],
  283. tableHeader2: [
  284. { title: "发电机U相绕组温度", code: "U_450", width: "150" },
  285. { title: "发电机V相绕组温度", code: "V_450", width: "150" },
  286. { title: "发电机W相绕组温度", code: "W_450", width: "150" },
  287. { title: "发电机冷却风温度", code: "X_450", width: "180" },
  288. { title: "发电机轴承温度A", code: "A_450", width: "150" }
  289. ],
  290. });
  291. // 场站列表/升压站列表
  292. const stationList = ref([]);
  293. //获取场站列表
  294. const getStationList = async () => {
  295. const { data } = await getStation({
  296. companyids: 0,
  297. type: state.typeVal == "windturbine" ? -1 : -2,
  298. });
  299. stationList.value = data.data;
  300. state.stationId = stationList.value[0]?.id;
  301. getWindturbineList();
  302. // if (state.deviceId && state.typeVal != "booststation") {
  303. // let station = data.data.find((i) => {
  304. // let st = i.id.split("_")[2];
  305. // let dt = state.deviceId.split("_")[2];
  306. // if (st == dt) {
  307. // return i;
  308. // }
  309. // });
  310. // state.stationId = station?.id;
  311. // } else if (state.typeVal == "booststation") {
  312. // let station = data.data.find((i) => i.name == state.stationName);
  313. // state.stationId = station ? station?.id : data.data[0]?.id;
  314. // } else {
  315. // state.stationId = data.data[0]?.id;
  316. // }
  317. // state.stationId = route.query.stationId || state.stationId;
  318. // route.query.stationId ? (state.modelId = modelList.value?.[0]?.id || "") : "";
  319. if (stationList.value.length) {
  320. }
  321. };
  322. // watch(
  323. // () => stationList,
  324. // (val, old) => {
  325. // val?.value?.length &&
  326. // nextTick(async () => {
  327. // await getWindturbineList();
  328. // });
  329. // },
  330. // {
  331. // deep: true,
  332. // immediate: true,
  333. // }
  334. // );
  335. watch(
  336. () => route,
  337. (val, old) => {
  338. // if (route.query.deviceType != "booststation") {
  339. // state.deviceId = route.query.deviceId || "";
  340. // state.alarmId = route.query.alarmId || "";
  341. // state.modelId = route.query.modelId || "";
  342. // } else {
  343. // state.stationName = route.query.deviceId;
  344. // state.deviceId = "";
  345. // state.alarmId = route.query.alarmId || "";
  346. // }
  347. state.isshowwindturbineName =
  348. state.typeVal == "booststation" ? false : true;
  349. getStationList();
  350. },
  351. {
  352. deep: true,
  353. immediate: true,
  354. }
  355. );
  356. //型号列表
  357. const modelList = computed(() => {
  358. return [
  359. {
  360. id: "SEC-W02B-1250kW",
  361. nemCode: "SEC-W02B-1250kW",
  362. name: "SEC-W02B-1250kW",
  363. aname: "SEC-W02B-1250kW",
  364. description: "DI",
  365. powerProduction: 1250,
  366. windturbineManufacturerId: "SHDQ_MF",
  367. photo: null,
  368. unit: null,
  369. cutinwindSpeed: 3,
  370. ratedwindSpeed: 11,
  371. cutoutwindSpeed: "25",
  372. sweptArea: 5800,
  373. equipmentCategory: "F",
  374. },
  375. ];
  376. // if (state.typeVal != "booststation") {
  377. // if (state.stationId == "") {
  378. // return [];
  379. // } else {
  380. // state.modelId = route.query.deviceId ? route.query.modelId : "";
  381. // return state.modelListAll[state.stationId];
  382. // }
  383. // } else {
  384. // return [];
  385. // }
  386. });
  387. //部件列表
  388. const componentList = computed(() => {
  389. return [
  390. {
  391. id: "1",
  392. category: "alertrule_category",
  393. nemCode: "YP",
  394. name: "叶片",
  395. orderNumber: 1,
  396. enable: 1,
  397. },
  398. {
  399. id: "2",
  400. category: "alertrule_category",
  401. nemCode: "LG",
  402. name: "轮毂",
  403. orderNumber: 2,
  404. enable: 1,
  405. },
  406. {
  407. id: "3",
  408. category: "alertrule_category",
  409. nemCode: "TJ",
  410. name: "塔架",
  411. orderNumber: 3,
  412. enable: 1,
  413. },
  414. {
  415. id: "4",
  416. category: "alertrule_category",
  417. nemCode: "JC",
  418. name: "机舱",
  419. orderNumber: 4,
  420. enable: 1,
  421. },
  422. {
  423. id: "5",
  424. category: "alertrule_category",
  425. nemCode: "KZXT",
  426. name: "控制系统",
  427. orderNumber: 5,
  428. enable: 1,
  429. },
  430. {
  431. id: "6",
  432. category: "alertrule_category",
  433. nemCode: "BJXT",
  434. name: "变桨系统",
  435. orderNumber: 6,
  436. enable: 1,
  437. },
  438. {
  439. id: "7",
  440. category: "alertrule_category",
  441. nemCode: "PHXT",
  442. name: "偏航系统",
  443. orderNumber: 7,
  444. enable: 1,
  445. },
  446. {
  447. id: "8",
  448. category: "alertrule_category",
  449. nemCode: "CLX",
  450. name: "齿轮箱",
  451. orderNumber: 8,
  452. enable: 1,
  453. },
  454. {
  455. id: "9",
  456. category: "alertrule_category",
  457. nemCode: "FDJ",
  458. name: "发电机",
  459. orderNumber: 9,
  460. enable: 1,
  461. },
  462. {
  463. id: "10",
  464. category: "alertrule_category",
  465. nemCode: "BPQ",
  466. name: "变频器",
  467. orderNumber: 10,
  468. enable: 1,
  469. },
  470. {
  471. id: "11",
  472. category: "alertrule_category",
  473. nemCode: "YYXT",
  474. name: "液压系统",
  475. orderNumber: 11,
  476. enable: 1,
  477. },
  478. {
  479. id: "12",
  480. category: "alertrule_category",
  481. nemCode: "FZXT",
  482. name: "辅助系统",
  483. orderNumber: 12,
  484. enable: 1,
  485. },
  486. {
  487. id: "13",
  488. category: "alertrule_category",
  489. nemCode: "CFXT",
  490. name: "测风系统",
  491. orderNumber: 13,
  492. enable: 1,
  493. },
  494. {
  495. id: "14",
  496. category: "alertrule_category",
  497. nemCode: "DWXT",
  498. name: "电网系统",
  499. orderNumber: 14,
  500. enable: 1,
  501. },
  502. {
  503. id: "15",
  504. category: "alertrule_category",
  505. nemCode: "TDG",
  506. name: "塔底柜",
  507. orderNumber: 15,
  508. enable: 1,
  509. },
  510. {
  511. id: "16",
  512. category: "alertrule_category",
  513. nemCode: "CDL",
  514. name: "传动链",
  515. orderNumber: 16,
  516. enable: 1,
  517. },
  518. {
  519. id: "17",
  520. category: "alertrule_category",
  521. nemCode: "QT",
  522. name: "其他",
  523. orderNumber: 17,
  524. enable: 1,
  525. },
  526. {
  527. id: "42",
  528. category: "alertrule_category",
  529. nemCode: "CGQ",
  530. name: "传感器",
  531. orderNumber: 19,
  532. enable: 1,
  533. },
  534. {
  535. id: "41",
  536. category: "alertrule_category",
  537. nemCode: "BYQ",
  538. name: "变压器",
  539. orderNumber: 18,
  540. enable: 1,
  541. },
  542. {
  543. id: "44",
  544. category: "alertrule_category",
  545. nemCode: "ZZ",
  546. name: "主轴",
  547. orderNumber: 20,
  548. enable: 1,
  549. },
  550. ];
  551. // if (state.typeVal != "booststation") {
  552. // if (state.stationId == "") {
  553. // return [];
  554. // } else {
  555. // if (state.stationId.includes("FDC")) {
  556. // return state.fetchListAll?.fjbj;
  557. // } else {
  558. // return state.fetchListAll?.gfbj;
  559. // }
  560. // }
  561. // } else {
  562. // return [];
  563. // }
  564. });
  565. //get 风机
  566. const getWindturbineList = async () => {
  567. state.deviceId = "";
  568. // const { data } = await getApiequipmentListByWp({ wpid: state.stationId });
  569. state.windturbineList = [
  570. {
  571. id: "SXJ_KGDL_XWT_F_WT_0001_EQ",
  572. nemCode: "#1",
  573. windpowerstationId: "SXJ_KGDL_XWT_FDC_STA",
  574. longitude: 112.415335,
  575. latitude: 40.281307,
  576. modelId: "SEC-W02B-1250kW",
  577. status: "NULL",
  578. projectId: "SXJ_KGDL_XWTF01_EG",
  579. lineId: "SXJ_KGDL_XWTF01_LN",
  580. firstIntegratedTime: "2008-07-27T16:00:00.000+0000",
  581. photo: "NULL",
  582. name: "01号风机",
  583. aname: "#1",
  584. isStandard: 1,
  585. regionId: "NX_FGS",
  586. companyId: "SXJ_KGDL_FLFD_ZGS",
  587. isable: 1,
  588. equipmentCategory: -1,
  589. parentId: "NULL",
  590. squareId: "NULL",
  591. spare1: "WT",
  592. spare2: "1",
  593. spare3: "NULL",
  594. spare4: "NULL",
  595. orderNum: 271,
  596. substationId: "SXJ_KGDL_XWTF01_SBS",
  597. },
  598. ];
  599. // state.modelId = modelList.value?.[0]?.id || "";
  600. await getAlarmHistoryt();
  601. };
  602. const query = reactive({
  603. page: 1,
  604. limit: 21,
  605. pageTotal: null,
  606. });
  607. // 获取历史记录表
  608. const getAlarmHistoryt = async () => {
  609. // if (route.params.deviceId && route.params.alarmId) {
  610. // state.stationId = "";
  611. // }
  612. // BASE.showLoading();
  613. // let params = {
  614. // pageNum: query.page,
  615. // pageSize: query.limit,
  616. // alarmId: state.alarmId,
  617. // alarmType: state.typeVal,
  618. // stationid: state.stationId,
  619. // deviceid: state.typeVal == "booststation" ? "" : state.deviceId,
  620. // modelId: state.typeVal == "booststation" ? "" : state.modelId,
  621. // components: state.components,
  622. // description: state.description,
  623. // begin: state.dateTime[0],
  624. // end: state.dateTime[1],
  625. // };
  626. // const { data } = await alarm_history(params);
  627. // BASE.closeLoading();
  628. // query.pageTotal = data?.total;
  629. // data?.ls?.forEach((ele) => {
  630. // ele.isCloseName = ele.endts ? "已解除" : "未解除";
  631. // ele.alarmTypeName =
  632. // ele.alarmType === "booststation"
  633. // ? "升压站"
  634. // : ele.alarmType === "windturbine"
  635. // ? "风机"
  636. // : ele.alarmType === "inverter"
  637. // ? "光伏"
  638. // : "";
  639. // ele.endtsName = ele.endts > 0 ? formatTime(ele.endts) : "--";
  640. // });
  641. // state.tableData = data?.ls;
  642. state.tableData = new Array(20).fill({
  643. modelId: "SEC-W02B-1250kW",
  644. projectid: "SXJ_KGDL_XWTF01_EG",
  645. projectname: "一期项目",
  646. U_150: 52.1,
  647. V_150: 48.9,
  648. W_150: 47.1,
  649. X_150: 58.5,
  650. A_150: 52.2,
  651. U_300: 55.8,
  652. V_300: 48.3,
  653. W_300: 53.1,
  654. X_300: 57.2,
  655. A_300: 54.5,
  656. U_450: 52.3,
  657. V_450: 46.1,
  658. W_450: 48.5,
  659. X_450: 49.8,
  660. A_450: 51.2
  661. });
  662. };
  663. // 分页导航
  664. const handlePageChange = (val) => {
  665. query.page = val;
  666. getAlarmHistoryt();
  667. };
  668. // 时间格式化
  669. const formatTime = (val) => {
  670. return dayjs(val).format("YYYY-MM-DD HH:mm:ss");
  671. };
  672. // 格式化
  673. const obj = {
  674. 1: "低级",
  675. 2: "低中级",
  676. 3: "中级",
  677. 4: "中高级",
  678. 5: "高级",
  679. booststation: "升压站",
  680. inverter: "光伏",
  681. windturbine: "风机",
  682. };
  683. const messageTypeObj = {
  684. 1: "触发",
  685. 3: "解除",
  686. };
  687. const tableFilter = (val) => {
  688. return obj[val];
  689. };
  690. const messageTypeFilter = (val) => {
  691. return messageTypeObj[val];
  692. };
  693. </script>
  694. <style scoped lang="less">
  695. p {
  696. padding: 0;
  697. margin: 0;
  698. }
  699. .history-warning {
  700. height: 100%;
  701. width: 100%;
  702. padding: 0 20px;
  703. padding-bottom: 10px;
  704. .form-wrapper ::v-deep {
  705. display: flex;
  706. flex-direction: column;
  707. padding-top: 10px;
  708. position: relative;
  709. .search-wrapper {
  710. display: flex;
  711. align-items: center;
  712. font-size: 14px;
  713. font-family: Microsoft YaHei;
  714. font-weight: 400;
  715. color: #b3b3b3;
  716. margin-bottom: 10px;
  717. .search-item {
  718. display: flex;
  719. margin-right: 10px;
  720. max-width: 450px;
  721. align-items: center;
  722. .label {
  723. margin-right: 10px;
  724. text-align: right;
  725. white-space: nowrap;
  726. // width: 60px;
  727. }
  728. .search-content {
  729. flex: 1;
  730. }
  731. }
  732. }
  733. .btns {
  734. display: flex;
  735. justify-content: flex-end;
  736. margin-right: 10px;
  737. position: absolute;
  738. right: 0;
  739. top: 53px;
  740. }
  741. .buttons {
  742. margin-left: 10px;
  743. background-color: rgba(5, 187, 76, 0.2);
  744. border: 1px solid #3b6c53;
  745. color: #b3b3b3;
  746. font-size: 14px;
  747. &:hover {
  748. background-color: rgba(5, 187, 76, 0.5);
  749. color: #ffffff;
  750. }
  751. }
  752. }
  753. .table-wrapper {
  754. height: calc(100% - 43px);
  755. width: 100%;
  756. .leftContent {
  757. width: 242px;
  758. height: 41px;
  759. display: flex;
  760. align-items: center;
  761. background: url("~@/assets/imgs/title_left_bg1.png") no-repeat;
  762. span {
  763. font-size: 16px;
  764. font-family: Microsoft YaHei;
  765. font-weight: 400;
  766. color: #05bb4c;
  767. margin-left: 25px;
  768. }
  769. }
  770. .pagination-wrapper :deep {
  771. text-align: right;
  772. margin-top: 10px;
  773. }
  774. }
  775. }
  776. </style>