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.

633 lines
20 KiB

1 year ago
  1. <template>
  2. <div class="mod-config">
  3. <el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 0px;">
  4. <el-form-item :label="'BU:'">
  5. <el-select v-model="searchData.buNo" placeholder="请选择" >
  6. <el-option label="全部" value=""></el-option>
  7. <el-option
  8. v-for = "i in buList"
  9. :key = "i.buNo"
  10. :label = "i.buDesc"
  11. :value = "i.buNo">
  12. </el-option>
  13. </el-select>
  14. </el-form-item>
  15. <el-form-item :label="'栈板类型:'">
  16. <el-input v-model="searchData.palletType" ></el-input>
  17. <!-- <el-select filterable v-model="searchData.palletType" clearable style="width: 140px;">
  18. <el-option :label="item" :value="item" v-for="(item,index) in palletTypes "
  19. :key="index"></el-option>
  20. </el-select>-->
  21. </el-form-item>
  22. <el-form-item :label="' '" >
  23. <el-button @click="searchTable()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'查询'}}</el-button>
  24. <el-button @click="addModelOpen()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'新增'}}</el-button>
  25. </el-form-item>
  26. </el-form>
  27. <el-table
  28. @row-click="changeData"
  29. highlight-current-row
  30. :height="height"
  31. :data="dataList"
  32. ref="mainTable"
  33. border
  34. v-loading="dataListLoading"
  35. style="width: 100%;">
  36. <el-table-column
  37. header-align="center"
  38. align="center"
  39. width="100"
  40. fixed="left"
  41. label="操作">
  42. <template slot-scope="scope">
  43. <a type="text" size="small" @click="updateModelOpen(scope.row)">编辑</a>
  44. <a type="text" size="small" @click="deletePallet(scope.row)">删除</a>
  45. </template>
  46. </el-table-column>
  47. <el-table-column
  48. v-for="(item,index) in columnList1" :key="index"
  49. :sortable="item.columnSortable"
  50. :prop="item.columnProp"
  51. :header-align="item.headerAlign"
  52. :show-overflow-tooltip="item.showOverflowTooltip"
  53. :align="item.align"
  54. :fixed="item.fixed==''?false:item.fixed"
  55. :min-width="item.columnWidth"
  56. :label="item.columnLabel">
  57. <template slot-scope="scope">
  58. <span v-if="!item.columnHidden"> {{scope.row[item.columnProp]}}</span>
  59. <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
  60. style="width: 100px; height: 80px"/></span>
  61. </template>
  62. </el-table-column>
  63. </el-table>
  64. <el-pagination
  65. @size-change="sizeChangeHandle"
  66. @current-change="currentChangeHandle"
  67. :current-page="pageIndex"
  68. :page-sizes="[20, 50, 100, 1000]"
  69. :page-size="pageSize"
  70. :total="totalPage"
  71. layout="total, sizes, prev, pager, next, jumper">
  72. </el-pagination>
  73. <el-dialog title="维护栈板信息" :close-on-click-modal="false" v-drag :visible.sync="addModelFlag" width="500px">
  74. <el-form label-position="top" style="margin-left: 7px;margin-top: -5px;">
  75. <el-row :gutter="20">
  76. <el-col :span="8">
  77. <el-form-item :label="'BU:'">
  78. <el-select v-model="addModel.buNo" placeholder="请选择" :disabled="addModel.addFlag!==0" style="width: 100%">
  79. <el-option
  80. v-for = "i in buList"
  81. :key = "i.buNo"
  82. :label = "i.buDesc"
  83. :value = "i.buNo">
  84. </el-option>
  85. </el-select>
  86. </el-form-item>
  87. </el-col>
  88. <el-col :span="8">
  89. <el-form-item label="栈板编码">
  90. <el-input v-model="addModel.palletNo" :disabled="addModel.addFlag!==0" ></el-input>
  91. </el-form-item>
  92. </el-col>
  93. <el-col :span="8">
  94. <el-form-item :label="'栈板类型'" >
  95. <el-input v-model="addModel.palletType" ></el-input>
  96. <!-- <el-select filterable v-model="addModel.palletType" clearable style="width:100%;">
  97. <el-option :label="item" :value="item" v-for="(item,index) in palletTypes "
  98. :key="index"></el-option>
  99. </el-select>-->
  100. </el-form-item>
  101. </el-col>
  102. <el-col :span="8">
  103. <el-form-item :label="'应用环境'" >
  104. <el-select filterable v-model="addModel.applicationArea" clearable style="width: 100%;">
  105. <el-option label="EU" value="EU"></el-option>
  106. <el-option label="US" value="US"></el-option>
  107. </el-select>
  108. </el-form-item>
  109. </el-col>
  110. <el-col :span="8">
  111. <el-form-item label="长(M)">
  112. <el-input v-model="addModel.length" ></el-input>
  113. </el-form-item>
  114. </el-col>
  115. <el-col :span="8">
  116. <el-form-item label="宽(M)">
  117. <el-input v-model="addModel.width" ></el-input>
  118. </el-form-item>
  119. </el-col>
  120. <el-col :span="8">
  121. <el-form-item label="栈板高(M)">
  122. <el-input v-model="addModel.height" ></el-input>
  123. </el-form-item>
  124. </el-col>
  125. <el-col :span="16">
  126. <el-form-item :label="'备注'" >
  127. <el-input v-model="addModel.remark" ></el-input>
  128. </el-form-item>
  129. </el-col>
  130. </el-row>
  131. </el-form>
  132. <el-footer style="height:40px;margin-top: 10px;text-align:center">
  133. <el-button type="primary" @click="savePallet()">保存</el-button>
  134. <el-button type="primary" @click="addModelFlag=false">关闭</el-button>
  135. </el-footer>
  136. </el-dialog>
  137. <!--列表的组件-->
  138. <Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
  139. </div>
  140. </template>
  141. <script>
  142. import Chooselist from '@/views/modules/common/Chooselist_eam'
  143. import {} from "@/api/sysLanguage.js"
  144. import {
  145. searchPalletData,
  146. savePalletData,
  147. deletePallet,
  148. }from "@/api/ecss/ecss.js"
  149. import {getBuList}from '@/api/factory/site.js'
  150. export default {
  151. name: "null",
  152. components:{
  153. Chooselist,
  154. },
  155. data() {
  156. return {
  157. palletTypes: ['木栈板', '塑料栈板', '钢栈板', '复合材料栈板'],
  158. pageIndex: 1,
  159. pageSize: 100,
  160. totalPage: 0,
  161. height: 200,
  162. buList:[],
  163. dataList:[],
  164. dataList2:[],
  165. dataListLoading: false,
  166. searchData: {
  167. page: 1,
  168. limit: 100,
  169. buNo:'',
  170. palletType:'',
  171. codeNo:'',
  172. username:this.$store.state.user.name,
  173. },
  174. buttons:{
  175. search:'查询',
  176. },
  177. addModelFlag:false,
  178. addModel:{
  179. addFlag:0,
  180. palletNo:'',
  181. site:'',
  182. buNo:'',
  183. palletType:'',
  184. length:'',
  185. width:'',
  186. height:'',
  187. applicationArea:'',
  188. remark:'',
  189. },
  190. addDisabledFlag:true,
  191. activeName:'attribute',
  192. columnList1: [
  193. {
  194. userId: this.$store.state.user.name,
  195. functionId: 801007,
  196. serialNumber: '801007Table1BuDesc',
  197. tableId: "801007Table1",
  198. tableName: "pallet基础信息",
  199. columnProp: "buDesc",
  200. headerAlign: "center",
  201. align: "center",
  202. columnLabel: "BU",
  203. columnHidden: false,
  204. columnImage: false,
  205. columnSortable: false,
  206. sortLv: 0,
  207. status: true,
  208. fixed: '',
  209. columnWidth: 80
  210. },
  211. {
  212. userId: this.$store.state.user.name,
  213. functionId: 801003,
  214. serialNumber: '801007Table1PalletNo',
  215. tableId: "801007Table1",
  216. tableName: "pallet基础信息",
  217. columnProp: "palletNo",
  218. headerAlign: "center",
  219. align: "center",
  220. columnLabel: "栈板编码",
  221. columnHidden: false,
  222. columnImage: false,
  223. columnSortable: false,
  224. sortLv: 0,
  225. status: true,
  226. fixed: '',
  227. columnWidth: 160
  228. },
  229. {
  230. userId: this.$store.state.user.name,
  231. functionId: 801003,
  232. serialNumber: '801007Table1PalletType',
  233. tableId: "801007Table1",
  234. tableName: "pallet基础信息",
  235. columnProp: "palletType",
  236. headerAlign: "center",
  237. align: "center",
  238. columnLabel: "栈板类型",
  239. columnHidden: false,
  240. columnImage: false,
  241. columnSortable: false,
  242. sortLv: 0,
  243. status: true,
  244. fixed: '',
  245. columnWidth: 100
  246. },
  247. {
  248. userId: this.$store.state.user.name,
  249. functionId: 801003,
  250. serialNumber: '801007Table1Length',
  251. tableId: "801007Table1",
  252. tableName: "pallet基础信息",
  253. columnProp: "length",
  254. headerAlign: "center",
  255. align: "center",
  256. columnLabel: "长(M)",
  257. columnHidden: false,
  258. columnImage: false,
  259. columnSortable: false,
  260. sortLv: 0,
  261. status: true,
  262. fixed: '',
  263. columnWidth: 100
  264. },
  265. {
  266. userId: this.$store.state.user.name,
  267. functionId: 801003,
  268. serialNumber: '801007Table1Width',
  269. tableId: "801007Table1",
  270. tableName: "pallet基础信息",
  271. columnProp: "width",
  272. headerAlign: "center",
  273. align: "center",
  274. columnLabel: "宽(M)",
  275. columnHidden: false,
  276. columnImage: false,
  277. columnSortable: false,
  278. sortLv: 0,
  279. status: true,
  280. fixed: '',
  281. columnWidth: 100
  282. },
  283. {
  284. userId: this.$store.state.user.name,
  285. functionId: 801003,
  286. serialNumber: '801007Table1Height',
  287. tableId: "801007Table1",
  288. tableName: "pallet基础信息",
  289. columnProp: "height",
  290. headerAlign: "center",
  291. align: "center",
  292. columnLabel: "栈板高(M)",
  293. columnHidden: false,
  294. columnImage: false,
  295. columnSortable: false,
  296. sortLv: 0,
  297. status: true,
  298. fixed: '',
  299. columnWidth: 100
  300. },
  301. {
  302. userId: this.$store.state.user.name,
  303. functionId: 801003,
  304. serialNumber: '801007Table1ApplicationArea',
  305. tableId: "801007Table1",
  306. tableName: "pallet基础信息",
  307. columnProp: "applicationArea",
  308. headerAlign: "center",
  309. align: "center",
  310. columnLabel: "应用环境",
  311. columnHidden: false,
  312. columnImage: false,
  313. columnSortable: false,
  314. sortLv: 0,
  315. status: true,
  316. fixed: '',
  317. columnWidth: 100
  318. },
  319. {
  320. userId: this.$store.state.user.name,
  321. functionId: 801003,
  322. serialNumber: '801007Table1CreateBy',
  323. tableId: "801007Table1",
  324. tableName: "pallet基础信息",
  325. columnProp: "createBy",
  326. headerAlign: "center",
  327. align: "center",
  328. columnLabel: "创建人",
  329. columnHidden: false,
  330. columnImage: false,
  331. columnSortable: false,
  332. sortLv: 0,
  333. status: true,
  334. fixed: '',
  335. columnWidth: 100
  336. },
  337. {
  338. userId: this.$store.state.user.name,
  339. functionId: 801003,
  340. serialNumber: '801007Table1CreateDate',
  341. tableId: "801007Table1",
  342. tableName: "pallet基础信息",
  343. columnProp: "createDate",
  344. headerAlign: "center",
  345. align: "center",
  346. columnLabel: "创建日期",
  347. columnHidden: false,
  348. columnImage: false,
  349. columnSortable: false,
  350. sortLv: 0,
  351. status: true,
  352. fixed: '',
  353. columnWidth: 140
  354. },
  355. {
  356. userId: this.$store.state.user.name,
  357. functionId: 801003,
  358. serialNumber: '801007Table1UpdateBy',
  359. tableId: "801007Table1",
  360. tableName: "pallet基础信息",
  361. columnProp: "updateBy",
  362. headerAlign: "center",
  363. align: "left",
  364. columnLabel: "修改人",
  365. columnHidden: false,
  366. columnImage: false,
  367. columnSortable: false,
  368. sortLv: 0,
  369. status: true,
  370. fixed: '',
  371. columnWidth: 100
  372. },
  373. {
  374. userId: this.$store.state.user.name,
  375. functionId: 801003,
  376. serialNumber: '801007Table1UpdateDate',
  377. tableId: "801007Table1",
  378. tableName: "pallet基础信息",
  379. columnProp: "updateDate",
  380. headerAlign: "center",
  381. align: "center",
  382. columnLabel: "修改日期",
  383. columnHidden: false,
  384. columnImage: false,
  385. columnSortable: false,
  386. sortLv: 0,
  387. status: true,
  388. fixed: '',
  389. columnWidth: 100
  390. },
  391. {
  392. userId: this.$store.state.user.name,
  393. functionId: 801003,
  394. serialNumber: '801007Table1Remark',
  395. tableId: "801007Table1",
  396. tableName: "pallet基础信息",
  397. columnProp: "remark",
  398. headerAlign: "center",
  399. align: "left",
  400. columnLabel: "备注",
  401. columnHidden: false,
  402. columnImage: false,
  403. columnSortable: false,
  404. sortLv: 0,
  405. status: true,
  406. fixed: '',
  407. columnWidth: 300
  408. },
  409. ],
  410. currentRow:{},
  411. }
  412. },
  413. mounted() {
  414. this.$nextTick(() => {
  415. this.height = (window.innerHeight - 240)/2;
  416. })
  417. },
  418. methods: {
  419. // 获取基础数据列表S
  420. getBaseList(val, type) {
  421. this.tagNo = val
  422. this.$nextTick(() => {
  423. let strVal = ''
  424. if (val === 33) {
  425. strVal = this.addModel.codeNo
  426. }
  427. this.$refs.baseList.init(val, strVal)
  428. })
  429. },
  430. /* 列表方法的回调 */
  431. getBaseData(val) {
  432. if (this.tagNo === 33) {
  433. this.addModel.codeNo = val.Code_No
  434. }
  435. },
  436. // 每页数
  437. sizeChangeHandle (val) {
  438. this.pageSize = val
  439. this.pageIndex = 1
  440. this.searchTable()
  441. },
  442. // 当前页
  443. currentChangeHandle (val) {
  444. this.pageIndex = val
  445. this.searchTable()
  446. },
  447. searchTable(){
  448. this.searchData.limit = this.pageSize
  449. this.searchData.page = this.pageIndex
  450. searchPalletData(this.searchData).then(({data}) => {
  451. //区分请求成功和失败的状况
  452. if (data && data.code == 0) {
  453. this.dataList = data.page.list
  454. this.pageIndex = data.page.currPage
  455. this.pageSize = data.page.pageSize
  456. this.totalPage = data.page.totalCount
  457. if(this.dataList.length>0){
  458. this.$refs.mainTable.setCurrentRow(this.dataList[0]);
  459. this.changeData(this.dataList[0])
  460. }else {
  461. this.changeData(null)
  462. }
  463. } else {
  464. this.dataList = [];
  465. }
  466. });
  467. },
  468. changeData(row){
  469. this.currentRow = JSON.parse(JSON.stringify(row));
  470. this.headerData=row;
  471. this.refreshCurrentTabTable ();
  472. },
  473. refreshCurrentTabTable(){
  474. if(this.currentRow===''||this.currentRow===null){
  475. this.currentRow={site:'',hsCode:'',buNo:'',recordType:'',codeNo:''}
  476. }
  477. if(this.activeName==='detail'){
  478. // searchEcssCoDelNotifyDetail(this.currentRow).then(({data}) => {
  479. // //区分请求成功和失败的状况
  480. // if (data && data.code == 0) {
  481. // this.dataList2 = data.rows
  482. //
  483. // } else {
  484. // this.dataList2 = [];
  485. // }
  486. // });
  487. }
  488. },
  489. tabClick (tab, event) {
  490. // 刷新列表数据
  491. this.refreshCurrentTabTable()
  492. },
  493. getBu () {
  494. let tempData = {
  495. username: this.$store.state.user.name,
  496. }
  497. getBuList(tempData).then(({data}) => {
  498. if (data.code === 0) {
  499. this.buList = data.row2
  500. }
  501. })
  502. },
  503. addModelOpen(){
  504. this.addDisabledFlag=true
  505. this.addModel={
  506. addFlag:0,
  507. palletNo:'',
  508. site:'',
  509. buNo:'',
  510. palletType:'',
  511. length:'',
  512. width:'',
  513. height:'',
  514. applicationArea:'',
  515. remark:'',
  516. }
  517. this.addModelFlag=true
  518. },
  519. updateModelOpen(row){
  520. this.addDisabledFlag=false
  521. this.addModel={
  522. id:row.id,
  523. addFlag:1,
  524. palletNo:row.palletNo,
  525. site:row.site,
  526. buNo:row.buNo,
  527. palletType:row.palletType,
  528. length:row.length,
  529. width:row.width,
  530. height:row.height,
  531. applicationArea:row.applicationArea,
  532. remark:row.remark,
  533. }
  534. this.addModelFlag=true
  535. },
  536. deletePallet(row){
  537. this.$confirm('确认删除?', '提示').then(() => {
  538. deletePallet(row).then(({data}) => {
  539. if (data && data.code === 0) {
  540. this.searchTable()
  541. this.$message({
  542. message: '操作成功',
  543. type: 'success',
  544. duration: 1500,
  545. onClose: () => {}
  546. })
  547. } else {
  548. this.$alert(data.msg, '错误', {
  549. confirmButtonText: '确定'
  550. })
  551. }
  552. })
  553. })
  554. },
  555. savePallet(){
  556. if(this.addModel.buNo==null||this.addModel.buNo===''){
  557. this.$alert('请选择BU!', '错误', {
  558. confirmButtonText: '确定'
  559. })
  560. return false
  561. }
  562. if(this.addModel.palletNo==null||this.addModel.palletNo===''){
  563. this.$alert('请输入编码!', '错误', {
  564. confirmButtonText: '确定'
  565. })
  566. return false
  567. }
  568. if(this.addModel.applicationArea==null||this.addModel.applicationArea===''){
  569. this.$alert('请输入应用环境!', '错误', {
  570. confirmButtonText: '确定'
  571. })
  572. return false
  573. }
  574. if(this.addModel.palletType==null||this.addModel.palletType===''){
  575. this.$alert('请输入类型!', '错误', {
  576. confirmButtonText: '确定'
  577. })
  578. return false
  579. }
  580. if(this.addModel.length==null||this.addModel.length===''){
  581. this.$alert('请输入长度!', '错误', {
  582. confirmButtonText: '确定'
  583. })
  584. return false
  585. }
  586. if(this.addModel.width==null||this.addModel.width===''){
  587. this.$alert('请输入宽度!', '错误', {
  588. confirmButtonText: '确定'
  589. })
  590. }
  591. if(this.addModel.height==null||this.addModel.height===''){
  592. this.$alert('请输入高度!', '错误', {
  593. confirmButtonText: '确定'
  594. })
  595. return false
  596. }
  597. savePalletData(this.addModel).then(({data}) => {
  598. if (data && data.code === 0) {
  599. this.searchTable()
  600. this.addModelFlag = false
  601. this.$message({
  602. message: '操作成功',
  603. type: 'success',
  604. duration: 1500,
  605. onClose: () => {}
  606. })
  607. } else {
  608. this.$alert(data.msg, '错误', {
  609. confirmButtonText: '确定'
  610. })
  611. }
  612. })
  613. },
  614. },
  615. activated() {
  616. this.searchTable()
  617. },
  618. created() {
  619. this.getBu ()
  620. }
  621. }
  622. </script>
  623. <style scoped>
  624. </style>