You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

911 lines
29 KiB

  1. <template>
  2. <div class="mod-config">
  3. <div>
  4. <span @click="favoriteFunction()">
  5. <icon-svg :name="favorite?'xiangqufill':'xiangqu'" class="sl-svg" ></icon-svg>
  6. </span>
  7. </div>
  8. <el-form :inline="true" :model="querySysLanguagePack" @keyup.enter.native="getDataList()">
  9. <el-form-item :label="inputLabel.headerInput.label1">
  10. <el-input style="width: 100px;" v-model="queryData.toolId" onkeyup="this.value = this.value.toUpperCase()"></el-input>
  11. </el-form-item>
  12. <el-form-item :label="inputLabel.headerInput.label2">
  13. <el-input style="width: 100px;" v-model="queryData.toolInstanceId" onkeyup="this.value = this.value.toUpperCase()"></el-input>
  14. </el-form-item>
  15. <el-form-item :label="inputLabel.headerInput.label3">
  16. <el-input style="width: 100px;" v-model="queryData.startActualuseQty" onkeyup="value=value.replace(/[^\d]/g,'')"></el-input>
  17. </el-form-item>
  18. <el-form-item :label="inputLabel.headerInput.label4">
  19. <el-input style="width: 100px;" v-model="queryData.endActualuseQty" onkeyup="value=value.replace(/[^\d]/g,'')"></el-input>
  20. </el-form-item>
  21. <el-form-item :label="inputLabel.headerInput.label5">
  22. <el-input style="width: 100px;" v-model="queryData.startDays" onkeyup="value=value.replace(/[^\d]/g,'')"></el-input>
  23. </el-form-item>
  24. <el-form-item :label="inputLabel.headerInput.label6">
  25. <el-input style="width: 100px;" v-model="queryData.endDays" onkeyup="value=value.replace(/[^\d]/g,'')"></el-input>
  26. </el-form-item>
  27. <el-form-item :label="'状态'">
  28. <el-select style="width: 100px;" v-model="queryData.status">
  29. <el-option value="" label="全部"></el-option>
  30. <el-option value="已启用" label="已启用"></el-option>
  31. <el-option value="在库" label="在库"></el-option>
  32. <el-option value="出库" label="出库"></el-option>
  33. <el-option value="退库" label="退库"></el-option>
  34. <el-option value="维修中" label="维修中"></el-option>
  35. <el-option value="已报废" label="已报废"></el-option>
  36. </el-select>
  37. </el-form-item>
  38. <el-form-item>
  39. <el-button @click="getDataList()" type="primary">{{buttons.search}}</el-button>
  40. <el-button @click="saveColumnList()" type="primary" v-show="false">{{buttons.defaultTable}}
  41. </el-button>
  42. <el-button @click="userSetting" type="primary">{{ buttons.settingTable}}</el-button>
  43. <download-excel
  44. :fields="fields()"
  45. :data="exportData"
  46. type="xls"
  47. :name="exportName"
  48. :header="exportHeader"
  49. :footer="exportFooter"
  50. :defaultValue="exportDefaultValue"
  51. :fetch="createExportData"
  52. :before-generate="startDownload"
  53. :before-finish="finishDownload"
  54. worksheet="导出信息"
  55. class="el-button el-button--primary el-button--medium">
  56. {{buttons.download}}
  57. </download-excel>
  58. </el-form-item>
  59. </el-form>
  60. <el-table
  61. id="commmon"
  62. :height="height"
  63. :data="dataList"
  64. border
  65. v-loading="dataListLoading"
  66. @selection-change="selectionChangeHandle"
  67. style="width: 100%;">
  68. <el-table-column
  69. v-for="(item,index) in columnList" :key="index"
  70. :sortable="item.columnSortable"
  71. :prop="item.columnProp"
  72. :header-align="item.headerAlign"
  73. :show-overflow-tooltip="item.showOverflowTooltip"
  74. :align="item.align"
  75. :fixed="item.fixed"
  76. :width="item.columnWidth"
  77. :label="item.columnLabel">
  78. <template slot-scope="scope">
  79. <span v-if="!item.columnHidden"> {{scope.row[item.columnProp]}}</span>
  80. <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
  81. style="width: 100px; height: 80px"/></span>
  82. </template>
  83. </el-table-column>
  84. </el-table>
  85. <column v-if="visible" ref="column" @refreshData="getTableUserColumn"></column>
  86. </div>
  87. </template>
  88. <script>
  89. import column from "../common/column";
  90. import {
  91. searchSysLanguagePackList,
  92. searchSysLanguageParam,
  93. searchFunctionButtonList,
  94. saveButtonList,
  95. searchSysLanguage,
  96. searchLanguageListByLanguageCode,
  97. saveSysLanguageOne
  98. } from "@/api/sysLanguage.js"
  99. import getLodop from '@/utils/LodopFuncs.js'
  100. import {
  101. saveTableDefaultList,
  102. saveTableUser,
  103. getTableDefaultListLanguage,
  104. getTableUserListLanguage
  105. } from "@/api/table.js"
  106. import {
  107. userFavoriteList
  108. ,saveUserFavorite
  109. ,removeUserFavorite
  110. } from '@/api/userFavorite.js'
  111. import {
  112. getToolDetailInfo,
  113. } from '@/api/bulletinBoard/bulletinBoard.js'
  114. export default {
  115. components: {
  116. column
  117. },
  118. data() {
  119. return {
  120. inputLabel :{
  121. headerInput : {
  122. label1 : '工具编码',
  123. label2 : '实例编码',
  124. label3 : '开始使用次数',
  125. label4 : '结束使用次数',
  126. label5 : '呆滞天数',
  127. label6 : '—',
  128. },
  129. },
  130. queryData : {
  131. site : this.$store.state.user.site,
  132. toolId : '',
  133. toolInstanceId : '',
  134. startActualuseQty : '',
  135. endActualuseQty : '',
  136. startDays : '',
  137. endDays : '',
  138. status: ''
  139. },
  140. site : this.$store.state.user.site,
  141. userName : this.$store.state.user.name,
  142. // table高度
  143. height:450,
  144. // 是否收藏
  145. favorite: false,
  146. addLanguage: false,
  147. functionId: 2701,
  148. tableId: "toolDetail2701",
  149. value1: true,
  150. visible: false,
  151. showDefault: false,
  152. // 默认table 查询参数
  153. queryTable: {
  154. functionId: 2701,
  155. tableId: "toolDetail2701",
  156. languageCode: this.$i18n.locale
  157. },
  158. // 用户table 查询参数
  159. queryTableUser: {
  160. userId: this.$store.state.user.name,
  161. functionId: 2701,
  162. tableId: "toolDetail2701",
  163. status: true,
  164. languageCode: this.$i18n.locale
  165. },
  166. // 语言词典查询参数
  167. querySysLanguageParam: {
  168. languageCode: this.$i18n.locale
  169. },
  170. // 语言词典集合
  171. sysLanguageParams: [],
  172. // 用户table 配置集合
  173. userColumnList: [],
  174. // 展示列集
  175. columnList: [
  176. {
  177. userId: this.$store.state.user.name,
  178. functionId: 2701,
  179. serialNumber: 'toolDetail2701ToolId',
  180. tableId: "toolDetail2701",
  181. tableName: "common",
  182. columnProp: "toolId",
  183. headerAlign: "center",
  184. align: "center",
  185. columnLabel: "工具编码",
  186. columnHidden: false,
  187. columnImage: false,
  188. columnSortable: false,
  189. sortLv: 0,
  190. status: true,
  191. fixed: false
  192. },
  193. {
  194. userId: this.$store.state.user.name,
  195. functionId: 2701,
  196. serialNumber: 'toolDetail2701ToolDescription',
  197. tableId: "toolDetail2701",
  198. tableName: "common",
  199. columnProp: "toolDescription",
  200. headerAlign: "center",
  201. align: "center",
  202. columnLabel: "工具名称",
  203. columnHidden: false,
  204. columnImage: false,
  205. columnSortable: false,
  206. sortLv: 0,
  207. status: true,
  208. fixed: false
  209. },
  210. {
  211. userId: this.$store.state.user.name,
  212. functionId: 2701,
  213. serialNumber: 'toolDetail2701ToolInstanceId',
  214. tableId: "toolDetail2701",
  215. tableName: "common",
  216. columnProp: "toolInstanceId",
  217. headerAlign: "center",
  218. align: "center",
  219. columnLabel: "实例编码",
  220. columnHidden: false,
  221. columnImage: false,
  222. columnSortable: false,
  223. sortLv: 0,
  224. status: true,
  225. fixed: false
  226. },
  227. {
  228. userId: this.$store.state.user.name,
  229. functionId: 2701,
  230. serialNumber: 'toolDetail2701LocationId',
  231. tableId: "toolDetail2701",
  232. tableName: "common",
  233. columnProp: "locationId",
  234. headerAlign: "center",
  235. align: "center",
  236. columnLabel: "库位编码",
  237. columnHidden: false,
  238. columnImage: false,
  239. columnSortable: false,
  240. sortLv: 0,
  241. status: true,
  242. fixed: false
  243. },
  244. {
  245. userId: this.$store.state.user.name,
  246. functionId: 2701,
  247. serialNumber: 'toolDetail2701SupplierId',
  248. tableId: "toolDetail2701",
  249. tableName: "common",
  250. columnProp: "supplierId",
  251. headerAlign: "center",
  252. align: "center",
  253. columnLabel: "供应商编码",
  254. columnHidden: false,
  255. columnImage: false,
  256. columnSortable: false,
  257. sortLv: 0,
  258. status: true,
  259. fixed: false
  260. },
  261. {
  262. userId: this.$store.state.user.name,
  263. functionId: 2701,
  264. serialNumber: 'toolDetail2701SupplierName',
  265. tableId: "toolDetail2701",
  266. tableName: "common",
  267. columnProp: "supplierName",
  268. headerAlign: "center",
  269. align: "center",
  270. columnLabel: "供应商名称",
  271. columnHidden: false,
  272. columnImage: false,
  273. columnSortable: false,
  274. sortLv: 0,
  275. status: true,
  276. fixed: false
  277. },
  278. {
  279. userId: this.$store.state.user.name,
  280. functionId: 2701,
  281. serialNumber: 'toolDetail2701SupplierName',
  282. tableId: "toolDetail2701",
  283. tableName: "common",
  284. columnProp: "status",
  285. headerAlign: "center",
  286. align: "center",
  287. columnLabel: "状态",
  288. columnHidden: false,
  289. columnImage: false,
  290. columnSortable: false,
  291. sortLv: 0,
  292. status: true,
  293. fixed: false
  294. },
  295. {
  296. userId: this.$store.state.user.name,
  297. functionId: 2701,
  298. serialNumber: 'toolDetail2701EstuseQty',
  299. tableId: "toolDetail2701",
  300. tableName: "common",
  301. columnProp: "estuseQty",
  302. headerAlign: "center",
  303. align: "center",
  304. columnLabel: "预计使用次数",
  305. columnHidden: false,
  306. columnImage: false,
  307. columnSortable: false,
  308. sortLv: 0,
  309. status: true,
  310. fixed: false
  311. },
  312. {
  313. userId: this.$store.state.user.name,
  314. functionId: 2701,
  315. serialNumber: 'toolDetail2701ActualuseQty',
  316. tableId: "toolDetail2701",
  317. tableName: "common",
  318. columnProp: "actualuseQty",
  319. headerAlign: "center",
  320. align: "center",
  321. columnLabel: "使用次数",
  322. columnHidden: false,
  323. columnImage: false,
  324. columnSortable: false,
  325. sortLv: 0,
  326. status: true,
  327. fixed: false
  328. },
  329. {
  330. userId: this.$store.state.user.name,
  331. functionId: 2701,
  332. serialNumber: 'toolDetail2701Engineer',
  333. tableId: "toolDetail2701",
  334. tableName: "common",
  335. columnProp: "engineer",
  336. headerAlign: "center",
  337. align: "center",
  338. columnLabel: "工程师账号",
  339. columnHidden: false,
  340. columnImage: false,
  341. columnSortable: false,
  342. sortLv: 0,
  343. status: true,
  344. fixed: false
  345. },
  346. {
  347. userId: this.$store.state.user.name,
  348. functionId: 2701,
  349. serialNumber: 'toolDetail2701UserDisplay',
  350. tableId: "toolDetail2701",
  351. tableName: "common",
  352. columnProp: "userDisplay",
  353. headerAlign: "center",
  354. align: "center",
  355. columnLabel: "工程师名称",
  356. columnHidden: false,
  357. columnImage: false,
  358. columnSortable: false,
  359. sortLv: 0,
  360. status: true,
  361. fixed: false
  362. },
  363. {
  364. userId: this.$store.state.user.name,
  365. functionId: 2701,
  366. serialNumber: 'toolDetail2701UserDisplay',
  367. tableId: "toolDetail2701",
  368. tableName: "common",
  369. columnProp: "latestUpdatedDate",
  370. headerAlign: "center",
  371. align: "center",
  372. columnLabel: "最近操作时间",
  373. columnHidden: false,
  374. columnImage: false,
  375. columnSortable: false,
  376. sortLv: 0,
  377. status: true,
  378. fixed: false
  379. },
  380. {
  381. userId: this.$store.state.user.name,
  382. functionId: 2701,
  383. serialNumber: 'toolDetail2701UserDisplay',
  384. tableId: "toolDetail2701",
  385. tableName: "common",
  386. columnProp: "unusedDays",
  387. headerAlign: "center",
  388. align: "center",
  389. columnLabel: "呆滞天数",
  390. columnHidden: false,
  391. columnImage: false,
  392. columnSortable: false,
  393. sortLv: 0,
  394. status: true,
  395. fixed: false
  396. },
  397. ],
  398. // 展示列集
  399. columnList1: [
  400. // {
  401. // userId: this.$store.state.user.name,
  402. // functionId: 2701,
  403. // tableId: "common1002",
  404. // tableName: "commonLanguage",
  405. // columnProp: "functionId",
  406. // headerAlign: "center",
  407. // align: "center",
  408. // columnLabel: "功能编码",
  409. // columnHidden: false,
  410. // columnImage: false,
  411. // columnSortable: true,
  412. // sortLv: 0,
  413. // status: true,
  414. // fixed: false
  415. // },
  416. // {
  417. // userId: this.$store.state.user.name,
  418. // functionId: 2701,
  419. // tableId: "common1002",
  420. // tableName: "commonLanguage",
  421. // columnProp: "objectId",
  422. // headerAlign: "center",
  423. // align: "center",
  424. // columnLabel: "序列化编码",
  425. // columnHidden: false,
  426. // columnImage: false,
  427. // columnSortable: true,
  428. // sortLv: 0,
  429. // status: true,
  430. // fixed: false,
  431. // },
  432. // {
  433. // userId: this.$store.state.user.name,
  434. // functionId: 2701,
  435. // tableId: "common1002",
  436. // tableName: "commonLanguage",
  437. // columnProp: "objectType",
  438. // headerAlign: "center",
  439. // align: "center",
  440. // columnLabel: "类型",
  441. // columnHidden: false,
  442. // columnImage: false,
  443. // columnSortable: true,
  444. // sortLv: 0,
  445. // status: true,
  446. // fixed: false,
  447. // },
  448. // {
  449. // userId: this.$store.state.user.name,
  450. // functionId: 2701,
  451. // tableId: "common1002",
  452. // tableName: "commonLanguage",
  453. // columnProp: "languageValue",
  454. // headerAlign: "center",
  455. // align: "center",
  456. // columnLabel: "语言值",
  457. // columnHidden: false,
  458. // columnImage: false,
  459. // columnSortable: true,
  460. // sortLv: 0,
  461. // status: true,
  462. // fixed: false,
  463. // },
  464. // {
  465. // userId: this.$store.state.user.name,
  466. // functionId: 2701,
  467. // tableId: "common1002",
  468. // tableName: "commonLanguage",
  469. // columnProp: "languageCode",
  470. // headerAlign: "center",
  471. // align: "center",
  472. // columnLabel: "语言编码",
  473. // columnHidden: false,
  474. // columnImage: false,
  475. // columnSortable: true,
  476. // sortLv: 0,
  477. // status: true,
  478. // fixed: false,
  479. // }
  480. ],
  481. // 数据集
  482. dataList: [],
  483. queryButton: {
  484. functionId: 2701,
  485. table_id: 'toolDetail2701',
  486. languageCode: this.$i18n.locale,
  487. objectType: 'button'
  488. },
  489. buttons: {
  490. add: '添加',
  491. edit: '编辑',
  492. delete: '删除',
  493. deleteList: '批量删除',
  494. cz: '操作',
  495. search: '查询',
  496. download: '导出',
  497. settingTable: '设置列表',
  498. defaultTable: '设置默认配置'
  499. },
  500. // 导出 start
  501. exportData: [],
  502. exportName: "页面功能语言",
  503. exportHeader: ["页面功能语言"],
  504. exportFooter: [],
  505. exportDefaultValue: "这一行这一列没有数据",
  506. // 导出 end
  507. buttonList: [
  508. // {
  509. // functionId: "2701",
  510. // languageValue: '添加',
  511. // objectId: 'add',
  512. // objectType: "button",
  513. // tableId: "toolDetail2701"
  514. // },
  515. // {
  516. // functionId: "2701",
  517. // languageValue: '编辑',
  518. // objectId: 'edit',
  519. // objectType: "button",
  520. // tableId: "toolDetail2701"
  521. // },
  522. // {
  523. // functionId: "2701",
  524. // languageValue: '删除',
  525. // objectId: 'delete',
  526. // objectType: "button",
  527. // tableId: "toolDetail2701"
  528. // },
  529. // {
  530. // functionId: "2701",
  531. // languageValue: '批量删除',
  532. // objectId: 'deleteList',
  533. // objectType: "button",
  534. // tableId: "toolDetail2701"
  535. // },
  536. // {
  537. // functionId: "2701",
  538. // languageValue: '操作',
  539. // objectId: 'cz',
  540. // objectType: "button",
  541. // tableId: "toolDetail2701"
  542. // },
  543. // {
  544. // functionId: "2701",
  545. // languageValue: '查询',
  546. // objectId: 'search',
  547. // objectType: "button",
  548. // tableId: "toolDetail2701"
  549. // },
  550. // {
  551. // functionId: "2701",
  552. // languageValue: '导出',
  553. // objectId: 'download',
  554. // objectType: "button",
  555. // tableId: "toolDetail2701"
  556. // },
  557. // {
  558. // functionId: "2701",
  559. // languageValue: '设置列表',
  560. // objectId: 'settingTable',
  561. // objectType: "button",
  562. // tableId: "toolDetail2701"
  563. // },
  564. // {
  565. // functionId: "2701",
  566. // languageValue: '设置默认配置',
  567. // objectId: 'defaultTable',
  568. // objectType: "button",
  569. // tableId: "toolDetail2701"
  570. // }
  571. ],
  572. languageList: [],
  573. languageColumnList: [],
  574. languageDataList: [],
  575. queryLanguage: {},
  576. // 数据集条件
  577. querySysLanguagePack: {
  578. functionId: '',
  579. page: 1,
  580. limit: 1,
  581. languageValue: '',
  582. objectType: '',
  583. objectId: ''
  584. },
  585. // 分页
  586. pageIndex: 1,
  587. pageSize: 20,
  588. totalPage: 0,
  589. dataListLoading: false,
  590. dataListSelections: [],
  591. addOrUpdateVisible: false
  592. }
  593. },
  594. mounted() {
  595. this.$nextTick(()=>{
  596. this.height = window.innerHeight - 200;
  597. })
  598. },
  599. activated() {
  600. // this.getDataList()
  601. this.getLanguageList()
  602. },
  603. methods: {
  604. // 打印方式
  605. printReport(){
  606. alert( this.$store.state.user.site)
  607. //
  608. // const LODOP = getLodop()
  609. // if (LODOP) {
  610. // var strBodyStyle = '<style>'
  611. // strBodyStyle += 'table { border-top: 1 solid #000000; border-left: 1 solid #000000; border-collapse:collapse; border-spacing:0;}'
  612. // strBodyStyle += 'caption { line-height:2em; }'
  613. // strBodyStyle += 'td { border-right: 1 solid #000000; border-bottom: 1 solid #000000; text-align:center; padding:2px 3px; font-size:11px;}'
  614. // strBodyStyle += '</style>' //设置打印样式
  615. // var strFormHtml = strBodyStyle + '<body>' + document.getElementById('commmon').innerHTML + '</body>' //获取打印内容
  616. //
  617. // LODOP.PRINT_INIT('') //初始化
  618. // LODOP.PRINT_DESIGN();
  619. // //LODOP.PREVIEW();
  620. // //LODOP.PRINT();
  621. //
  622. // LODOP.SET_PRINT_PAGESIZE(2, 0, 0, 'A4') //设置横向
  623. // LODOP.ADD_PRINT_HTM('1%', '1%', '98%', '98%', strFormHtml) //设置打印内容
  624. // LODOP.SET_PREVIEW_WINDOW(2, 0, 0, 800, 600, '') //设置预览窗口模式和大小
  625. // LODOP.PREVIEW()
  626. // }
  627. },
  628. // 校验用户是否收藏
  629. favoriteIsOk(){
  630. let userFavorite ={
  631. userId:this.$store.state.user.id,
  632. languageCode:this.$i18n.locale
  633. }
  634. userFavoriteList(userFavorite).then(({data}) =>{
  635. let size = data.list.filter(item => item.userId==userFavorite.menuId).length;
  636. if (size>0){
  637. this.favorite = true
  638. }else {
  639. this.favorite = false
  640. }
  641. })
  642. },
  643. // 收藏 OR 取消收藏
  644. favoriteFunction(){
  645. let userFavorite ={
  646. userId: this.$store.state.user.id,
  647. functionId: this.$route.meta.menuId,
  648. }
  649. if (this.favorite){
  650. // 取消收藏
  651. this.$confirm(`确定取消收藏`, '提示', {
  652. confirmButtonText: '确定',
  653. cancelButtonText: '取消',
  654. type: 'warning'
  655. }).then(() => {
  656. removeUserFavorite(userFavorite).then(({data})=>{
  657. this.$message.success(data.msg)
  658. this.favorite = false
  659. })
  660. })
  661. }else {
  662. // 收藏
  663. saveUserFavorite(userFavorite).then(({data})=>{
  664. this.$message.success(data.msg)
  665. this.favorite = true
  666. })
  667. }
  668. },
  669. // 保存语言编辑
  670. saveLanguageList(val) {
  671. saveSysLanguageOne(val).then(({data}) => {
  672. if (data.code == 0) {
  673. this.$message.success(data.msg)
  674. } else {
  675. this.$message.error(data.msg)
  676. }
  677. })
  678. },
  679. // 编辑语言
  680. addLanguageFun() {
  681. if (this.querySysLanguagePack.languageCode) {
  682. this.addLanguage = true
  683. this.languageColumnList = []
  684. let query = {
  685. functionId: 2701,
  686. tableId: "common1002",
  687. languageCode: this.$i18n.locale
  688. }
  689. getTableDefaultListLanguage(query).then(({data}) => {
  690. if (data.rows.length > 0) {
  691. this.languageColumnList = data.rows
  692. }
  693. })
  694. this.languageColumnList = this.columnList
  695. searchLanguageListByLanguageCode(this.querySysLanguagePack).then(({data}) => {
  696. this.languageDataList = data.rows
  697. })
  698. } else {
  699. this.$message("请选中一种语言")
  700. }
  701. },
  702. // 获取多语言列表
  703. getLanguageList() {
  704. searchSysLanguage(this.queryLanguage).then(({data}) => {
  705. this.languageList = data.rows
  706. })
  707. },
  708. // 获取button的词典
  709. getFunctionButtonList() {
  710. searchFunctionButtonList(this.queryButton).then(({data}) => {
  711. if (JSON.stringify(data.data) != '{}' ) {
  712. this.buttons = data.data
  713. } else {
  714. // saveButtonList(this.buttonList).then(({data}) => {
  715. // })
  716. }
  717. })
  718. },
  719. // 获取语言词典
  720. getSysLanguageParamList() {
  721. searchSysLanguageParam(this.querySysLanguageParam).then(({data}) => {
  722. this.sysLanguageParams = data.rows
  723. })
  724. },
  725. // 打开页面设置
  726. userSetting() {
  727. this.visible = true;
  728. let queryTable = {
  729. userId: this.$store.state.user.name,
  730. functionId: 2701,
  731. tableId: "toolDetail2701",
  732. languageCode: this.$i18n.locale
  733. }
  734. this.$nextTick(() => {
  735. this.$refs.column.init(queryTable);
  736. });
  737. },
  738. // 获取 用户保存的 格式列
  739. getTableUserColumn() {
  740. getTableUserListLanguage(this.queryTableUser).then(({data}) => {
  741. if (data.rows.length > 0) {
  742. //this.columnList = []
  743. this.columnList = data.rows
  744. } else {
  745. this.getColumnList()
  746. }
  747. })
  748. },
  749. // 保存 默认配置 列
  750. saveColumnList() {
  751. saveTableDefaultList(this.columnList).then(({data}) => {
  752. if (data.code == 0) {
  753. this.$message.success(data.msg)
  754. this.showDefault = false
  755. } else {
  756. this.$message.error(data.msg)
  757. }
  758. })
  759. saveTableDefaultList(this.columnList1).then(({data}) => {
  760. if (data.code == 0) {
  761. this.$message.success(data.msg)
  762. this.showDefault = false
  763. } else {
  764. this.$message.error(data.msg)
  765. }
  766. })
  767. saveButtonList(this.buttonList).then(({data}) => {
  768. })
  769. this.getFunctionButtonList()
  770. this.getFunctionButtonList();
  771. this.getColumnList()
  772. },
  773. // 获取 tableDefault 列
  774. getColumnList() {
  775. getTableDefaultListLanguage(this.queryTable).then(({data}) => {
  776. if (!data.rows.length == 0) {
  777. this.showDefault = false
  778. this.columnList = data.rows
  779. } else {
  780. this.showDefault = true
  781. }
  782. })
  783. },
  784. // 获取数据列表
  785. getDataList() {
  786. this.dataListLoading = true
  787. getToolDetailInfo(this.queryData).then(({data}) => {
  788. if (data && data.code === 0) {
  789. this.dataList = data.rows
  790. } else {
  791. this.dataList = []
  792. this.totalPage = 0
  793. }
  794. this.dataListLoading = false
  795. })
  796. },
  797. // 每页数
  798. sizeChangeHandle(val) {
  799. this.pageSize = val
  800. this.pageIndex = 1
  801. this.getDataList()
  802. },
  803. // 当前页
  804. currentChangeHandle(val) {
  805. this.pageIndex = val
  806. this.getDataList()
  807. },
  808. // 多选
  809. selectionChangeHandle(val) {
  810. this.dataListSelections = val
  811. },
  812. // 删除
  813. deleteHandle(id) {
  814. var ids = id ? [id] : this.dataListSelections.map(item => {
  815. return item.id
  816. })
  817. this.$confirm(`确定对[id=${ids.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', {
  818. confirmButtonText: '确定',
  819. cancelButtonText: '取消',
  820. type: 'warning'
  821. }).then(() => {
  822. this.$http({
  823. url: this.$http.adornUrl('//prd/delete'),
  824. method: 'post',
  825. data: this.$http.adornData(ids, false)
  826. }).then(({data}) => {
  827. if (data && data.code === 0) {
  828. this.$message({
  829. message: '操作成功',
  830. type: 'success',
  831. duration: 1500,
  832. onClose: () => {
  833. this.getDataList()
  834. }
  835. })
  836. } else {
  837. this.$message.error(data.msg)
  838. }
  839. })
  840. })
  841. },
  842. // 导出
  843. fields(){
  844. let json = "{"
  845. this.columnList.forEach((item,index) =>{
  846. if (index == this.columnList.length-1 ){
  847. json +="\""+item.columnLabel+"\"" +":"+"\""+item.columnProp+"\""
  848. }else {
  849. json += "\""+item.columnLabel+"\"" +":"+"\""+item.columnProp+"\""+ ","
  850. }
  851. })
  852. json +="}"
  853. let s = eval("(" + json + ")")
  854. return s
  855. },
  856. createExportData() {
  857. // 点击导出按钮之后,开始导出数据之前的执行函数,返回值为需要下载的数据
  858. // TODO:构造需要下载的数据返回
  859. if(this.dataListSelections.length>0){
  860. return this.dataListSelections;
  861. }
  862. return this.dataList;
  863. },
  864. startDownload() {
  865. // this.exportData = this.dataList
  866. },
  867. finishDownload() {
  868. }
  869. },
  870. created() {
  871. this.getTableUserColumn()
  872. this.getSysLanguageParamList()
  873. this.getFunctionButtonList()
  874. this.favoriteIsOk()
  875. }
  876. }
  877. </script>
  878. <style scoped >
  879. .wrapper {
  880. height: calc(100% - 40px);
  881. }
  882. .sl-input {
  883. background-color: transparent;
  884. border: 0 !important;
  885. font-size: 12px !important;
  886. height: 12px !important;
  887. line-height: 14px !important;
  888. background-color: transparent !important;
  889. width: 140px;
  890. }
  891. .sl-input:focus, textarea:focus {
  892. outline: none;
  893. }
  894. .sl-svg{
  895. overflow: hidden;
  896. float: right;
  897. }
  898. </style>