<template> <!-- <el-dialog title="收货地址" :visible.sync="dialogFormVisible">--> <el-container> <el-header style="width: 100%; height: 80px;font-size: 12px"> <el-form :inline="true" label-width="60px" label-position="left"> <el-row> <el-col :span="22"> <el-form-item label="船号:"> <vxe-pulldown ref="xDown4" transfer > <template #default> <vxe-input v-model="queryParam.dcch" placeholder="船号" style="height: 28px; line-height: 28px; width: 140px;" suffix-icon="vxe-icon--search" @keyup="keyupEvent4" @focus="focusEvent4" /> </template> <template #dropdown> <div class="my-dropdown mytable " style="width: 250px"> <vxe-grid highlight-hover-row height="auto" :data="projectData" :columns="projectColumns" @cell-click="cellClickEvent" show-overflow > <template #wgbsEdit="{ row}"> <vxe-checkbox v-model="row.wgbs" checked-value="Y" unchecked-value="N" disabled ></vxe-checkbox> </template> </vxe-grid> </div> </template> </vxe-pulldown> </el-form-item> <el-form-item label="批量:"> <el-input v-model="queryParam.pl" type="search" placeholder="批量" ></el-input> </el-form-item> <el-form-item label="分段:"> <el-input v-model="queryParam.fd" type="search" placeholder="分段" ></el-input> </el-form-item> </el-col> <el-col :span="2"> <el-form-item style="float: right" > <el-button type="success" @click="initList">查询</el-button> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="14" > <el-form-item label="状态:"> <el-select v-model="queryParam.zt" placeholder="状态" clearable> <el-option v-for="item in statusOptions" :key="item.value" :label="item.label" :value="item.value" > </el-option> </el-select> </el-form-item> </el-col> <el-col :span="6" style="text-align: right;"> <el-form-item > <el-input v-model="queryParam.fkyy" placeholder="反馈原因" clearable /> <el-button type="info" @click="plClick">批量</el-button> </el-form-item> </el-col> <el-col :span="4" > <el-form-item style="float: right" > <el-button type="success" @click="saveclick">反馈</el-button> <el-button type="success" @click="xdClick">接收</el-button> </el-form-item> </el-col> </el-row> </el-form> </el-header> <el-container style="padding-top: 0px"> <el-container> <el-main> <div class="mytable"> <vxe-grid id="id" ref="xGrid" border resizable keep-source :align="'center'" :height="height" :auto-resize="true" :columns="tableColumn" highlight-current-row :data="list" :scroll-y="{enabled: true}" :edit-config="{trigger: 'click', mode: 'cell', showStatus: true,activeMethod: activeRowMethod}" highlight-hover-row show-overflow show-header-overflow > </vxe-grid> </div> </el-main> </el-container> </el-container> </el-container> </template> <script> import { getPwPgd, savePwPgdFk, savePwPgdXd, savePwPgdXdBack, getPgdBase } from '@/api/jhzxgl/pgd' import { mapGetters } from 'vuex' import XEUtils from 'xe-utils' import {null2str} from "@/utils/rpkj"; import { getToken } from '@/utils/auth' import { startLoading, endLoading } from '@/utils' import { Message } from 'element-ui' export default { name:'PwjhD', data() { return { queryParam: { dcch:'', pl:'', fd:'', fkyy:'', zt:'01' }, statusOptions: [ { value: "01", label: "编制", }, { value: "02", label: "下达", }, { value: "09", label: "反馈", }, ], list: [], heads: { token: getToken() }, uploadAction: process.env.VUE_APP_BASE_API + '/dmCzplpNew/uploadPl', dictData:{}, height: '500px', projectData:[], projectData1:[], projectColumns: [ {field: 'cbbm', title: '船号',width: 110}, { field: 'wgbs', title: '完工标识', width: 80, slots:{ default: 'wgbsEdit' }, }, ], tableColumn: [ { type: 'checkbox', width: 40 }, { type: 'seq', width: 40, title: '序号' }, { field: 'czbh', title: '船号', width: 100, filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filterRender: { name: 'FilterCombination', }, }, { field: 'pl', title: '批量', width: 100, filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filterRender: { name: 'FilterCombination', }, }, { field: 'fd', title: '分段', width: 100, filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filterRender: { name: 'FilterCombination', }, }, { field: 'zl', title: '组立', width: 100,formatter: ['dictFormat','ZLLB'], filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filterRender: { name: 'FilterCombination', }, }, { field: 'lqlb', title: '领取类别', width: 100,formatter: ['dictFormat','CLlQ'], filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filterRender: { name: 'FilterCombination', }, }, { field: 'kw', title: '跨位', width: 100,formatter: ['dictFormat','QGKW'], filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filterRender: { name: 'FilterCombination', }, }, { field: 'tlth', title: '套料图号', width: 100, filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filterRender: { name: 'FilterCombination', }, }, { field: 'wpgg', title: '规格', width: 100, filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filterRender: { name: 'FilterCombination', }, }, { field: 'wpcz', title: '材质', width: 100, filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filterRender: { name: 'FilterCombination', }, }, { field: 'wpzl', title: '重量', width: 100, filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filterRender: { name: 'FilterCombination', }, }, { field: 'pwwz', title: '抛丸位置', width: 100, filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filterRender: { name: 'FilterCombination', }, }, { field: 'pwjhrq', title: '抛丸计划日期', width: 100, filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filterRender: { name: 'FilterCombination', }, }, { field: 'qfxqrqxz', title: '前方需求小组期', width: 100, filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filterRender: { name: 'FilterCombination', }, }, { field: 'qfxqrqdz', title: '前方需求大组期', width: 100, filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filterRender: { name: 'FilterCombination', }, }, { field: 'sljhwgrq', title: '上料计划完工期', width: 100, filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filterRender: { name: 'FilterCombination', }, }, { field: 'pwfzr', title: '抛丸负责人', width: 100, filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filterRender: { name: 'FilterCombination', }, }, { field: 'jpbs', title: '校平标识', width: 100, filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filterRender: { name: 'FilterCombination', }, }, { field: 'pwjgry', title: '抛丸加工人员', width: 100, filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filterRender: { name: 'FilterCombination', }, }, { field: 'pwksrq', title: '抛丸开始日期', width: 100, filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filterRender: { name: 'FilterCombination', }, }, { field: 'pwjsrq', title: '抛丸结束日期', width: 100, filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filterRender: { name: 'FilterCombination', }, }, { field: 'zt', title: '状态', width: 100,formatter: ['dictFormat','PGZT'], filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filterRender: { name: 'FilterCombination', }, }, { field: 'fkry', title: '反馈人', width: 100, filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filterRender: { name: 'FilterCombination', }, }, { field: 'fkrq', title: '反馈日期', width: 100, filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filterRender: { name: 'FilterCombination', }, }, { field: 'fkyy', title: '反馈原因', width: 100,editRender: { name: 'input' }, filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filterRender: { name: 'FilterCombination', }, }, { field: 'bzry', title: '编制人', width: 100, filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filterRender: { name: 'FilterCombination', }, }, { field: 'bzrq', title: '编制日期', width: 100, filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filterRender: { name: 'FilterCombination', }, }, { field: 'xfry', title: '下发人', width: 100, filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filterRender: { name: 'FilterCombination', }, }, { field: 'xfrq', title: '下发日期', width: 100, filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }], filterRender: { name: 'FilterCombination', }, }, ] } }, computed: { ...mapGetters(['name', 'bmbm']) }, created() { window.addEventListener('resize', this.getHeight) this.getHeight() this.initBase() }, methods: { cellClickEvent({row}) { this.queryParam.dcch = row.cbbm this.$refs.xDown4.hidePanel() }, focusEvent4() { this.$refs.xDown4.showPanel() }, keyupEvent4() { if (this.queryParam.dcch) { this.projectData = this.projectData1.filter(row => row.cbbm.indexOf(this.queryParam.dcch.toUpperCase()) > -1) } else { this.projectData = this.projectData1.slice(0) } }, activeRowMethod({ row, rowIndex }){ if(row.zt==="01"){ return true }else{ return false } }, initBase(){ getPgdBase({}).then(res=>{ this.dictData = res.data this.projectData=res.data.cbbm this.projectData1=res.data.cbbm }) }, plClick(){ let selectRecords = this.$refs.xGrid.getCheckboxRecords() if(selectRecords.length>0){ for(let i = 0; i < selectRecords.length; i++) { selectRecords[i].fkyy = this.queryParam.fkyy } this.$refs.xGrid.updateData(this.list) } }, saveclick(){ let obj=this.$refs.xGrid.getUpdateRecords() if(obj.length===0){ this.$message({ message: '请填写反馈原因在进行反馈', type: 'warning' }) return } savePwPgdFk(obj).then(res=>{ if(res.success){ this.initList() } }) }, xdClick(){ let obj=this.$refs.xGrid.getCheckboxRecords() if(obj.length===0){ return } if(this.queryParam.zt==='02'){ this.$confirm('取消下达?', '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }).then(() =>{ savePwPgdXdBack(obj).then(res=>{ if(res.success){ this.$message({ message: '取消下达成功', type: 'success' }) this.initList() } }) }) }else { this.$confirm('下达?', '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }).then(() =>{ savePwPgdXd(obj).then(res=>{ if(res.success){ this.$message({ message: '下达成功', type: 'success' }) this.initList() } }) }) } }, initList() { if (this.queryParam.dcch === '') { this.$message.warning('选择船只编号') return } getPwPgd(this.queryParam).then((res) => { this.list = res.data if (this.$refs.xGrid) { this.$refs.xGrid.loadData(this.list) console.log(this.list) } }) }, selectChange(row) { // this.$refs.xGrid.clearActived() // 清除单元格激活状态 this.$refs.xGrid.clearEdit() // 清除单元格激活状态 // this.$refs.xGrid.setEditCell(row.row, row.column.property) // 设置单元格为激活状态 null2str(row.row) }, getHeight() { this.height = window.innerHeight - 190 }, } } </script> <style lang="scss" scoped > .el-header{margin:0;padding: 5px;height:auto; .el-input{ width: 140px; } .el-select{ width: 140px; } } .el-container{padding: 0;margin:0;} .el-main{padding: 0;} .el-col{padding: 0;height: 32px;} .el-aside{background: #fff;padding: 0} .el-container{padding: 0} .el-row {} .el-row:last-child {margin-bottom: 0; } .tableStyles{ background: #0a76a4; } .my-dropdown { width: 400px; height: 400px; background-color: #fff; border: 1px solid #dcdfe6; box-shadow: 0 0 6px 2px rgba(0, 0, 0, 0.1); font-size: 12px; } .mytable1{ } .borderClass{ } .vxe-input { display: inline-block !important; position: relative !important; width: auto; } .el-input { display: inline-block !important; position: relative !important; width: auto; } .keyword-lighten { color: #000; background-color: #FFFF00; } .vxe-textarea--inner { line-height: inherit; } .el-form-item__label-wrap { margin-left: 0px !important; float: left; } .fontClass{ font-size: 12px; font-weight: bold; } </style>