UploadLink.vue 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983
  1. <template>
  2. <div class="upload_Link">
  3. <div v-if="isFather()">
  4. <!-- <span><b>经销商</b></span> -->
  5. <div class="topLeftTitle">针对论坛及其他平台链接上传</div>
  6. <!-- <div class="contentHead">
  7. <span>上传平台</span>
  8. <select name="" id="" v-model="platformVal" @change="choosePlatform">
  9. <option
  10. v-for="(item, index) in platform"
  11. :key="index"
  12. :value="item.platformName"
  13. >
  14. {{ item.platformName }}
  15. </option>
  16. </select>
  17. </div> -->
  18. <div class="tableBox">
  19. <table class="feedbackTable">
  20. <thead class="theadStyle">
  21. <tr class="tableHeadStyle1">
  22. <td>论坛传播情况汇总</td>
  23. </tr>
  24. <tr class="tableHeadStyle2 tableHeadStyle3">
  25. <td v-for="(item, index) in tableHeader" :key="index">
  26. {{ item }}
  27. </td>
  28. </tr>
  29. </thead>
  30. <tbody class="bodyStyle">
  31. <tr
  32. class="bodyContent tableHeadStyle2"
  33. v-for="(obj, index) in tableData"
  34. :key="index"
  35. :class="{ table_gray: index % 2 === 0 }"
  36. >
  37. <td v-if="flag">{{ index + 1 }}</td>
  38. <td>{{ obj.publishDate }}</td>
  39. <!-- 发布日期 -->
  40. <td>{{ obj.informationName }}</td>
  41. <!-- 资料名称 -->
  42. <td>{{ obj.informationName }}</td>
  43. <!-- 发布渠道 未定-->
  44. <td>{{ obj.publishSourceName }}</td>
  45. <!-- 平台板块 发布版块-->
  46. <td>{{ obj.readCount }}</td>
  47. <!-- 阅读量 -->
  48. <td>{{ obj.goodCount }}</td>
  49. <!-- 点赞 -->
  50. <td>{{ obj.bbsCount }}</td>
  51. <!-- 评论 -->
  52. <td>{{ obj.lookingCount }}</td>
  53. <!-- 在看/转发 -->
  54. <!-- <td>{{ obj.carTypeName }}</td> -->
  55. <!-- 车系 -->
  56. <!-- <td>{{ obj.projectTypeName }}</td> -->
  57. <!-- 项目分类 -->
  58. <td>{{ obj.mediaTypeName }}</td>
  59. <!-- 稿件类别 内容分类1 -->
  60. <td>{{ obj.contentTypeName }}</td>
  61. <!-- 内容分类 内容分类2 -->
  62. <td>{{ obj.carPlatformName }}</td>
  63. <!-- 车型 -->
  64. <td :class="{ weiFanKui: !obj.id }">
  65. {{ obj.id ? "已反馈" : "未反馈" }}
  66. </td>
  67. <!-- 反馈状态 未定-->
  68. <td>{{ obj.endDate }}</td>
  69. <!-- 反馈截止日期 -->
  70. <td>{{ obj.mediaTitle }}</td>
  71. <!-- 稿件标题 -->
  72. <td>
  73. <a :href="obj.mediaUrl" target="blank">{{ obj.mediaUrl }}</a>
  74. </td>
  75. <!-- 链接 -->
  76. <td class="operationStyle" style="cursor: pointer">
  77. <!-- <span @click="toggleModal(index)" :class="showItemOperation"
  78. >编辑</span
  79. > -->
  80. <span @click="toggleModal(index)">编辑</span>
  81. <span @click="viewHistoryRecord(obj, index)">查看</span>
  82. <!-- <span @click="toggleModal2(index)">删除</span> -->
  83. </td>
  84. </tr>
  85. </tbody>
  86. </table>
  87. </div>
  88. <!-- 弹窗: 编辑表格内容 -->
  89. <Modal
  90. v-if="showModal"
  91. v-on:closeme="closeme"
  92. :LinkData="modalData"
  93. @update="editTitle"
  94. :selectedPlatform="selectedPlatform"
  95. :releaseMedia="releaseMedia"
  96. ></Modal>
  97. <!-- 弹窗: 确定删除? -->
  98. <deleteModal
  99. v-if="showModal2"
  100. @dataDel="toDel"
  101. @hide_modal="closeme2"
  102. :LinkData="modalData"
  103. :showModalFlag="showModal2"
  104. ></deleteModal>
  105. <!-- <div class="timeLimitStyle">
  106. <span>仅可对上传时间为{{ feedbackTimeLimit }}个月内的资料进行反馈</span>
  107. </div> -->
  108. <div class="pageBottom">
  109. <div class="fileOperation">
  110. <span
  111. class="operationStyle xiahuaxian"
  112. @click="importTemplate"
  113. style="cursor: pointer"
  114. >导入模板</span
  115. >
  116. <label
  117. for="fileInput"
  118. @change="getFileInfo($event)"
  119. class="uploadFile"
  120. style="cursor: pointer"
  121. >导入<input
  122. type="file"
  123. name="fileName"
  124. id="fileInput"
  125. accept=".xlsx, .xls"
  126. multiple
  127. /></label>
  128. <label
  129. for="fileOutput"
  130. @click="onOutputExcel()"
  131. style="cursor: pointer"
  132. >导出</label
  133. >
  134. </div>
  135. <div
  136. style="display: flex; justify-content: center; align-items: center"
  137. >
  138. <TablePage
  139. :currentPage="currentPage"
  140. :totalPage="totalPage"
  141. @change_page="changePage"
  142. @jump_page="jumpPage"
  143. ></TablePage>
  144. <p style="margin-left: 16px">
  145. 共{{ totalPage }}页,共{{ sum }}条数据
  146. </p>
  147. </div>
  148. </div>
  149. <!-- 弹窗: 上传链接超过剩余限制数量,请修改后重新导入 -->
  150. <!-- 是否将已反馈数据进行替换? -->
  151. <div class="modal-backdrop" v-show="showModal3">
  152. <div class="modal">
  153. <div class="modal-body">
  154. <div class="bodyRow">是否将已反馈数据进行替换?</div>
  155. </div>
  156. <div class="modal-footer">
  157. <button type="button" class="btn-confirm" @click="closeme3()">
  158. </button>
  159. <button type="button" class="btn-close" @click="closeme3">
  160. </button>
  161. </div>
  162. </div>
  163. </div>
  164. <!-- 弹窗: 资料名称无法匹配,请修改后重新导入 -->
  165. <div class="modal-backdrop" v-show="showModal4">
  166. <div class="modal">
  167. <div class="modal-body">
  168. <div class="bodyRow">资料名称无法匹配,请修改后重新导入</div>
  169. <div class="bodyRow">成功{{ 1 }}条,失败{{ 1 }}条</div>
  170. </div>
  171. <div class="modal-footer" style="position: relative; top: 95px">
  172. <button type="button" class="btn-confirm" @click="closeme4()">
  173. 确定
  174. </button>
  175. <button type="button" class="btn-close" @click="closeme4">
  176. 取消
  177. </button>
  178. </div>
  179. </div>
  180. </div>
  181. </div>
  182. <router-view></router-view>
  183. </div>
  184. </template>
  185. <script>
  186. import Modal from "../../components/Modal";
  187. import TablePage from "../../components/TablePage";
  188. import deleteModal from "../data/components/UploadLinkModalDelete";
  189. import { env_url } from "../../config/env";
  190. export default {
  191. props: {
  192. isManufacturer: {
  193. type: String,
  194. default: "distributor",
  195. },
  196. },
  197. components: {
  198. Modal,
  199. TablePage,
  200. deleteModal,
  201. },
  202. data() {
  203. return {
  204. isFatherFlag: true,
  205. publishCount: "",
  206. platform: [],
  207. platformVal: "",
  208. releaseMedia: [],
  209. selectedPlatform: "",
  210. selectedPlatformId: "",
  211. /* modal */
  212. feedbackTimeLimit: 0,
  213. showModal: false,
  214. showModal2: false,
  215. showModal3: false,
  216. showModal4: false,
  217. // 表格配置
  218. sum: 20, // 一共有多少条数据
  219. pageSize: 20, // 每页展示的数据
  220. discolor: false, // false是隔行变色
  221. currentPage: 1,
  222. tableHeader: [
  223. "NO.",
  224. "发布日期",
  225. "资料名称",
  226. "发布渠道",
  227. "平台板块",
  228. "阅读量",
  229. "点赞",
  230. "评论",
  231. "在看/转发",
  232. "稿件类别",
  233. "内容分类",
  234. "涉及车型",
  235. "反馈状态",
  236. "反馈截止日期",
  237. "标题",
  238. "链接",
  239. "操作",
  240. ],
  241. tableData: [
  242. {
  243. informationId: "2021/03/04",
  244. publishDate: "雷克萨斯ES上市",
  245. carTypeName: "雷克萨斯ES",
  246. carPlatformName: "ES雷克萨斯",
  247. publishSourceName: "S雷克萨斯",
  248. projectTypeName: "东区1",
  249. contentTypeName: "雷克萨斯ES",
  250. mediaTitle: "ES雷克萨斯",
  251. mediaUrl: "S雷克萨斯",
  252. },
  253. ],
  254. flag: true,
  255. modalData: {}, //17:44
  256. emptyData: {
  257. accountId: "",
  258. carPlatformName: "",
  259. carTypeName: "",
  260. mediaTypeName: "",
  261. contentTypeName: "",
  262. endTime: null,
  263. id: "",
  264. informationId: "",
  265. informationName: "",
  266. localArea: "",
  267. mediaTitle: null,
  268. //mediaTypeName: "",
  269. mediaUrl: "",
  270. projectTypeName: "",
  271. publishDate: "",
  272. publishPlatformName: "",
  273. publishSourceName: "",
  274. queryParams: null,
  275. startTime: null,
  276. },
  277. file: "",
  278. dictList: [],
  279. onlineUrl: env_url, //'http://8.140.188.129:8080'线上 //http://8.136.230.133:8080 //测试
  280. userId: 254,
  281. //截止日期
  282. endTime: "",
  283. };
  284. },
  285. computed: {
  286. // 表格总页数
  287. totalPage() {
  288. return Math.ceil(this.sum / this.pageSize);
  289. },
  290. showItemOperation: function () {
  291. let now = new Date().getTime();
  292. if (!this.endTime) {
  293. return { showItemOperationStyle: true };
  294. } else {
  295. let end = Date.parse(new Date(this.endTime));
  296. if (now > end) {
  297. console.log("超出反馈时间");
  298. return { showItemOperationStyle: true };
  299. } else {
  300. return { showItemOperationStyle: false };
  301. }
  302. }
  303. },
  304. },
  305. methods: {
  306. /*toggleModal:点击编辑后弹窗; toggleModal2:点击删除后弹窗; toggleModal3:点击导入后弹窗; */
  307. toggleModal: function (i) {
  308. this.showModal = !this.showModal;
  309. this.modalData = this.tableData[i];
  310. //截止日期判断
  311. this.endTime = this.tableData[i].endTime;
  312. },
  313. closeme: function () {
  314. this.showModal = !this.showModal;
  315. },
  316. //删除
  317. toggleModal2: function (i) {
  318. this.showModal2 = !this.showModal2;
  319. this.modalData = this.tableData[i];
  320. },
  321. closeme2: function () {
  322. this.showModal2 = !this.showModal2;
  323. },
  324. toggleModal3: function () {
  325. this.showModal3 = !this.showModal3;
  326. },
  327. closeme3: function () {
  328. this.showModal3 = !this.showModal3;
  329. },
  330. toggleModal4: function () {
  331. this.showModal4 = !this.showModal4;
  332. },
  333. closeme4: function () {
  334. this.showModal4 = !this.showModal4;
  335. },
  336. /* 编辑内容,,Modal传参 */
  337. editTitle: function (val) {
  338. console.log("edit文件:", val);
  339. this.$http({
  340. url: val.url,
  341. method: "post",
  342. data: val.data,
  343. })
  344. .then((res) => {
  345. console.log(res);
  346. //更新数据
  347. //this.choosePlatform();
  348. //更新数据
  349. let config = {
  350. Page: this.currentPage,
  351. Rows: this.pageSize,
  352. agentId: this.userId,
  353. };
  354. this.getDataList(config);
  355. })
  356. .catch((err) => {
  357. console.log(err);
  358. });
  359. },
  360. toDel: function () {
  361. this.showModal2 = !this.showModal2;
  362. //更新数据
  363. //this.choosePlatform();
  364. let config = {
  365. Page: this.currentPage,
  366. Rows: this.pageSize,
  367. agentId: this.userId,
  368. };
  369. this.getDataList(config);
  370. },
  371. /* 表格翻页 */
  372. changePage: function (page) {
  373. this.currentPage = page;
  374. //console.log(page);
  375. //分页取数据
  376. let config = {
  377. Page: this.currentPage,
  378. Rows: this.pageSize,
  379. agentId: this.userId,
  380. };
  381. this.getDataList(config);
  382. },
  383. // 点击上一页,下一页,首页,尾页
  384. jumpPage: function (item) {
  385. switch (item) {
  386. case 1:
  387. this.currentPage = 1;
  388. break;
  389. case 2:
  390. this.currentPage = this.currentPage - 1;
  391. break;
  392. case 3:
  393. this.currentPage = this.currentPage + 1;
  394. break;
  395. case 4:
  396. this.currentPage = this.totalPage;
  397. break;
  398. }
  399. console.log(this.currentPage);
  400. //分页取数据
  401. let config = {
  402. Page: this.currentPage,
  403. Rows: this.pageSize,
  404. agentId: this.userId,
  405. };
  406. this.getDataList(config);
  407. },
  408. //获取资料列表
  409. getDataList: function (config) {
  410. console.log(config);
  411. this.$http({
  412. url: "/firmsLinkUpload",
  413. method: "post",
  414. data: {
  415. Page: config.Page,
  416. Rows: config.Rows,
  417. agentId: this.userId,
  418. },
  419. })
  420. .then((res) => {
  421. if (res.data.code === 200) {
  422. let data = res.data.data;
  423. console.log(data);
  424. this.sum = res.data.count;
  425. this.tableData = [];
  426. for (let i = 0, j = 0; j < data.length; i++, j++) {
  427. this.$set(this.tableData, i, data[j]);
  428. }
  429. //修改素材时间显示格式
  430. let len = this.tableData.length;
  431. for (let i = 0; i < len; i++) {
  432. let newValue = "";
  433. let temp = this.tableData[i].publishDate;
  434. if (
  435. this.tableData[i].publishDate != null &&
  436. this.tableData[i].publishDate.length >= 10
  437. ) {
  438. newValue =
  439. temp.slice(0, 4) +
  440. "/" +
  441. temp.slice(5, 7) +
  442. "/" +
  443. temp.slice(8, 10);
  444. this.$set(this.tableData[i], "publishDate", newValue);
  445. } else {
  446. this.$set(this.tableData[i], "publishDate", newValue);
  447. }
  448. }
  449. //console.log(this.tableData);
  450. }
  451. })
  452. .catch((err) => {
  453. console.log(err);
  454. });
  455. },
  456. //导入经销商反馈信息 经销商反馈服务>导入经销商反馈信息
  457. /* importDataList: function () {
  458. this.file = event.target.files;
  459. this.fileDes = [];
  460. this.file.forEach((item) => {
  461. this.fileDes.push(item.name);
  462. });
  463. this.$http({
  464. url: "/importDealerFeedback",
  465. method: "post",
  466. data: {},
  467. })
  468. .then((res) => {
  469. if (res.data.code === 200) {
  470. this.tableData = res.data.data;
  471. }
  472. })
  473. .catch((err) => {
  474. console.log(err);
  475. });
  476. }, */
  477. //导出excel
  478. onOutputExcel: function () {
  479. let url = this.onlineUrl + "/exportNoFactory";
  480. console.log("导出excel:", url);
  481. window.open(url);
  482. },
  483. // 获取文件
  484. getFileInfo: function (event) {
  485. this.file = event.target.files;
  486. console.log(this.file);
  487. let fileDes = [];
  488. this.file.forEach((item) => {
  489. fileDes.push(item.name);
  490. });
  491. console.log(fileDes);
  492. //导入文件与限制文件导入数量
  493. let remainCount = this.publishCount - this.sum;
  494. console.log(remainCount, this.publishCount, this.sum);
  495. if (remainCount >= this.file.length) {
  496. this.submitRequest();
  497. } else if (remainCount < this.file.length) {
  498. this.showModal3 = !this.showModal3;
  499. }
  500. },
  501. // 导入接口
  502. submitRequest: function () {
  503. let paramData = new FormData();
  504. this.file.forEach((item) => {
  505. paramData.append("file", item);
  506. });
  507. this.$http
  508. .uploadFile("/importDealerFeedback", paramData)
  509. .then((res) => {
  510. if (res.data && res.data.code === 200) {
  511. console.log("上传成功!");
  512. } else {
  513. alert("res.data || res.data.code !== 200");
  514. console.log(res);
  515. }
  516. })
  517. .catch((err) => {
  518. alert("上传失败,请重试");
  519. console.log(err);
  520. });
  521. },
  522. //获取平台列表
  523. getPlatform: function () {
  524. this.$http({
  525. url: "/base/publishPlatformManager/selectPublishPlatformList",
  526. method: "post",
  527. data: {},
  528. })
  529. .then((res) => {
  530. if (res.data.code === 200) {
  531. this.platform = res.data.data;
  532. this.platformVal = this.platform[0].platformName;
  533. this.choosePlatform();
  534. }
  535. })
  536. .catch((err) => {
  537. console.log(err);
  538. });
  539. },
  540. //下拉选择平台
  541. choosePlatform: function () {
  542. let obj = {};
  543. //所选平台名称
  544. let val = this.platformVal;
  545. obj = this.platform.find(function (item) {
  546. return item.platformName === val;
  547. });
  548. this.selectedPlatform = obj.platformName;
  549. this.selectedPlatformId = obj.id;
  550. //获取可发布数量
  551. // this.getReleaseQuantity(obj.id);
  552. //获取发布版块
  553. this.chooseReleasePlate(obj.id);
  554. },
  555. //获取可发布数量
  556. getReleaseQuantity: function (val) {
  557. let date = new Date();
  558. let m = date.getMonth() + 1;
  559. let y = date.getFullYear();
  560. let d = "";
  561. if (0 < m < 10) {
  562. d = y + "/0" + m;
  563. } else {
  564. d = y + "/" + m;
  565. }
  566. // let d = y + "/0" + m;
  567. this.$http({
  568. // url: "/base/mediaPublishManager/selectMediaPublishList",
  569. url: "/base/mediaPublishManager/selectMediaPublishListByMonth",
  570. method: "post",
  571. data: {
  572. //publishPlatformId: val,
  573. //publishMonth: d,
  574. publishMonth: d,
  575. publishPlatformId: val,
  576. //agentId: this.userId,
  577. },
  578. })
  579. .then((res) => {
  580. if (res.data.code === 200) {
  581. console.log(res);
  582. this.publishCount =
  583. res.data.data.length > 0 ? res.data.data[0].publishCount : 0;
  584. let len = this.publishCount;
  585. let l = this.tableData.length;
  586. console.log("获取可发布数量", len, l);
  587. this.tableData = [];
  588. while (len > 0) {
  589. this.tableData.push(this.emptyData);
  590. len--;
  591. }
  592. //更新列表数据
  593. this.getDataList(this.selectedPlatformId);
  594. }
  595. })
  596. .catch((err) => {
  597. this.tableData = [];
  598. console.log(err);
  599. });
  600. },
  601. //发布版块
  602. chooseReleasePlate: function (val) {
  603. this.$http({
  604. url: "/base/publishPlatformManager/selectPublishPlatformList",
  605. method: "post",
  606. data: {
  607. parentId: val,
  608. },
  609. })
  610. .then((res) => {
  611. console.log(res);
  612. if (res.data.code === 200) {
  613. this.releaseMedia = res.data.data;
  614. console.log("发布版块", this.releaseMedia);
  615. }
  616. })
  617. .catch((err) => {
  618. console.log(err);
  619. });
  620. },
  621. //导入模板
  622. importTemplate: function () {
  623. let str = "反馈链接上传导入表模板(经销商).xlsx";
  624. let url = this.onlineUrl + "/downloadTemplate?templateName=" + str;
  625. console.log("下载导入模板:", url);
  626. window.open(url);
  627. },
  628. // 上传时间为xx个月内的资料进行反馈 获取内容分类、媒体平台、常用参数接口的标识,再调接口时需要用到
  629. selectSysDataDictList: function () {
  630. return new Promise((resolve, reject) => {
  631. this.$http({
  632. method: "post",
  633. url: "/sys/dataDict/selectSysDataDictList",
  634. data: {},
  635. })
  636. .then((res) => {
  637. if (res.data && res.data.code === 200) {
  638. this.dictList = res.data.data;
  639. resolve();
  640. } else {
  641. console.log(res);
  642. reject();
  643. }
  644. })
  645. .catch((err) => {
  646. console.log(err);
  647. reject();
  648. });
  649. });
  650. },
  651. // 获取列表数据 接口
  652. getDateList: function () {
  653. this.$http({
  654. method: "post",
  655. url: "/sys/dataDict/selectSysDataDictPage",
  656. data: {
  657. dictCode: this.dictList[0]["dictCode"],
  658. parentId: this.dictList[0]["id"],
  659. },
  660. })
  661. .then((res) => {
  662. if (res.data && res.data.code === 200) {
  663. //this.dictId = res.data.data[0]["id"];
  664. this.feedbackTimeLimit = res.data.data[0]["dictName"];
  665. } else {
  666. console.log(res);
  667. }
  668. })
  669. .catch((err) => {
  670. console.log(err);
  671. });
  672. },
  673. viewHistoryRecord: function (obj, index) {
  674. this.$router.push({
  675. path: "uploadLink/sonUploadLink",
  676. query: { informationName: obj.informationName, id: obj.id, i: index },
  677. });
  678. },
  679. isFather: function () {
  680. // console.log("isfffffff", this.$route.path.length);
  681. return this.$route.path.length > 11 ? false : true;
  682. },
  683. },
  684. mounted() {
  685. let localUserId = localStorage.getItem("userId");
  686. if (localUserId) {
  687. console.log("经销商ID", localUserId);
  688. this.userId = localUserId;
  689. } else {
  690. console.log("经销商ID 254");
  691. this.userId = 254;
  692. }
  693. // this.getPlatform();
  694. //分页取数据
  695. let config = {
  696. Page: this.currentPage,
  697. Rows: this.pageSize,
  698. agentId: this.userId,
  699. };
  700. this.getDataList(config);
  701. },
  702. created() {
  703. /* this.selectSysDataDictList()
  704. .then(() => {
  705. this.getDateList();
  706. })
  707. .catch((err) => {
  708. console.log(err);
  709. }); */
  710. //this.getPlatform();
  711. },
  712. };
  713. </script>
  714. <style scoped lang="less">
  715. .contentHead {
  716. height: 55px;
  717. display: flex;
  718. align-items: center;
  719. }
  720. .contentHead span {
  721. margin-right: 15px;
  722. }
  723. .tableBox {
  724. width: 1030px;
  725. overflow-y: hidden;
  726. }
  727. .tableBox {
  728. text-align: center;
  729. .table {
  730. table-layout: fixed;
  731. background-color: #fff;
  732. border-collapse: collapse;
  733. border: none;
  734. td {
  735. border: 1px solid #ccc;
  736. }
  737. span {
  738. &:hover {
  739. cursor: pointer;
  740. }
  741. }
  742. }
  743. }
  744. .table_gray td {
  745. background-color: #eeeeee;
  746. }
  747. .tableBox table {
  748. border-collapse: collapse;
  749. border: 0px;
  750. }
  751. .tableBox table td {
  752. border: 1px solid #ccc;
  753. border-right: 0px;
  754. border-bottom: 0px;
  755. text-overflow: ellipsis;
  756. overflow: hidden;
  757. white-space: nowrap;
  758. }
  759. // 表头样式
  760. .theadStyle tr td {
  761. color: white;
  762. }
  763. .tableHeadStyle1 {
  764. background: #848484;
  765. height: 30px;
  766. color: #fff;
  767. display: flex;
  768. align-items: center;
  769. }
  770. .tableHeadStyle1 td {
  771. width: 100%;
  772. padding: 7px 5px;
  773. }
  774. .tableHeadStyle2 {
  775. // background: #848484;
  776. height: 30px;
  777. color: #fff;
  778. display: flex;
  779. align-items: center;
  780. }
  781. .tableHeadStyle2 td {
  782. width: 100px;
  783. padding: 7px 5px;
  784. }
  785. .tableHeadStyle3 td {
  786. background: #848484;
  787. }
  788. .tableHeadStyle2 td:nth-child(1) {
  789. width: 60px;
  790. }
  791. .tableHeadStyle2 td:nth-child(10) {
  792. width: 100px;
  793. padding: 7px 5px;
  794. }
  795. .tableHeadStyle2 td:nth-child(11) {
  796. width: 100px;
  797. padding: 7px 5px;
  798. }
  799. .tableHeadStyle2 td:nth-child(12) {
  800. width: 100px;
  801. padding: 7px 5px;
  802. }
  803. .tableHeadStyle2 td:nth-child(2) {
  804. width: 100px;
  805. padding: 7px 5px;
  806. }
  807. .tableHeadStyle2 td:nth-child(3) {
  808. width: 100px;
  809. padding: 7px 5px;
  810. }
  811. .bodyStyle {
  812. display: block;
  813. background-color: #fff;
  814. }
  815. .bodyStyle tr > td:nth-last-child(2) {
  816. color: #0000ff;
  817. }
  818. .bodyContent td {
  819. //background-color: #fff;
  820. height: 20px;
  821. }
  822. .bodyContent td:nth-last-child(2) a {
  823. color: #0000ff;
  824. }
  825. .operationStyle {
  826. color: #0000ff;
  827. display: flex;
  828. justify-content: space-around;
  829. }
  830. .xiahuaxian {
  831. text-decoration: underline;
  832. }
  833. .operationStyle span {
  834. color: #0000ff;
  835. }
  836. .fileOperation {
  837. display: flex;
  838. justify-content: flex-start;
  839. margin: 10px;
  840. align-items: center;
  841. }
  842. .fileOperation button {
  843. border-radius: 4px;
  844. }
  845. .fileOperation span {
  846. margin-right: 16px;
  847. }
  848. .fileOperation {
  849. border-radius: 4px;
  850. label {
  851. margin-right: 16px;
  852. height: 30px;
  853. line-height: 30px;
  854. width: 56px;
  855. background-color: #0056a0;
  856. color: #fff;
  857. text-align: center;
  858. font-size: 14px;
  859. input {
  860. display: none;
  861. }
  862. }
  863. }
  864. .timeLimitStyle {
  865. padding: 10px;
  866. }
  867. .modal-backdrop {
  868. position: fixed;
  869. top: 0;
  870. right: 0;
  871. bottom: 0;
  872. left: 0;
  873. background-color: rgba(0, 0, 0, 0.3);
  874. display: flex;
  875. justify-content: center;
  876. align-items: center;
  877. }
  878. .modal {
  879. background-color: #ffffff;
  880. box-shadow: 2px 2px 20px 1px;
  881. overflow-x: auto;
  882. display: flex;
  883. flex-direction: column;
  884. width: 500px;
  885. border-radius: 0px;
  886. height: 230px;
  887. }
  888. .modal-footer {
  889. border-top: 1px solid #eee;
  890. position: relative;
  891. top: 124px;
  892. left: 232px;
  893. width: 208px;
  894. display: flex;
  895. justify-content: space-between;
  896. padding: 0px;
  897. }
  898. .modal-footer button {
  899. border-radius: 4px;
  900. margin-left: 0px;
  901. width: 80px;
  902. font-size: 14px;
  903. }
  904. .modal-footer button:nth-child(1) {
  905. background-color: #0056a0;
  906. }
  907. .modal-footer button:nth-child(2) {
  908. background-color: #eeeeee;
  909. }
  910. .modal-body {
  911. position: relative;
  912. top: 64px;
  913. margin-left: 50px;
  914. padding: 0px;
  915. }
  916. .btn-close,
  917. .btn-confirm {
  918. margin-left: 16px;
  919. width: 56px;
  920. height: 36px;
  921. border: none;
  922. cursor: pointer;
  923. }
  924. .btn-close {
  925. color: #313131;
  926. background-color: gray;
  927. }
  928. .btn-confirm {
  929. color: #fff;
  930. background-color: #2d8cf0;
  931. }
  932. .bodyRow {
  933. font-size: 16px;
  934. font-family: Arial;
  935. }
  936. .pageBottom {
  937. display: flex;
  938. justify-content: space-between;
  939. align-items: center;
  940. }
  941. .topLeftTitle {
  942. height: 50px;
  943. display: flex;
  944. align-items: center;
  945. margin-bottom: 6px;
  946. }
  947. .weiFanKui {
  948. color: red;
  949. }
  950. .showItemOperationStyle {
  951. display: none;
  952. }
  953. </style>