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.

865 lines
27 KiB

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