WordTable.vue 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943
  1. <template>
  2. <div class="WordTable" v-loading="loading">
  3. <div class="wheader">
  4. <Header />
  5. </div>
  6. <div class="main">
  7. <div class="top">
  8. <div class="left">
  9. <div class="type_dv">
  10. <div class="sele">
  11. <span :class="[typeIndex == 0 ? 'sele' : '']" @click="cutType(0)"
  12. >音节</span
  13. >
  14. <span :class="[typeIndex == 1 ? 'sele' : '']" @click="cutType(1)"
  15. >汉字</span
  16. >
  17. <span :class="[typeIndex == 2 ? 'sele' : '']" @click="cutType(2)"
  18. >词汇</span
  19. >
  20. </div>
  21. <div class="down" @click="download">
  22. <img src="../../assets/teacherdev/dowload-text.png" alt="" /><span
  23. >下载</span
  24. >
  25. </div>
  26. </div>
  27. <!-- <el-radio-group v-model="headText">
  28. <el-radio :label="1">词头</el-radio>
  29. <el-radio :label="2">文本</el-radio>
  30. </el-radio-group> -->
  31. </div>
  32. <div class="right">
  33. <el-cascader
  34. v-model="leve"
  35. :options="leveList"
  36. @change="page1getdata"
  37. style="width: 140px; margin-right: 24px"
  38. ></el-cascader>
  39. <div class="seek">
  40. <img src="../../assets/teacherdev/search-icon.png" alt="" />
  41. <input v-model="keyword" type="text" />
  42. </div>
  43. <div class="seekBtn" @click="page1getdata">搜索</div>
  44. </div>
  45. </div>
  46. <div class="table">
  47. <table border="0" cellspacing="0" cellpadding="0">
  48. <tr>
  49. <th
  50. v-for="(item, i) in tableHeader"
  51. :key="i"
  52. :style="{ width: item.width }"
  53. :class="[
  54. i == tableHeader.length - 1 ? 'bz' : '',
  55. item.name == '级别' ? 'jb' : '',
  56. ]"
  57. v-if="
  58. (item.name == '拼音' && typeIndex != 0) || item.name != '拼音'
  59. "
  60. >
  61. <div>
  62. <span>
  63. {{
  64. item.name == "音节"
  65. ? typeIndex == 0
  66. ? "音节"
  67. : "汉字"
  68. : item.name
  69. }}
  70. </span>
  71. <template v-if="item.sortShow">
  72. <div :class="['sort']">
  73. <div>
  74. <img
  75. v-if="item.sort != 'up'"
  76. @click="SortEvent('up', item.name, item.sortName)"
  77. src="../../assets/teacherdev/sort-up.png"
  78. alt=""
  79. />
  80. <img
  81. v-if="item.sort == 'up'"
  82. @click="SortEvent('up', item.name, item.sortName)"
  83. src="../../assets/teacherdev/sort-sele-up.png"
  84. alt=""
  85. />
  86. </div>
  87. <div>
  88. <img
  89. v-if="item.sort != 'down'"
  90. @click="SortEvent('down', item.name, item.sortName)"
  91. src="../../assets/teacherdev/sort-down.png"
  92. alt=""
  93. />
  94. <img
  95. v-if="item.sort == 'down'"
  96. @click="SortEvent('down', item.name, item.sortName)"
  97. src="../../assets/teacherdev/sort-sele-down.png"
  98. alt=""
  99. />
  100. </div>
  101. </div>
  102. </template>
  103. </div>
  104. </th>
  105. </tr>
  106. <tr v-for="(item, index) in dataList.list" :key="index + 'td'">
  107. <td class="sort-td">{{ item.number }}</td>
  108. <td :class="['sort-td', typeIndex == 0 ? 'pinyin' : 'hanzi']">
  109. <span
  110. :style="{
  111. fontFamily: typeIndex != 0 ? '楷体' : '',
  112. fontWeight: '400',
  113. fontSize: '18px',
  114. color:
  115. item.levelName && levelMap[item.levelName]
  116. ? levelMap[item.levelName].color
  117. : '',
  118. }"
  119. >{{ item.word }}</span
  120. >
  121. </td>
  122. <td
  123. class="sort-td"
  124. v-if="typeIndex != 0"
  125. style="font-family: GB-PINYINOK-B"
  126. >
  127. {{ item.pinYin }}
  128. </td>
  129. <td class="sort-td">
  130. <span
  131. :style="{
  132. fontFamily: '楷体',
  133. fontSize: '16px',
  134. color:
  135. item.gradeName && levelMap[item.gradeName]
  136. ? levelMap[item.gradeName].color
  137. : '',
  138. }"
  139. >{{ item.gradeName }}</span
  140. >
  141. </td>
  142. <td class="sort-td jb" style="text-align: right">
  143. <span
  144. :style="{
  145. fontFamily: '楷体',
  146. fontSize: '16px',
  147. color:
  148. item.levelName && levelMap[item.levelName]
  149. ? levelMap[item.levelName].color
  150. : '',
  151. }"
  152. >{{ item.levelName }}</span
  153. >
  154. </td>
  155. <td
  156. class="sort-td"
  157. style="cursor: pointer; fontsize: 16px"
  158. @click="
  159. backHighlight(
  160. item,
  161. levelMap[item.levelName].color,
  162. 'all',
  163. index
  164. )
  165. "
  166. >
  167. {{ item.freq }}
  168. </td>
  169. <td class="sort-td">{{ item.textRatio }}%</td>
  170. <td>
  171. <div style="display: flex; flex-wrap: wrap">
  172. <span
  173. @click="
  174. backHighlight(
  175. items,
  176. levelMap[item.levelName].color,
  177. 'one',
  178. index
  179. )
  180. "
  181. v-for="(items, i) in item.remarks"
  182. :key=""
  183. class="beizhu"
  184. :style="{
  185. marginRight: '10px',
  186. cursor: 'pointer',
  187. borderColor:
  188. items.levelName && levelMap[items.levelName]
  189. ? levelMap[items.levelName].color + '16'
  190. : '',
  191. background:
  192. items.levelName && levelMap[items.levelName]
  193. ? levelMap[items.levelName].color + '50'
  194. : '',
  195. }"
  196. >
  197. <span v-html="items.word" style="font-family: '楷体'"> </span>
  198. <span
  199. :style="{
  200. fontFamily: '楷体',
  201. color:
  202. items.levelName && levelMap[items.levelName]
  203. ? levelMap[items.levelName].color
  204. : '',
  205. }"
  206. >
  207. {{ items.levelName }}
  208. </span>
  209. <!--
  210. style="font-size: 12px"
  211. -->
  212. <span>
  213. {{ items.freq }}
  214. </span>
  215. </span>
  216. </div>
  217. </td>
  218. </tr>
  219. </table>
  220. <template v-if="dataList.list.length == 0">
  221. <div class="no_data">暂无数据</div>
  222. </template>
  223. <!-- <el-table
  224. :data="dataList.list"
  225. style="width: 100%"
  226. @sort-change="sort_change"
  227. ref="table"
  228. :sort-orders="['levelName']"
  229. sortable="custom"
  230. >
  231. <el-table-column prop="number" label="序号" width="48" align="center">
  232. </el-table-column>
  233. <el-table-column
  234. prop="word"
  235. :label="typeIndex == 0 ? '音节' : '汉字'"
  236. width="93"
  237. sortable
  238. >
  239. <template slot-scope="item">
  240. <span
  241. :style="{
  242. color:
  243. item.row.levelName && levelMap[item.row.levelName]
  244. ? levelMap[item.row.levelName].color
  245. : '',
  246. }"
  247. >{{ item.row.word }}</span
  248. >
  249. </template>
  250. </el-table-column>
  251. <template v-if="typeIndex != 0">
  252. <el-table-column prop="pinYin" label="拼音" width="95" sortable>
  253. </el-table-column>
  254. </template>
  255. <el-table-column prop="gradeName" label="等次" width="95" sortable>
  256. <template slot-scope="item">
  257. <span
  258. :style="{
  259. color:
  260. item.row.gradeName && levelMap[item.row.gradeName]
  261. ? levelMap[item.row.gradeName].color
  262. : '',
  263. }"
  264. >{{ item.row.gradeName }}</span
  265. >
  266. </template>
  267. </el-table-column>
  268. <el-table-column prop="levelName" label="级别" width="106" sortable>
  269. <template slot-scope="item">
  270. <span
  271. :style="{
  272. color:
  273. item.row.levelName && levelMap[item.row.levelName]
  274. ? levelMap[item.row.levelName].color
  275. : '',
  276. }"
  277. >{{ item.row.levelName }}</span
  278. >
  279. </template>
  280. </el-table-column>
  281. <el-table-column prop="freq" label="频数" width="108" sortable>
  282. </el-table-column>
  283. <el-table-column prop="textRatio" label="比例" width="110" sortable>
  284. </el-table-column>
  285. <el-table-column prop="" label="备注">
  286. <template slot-scope="item">
  287. <div style="display: flex">
  288. <span
  289. v-for="(items, i) in item.row.remarks"
  290. :key=""
  291. class="beizhu"
  292. style="margin-right: 10px"
  293. >
  294. <span
  295. style="font-size: 18px; font-weight: 400"
  296. v-html="items.word"
  297. >
  298. </span>
  299. <span
  300. :style="{
  301. color:
  302. items.levelName && levelMap[items.levelName]
  303. ? levelMap[items.levelName].color
  304. : '',
  305. }"
  306. >
  307. {{ items.levelName }}
  308. </span>
  309. <span>
  310. {{ items.freq }}
  311. </span>
  312. </span>
  313. </div>
  314. </template>
  315. </el-table-column>
  316. </el-table> -->
  317. </div>
  318. <div class="page" v-if="dataList.list.length > 0">
  319. <el-pagination
  320. background
  321. @current-change="handleCurrentChange"
  322. :current-page="page"
  323. :page-size="pageSize"
  324. layout="prev, pager, next, jumper"
  325. :total="dataList.total"
  326. >
  327. </el-pagination>
  328. </div>
  329. </div>
  330. </div>
  331. </template>
  332. <script>
  333. //这里可以导入其它文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
  334. //例如:import 《组件名称》from ‘《组件路径》';
  335. import Header from "@/components/Header.vue";
  336. import { postapi } from "@/api/api";
  337. import staticData from "../../common/data";
  338. import { json2excel } from "@/utils/setMethods";
  339. export default {
  340. //import引入的组件需要注入到对象中才能使用
  341. components: {
  342. Header,
  343. },
  344. props: {},
  345. data() {
  346. //这里存放数据
  347. return {
  348. typeIndex: 0,
  349. headText: 1,
  350. keyword: "",
  351. leve: null,
  352. leveList: [
  353. {
  354. value: null,
  355. label: "全部",
  356. },
  357. {
  358. value: 1,
  359. label: "初等",
  360. children: [
  361. { value: "100,101,102", label: "全部" },
  362. { value: "100", label: "1级" },
  363. { value: "101", label: "2级" },
  364. { value: "102", label: "3级" },
  365. ],
  366. },
  367. {
  368. value: 2,
  369. label: "中等",
  370. children: [
  371. { value: "103,104,105", label: "全部" },
  372. { value: "103", label: "4级" },
  373. { value: "104", label: "5级" },
  374. { value: "105", label: "6级" },
  375. ],
  376. },
  377. {
  378. value: 3,
  379. label: "高等",
  380. children: [{ value: "106", label: "7-9级" }],
  381. },
  382. {
  383. value: 107,
  384. label: "超纲",
  385. children: [{ value: "107", label: "超纲" }],
  386. },
  387. {
  388. value: 108,
  389. label: "专有",
  390. children: [{ value: "108", label: "专有" }],
  391. },
  392. {
  393. value: 109,
  394. label: "其它",
  395. children: [{ value: "109", label: "其它" }],
  396. },
  397. ],
  398. tableHeader: [
  399. {
  400. name: "序号",
  401. sortShow: false,
  402. width: "48px",
  403. },
  404. {
  405. name: "音节",
  406. sortShow: true,
  407. sort: "",
  408. width: "93px",
  409. sortName: "word",
  410. },
  411. {
  412. name: "拼音",
  413. sortShow: true,
  414. sort: "",
  415. width: "95px",
  416. sortName: "pin_yin",
  417. },
  418. {
  419. name: "等次",
  420. sortShow: true,
  421. sort: "",
  422. width: "95px",
  423. sortName: "grade_id",
  424. },
  425. {
  426. name: "级别",
  427. sortShow: true,
  428. sort: "down",
  429. width: "150px",
  430. sortName: "level_id",
  431. },
  432. {
  433. name: "频数",
  434. sortShow: true,
  435. sort: "",
  436. width: "88px",
  437. sortName: "freq",
  438. },
  439. {
  440. name: "比例",
  441. sortShow: true,
  442. sort: "",
  443. width: "90px",
  444. sortName: "word_ratio",
  445. },
  446. {
  447. name: "备注",
  448. sortShow: false,
  449. sort: "",
  450. width: "",
  451. sortName: "",
  452. },
  453. ],
  454. dataList: {
  455. list: [],
  456. },
  457. page: 1,
  458. pageSize: 10,
  459. partitionKey: null,
  460. searchType: null,
  461. levelMap: null,
  462. loading: false,
  463. sortType: 0,
  464. sortField: "level_id",
  465. routerData: null,
  466. };
  467. },
  468. //计算属性 类似于data概念
  469. computed: {},
  470. //监控data中数据变化
  471. watch: {},
  472. //方法集合
  473. methods: {
  474. // 下载
  475. download() {
  476. let data = JSON.parse(JSON.stringify(this.dataList.list));
  477. data.forEach((item) => {
  478. item.textRatio = item.textRatio + "%";
  479. let str = "";
  480. // 处理备注
  481. item.remarks.forEach((items) => {
  482. let node = document.createElement("span");
  483. node.innerHTML = items.word;
  484. str +=
  485. node.innerText +
  486. " " +
  487. items.levelName +
  488. " " +
  489. items.freq +
  490. " ";
  491. });
  492. item.remarksTxt = str;
  493. });
  494. let tHeader = [];
  495. let filterVal = [];
  496. this.tableHeader.forEach((item) => {
  497. tHeader.push(item.name);
  498. });
  499. if (this.typeIndex == 0) {
  500. tHeader.splice(2, 1);
  501. filterVal = [
  502. "number",
  503. "word",
  504. "gradeName",
  505. "levelName",
  506. "freq",
  507. "textRatio",
  508. "remarksTxt",
  509. ];
  510. } else {
  511. tHeader[1] = "汉字";
  512. filterVal = [
  513. "number",
  514. "word",
  515. "pinYin",
  516. "gradeName",
  517. "levelName",
  518. "freq",
  519. "textRatio",
  520. "remarksTxt",
  521. ];
  522. }
  523. var excelDatas = [
  524. {
  525. tHeader: tHeader,
  526. filterVal: filterVal, // 表一的数据字段
  527. tableDatas: data, // 表一的整体json数据
  528. sheetName: "sheet1", // 表一的sheet名字
  529. },
  530. ];
  531. //引入的函数
  532. json2excel(excelDatas, "词表", true, "xlsx");
  533. },
  534. // 返回并高亮对应数据
  535. backHighlight(item, color, type, index) {
  536. let data = JSON.parse(JSON.stringify(this.routerData));
  537. let arr = [];
  538. if (type == "all") {
  539. if (this.typeIndex == 0) {
  540. item.remarks.forEach((items) => {
  541. arr.push(items.word);
  542. });
  543. } else {
  544. arr.push(this.dataList.list[index].word);
  545. }
  546. } else {
  547. if (this.typeIndex == 0) {
  548. arr.push(item.word);
  549. } else {
  550. arr.push(this.dataList.list[index].word);
  551. }
  552. }
  553. data.remarks = JSON.stringify(arr);
  554. data.color = color;
  555. data.leftNavIndex = this.typeIndex;
  556. sessionStorage.setItem("tablehighlight", true);
  557. window.open(
  558. this.$router.resolve({
  559. path: "/textanalysis/Result",
  560. query: data,
  561. }).href,
  562. "_blank"
  563. );
  564. },
  565. handleCurrentChange(val) {
  566. this.page = val;
  567. this.getlist();
  568. },
  569. getlist() {
  570. this.loading = true;
  571. postapi({
  572. url: "/GCLSTCServer/tools/TS/glossary/list",
  573. data: {
  574. pageIndex: this.page,
  575. pageSize: this.pageSize,
  576. partitionKey: this.partitionKey,
  577. searchType: this.typeIndex,
  578. word: this.keyword,
  579. sortField: this.sortField,
  580. sortType: this.sortType,
  581. levels: this.leve ? this.leve[1] : null,
  582. },
  583. })
  584. .then((res) => {
  585. let num = this.page * this.pageSize - this.pageSize + 1;
  586. res.data.result.list.forEach((item) => {
  587. item.remarks = JSON.parse(item.remarks);
  588. item.number = num;
  589. num++;
  590. });
  591. this.dataList = res.data.result;
  592. this.loading = false;
  593. })
  594. .catch((res) => {
  595. this.loading = false;
  596. });
  597. },
  598. page1getdata() {
  599. this.loading = true;
  600. this.page = 1;
  601. this.getlist();
  602. },
  603. SortEvent(type, name, sortName) {
  604. let sort = "";
  605. this.tableHeader.forEach((item) => {
  606. if (item.name == name) {
  607. if (!item.sort || item.sort == "up") {
  608. item.sort = "down";
  609. sort = "down";
  610. } else if (item.sort == "down") {
  611. item.sort = "up";
  612. sort = "up";
  613. }
  614. } else {
  615. item.sort = "";
  616. }
  617. });
  618. if (sort == "down") {
  619. this.sortType = 1;
  620. } else {
  621. this.sortType = 0;
  622. }
  623. this.sortField = sortName;
  624. this.getlist();
  625. },
  626. sort_change(column, prop, order) {
  627. if (this.$refs.table) this.$refs.table.clearSort();
  628. column.column.order = column.order;
  629. if (column.prop == "pinyin") {
  630. this.sortField = "pin_yin";
  631. } else if (column.prop == "gradeName") {
  632. this.sortField = "grade_id";
  633. } else if (column.prop == "levelName") {
  634. this.sortField = "level_id";
  635. } else if (column.prop == "textRatio") {
  636. this.sortField = "text_ratio";
  637. } else {
  638. this.sortField = column.prop;
  639. }
  640. if (column.order == "descending") {
  641. this.sortType = 1;
  642. } else {
  643. this.sortType = 0;
  644. }
  645. this.getlist();
  646. },
  647. cutType(index) {
  648. this.typeIndex = index;
  649. this.page1getdata();
  650. },
  651. },
  652. //生命周期 - 创建完成(可以访问当前this实例)
  653. created() {
  654. this.routerData = JSON.parse(JSON.stringify(this.$route.query));
  655. this.partitionKey = this.$route.query.partitionKey * 1;
  656. this.levelMap = staticData.LevelMap;
  657. this.getlist();
  658. },
  659. //生命周期 - 挂载完成(可以访问DOM元素)
  660. mounted() {},
  661. //生命周期-创建之前
  662. beforeCreated() {},
  663. //生命周期-挂载之前
  664. beforeMount() {},
  665. //生命周期-更新之前
  666. beforUpdate() {},
  667. //生命周期-更新之后
  668. updated() {},
  669. //生命周期-销毁之前
  670. beforeDestory() {},
  671. //生命周期-销毁完成
  672. destoryed() {},
  673. //如果页面有keep-alive缓存功能,这个函数会触发
  674. activated() {},
  675. };
  676. </script>
  677. <style lang="scss" scoped>
  678. /* @import url(); 引入css类 */
  679. .WordTable {
  680. background: #f6f6f6;
  681. min-height: 100%;
  682. .wheader {
  683. background: #ffffff;
  684. }
  685. .main {
  686. width: 1200px;
  687. margin: 23px auto;
  688. .top {
  689. display: flex;
  690. justify-content: space-between;
  691. .left {
  692. display: flex;
  693. align-items: center;
  694. .type_dv {
  695. margin-right: 40px;
  696. display: flex;
  697. > .sele {
  698. padding: 0 2px;
  699. height: 40px;
  700. background: #eeeeee;
  701. border-radius: 4px;
  702. display: flex;
  703. align-items: center;
  704. span {
  705. display: inline-block;
  706. height: 36px;
  707. width: 56px;
  708. font-weight: 400;
  709. font-size: 14px;
  710. line-height: 40px;
  711. text-align: center;
  712. color: #888888;
  713. cursor: pointer;
  714. }
  715. .sele {
  716. color: #000000;
  717. background: #ffffff;
  718. box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.08);
  719. }
  720. }
  721. > .down {
  722. cursor: pointer;
  723. font-weight: 400;
  724. font-size: 14px;
  725. line-height: 22px;
  726. color: #000000;
  727. display: flex;
  728. align-items: center;
  729. margin-left: 24px;
  730. img {
  731. margin-right: 4px;
  732. width: 24px;
  733. height: 24px;
  734. }
  735. }
  736. }
  737. }
  738. .right {
  739. display: flex;
  740. align-items: center;
  741. .seek {
  742. display: flex;
  743. width: 264px;
  744. height: 40px;
  745. background: #ffffff;
  746. border: 1px solid #dddddd;
  747. border-radius: 2px 0px 0px 2px;
  748. img {
  749. width: 16px;
  750. height: 16px;
  751. margin: 12px 4px 12px 12px;
  752. }
  753. input {
  754. flex: 1;
  755. border: none;
  756. outline: none;
  757. background: none;
  758. height: 40px;
  759. }
  760. }
  761. .seekBtn {
  762. width: 56px;
  763. height: 40px;
  764. background: #ffa800;
  765. border: 1px solid #ffa800;
  766. border-radius: 0px 2px 2px 0px;
  767. cursor: pointer;
  768. font-weight: 400;
  769. font-size: 16px;
  770. line-height: 40px;
  771. text-align: center;
  772. color: #ffffff;
  773. }
  774. }
  775. }
  776. .table {
  777. margin-top: 21px;
  778. .no_data {
  779. background: #ffffff;
  780. text-align: center;
  781. height: 60px;
  782. line-height: 60px;
  783. color: #909399;
  784. }
  785. table {
  786. width: 100%;
  787. border-collapse: collapse;
  788. background: #ffffff;
  789. .pinyin {
  790. font-family: "GB-PINYINOK-B";
  791. }
  792. .hanzi {
  793. text-align: left !important;
  794. }
  795. .jb {
  796. > div {
  797. justify-content: flex-end !important;
  798. .sort {
  799. margin-left: 10px;
  800. }
  801. }
  802. }
  803. th {
  804. background: #ffffff;
  805. .bz {
  806. flex: 1;
  807. }
  808. > div {
  809. display: flex;
  810. align-items: center;
  811. justify-content: space-between;
  812. padding: 0 8px;
  813. height: 48px;
  814. .sort {
  815. cursor: pointer;
  816. > div {
  817. img {
  818. width: 11px;
  819. height: 11px;
  820. }
  821. }
  822. > :nth-child(1) {
  823. > img {
  824. position: relative;
  825. top: 3px;
  826. }
  827. }
  828. > :nth-child(2) {
  829. > img {
  830. position: relative;
  831. bottom: 7px;
  832. }
  833. }
  834. }
  835. }
  836. }
  837. td {
  838. height: 40px;
  839. line-height: 40px;
  840. text-align: left;
  841. border-bottom: 1px solid #eeeeee;
  842. font-weight: 400;
  843. font-size: 14px;
  844. }
  845. .sort-td {
  846. padding: 0 9px;
  847. text-align: center;
  848. }
  849. }
  850. }
  851. .page {
  852. margin-top: 24px;
  853. }
  854. .beizhu {
  855. margin-top: 8px;
  856. margin-bottom: 8px;
  857. height: 28px;
  858. display: inline-block;
  859. border: 1px solid;
  860. // background: #f9f9f9;
  861. border-radius: 4px;
  862. display: flex;
  863. align-items: center;
  864. font-size: 16px;
  865. font-weight: 500;
  866. padding-left: 4px;
  867. padding-right: 7px;
  868. > :not(:nth-last-child(1)) {
  869. margin-right: 8px;
  870. }
  871. }
  872. }
  873. }
  874. </style>
  875. <style lang="scss">
  876. .WordTable {
  877. .table {
  878. .el-table th {
  879. background: #ffffff;
  880. padding: 7px 0;
  881. }
  882. .el-table th > .cell {
  883. display: flex;
  884. align-items: center;
  885. justify-content: space-between;
  886. font-weight: 700;
  887. color: #333333;
  888. font-size: 14px;
  889. }
  890. .el-table td {
  891. padding: 8px 0;
  892. }
  893. .el-table td > .cell {
  894. font-size: 14px;
  895. line-height: 22px;
  896. color: #333333;
  897. font-weight: 600;
  898. }
  899. }
  900. .el-radio__input.is-checked + .el-radio__label {
  901. color: #000000;
  902. }
  903. .el-radio__input.is-checked .el-radio__inner {
  904. border: 2px solid #c8c8c8;
  905. background: #1e1e1e;
  906. }
  907. .el-radio__inner::after {
  908. background: none;
  909. }
  910. .el-radio__inner {
  911. background: #c8c8c8;
  912. border: none;
  913. }
  914. .el-pagination.is-background .el-pager li:not(.disabled).active {
  915. background: #ffffff !important;
  916. color: rgba(0, 0, 0, 0.85);
  917. border: 1px solid #333333;
  918. }
  919. .el-pager {
  920. .number {
  921. background: #ffffff !important;
  922. border: 1px solid #d9d9d9;
  923. border-radius: 2px;
  924. }
  925. }
  926. .btn-prev,
  927. .btn-next {
  928. border: 1px solid #d9d9d9;
  929. border-radius: 2px;
  930. background: #ffffff !important;
  931. }
  932. }
  933. </style>