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.

1417 lines
46 KiB

3 years ago
3 years ago
3 years ago
3 years ago
7 months 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
7 months 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
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
7 months ago
3 years ago
7 months ago
3 years ago
7 months 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. <el-form :inline="true" label-position="top" :model="searchData">
  4. <el-form-item label="BU">
  5. <el-select v-model="searchData.buDesc" placeholder="请选择" clearable style="width: 80px">
  6. <el-option
  7. v-for = "i in userBuList"
  8. :key = "i.buNo"
  9. :label = "i.buDesc"
  10. :value = "i.buDesc">
  11. </el-option>
  12. </el-select>
  13. </el-form-item>
  14. <el-form-item label="点检模板编码">
  15. <el-input v-model="searchData.codeNo" clearable style="width: 120px"></el-input>
  16. </el-form-item>
  17. <el-form-item label="点检模板名称">
  18. <el-input v-model="searchData.codeDesc" clearable style="width: 200px"></el-input>
  19. </el-form-item>
  20. <el-form-item label="在用">
  21. <el-select v-model="searchData.active" style="width: 80px">
  22. <el-option label="全部" value=""></el-option>
  23. <el-option label="是" value="Y"></el-option>
  24. <el-option label="否" value="N"></el-option>
  25. </el-select>
  26. </el-form-item>
  27. <el-form-item label="是否被用">
  28. <el-select v-model="searchData.isUse" style="width: 80px">
  29. <el-option label="全部" value=""></el-option>
  30. <el-option label="是" value="Y"></el-option>
  31. <el-option label="否" value="N"></el-option>
  32. </el-select>
  33. </el-form-item>
  34. <el-form-item label="部门">
  35. <el-select v-model="searchData.checkType" clearable style="width: 80px">
  36. <el-option label="生产" value="R022"></el-option>
  37. <el-option label="设备" value="R023"></el-option>
  38. <el-option label="质量" value="R024"></el-option>
  39. </el-select>
  40. </el-form-item>
  41. <el-form-item label=" ">
  42. <el-button v-if="!authSearch" @click="getDataList()">查询</el-button>
  43. <el-button v-if="!authSave" type="primary" @click="addModal()">新增</el-button>
  44. <el-button @click="exportExcel()" type="primary" style="margin-left: 2px">{{'导出'}}</el-button>
  45. <!-- <download-excel-->
  46. <!-- :fields="fields()"-->
  47. <!-- :data="exportData"-->
  48. <!-- type="xls"-->
  49. <!-- :name="exportName"-->
  50. <!-- :header="exportHeader"-->
  51. <!-- :footer="exportFooter"-->
  52. <!-- :fetch="createExportData"-->
  53. <!-- :before-generate="startDownload"-->
  54. <!-- :before-finish="finishDownload"-->
  55. <!-- worksheet="导出信息"-->
  56. <!-- class="el-button el-button&#45;&#45;primary el-button&#45;&#45;medium">-->
  57. <!-- {{ "导出" }}-->
  58. <!-- </download-excel>-->
  59. </el-form-item>
  60. </el-form>
  61. <el-table
  62. :height="height"
  63. :data="dataList"
  64. border
  65. style="width: 100%;">
  66. <el-table-column
  67. v-for="(item,index) in columnList" :key="index"
  68. :sortable="item.columnSortable"
  69. :prop="item.columnProp"
  70. :header-align="item.headerAlign"
  71. :show-overflow-tooltip="item.showOverflowTooltip"
  72. :align="item.align"
  73. :fixed="item.fixed==''?false:item.fixed"
  74. :min-width="item.columnWidth"
  75. :label="item.columnLabel">
  76. <template slot-scope="scope">
  77. <span v-if="!item.columnHidden">
  78. <span v-if="columnsProp.includes(item.columnProp)">{{ scope.row[`${item.columnProp}Desc`] }}</span>
  79. <span v-else>
  80. {{ scope.row[item.columnProp] }}
  81. </span>
  82. </span>
  83. <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
  84. </template>
  85. </el-table-column>
  86. <el-table-column
  87. fixed="right"
  88. header-align="center"
  89. align="center"
  90. width="160"
  91. label="操作">
  92. <template slot-scope="scope">
  93. <el-link style="cursor: pointer" v-if="!authUpdate" @click="updateModal(scope.row)">修改</el-link>
  94. <el-link style="cursor: pointer" @click="detailModal(scope.row)">点检项目</el-link>
  95. <el-link style="cursor: pointer" v-if="!authDelete" @click="deletePropertiesModel(scope.row)">删除</el-link>
  96. </template>
  97. </el-table-column>
  98. </el-table>
  99. <el-pagination
  100. @size-change="sizeChangeHandle"
  101. @current-change="currentChangeHandle"
  102. :current-page="pageIndex"
  103. :page-sizes="[20, 50, 100, 200, 500]"
  104. :page-size="pageSize"
  105. :total="totalPage"
  106. layout="total, sizes, prev, pager, next, jumper">
  107. </el-pagination>
  108. <el-dialog title="点检模板" :close-on-click-modal="false" v-drag :visible.sync="modalFlag" width="460px">
  109. <el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
  110. <el-form-item label="BU" prop="bu" :rules="rules.bu">
  111. <el-select v-model="modalData.bu" placeholder="请选择" :disabled="modalDisableFlag" style="width: 230px">
  112. <el-option
  113. v-for = "i in userBuList"
  114. :key = "i.buNo"
  115. :label = "i.sitename"
  116. :value = "i.buNo">
  117. <span style="float: left;width: 100px">{{ i.sitename }}</span>
  118. <span style="float: right; color: #8492a6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; font-size: 11px;width: 60px">
  119. {{ i.buDesc }}
  120. </span>
  121. </el-option>
  122. </el-select>
  123. </el-form-item>
  124. <el-form-item label="部门" prop="checkType">
  125. <el-select v-model="modalData.checkType" :disabled="modalDisableFlag" style="width: 80px">
  126. <el-option label="生产" value="R022"></el-option>
  127. <el-option label="设备" value="R023"></el-option>
  128. <el-option label="质量" value="R024"></el-option>
  129. </el-select>
  130. </el-form-item>
  131. <el-form-item label="是否在用" prop="active" :rules="rules.activeType">
  132. <el-select filterable v-model="modalData.active" style="width: 80px">
  133. <el-option label="是" value="Y"></el-option>
  134. <el-option label="否" value="N"></el-option>
  135. </el-select>
  136. </el-form-item>
  137. </el-form>
  138. <el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;">
  139. <el-form-item label="点检模板编码" prop="codeNo" :rules="rules.codeNoType">
  140. <el-input v-model="modalData.codeNo" :disabled="modalDisableFlag" style="width: 140px"></el-input>
  141. </el-form-item>
  142. <el-form-item label="点检模板名称" prop="codeDesc" :rules="rules.codeDescType">
  143. <el-input v-model="modalData.codeDesc" style="width: 264px"></el-input>
  144. </el-form-item>
  145. </el-form>
  146. <el-footer style="height:40px;margin-top: 10px;text-align:center">
  147. <el-button type="primary" @click="saveData()">保存</el-button>
  148. <el-button type="primary" @click="modalFlag = false">关闭</el-button>
  149. </el-footer>
  150. </el-dialog>
  151. <el-dialog title="点检项目清单" :close-on-click-modal="false" v-drag :visible.sync="detailModelFlag" width="1155px">
  152. <el-form :inline="true" label-position="top">
  153. <el-form-item label="点检模板编码">
  154. <el-input v-model="detailData.codeNo" readonly style="width: 120px"></el-input>
  155. </el-form-item>
  156. <el-form-item label="点检模板名称">
  157. <el-input v-model="detailData.codeDesc" readonly style="width: 173px"></el-input>
  158. </el-form-item>
  159. <el-form-item label=" ">
  160. <el-button type="primary" @click="addFastModal()">新增</el-button>
  161. <el-button type="primary" @click="goUp()">上移</el-button>
  162. <el-button type="primary" @click="goDown()">下移</el-button>
  163. </el-form-item>
  164. </el-form>
  165. <el-table
  166. :height="300"
  167. :data="detailList"
  168. border
  169. @row-click="itemClickRow"
  170. ref="detailTable"
  171. highlight-current-row
  172. style="width: 100%;">
  173. <el-table-column
  174. v-for="(item,index) in columnDetailList" :key="index"
  175. :sortable="item.columnSortable"
  176. :prop="item.columnProp"
  177. :header-align="item.headerAlign"
  178. :show-overflow-tooltip="item.showOverflowTooltip"
  179. :align="item.align"
  180. :fixed="item.fixed==''?false:item.fixed"
  181. :min-width="item.columnWidth"
  182. :label="item.columnLabel">
  183. <template slot-scope="scope">
  184. <span v-if="!item.columnHidden">{{ scope.row[item.columnProp] }}</span>
  185. <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
  186. </template>
  187. </el-table-column>
  188. <el-table-column
  189. fixed="right"
  190. header-align="center"
  191. align="center"
  192. width="130"
  193. label="操作">
  194. <template slot-scope="scope">
  195. <a type="text" size="small" v-if="scope.row.valueChooseFlag === 'Y'" @click="chooseModal(scope.row)">可选值</a>
  196. <a type="text" size="small" @click="deleteModalDetails(scope.row)">删除项目</a>
  197. </template>
  198. </el-table-column>
  199. </el-table>
  200. <el-footer style="height:40px;margin-top: 20px;text-align:center">
  201. <el-button type="primary" @click="detailModelFlag = false">关闭</el-button>
  202. </el-footer>
  203. </el-dialog>
  204. <el-dialog title="新增" @close="refreshDetailList" :close-on-click-modal="false" v-drag :visible.sync="fastAddFlag" width="1200px">
  205. <div style="font-size: 12px">
  206. <el-form :inline="true" label-position="top" :model="detailData">
  207. <el-form-item :label="'项目编码'">
  208. <el-input v-model="detailData.itemNo" style="width: 120px"></el-input>
  209. </el-form-item>
  210. <el-form-item :label="'项目名称'">
  211. <el-input v-model="detailData.itemDesc" style="width: 145px"></el-input>
  212. </el-form-item>
  213. <el-form-item :label="' '">
  214. <el-button type="primary" @click="queryTemplateItem()">查询</el-button>
  215. </el-form-item>
  216. </el-form>
  217. </div>
  218. <el-container style="margin-top: 0px;">
  219. <el-main style="width: 450px;padding: 1px">
  220. <span style="font-size: 12px" >可选项目</span>
  221. <el-table
  222. height="400px"
  223. :data="itemList1"
  224. border
  225. ref="itemTable1"
  226. @row-click="itemClickRow1"
  227. @selection-change="selectionItem1"
  228. highlight-current-row
  229. style="width: 100%">
  230. <el-table-column
  231. type="selection"
  232. header-align="center"
  233. align="center"
  234. width="50">
  235. </el-table-column>
  236. <el-table-column
  237. prop="itemNo"
  238. header-align="center"
  239. align="left"
  240. min-width="80"
  241. label="项目编码">
  242. </el-table-column>
  243. <el-table-column
  244. prop="itemDesc"
  245. header-align="center"
  246. align="left"
  247. min-width="200"
  248. label="项目名称">
  249. </el-table-column>
  250. <el-table-column
  251. prop="itemRemark"
  252. header-align="center"
  253. align="left"
  254. min-width="200"
  255. label="方法说明">
  256. </el-table-column>
  257. </el-table>
  258. </el-main>
  259. <el-main style="width: 10px;padding: 1px">
  260. <div style="margin-top: 200px;margin-left: 18px">
  261. <el-button type="primary" @click="addItem()">添加>></el-button>
  262. </div>
  263. <div style="margin-top: 15px;margin-left: 18px">
  264. <el-button type="primary" @click="deleteItem()">删除<<</el-button>
  265. </div>
  266. </el-main>
  267. <el-main style="width: 450px;padding: 1px">
  268. <span style="font-size: 12px" >已有项目</span>
  269. <el-table
  270. height="400px"
  271. :data="itemList2"
  272. border
  273. ref="itemTable2"
  274. @row-click="itemClickRow2"
  275. @selection-change="selectionItem2"
  276. highlight-current-row
  277. style="width: 100%">
  278. <el-table-column
  279. type="selection"
  280. header-align="center"
  281. align="center"
  282. width="50">
  283. </el-table-column>
  284. <el-table-column
  285. prop="itemNo"
  286. header-align="center"
  287. align="left"
  288. min-width="80"
  289. label="项目编码">
  290. </el-table-column>
  291. <el-table-column
  292. prop="itemDesc"
  293. header-align="center"
  294. align="left"
  295. min-width="200"
  296. label="项目名称">
  297. </el-table-column>
  298. <el-table-column
  299. prop="itemRemark"
  300. header-align="center"
  301. align="left"
  302. min-width="200"
  303. label="方法说明">
  304. </el-table-column>
  305. </el-table>
  306. </el-main>
  307. </el-container>
  308. <el-footer style="height:40px;margin-top: 20px;text-align:center">
  309. <el-button type="primary" @click="fastAddFlag = false">关闭</el-button>
  310. </el-footer>
  311. </el-dialog>
  312. <el-dialog title="可选值" :close-on-click-modal="false" v-drag :visible.sync="chooseModalFlag" width="350px">
  313. <el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
  314. <el-form-item label="点检项目名称:">
  315. <el-input v-model="chooseModalData.itemDesc" disabled style="width: 120px"></el-input>
  316. </el-form-item>
  317. <el-form-item :label="'检测值类型'">
  318. <el-select filterable v-model="chooseModalData.valueTypeDb" disabled style="width: 120px">
  319. <el-option label="文本" value="T"></el-option>
  320. <el-option label="数字" value="N"></el-option>
  321. </el-select>
  322. </el-form-item>
  323. </el-form>
  324. <el-table
  325. :height="300"
  326. :data="chooseTableData"
  327. border
  328. style="width: 100%">
  329. <el-table-column
  330. prop="availableValue"
  331. header-align="center"
  332. align="left"
  333. min-width="200"
  334. label="属性值">
  335. </el-table-column>
  336. </el-table>
  337. <el-footer style="height:40px;margin-top: 10px;text-align:center">
  338. <el-button type="primary" @click="chooseModalFlag = false">关闭</el-button>
  339. </el-footer>
  340. </el-dialog>
  341. <Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
  342. </div>
  343. </template>
  344. <script>
  345. import {
  346. eamPropertiesModelSearch,
  347. eamPropertiesModelSave,
  348. eamPropertiesModelEdit,
  349. eamPropertiesModelDelete,
  350. searchItemAvailable,
  351. searchModalDetails,
  352. saveModalDetails,
  353. deleteModalDetails, // 多选删除
  354. eamPropertiesItemSearch,
  355. getItemLists,
  356. deleteModalDetail, // 单删
  357. getSiteAndBuByUserName,
  358. getRoleByUserName,
  359. goUpItemEam,
  360. goDownItemEam,
  361. } from "@/api/eam/eam.js"
  362. import {getTableDefaultListLanguage, getTableUserListLanguage} from "@/api/table.js"
  363. import {userFavoriteList, saveUserFavorite, removeUserFavorite} from '@/api/userFavorite.js'
  364. import Chooselist from '@/views/modules/common/Chooselist_eam'
  365. import excel from "@/utils/excel-util.js";
  366. export default {
  367. components: {
  368. Chooselist
  369. },
  370. watch: {
  371. searchData: {
  372. deep: true,
  373. handler: function (newV, oldV) {
  374. this.searchData.codeNo = this.searchData.codeNo.toUpperCase()
  375. }
  376. },
  377. itemData: {
  378. deep: true,
  379. handler: function (newV, oldV) {
  380. this.itemData.itemNo = this.itemData.itemNo.toUpperCase()
  381. }
  382. },
  383. modalData: {
  384. deep: true,
  385. handler: function (newV, oldV) {
  386. this.modalData.codeNo = this.modalData.codeNo.toUpperCase()
  387. }
  388. },
  389. detailData: {
  390. deep: true,
  391. handler: function (newV, oldV) {
  392. this.detailData.codeNo = this.detailData.codeNo.toUpperCase()
  393. this.detailData.itemNo = this.detailData.itemNo.toUpperCase()
  394. }
  395. }
  396. },
  397. data () {
  398. return {
  399. columnsProp:['createdBy','active','updateBy'],
  400. // 是否收藏
  401. favorite: false,
  402. // 导出 start
  403. exportData: [],
  404. exportName: "点检模板" + this.dayjs().format('YYYYMMDDHHmmss'),
  405. exportHeader: ["点检模板"],
  406. exportFooter: [],
  407. exportList:[],
  408. // 导出 end
  409. tagNo:'',
  410. searchData: {
  411. site: '',
  412. userName: this.$store.state.user.name,
  413. codeNo: '',
  414. codeDesc: '',
  415. buDesc: '',
  416. active:'Y',
  417. functionType:'A',
  418. isUse: '',
  419. checkType: '',
  420. page: 1,
  421. limit: 10,
  422. },
  423. height: 200,
  424. pageIndex: 1,
  425. pageSize: 20,
  426. totalPage: 0,
  427. modalFlag: false,
  428. modalDisableFlag: false,
  429. modalData: {
  430. flag: '',
  431. bu: '',
  432. codeNo: '',
  433. codeDesc: '',
  434. active: '',
  435. functionType: 'A',
  436. userId: this.$store.state.user.name,
  437. createdBy: this.$store.state.user.name,
  438. updateBy: this.$store.state.user.name,
  439. checkType: ''
  440. },
  441. detailData: {
  442. site: '',
  443. buNo: '',
  444. codeNo: '',
  445. codeDesc: '',
  446. functionType: 'A',
  447. itemNo: '',
  448. itemDesc: '',
  449. itemType: 'A',
  450. userId: this.$store.state.user.name,
  451. checkType: ''
  452. },
  453. columnList: [
  454. {
  455. userId: this.$store.state.user.name,
  456. functionId: 101002002,
  457. serialNumber: '101002002Table1BuDesc',
  458. tableId: "101002002Table1",
  459. tableName: "点检模板表",
  460. columnProp: 'buDesc',
  461. headerAlign: "center",
  462. align: "center",
  463. columnLabel: 'BU',
  464. columnHidden: false,
  465. columnImage: false,
  466. columnSortable: false,
  467. sortLv: 0,
  468. status: true,
  469. fixed: '',
  470. columnWidth: 100,
  471. },
  472. {
  473. userId: this.$store.state.user.name,
  474. functionId: 101002002,
  475. serialNumber: '101002002Table1CodeNo',
  476. tableId: "101002002Table1",
  477. tableName: "点检模板表",
  478. columnProp: 'codeNo',
  479. headerAlign: "center",
  480. align: "center",
  481. columnLabel: '点检模板编码',
  482. columnHidden: false,
  483. columnImage: false,
  484. columnSortable: false,
  485. sortLv: 0,
  486. status: true,
  487. fixed: '',
  488. columnWidth: 120,
  489. },
  490. {
  491. userId: this.$store.state.user.name,
  492. functionId: 101002002,
  493. serialNumber: '101002002Table1CodeDesc',
  494. tableId: "101002002Table1",
  495. tableName: "点检模板表",
  496. columnProp: 'codeDesc',
  497. headerAlign: "center",
  498. align: "left",
  499. columnLabel: '点检模板名称',
  500. columnHidden: false,
  501. columnImage: false,
  502. columnSortable: false,
  503. sortLv: 0,
  504. status: true,
  505. fixed: '',
  506. columnWidth: 200,
  507. },
  508. {
  509. userId: this.$store.state.user.name,
  510. functionId: 101002002,
  511. serialNumber: '101002002Table1Active',
  512. tableId: "101002002Table1",
  513. tableName: "点检模板表",
  514. columnProp: 'active',
  515. headerAlign: "center",
  516. align: "center",
  517. columnLabel: '在用',
  518. columnHidden: false,
  519. columnImage: false,
  520. columnSortable: false,
  521. sortLv: 0,
  522. status: true,
  523. fixed: '',
  524. columnWidth: 100,
  525. },
  526. {
  527. userId: this.$store.state.user.name,
  528. functionId: 101002002,
  529. serialNumber: '101002002Table1IsUse',
  530. tableId: "101002002Table1",
  531. tableName: "点检模板表",
  532. columnProp: 'isUse',
  533. headerAlign: "center",
  534. align: "center",
  535. columnLabel: '是否被用',
  536. columnHidden: false,
  537. columnImage: false,
  538. columnSortable: false,
  539. sortLv: 0,
  540. status: true,
  541. fixed: '',
  542. columnWidth: 100,
  543. },
  544. {
  545. userId: this.$store.state.user.name,
  546. functionId: 101002002,
  547. serialNumber: '101002002Table1CreatedDate',
  548. tableId: "101002002Table1",
  549. tableName: "点检模板表",
  550. columnProp: 'createdDate',
  551. headerAlign: "center",
  552. align: "center",
  553. columnLabel: '创建时间',
  554. columnHidden: false,
  555. columnImage: false,
  556. columnSortable: false,
  557. sortLv: 0,
  558. status: true,
  559. fixed: '',
  560. columnWidth: 170,
  561. },
  562. {
  563. userId: this.$store.state.user.name,
  564. functionId: 101002002,
  565. serialNumber: '101002002Table1CreatedBy',
  566. tableId: "101002002Table1",
  567. tableName: "点检模板表",
  568. columnProp: 'createdBy',
  569. headerAlign: "center",
  570. align: "center",
  571. columnLabel: '创建人',
  572. columnHidden: false,
  573. columnImage: false,
  574. columnSortable: false,
  575. sortLv: 0,
  576. status: true,
  577. fixed: '',
  578. columnWidth: 100,
  579. },
  580. {
  581. userId: this.$store.state.user.name,
  582. functionId: 101002002,
  583. serialNumber: '101002002Table1UpdateDate',
  584. tableId: "101002002Table1",
  585. tableName: "点检模板表",
  586. columnProp: 'updateDate',
  587. headerAlign: "center",
  588. align: "center",
  589. columnLabel: '更新时间',
  590. columnHidden: false,
  591. columnImage: false,
  592. columnSortable: false,
  593. sortLv: 0,
  594. status: true,
  595. fixed: '',
  596. columnWidth: 170,
  597. },
  598. {
  599. userId: this.$store.state.user.name,
  600. functionId: 101002002,
  601. serialNumber: '101002002Table1UpdateBy',
  602. tableId: "101002002Table1",
  603. tableName: "点检模板表",
  604. columnProp: 'updateBy',
  605. headerAlign: "center",
  606. align: "center",
  607. columnLabel: '更新人',
  608. columnHidden: false,
  609. columnImage: false,
  610. columnSortable: false,
  611. sortLv: 0,
  612. status: true,
  613. fixed: '',
  614. columnWidth: 100,
  615. },
  616. ],
  617. detailModelFlag: false,
  618. detailList: [],
  619. chooseTableData: [],
  620. dataListSelections: [],
  621. chooseModalFlag: false,
  622. itemFlag: 'text',
  623. itemData: {
  624. itemNo:'',
  625. valueNo:'',
  626. availableValue:'',
  627. itemType:'A',
  628. createdBy: this.$store.state.user.name
  629. },
  630. dataList: [],
  631. departmentList: [],
  632. // 展示列集
  633. columnDetailList: [
  634. {
  635. userId: this.$store.state.user.name,
  636. functionId: 101002002,
  637. serialNumber: '101002002Table2ItemNo',
  638. tableId: "101002002Table2",
  639. tableName: "点检项目表",
  640. columnProp: 'itemNo',
  641. headerAlign: "center",
  642. align: "left",
  643. columnLabel: '点检项目编码',
  644. columnHidden: false,
  645. columnImage: false,
  646. columnSortable: false,
  647. sortLv: 0,
  648. status: true,
  649. fixed: '',
  650. columnWidth: 80,
  651. },
  652. {
  653. userId: this.$store.state.user.name,
  654. functionId: 101002002,
  655. serialNumber: '101002002Table2ItemDesc',
  656. tableId: "101002002Table2",
  657. tableName: "点检项目表",
  658. columnProp: 'itemDesc',
  659. headerAlign: "center",
  660. align: "left",
  661. columnLabel: '点检项目名称',
  662. columnHidden: false,
  663. columnImage: false,
  664. columnSortable: false,
  665. sortLv: 0,
  666. status: true,
  667. fixed: '',
  668. columnWidth: 107,
  669. },
  670. {
  671. userId: this.$store.state.user.name,
  672. functionId: 101002002,
  673. serialNumber: '101002002Table2ItemRemark',
  674. tableId: "101002002Table2",
  675. tableName: "点检项目表",
  676. columnProp: 'itemRemark',
  677. headerAlign: "center",
  678. align: "left",
  679. columnLabel: '点检方法说明',
  680. columnHidden: false,
  681. columnImage: false,
  682. columnSortable: false,
  683. sortLv: 0,
  684. status: true,
  685. fixed: '',
  686. columnWidth: 417,
  687. },
  688. {
  689. userId: this.$store.state.user.name,
  690. functionId: 101002002,
  691. serialNumber: '101002002Table2ValueType',
  692. tableId: "101002002Table2",
  693. tableName: "点检项目表",
  694. columnProp: 'valueType',
  695. headerAlign: "center",
  696. align: "center",
  697. columnLabel: '检测值类型',
  698. columnHidden: false,
  699. columnImage: false,
  700. columnSortable: false,
  701. sortLv: 0,
  702. status: true,
  703. fixed: '',
  704. columnWidth: 80,
  705. },
  706. {
  707. userId: this.$store.state.user.name,
  708. functionId: 101002002,
  709. serialNumber: '101002002Table2DefaultValue',
  710. tableId: "101002002Table2",
  711. tableName: "点检项目表",
  712. columnProp: 'defaultValue',
  713. headerAlign: "center",
  714. align: "right",
  715. columnLabel: '参照值',
  716. columnHidden: false,
  717. columnImage: false,
  718. columnSortable: false,
  719. sortLv: 0,
  720. status: true,
  721. fixed: '',
  722. columnWidth: 80,
  723. },
  724. {
  725. userId: this.$store.state.user.name,
  726. functionId: 101002002,
  727. serialNumber: '101002002Table2MaxValue',
  728. tableId: "101002002Table2",
  729. tableName: "点检项目表",
  730. columnProp: 'maxValue',
  731. headerAlign: "center",
  732. align: "right",
  733. columnLabel: '最大值',
  734. columnHidden: false,
  735. columnImage: false,
  736. columnSortable: false,
  737. sortLv: 0,
  738. status: true,
  739. fixed: '',
  740. columnWidth: 80,
  741. },
  742. {
  743. userId: this.$store.state.user.name,
  744. functionId: 101002002,
  745. serialNumber: '101002002Table2MinValue',
  746. tableId: "101002002Table2",
  747. tableName: "点检项目表",
  748. columnProp: 'minValue',
  749. headerAlign: "center",
  750. align: "right",
  751. columnLabel: '最小值',
  752. columnHidden: false,
  753. columnImage: false,
  754. columnSortable: false,
  755. sortLv: 0,
  756. status: true,
  757. fixed: '',
  758. columnWidth: 80,
  759. },
  760. {
  761. userId: this.$store.state.user.name,
  762. functionId: 101002002,
  763. serialNumber: '101002002TableValueChooseFlag',
  764. tableId: "101002002Table",
  765. tableName: "common",
  766. columnProp: 'valueChooseFlag',
  767. headerAlign: "center",
  768. align: "center",
  769. columnLabel: '是否值可选',
  770. columnHidden: false,
  771. columnImage: false,
  772. columnSortable: false,
  773. sortLv: 0,
  774. status: true,
  775. fixed: '',
  776. columnWidth: 80,
  777. },
  778. ],
  779. levelList: [],
  780. chooseModalData: {
  781. site: '',
  782. buNo: '',
  783. itemNo: '',
  784. itemDesc: '',
  785. itemType:'A',
  786. valueTypeDb:'',
  787. },
  788. currentRow:{
  789. },
  790. //---------快速添加----------
  791. fastAddFlag: false,
  792. itemList1: [],
  793. itemList2: [],
  794. itemListRow1: {},
  795. itemListRow2: {},
  796. itemSelections1: [],
  797. itemSelections2: [],
  798. rules: {
  799. codeNoType:[
  800. {
  801. required: true,
  802. message: ' ',
  803. trigger: ['blur','change']
  804. }
  805. ],
  806. codeDescType:[
  807. {
  808. required: true,
  809. message: ' ',
  810. trigger: ['blur','change']
  811. }
  812. ],
  813. activeType:[
  814. {
  815. required: true,
  816. message: ' ',
  817. trigger: ['blur','change']
  818. }
  819. ],
  820. bu:[
  821. {
  822. required: true,
  823. message: ' ',
  824. trigger: ['blur','change']
  825. }
  826. ],
  827. checkType: [
  828. {
  829. required: true,
  830. message: ' ',
  831. trigger: ['blur','change']
  832. }
  833. ]
  834. },
  835. userBuList: [],
  836. userRoleList: [],
  837. authSearch: false,
  838. authSave: false,
  839. authUpdate: false,
  840. authDelete: false,
  841. menuId: this.$route.meta.menuId,
  842. }
  843. },
  844. mounted () {
  845. this.$nextTick(() => {
  846. this.height = window.innerHeight - 180
  847. })
  848. },
  849. created () {
  850. // 按钮控制
  851. this.getButtonAuthData()
  852. // 获取用户的 site 和 bu
  853. this.getSiteAndBuByUserName()
  854. // 获取用户的 role
  855. this.getRoleByUserName()
  856. // 校验用户是否收藏
  857. this.favoriteIsOk()
  858. // 动态列
  859. this.getTableUserColumn(this.$route.meta.menuId+'table1',1)
  860. this.getTableUserColumn(this.$route.meta.menuId+'table2',2)
  861. if (!this.authSearch) {
  862. // 获取数据列表
  863. this.getDataList()
  864. }
  865. },
  866. methods: {
  867. // 获取用户的bu
  868. getSiteAndBuByUserName () {
  869. let tempData = {
  870. username: this.$store.state.user.name,
  871. }
  872. getSiteAndBuByUserName(tempData).then(({data}) => {
  873. if (data.code === 0) {
  874. this.userBuList = data.rows
  875. }
  876. })
  877. },
  878. // 获取用户的 role
  879. getRoleByUserName () {
  880. let tempData = {
  881. username: this.$store.state.user.name,
  882. }
  883. getRoleByUserName(tempData).then(({data}) => {
  884. if (data.code === 0) {
  885. this.userRoleList = data.rows
  886. }
  887. })
  888. },
  889. // 校验用户是否收藏
  890. favoriteIsOk () {
  891. let userFavorite = {
  892. userId: this.$store.state.user.id,
  893. languageCode: this.$i18n.locale
  894. }
  895. userFavoriteList(userFavorite).then(({data}) => {
  896. for (let i = 0; i < data.list.length; i++) {
  897. if (this.$route.meta.menuId === data.list[i].menuId) {
  898. this.favorite = true
  899. }
  900. }
  901. })
  902. },
  903. // 收藏 OR 取消收藏
  904. favoriteFunction () {
  905. let userFavorite = {
  906. userId: this.$store.state.user.id,
  907. functionId: this.$route.meta.menuId,
  908. }
  909. if (this.favorite) {
  910. removeUserFavorite(userFavorite).then(({data}) => {
  911. this.$message.success(data.msg)
  912. this.favorite = false
  913. })
  914. } else {
  915. // 收藏
  916. saveUserFavorite(userFavorite).then(({data}) => {
  917. this.$message.success(data.msg)
  918. this.favorite = true
  919. })
  920. }
  921. },
  922. // 获取基础数据列表S
  923. getBaseList (val,type) {
  924. this.tagNo = val
  925. this.$nextTick(() => {
  926. let strVal = ''
  927. if (val === 1024) {
  928. strVal = this.detailData.itemNo
  929. }
  930. this.$refs.baseList.init(val, strVal)
  931. })
  932. },
  933. // 列表方法的回调
  934. getBaseData (val) {
  935. if (this.tagNo === 1024) {
  936. this.detailData.itemNo = val.ItemNo
  937. this.detailData.itemDesc = val.ItemDesc
  938. }
  939. },
  940. async exportExcel() {
  941. this.searchData.limit = -1
  942. this.searchData.page = 1
  943. excel.exportTable({
  944. url: "/pms/eam/eamPropertiesModelSearch",
  945. columnMapping: this.columnList,//可以直接用table,不需要的列就剔除
  946. mergeSetting: [],//需要合并的列
  947. params: this.searchData,
  948. fileName: this.exportName+".xlsx",
  949. rowFetcher: res => res.data,
  950. columnFormatter: [],
  951. dropColumns: [],//需要剔除的列,例如dropColumns: ["netWeight"],即剔除净重列
  952. });
  953. },
  954. //导出excel
  955. // async createExportData () {
  956. // this.searchData.limit = -1
  957. // this.searchData.page = 1
  958. // await eamPropertiesModelSearch(this.searchData).then(({data}) => {
  959. // this.exportList = data.page.list
  960. // })
  961. // return this.exportList
  962. // },
  963. // startDownload() {},
  964. // finishDownload() {},
  965. // fields() {
  966. // let json = "{"
  967. // this.columnList.forEach((item, index) => {
  968. // if (index == this.columnList.length - 1) {
  969. // json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\""
  970. // } else {
  971. // json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\"" + ","
  972. // }
  973. // })
  974. // json += "}"
  975. // let s = eval("(" + json + ")")
  976. // return s
  977. // },
  978. // 获取数据列表
  979. getDataList () {
  980. this.searchData.limit = this.pageSize
  981. this.searchData.page = this.pageIndex
  982. eamPropertiesModelSearch(this.searchData).then(({data}) => {
  983. if (data.code === 0) {
  984. this.dataList = data.page.list
  985. this.pageIndex = data.page.currPage
  986. this.pageSize = data.page.pageSize
  987. this.totalPage = data.page.totalCount
  988. }
  989. })
  990. },
  991. // 每页数
  992. sizeChangeHandle (val) {
  993. this.pageSize = val
  994. this.pageIndex = 1
  995. this.getDataList()
  996. },
  997. // 当前页
  998. currentChangeHandle (val) {
  999. this.pageIndex = val
  1000. this.getDataList()
  1001. },
  1002. addModal () {
  1003. this.modalData = {
  1004. site: '',
  1005. bu: this.userBuList[0].buNo,
  1006. flag: '1',
  1007. codeNo: '',
  1008. codeDesc: '',
  1009. active: 'Y',
  1010. functionType: 'A',
  1011. userId: this.$store.state.user.name,
  1012. createdBy: this.$store.state.user.name,
  1013. updateBy: this.$store.state.user.name,
  1014. checkType: this.userRoleList.length > 0 ? this.userRoleList[0].roleNo : 'R022',
  1015. }
  1016. this.modalDisableFlag = false
  1017. this.modalFlag = true
  1018. },
  1019. updateModal (row) {
  1020. this.modalData = {
  1021. site: this.$store.state.user.site,
  1022. flag: '2',
  1023. bu: row.site + '_' + row.buNo,
  1024. codeNo: row.codeNo,
  1025. codeDesc: row.codeDesc,
  1026. active: row.active,
  1027. functionType: 'A',
  1028. userId: this.$store.state.user.name,
  1029. updateBy: this.$store.state.user.name,
  1030. checkType: row.checkType
  1031. }
  1032. this.modalDisableFlag = true
  1033. this.modalFlag = true
  1034. },
  1035. // 删除
  1036. deletePropertiesModel (row) {
  1037. this.$confirm(`是否删除这个点检模板?`, '提示', {
  1038. confirmButtonText: '确定',
  1039. cancelButtonText: '取消',
  1040. type: 'warning'
  1041. }).then(() => {
  1042. eamPropertiesModelDelete(row).then(({data}) => {
  1043. if (data && data.code === 0) {
  1044. this.getDataList()
  1045. this.$message({
  1046. message: '操作成功',
  1047. type: 'success',
  1048. duration: 1500,
  1049. onClose: () => {}
  1050. })
  1051. } else {
  1052. this.$alert(data.msg, '错误', {
  1053. confirmButtonText: '确定'
  1054. })
  1055. }
  1056. })
  1057. })
  1058. },
  1059. saveData () {
  1060. if (this.modalData.bu === '' || this.modalData.bu == null) {
  1061. this.$message.warning('请选择BU!')
  1062. return
  1063. }
  1064. if (this.modalData.checkType === '' || this.modalData.checkType == null) {
  1065. this.$message.warning('请选择部门!')
  1066. return
  1067. }
  1068. if (this.modalData.codeNo === '' || this.modalData.codeNo == null) {
  1069. this.$message.warning('请输入点检模板编码!')
  1070. return
  1071. }
  1072. if (this.modalData.codeDesc === '' || this.modalData.codeDesc == null) {
  1073. this.$message.warning('请输入点检模板名称!')
  1074. return
  1075. }
  1076. if (this.modalData.active === '' || this.modalData.active == null) {
  1077. this.$message.warning('选择是否在用!')
  1078. return
  1079. }
  1080. if (this.modalData.flag === '1') {
  1081. eamPropertiesModelSave(this.modalData).then(({data}) => {
  1082. if (data && data.code === 0) {
  1083. this.getDataList()
  1084. this.modalFlag = false
  1085. this.$message({
  1086. message: '操作成功',
  1087. type: 'success',
  1088. duration: 1500,
  1089. onClose: () => {}
  1090. })
  1091. } else {
  1092. this.$alert(data.msg, '错误', {
  1093. confirmButtonText: '确定'
  1094. })
  1095. }
  1096. })
  1097. } else {
  1098. eamPropertiesModelEdit(this.modalData).then(({data}) => {
  1099. if (data && data.code === 0) {
  1100. this.getDataList()
  1101. this.modalFlag = false
  1102. this.$message({
  1103. message: '操作成功',
  1104. type: 'success',
  1105. duration: 1500,
  1106. onClose: () => {}
  1107. })
  1108. } else {
  1109. this.$alert(data.msg, '错误', {
  1110. confirmButtonText: '确定'
  1111. })
  1112. }
  1113. })
  1114. }
  1115. },
  1116. // 打开项目清单
  1117. detailModal (row) {
  1118. this.detailData.site = row.site
  1119. this.detailData.buNo = row.buNo
  1120. this.detailData.codeNo = row.codeNo
  1121. this.detailData.codeDesc = row.codeDesc
  1122. this.detailData.checkType = row.checkType
  1123. searchModalDetails(this.detailData).then(({data}) => {
  1124. this.detailList = data.rows
  1125. })
  1126. this.detailModelFlag = true
  1127. },
  1128. itemNoBlur () {
  1129. let inData = {
  1130. site: this.$store.state.user.site,
  1131. itemType: 'A',
  1132. itemNo: this.detailData.itemNo
  1133. }
  1134. eamPropertiesItemSearch(inData).then(({data}) => {
  1135. if (data.rows.length > 0) {
  1136. this.detailData.itemDesc = data.rows[0].itemDesc
  1137. }else {
  1138. this.detailData.itemDesc = ''
  1139. }
  1140. })
  1141. },
  1142. deleteModalDetails (row) {
  1143. this.$confirm(`是否删除这个点检项目?`, '提示', {
  1144. confirmButtonText: '确定',
  1145. cancelButtonText: '取消',
  1146. type: 'warning'
  1147. }).then(() => {
  1148. deleteModalDetail(row).then(({data}) => {
  1149. if (data && data.code === 0) {
  1150. searchModalDetails(this.detailData).then(({data}) => {
  1151. this.detailList = data.rows
  1152. })
  1153. this.$message({
  1154. message: '操作成功',
  1155. type: 'success',
  1156. duration: 1500,
  1157. onClose: () => {}
  1158. })
  1159. } else {
  1160. this.$alert(data.msg, '错误', {
  1161. confirmButtonText: '确定'
  1162. })
  1163. }
  1164. })
  1165. })
  1166. },
  1167. chooseModal (row) {
  1168. this.chooseModalData.site = row.site
  1169. this.chooseModalData.buNo = row.buNo
  1170. this.chooseModalData.itemNo = row.itemNo
  1171. this.chooseModalData.itemDesc = row.itemDesc
  1172. this.chooseModalData.valueTypeDb = row.valueTypeDb
  1173. searchItemAvailable(this.chooseModalData).then(({data}) => {
  1174. this.chooseTableData = data.rows
  1175. })
  1176. this.chooseModalFlag = true
  1177. },
  1178. queryTemplateItem () {
  1179. getItemLists(this.detailData).then(({data}) => {
  1180. this.itemList1 = data.row1
  1181. this.itemList2 = data.row2
  1182. })
  1183. },
  1184. addFastModal () {
  1185. this.itemSelections1 = null
  1186. this.itemSelections2 = null
  1187. getItemLists(this.detailData).then(({data}) => {
  1188. this.itemList1 = data.row1
  1189. this.itemList2 = data.row2
  1190. })
  1191. this.fastAddFlag = true
  1192. },
  1193. // 可选项目
  1194. itemClickRow1 (row) {
  1195. this.$refs.itemTable1.toggleRowSelection(row);
  1196. },
  1197. itemClickRow(row){
  1198. this.currentRow= JSON.parse(JSON.stringify(row))
  1199. },
  1200. // 已有项目
  1201. itemClickRow2 (row) {
  1202. this.$refs.itemTable2.toggleRowSelection(row);
  1203. },
  1204. selectionItem1 (val) {
  1205. this.itemSelections1 = val
  1206. },
  1207. selectionItem2 (val) {
  1208. this.itemSelections2 = val
  1209. },
  1210. addItem () {
  1211. if (this.itemSelections1 == null || this.itemSelections1.length === 0) {
  1212. this.$message.warning('请选择可选项目!')
  1213. return
  1214. }
  1215. let inData = {
  1216. site: this.detailData.site,
  1217. buNo: this.detailData.buNo,
  1218. codeNo: this.detailData.codeNo,
  1219. codeDesc: this.detailData.codeDesc,
  1220. functionType: this.detailData.functionType,
  1221. itemList: this.itemSelections1,
  1222. itemType: this.detailData.itemType,
  1223. userId: this.$store.state.user.name,
  1224. checkType: this.detailData.checkType,
  1225. }
  1226. saveModalDetails(inData).then(({data}) => {
  1227. if (data && data.code === 0) {
  1228. getItemLists(this.detailData).then(({data}) => {
  1229. this.itemList1 = data.row1
  1230. this.itemList2 = data.row2
  1231. })
  1232. this.itemSelections1 = []
  1233. } else {
  1234. this.$alert(data.msg, '错误', {
  1235. confirmButtonText: '确定'
  1236. })
  1237. }
  1238. })
  1239. },
  1240. deleteItem () {
  1241. if(this.itemSelections2 == null || this.itemSelections2.length === 0){
  1242. this.$message.warning('请选择已有项目!')
  1243. return
  1244. }
  1245. let inData = {
  1246. site: this.detailData.site,
  1247. buNo: this.detailData.buNo,
  1248. codeNo: this.detailData.codeNo,
  1249. codeDesc: this.detailData.codeDesc,
  1250. functionType: this.detailData.functionType,
  1251. itemList: this.itemSelections2,
  1252. itemType: this.detailData.itemType,
  1253. userId: this.$store.state.user.name
  1254. }
  1255. deleteModalDetails(inData).then(({data}) => {
  1256. if (data && data.code === 0) {
  1257. getItemLists(this.detailData).then(({data}) => {
  1258. this.itemList1 = data.row1
  1259. this.itemList2 = data.row2
  1260. })
  1261. this.itemSelections2 = []
  1262. } else {
  1263. this.$alert(data.msg, '错误', {
  1264. confirmButtonText: '确定'
  1265. })
  1266. }
  1267. })
  1268. },
  1269. refreshDetailList () {
  1270. searchModalDetails(this.detailData).then(({data}) => {
  1271. this.detailList = data.rows
  1272. })
  1273. },
  1274. goUp() {
  1275. goUpItemEam(this.currentRow).then(({data}) => {
  1276. if (data && data.code === 0) {
  1277. searchModalDetails(this.detailData).then(({data}) => {
  1278. this.detailList = data.rows
  1279. for (let i = 0; i <this.detailList.length ; i++) {
  1280. if(this.detailList[i].itemNo===this.currentRow.itemNo){
  1281. this.$refs.detailTable.setCurrentRow(this.detailList[i]);
  1282. this.currentRow=JSON.parse(JSON.stringify(this.detailList[i]))
  1283. this.$message.success('操作成功')
  1284. }
  1285. }
  1286. //this.objectSearch()
  1287. })
  1288. }
  1289. })
  1290. },
  1291. goDown() {
  1292. goDownItemEam(this.currentRow).then(({data}) => {
  1293. if (data && data.code === 0) {
  1294. searchModalDetails(this.detailData).then(({data}) => {
  1295. this.detailList = data.rows
  1296. for (let i = 0; i <this.detailList.length ; i++) {
  1297. if(this.detailList[i].itemNo===this.currentRow.itemNo){
  1298. this.$refs.detailTable.setCurrentRow(this.detailList[i]);
  1299. this.currentRow=JSON.parse(JSON.stringify(this.detailList[i]))
  1300. this.$message.success('操作成功')
  1301. }
  1302. }
  1303. })
  1304. }
  1305. })
  1306. },
  1307. // 动态列开始 获取 用户保存的 格式列
  1308. async getTableUserColumn (tableId, columnId) {
  1309. let queryTableUser = {
  1310. userId: this.$store.state.user.name,
  1311. functionId: this.$route.meta.menuId,
  1312. tableId: tableId,
  1313. status: true,
  1314. languageCode: this.$i18n.locale
  1315. }
  1316. await getTableUserListLanguage(queryTableUser).then(({data}) => {
  1317. if (data.rows.length > 0) {
  1318. switch (columnId) {
  1319. case 1:
  1320. this.columnList = data.rows
  1321. break;
  1322. case 2:
  1323. this.columnDetailList = data.rows
  1324. break;
  1325. }
  1326. } else {
  1327. this.getColumnList(tableId, columnId)
  1328. }
  1329. })
  1330. },
  1331. // 获取 tableDefault 列
  1332. async getColumnList (tableId, columnId) {
  1333. let queryTable = {
  1334. functionId: this.$route.meta.menuId,
  1335. tableId: tableId,
  1336. languageCode: this.$i18n.locale
  1337. }
  1338. await getTableDefaultListLanguage(queryTable).then(({data}) => {
  1339. if (!data.rows.length == 0) {
  1340. switch (columnId) {
  1341. case 1:
  1342. this.columnList = data.rows
  1343. break;
  1344. case 2:
  1345. this.columnDetailList = data.rows
  1346. break;
  1347. }
  1348. }
  1349. })
  1350. },
  1351. //获取按钮的权限数据
  1352. getButtonAuthData () {
  1353. let searchFlag = this.isAuth(this.menuId+":search")
  1354. let saveFlag = this.isAuth(this.menuId+":save")
  1355. let updateFlag = this.isAuth(this.menuId+":update")
  1356. let deleteFlag = this.isAuth(this.menuId+":delete")
  1357. //处理页面的权限数据
  1358. this.authSearch = !searchFlag
  1359. this.authSave = !saveFlag
  1360. this.authUpdate = !updateFlag
  1361. this.authDelete = !deleteFlag
  1362. },
  1363. }
  1364. }
  1365. </script>
  1366. <style scoped>
  1367. .el-table /deep/ .cell{
  1368. height: auto;
  1369. line-height: 1.5;
  1370. }
  1371. </style>