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.

750 lines
24 KiB

3 years ago
1 year ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 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" label-position="top" :model="searchData" @keyup.enter.native="getDataList()">
  9. <el-form-item :label="'故障编码'">
  10. <el-input v-model="searchData.objectID" style="width: 120px"></el-input>
  11. </el-form-item>
  12. <el-form-item :label="'故障名称'">
  13. <el-input v-model="searchData.objectDesc" style="width: 120px"></el-input>
  14. </el-form-item>
  15. <el-form-item :label="'故障编码'">
  16. <el-input v-model="searchData.defectID" style="width: 120px"></el-input>
  17. </el-form-item>
  18. <el-form-item :label="'故障名称'">
  19. <el-input v-model="searchData.defectDesc" style="width: 120px"></el-input>
  20. </el-form-item>
  21. <el-form-item :label="'在用'">
  22. <el-select filterable v-model="searchData.active" style="width: 130px">
  23. <el-option label="全部" value=""></el-option>
  24. <el-option label="是" value="Y"></el-option>
  25. <el-option label="否" value="N"></el-option>
  26. </el-select>
  27. </el-form-item>
  28. <el-form-item :label="' '">
  29. <el-button v-if="!authSearch" @click="getDataList()">查询</el-button>
  30. <el-button v-if="!authSave" type="primary" @click="addModal()">新增</el-button>
  31. <download-excel
  32. :fields="fields()"
  33. :data="exportData"
  34. type="xls"
  35. :name="exportName"
  36. :header="exportHeader"
  37. :footer="exportFooter"
  38. :fetch="createExportData"
  39. :before-generate="startDownload"
  40. :before-finish="finishDownload"
  41. worksheet="导出信息"
  42. class="el-button el-button--primary el-button--medium">
  43. {{ "导出" }}
  44. </download-excel>
  45. </el-form-item>
  46. </el-form>
  47. <el-table
  48. :height="height"
  49. :data="dataList"
  50. border
  51. v-loading="dataListLoading"
  52. style="width: 100%;">
  53. <el-table-column
  54. v-for="(item,index) in columnList" :key="index"
  55. :sortable="item.columnSortable"
  56. :prop="item.columnProp"
  57. :header-align="item.headerAlign"
  58. :show-overflow-tooltip="item.showOverflowTooltip"
  59. :align="item.align"
  60. :fixed="item.fixed==''?false:item.fixed"
  61. :min-width="item.columnWidth"
  62. :label="item.columnLabel">
  63. <template slot-scope="scope">
  64. <span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span>
  65. <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
  66. </template>
  67. </el-table-column>
  68. <el-table-column
  69. fixed="right"
  70. header-align="center"
  71. align="center"
  72. width="100"
  73. label="操作">
  74. <template slot-scope="scope">
  75. <a v-if="!authUpdate" type="text" size="small" @click="updateModal(scope.row)">修改</a>
  76. <a v-if="!authDelete" type="text" size="small" @click="deleteDefect(scope.row)">删除</a>
  77. </template>
  78. </el-table-column>
  79. </el-table>
  80. <el-pagination
  81. @size-change="sizeChangeHandle"
  82. @current-change="currentChangeHandle"
  83. :current-page="pageIndex"
  84. :page-sizes="[20, 50, 100, 200, 500]"
  85. :page-size="pageSize"
  86. :total="totalPage"
  87. layout="total, sizes, prev, pager, next, jumper">
  88. </el-pagination>
  89. <el-dialog title="故障" :close-on-click-modal="false" v-drag :visible.sync="modalFlag" width="430px">
  90. <el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
  91. <el-form-item prop="objectID" :rules="rules.objectIdType">
  92. <span slot="label" style="" @click="getBaseList(200)"><a herf="#">设备编码</a></span>
  93. <el-input v-model="modalData.objectID" style="width: 120px"></el-input>
  94. </el-form-item>
  95. <el-form-item label="设备名称:" prop="objectDesc" :rules="rules.objectDescType">
  96. <el-input v-model="modalData.objectDesc" disabled style="width: 120px"></el-input>
  97. </el-form-item>
  98. <el-form-item label="是否在用:" prop="active" :rules="rules.activeType">
  99. <el-select filterable v-model="modalData.active" style="width: 120px">
  100. <el-option label="是" value="Y"></el-option>
  101. <el-option label="否" value="N"></el-option>
  102. </el-select>
  103. </el-form-item>
  104. </el-form>
  105. <el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
  106. <el-form-item prop="defectID" :rules="rules.defectIdType">
  107. <span slot="label" style="" @click="getBaseList(1033)"><a herf="#">故障编码</a></span>
  108. <el-input v-model="modalData.defectID" style="width: 120px"></el-input>
  109. </el-form-item>
  110. <el-form-item label="故障名称:" prop="defectDesc" :rules="rules.defectDescType">
  111. <el-input v-model="modalData.defectDesc" disabled style="width: 150px"></el-input>
  112. </el-form-item>
  113. </el-form>
  114. <el-footer style="height:40px;margin-top: 10px;text-align:center">
  115. <el-button type="primary" @click="saveData()">保存</el-button>
  116. <el-button type="primary" @click="modalFlag = false">关闭</el-button>
  117. </el-footer>
  118. </el-dialog>
  119. <Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
  120. </div>
  121. </template>
  122. <script>
  123. import {
  124. eamObjectDefectSearch,
  125. eamObjectDefectSave,
  126. eamObjectDefectEdit,
  127. eamObjectDefectDelete,
  128. } from "@/api/eam/eam.js"
  129. import Chooselist from '@/views/modules/common/Chooselist_eam'
  130. import {
  131. getTableDefaultListLanguage,
  132. getTableUserListLanguage,
  133. } from "@/api/table.js"
  134. import {userFavoriteList, saveUserFavorite, removeUserFavorite} from '@/api/userFavorite.js'
  135. export default {
  136. components: {
  137. Chooselist
  138. },
  139. watch: {
  140. searchData: {
  141. deep: true,
  142. handler: function (newV, oldV) {
  143. this.searchData.defectID = this.searchData.defectID.toUpperCase()
  144. this.searchData.objectID = this.searchData.objectID.toUpperCase()
  145. }
  146. },
  147. modalData: {
  148. deep: true,
  149. handler: function (newV, oldV) {
  150. this.modalData.defectID = this.modalData.defectID.toUpperCase()
  151. this.modalData.objectID = this.modalData.objectID.toUpperCase()
  152. }
  153. }
  154. },
  155. data () {
  156. return {
  157. // 是否收藏
  158. favorite: false,
  159. // 导出 start
  160. exportData: [],
  161. exportName: "设备故障原因" + this.dayjs().format('YYYYMMDDHHmmss'),
  162. exportHeader: ["设备故障原因"],
  163. exportFooter: [],
  164. exportList:[],
  165. // 导出 end
  166. tagNo:'',
  167. searchData: {
  168. site: this.$store.state.user.site,
  169. defectID: '',
  170. objectID: '',
  171. defectDesc:'',
  172. objectDesc:'',
  173. active: 'Y',
  174. page: 1,
  175. limit: 10,
  176. },
  177. height: 200,
  178. pageIndex: 1,
  179. pageSize: 50,
  180. totalPage: 0,
  181. dataList: [],
  182. dataListLoading: false,
  183. dataListSelections: [],
  184. modalFlag: false,
  185. modalDisableFlag: false,
  186. modalData: {
  187. flag: '',
  188. site: this.$store.state.user.site,
  189. defectID: '',
  190. objectID: '',
  191. active: '',
  192. id: '',
  193. createBy: this.$store.state.user.name,
  194. updateBy: this.$store.state.user.name,
  195. },
  196. departmentList: [],
  197. // 展示列集
  198. columnList: [
  199. {
  200. userId: this.$store.state.user.name,
  201. functionId: 101001010,
  202. serialNumber: '101001010Table1ObjectID',
  203. tableId: "101001010Table1",
  204. tableName: "设备故障原因表",
  205. columnProp: 'objectID',
  206. headerAlign: "center",
  207. align: "left",
  208. columnLabel: '设备编码',
  209. columnHidden: false,
  210. columnImage: false,
  211. columnSortable: false,
  212. sortLv: 0,
  213. status: true,
  214. fixed: '',
  215. columnWidth: 168,
  216. },
  217. {
  218. userId: this.$store.state.user.name,
  219. functionId: 101001010,
  220. serialNumber: '101001010Table1ObjectDesc',
  221. tableId: "101001010Table1",
  222. tableName: "设备故障原因表",
  223. columnProp: 'objectDesc',
  224. headerAlign: "center",
  225. align: "left",
  226. columnLabel: '设备名称',
  227. columnHidden: false,
  228. columnImage: false,
  229. columnSortable: false,
  230. sortLv: 0,
  231. status: true,
  232. fixed: '',
  233. columnWidth: 168,
  234. },
  235. {
  236. userId: this.$store.state.user.name,
  237. functionId: 101001010,
  238. serialNumber: '101001010Table1DefectID',
  239. tableId: "101001010Table1",
  240. tableName: "设备故障原因表",
  241. columnProp: 'defectID',
  242. headerAlign: "center",
  243. align: "left",
  244. columnLabel: '故障编码',
  245. columnHidden: false,
  246. columnImage: false,
  247. columnSortable: false,
  248. sortLv: 0,
  249. status: true,
  250. fixed: '',
  251. columnWidth: 168,
  252. },
  253. {
  254. userId: this.$store.state.user.name,
  255. functionId: 101001010,
  256. serialNumber: '101001010Table1DefectDesc',
  257. tableId: "101001010Table1",
  258. tableName: "设备故障原因表",
  259. columnProp: 'defectDesc',
  260. headerAlign: "center",
  261. align: "left",
  262. columnLabel: '故障名称',
  263. columnHidden: false,
  264. columnImage: false,
  265. columnSortable: false,
  266. sortLv: 0,
  267. status: true,
  268. fixed: '',
  269. columnWidth: 168,
  270. },
  271. {
  272. userId: this.$store.state.user.name,
  273. functionId: 101001010,
  274. serialNumber: '101001010Table1Active',
  275. tableId: "101001010Table1",
  276. tableName: "设备故障原因表",
  277. columnProp: 'active',
  278. headerAlign: "center",
  279. align: "center",
  280. columnLabel: '在用',
  281. columnHidden: false,
  282. columnImage: false,
  283. columnSortable: false,
  284. sortLv: 0,
  285. status: true,
  286. fixed: '',
  287. columnWidth: 168,
  288. },
  289. {
  290. userId: this.$store.state.user.name,
  291. functionId: 101001010,
  292. serialNumber: '101001010Table1CreateDate',
  293. tableId: "101001010Table1",
  294. tableName: "设备故障原因表",
  295. columnProp: 'createDate',
  296. headerAlign: "center",
  297. align: "center",
  298. columnLabel: '创建时间',
  299. columnHidden: false,
  300. columnImage: false,
  301. columnSortable: false,
  302. sortLv: 0,
  303. status: true,
  304. fixed: '',
  305. columnWidth: 168,
  306. },
  307. {
  308. userId: this.$store.state.user.name,
  309. functionId: 101001010,
  310. serialNumber: '101001010Table1CreateBy',
  311. tableId: "101001010Table1",
  312. tableName: "设备故障原因表",
  313. columnProp: 'createBy',
  314. headerAlign: "center",
  315. align: "left",
  316. columnLabel: '创建人',
  317. columnHidden: false,
  318. columnImage: false,
  319. columnSortable: false,
  320. sortLv: 0,
  321. status: true,
  322. fixed: '',
  323. columnWidth: 168,
  324. },
  325. {
  326. userId: this.$store.state.user.name,
  327. functionId: 101001010,
  328. serialNumber: '101001010Table1UpdateDate',
  329. tableId: "101001010Table1",
  330. tableName: "设备故障原因表",
  331. columnProp: 'updateDate',
  332. headerAlign: "center",
  333. align: "center",
  334. columnLabel: '更新时间',
  335. columnHidden: false,
  336. columnImage: false,
  337. columnSortable: false,
  338. sortLv: 0,
  339. status: true,
  340. fixed: '',
  341. columnWidth: 168,
  342. },
  343. {
  344. userId: this.$store.state.user.name,
  345. functionId: 101001010,
  346. serialNumber: '101001010Table1UpdateBy',
  347. tableId: "101001010Table1",
  348. tableName: "设备故障原因表",
  349. columnProp: 'updateBy',
  350. headerAlign: "center",
  351. align: "left",
  352. columnLabel: '更新人',
  353. columnHidden: false,
  354. columnImage: false,
  355. columnSortable: false,
  356. sortLv: 0,
  357. status: true,
  358. fixed: '',
  359. columnWidth: 168,
  360. },
  361. ],
  362. levelList: [],
  363. rules: {
  364. objectIdType:[
  365. {
  366. required: true,
  367. message: ' ',
  368. trigger: ['blur','change']
  369. }
  370. ],
  371. objectDescType:[
  372. {
  373. required: true,
  374. message: ' ',
  375. trigger: ['blur','change']
  376. }
  377. ],
  378. defectIdType:[
  379. {
  380. required: true,
  381. message: ' ',
  382. trigger: ['blur','change']
  383. }
  384. ],
  385. defectDescType:[
  386. {
  387. required: true,
  388. message: ' ',
  389. trigger: ['blur','change']
  390. }
  391. ],
  392. activeType:[
  393. {
  394. required: true,
  395. message: ' ',
  396. trigger: ['blur','change']
  397. }
  398. ],
  399. },
  400. authSearch: false,
  401. authSave: false,
  402. authUpdate: false,
  403. authDelete: false,
  404. menuId: this.$route.meta.menuId,
  405. }
  406. },
  407. mounted () {
  408. this.$nextTick(() => {
  409. this.height = window.innerHeight - 210
  410. })
  411. },
  412. created () {
  413. // 按钮控制
  414. this.getButtonAuthData()
  415. this.favoriteIsOk()
  416. // 动态列
  417. this.getTableUserColumn(this.$route.meta.menuId+'table1',1)
  418. if (!this.authSearch) {
  419. // 获取数据列表
  420. this.getDataList()
  421. }
  422. },
  423. methods: {
  424. // 校验用户是否收藏
  425. favoriteIsOk () {
  426. let userFavorite = {
  427. userId: this.$store.state.user.id,
  428. languageCode: this.$i18n.locale
  429. }
  430. userFavoriteList(userFavorite).then(({data}) => {
  431. for (let i = 0; i < data.list.length; i++) {
  432. if (this.$route.meta.menuId === data.list[i].menuId) {
  433. this.favorite = true
  434. }
  435. }
  436. })
  437. },
  438. // 收藏 OR 取消收藏
  439. favoriteFunction() {
  440. let userFavorite = {
  441. userId: this.$store.state.user.id,
  442. functionId: this.$route.meta.menuId,
  443. }
  444. if (this.favorite) {
  445. removeUserFavorite(userFavorite).then(({data}) => {
  446. this.$message.success(data.msg)
  447. this.favorite = false
  448. })
  449. } else {
  450. // 收藏
  451. saveUserFavorite(userFavorite).then(({data}) => {
  452. this.$message.success(data.msg)
  453. this.favorite = true
  454. })
  455. }
  456. },
  457. // 获取基础数据列表S
  458. getBaseList (val,type) {
  459. this.tagNo = val
  460. this.$nextTick(() => {
  461. let strVal = ''
  462. if (val === 200 ) {
  463. strVal = this.modalData.objectID
  464. this.$refs.baseList.init(val, strVal)
  465. }
  466. if (val === 1033) {
  467. strVal = this.modalData.defectID
  468. this.$refs.baseList.init(val, strVal)
  469. }
  470. })
  471. },
  472. /* 列表方法的回调 */
  473. getBaseData (val) {
  474. if (this.tagNo === 200) {
  475. this.modalData.objectID = val.ObjectID
  476. this.modalData.objectDesc = val.ObjectDesc
  477. }
  478. if (this.tagNo === 1033) {
  479. this.modalData.defectID = val.DefectID
  480. this.modalData.defectDesc = val.DefectDesc
  481. }
  482. },
  483. //导出excel
  484. async createExportData() {
  485. this.searchData.limit = -1
  486. this.searchData.page = 1
  487. await eamObjectDefectSearch(this.searchData).then(({data}) => {
  488. this.exportList= data.page.list;
  489. })
  490. return this.exportList;
  491. },
  492. startDownload() {},
  493. finishDownload() {},
  494. fields () {
  495. let json = "{"
  496. this.columnList.forEach((item, index) => {
  497. if (index == this.columnList.length - 1) {
  498. json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\""
  499. } else {
  500. json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\"" + ","
  501. }
  502. })
  503. json += "}"
  504. let s = eval("(" + json + ")")
  505. return s
  506. },
  507. // 获取数据列表
  508. getDataList () {
  509. this.searchData.limit = this.pageSize
  510. this.searchData.page = this.pageIndex
  511. eamObjectDefectSearch(this.searchData).then(({data}) => {
  512. if (data.code == 0) {
  513. this.dataList = data.page.list
  514. this.pageIndex = data.page.currPage
  515. this.pageSize = data.page.pageSize
  516. this.totalPage = data.page.totalCount
  517. }
  518. this.dataListLoading = false
  519. })
  520. },
  521. // 每页数
  522. sizeChangeHandle (val) {
  523. this.pageSize = val
  524. this.pageIndex = 1
  525. this.getDataList()
  526. },
  527. // 当前页
  528. currentChangeHandle (val) {
  529. this.pageIndex = val
  530. this.getDataList()
  531. },
  532. // 多选
  533. selectionChangeHandle (val) {
  534. this.dataListSelections = val
  535. },
  536. addModal () {
  537. this.modalData = {
  538. flag:'1',
  539. site: this.$store.state.user.site,
  540. defectID:'',
  541. defectDesc:'',
  542. objectID:'',
  543. objectDesc:'',
  544. active:'Y',
  545. id:0,
  546. createBy: this.$store.state.user.name,
  547. updateBy: this.$store.state.user.name,
  548. }
  549. this.modalDisableFlag = false
  550. this.modalFlag = true
  551. },
  552. updateModal (row) {
  553. this.modalData = {
  554. flag:'2',
  555. site: row.site,
  556. defectID:row.defectID,
  557. defectDesc:row.defectDesc,
  558. objectID:row.objectID,
  559. objectDesc:row.objectDesc,
  560. active:row.active,
  561. id:row.id,
  562. updateBy: this.$store.state.user.name,
  563. }
  564. this.modalDisableFlag = true
  565. this.modalFlag = true
  566. },
  567. // 删除
  568. deleteDefect (row) {
  569. this.$confirm(`是否删除这个设备故障?`, '提示', {
  570. confirmButtonText: '确定',
  571. cancelButtonText: '取消',
  572. type: 'warning'
  573. }).then(() => {
  574. eamObjectDefectDelete(row).then(({data}) => {
  575. if (data && data.code == '0') {
  576. this.getDataList()
  577. this.$message({
  578. message: '操作成功',
  579. type: 'success',
  580. duration: 1500,
  581. onClose: () => {
  582. }
  583. })
  584. } else {
  585. this.$alert(data.msg, '错误', {
  586. confirmButtonText: '确定'
  587. })
  588. }
  589. })
  590. }).catch(() => {
  591. })
  592. },
  593. saveData () {
  594. if (this.modalData.objectID == '' || this.modalData.objectID == null) {
  595. this.$alert('请选择设备编码!', '错误', {
  596. confirmButtonText: '确定'
  597. })
  598. return false
  599. }
  600. if (this.modalData.defectID == '' || this.modalData.defectID == null) {
  601. this.$alert('请选择故障编码!', '错误', {
  602. confirmButtonText: '确定'
  603. })
  604. return false
  605. }
  606. if (this.modalData.active == '' || this.modalData.active == null) {
  607. this.$alert('选择是否在用!', '错误', {
  608. confirmButtonText: '确定'
  609. })
  610. return false
  611. }
  612. if (this.modalData.flag=='1') {
  613. eamObjectDefectSave(this.modalData).then(({data}) => {
  614. if (data && data.code == '0') {
  615. this.getDataList()
  616. this.modalFlag = false
  617. this.$message({
  618. message: '操作成功',
  619. type: 'success',
  620. duration: 1500,
  621. onClose: () => {
  622. }
  623. })
  624. } else {
  625. this.$alert(data.msg, '错误', {
  626. confirmButtonText: '确定'
  627. })
  628. }
  629. })
  630. } else {
  631. eamObjectDefectEdit(this.modalData).then(({data}) => {
  632. if (data && data.code == '0') {
  633. this.getDataList()
  634. this.modalFlag = false
  635. this.$message({
  636. message: '操作成功',
  637. type: 'success',
  638. duration: 1500,
  639. onClose: () => {
  640. }
  641. })
  642. } else {
  643. this.$alert(data.msg, '错误', {
  644. confirmButtonText: '确定'
  645. })
  646. }
  647. })
  648. }
  649. },
  650. // 动态列开始 获取 用户保存的 格式列
  651. async getTableUserColumn (tableId, columnId) {
  652. let queryTableUser = {
  653. userId: this.$store.state.user.name,
  654. functionId: this.$route.meta.menuId,
  655. tableId: tableId,
  656. status: true,
  657. languageCode: this.$i18n.locale
  658. }
  659. await getTableUserListLanguage(queryTableUser).then(({data}) => {
  660. if (data.rows.length > 0) {
  661. //this.columnList1 = []
  662. switch (columnId) {
  663. case 1:
  664. this.columnList = data.rows
  665. break;
  666. // case 2:
  667. // this.detailColumnList = data.rows
  668. // break;
  669. // case 3:
  670. // this.columnList2 = data.rows
  671. // break;
  672. // case 4:
  673. // this.columnList3 = data.rows
  674. // break;
  675. }
  676. } else {
  677. this.getColumnList(tableId, columnId)
  678. }
  679. })
  680. },
  681. // 获取 tableDefault 列
  682. async getColumnList (tableId, columnId) {
  683. let queryTable = {
  684. functionId: this.$route.meta.menuId,
  685. tableId: tableId,
  686. languageCode: this.$i18n.locale
  687. }
  688. await getTableDefaultListLanguage(queryTable).then(({data}) => {
  689. if (!data.rows.length == 0) {
  690. switch (columnId) {
  691. case 1:
  692. this.columnList = data.rows
  693. break;
  694. // case 2:
  695. // this.detailColumnList = data.rows
  696. // break;
  697. // case 3:
  698. // this.columnList2 = data.rows
  699. // break;
  700. // case 4:
  701. // this.columnList3 = data.rows
  702. // break;
  703. }
  704. } else {
  705. // this.showDefault = true.
  706. }
  707. })
  708. },
  709. //获取按钮的权限数据
  710. getButtonAuthData () {
  711. let searchFlag = this.isAuth(this.menuId+":search")
  712. let saveFlag = this.isAuth(this.menuId+":save")
  713. let updateFlag = this.isAuth(this.menuId+":update")
  714. let deleteFlag = this.isAuth(this.menuId+":delete")
  715. //处理页面的权限数据
  716. this.authSearch = !searchFlag
  717. this.authSave = !saveFlag
  718. this.authUpdate = !updateFlag
  719. this.authDelete = !deleteFlag
  720. },
  721. }
  722. }
  723. </script>
  724. <style scoped>
  725. .el-table /deep/ .cell{
  726. height: auto;
  727. line-height: 1.5;
  728. }
  729. </style>