master
xhj 1 year ago
parent 782021f31d
commit 4b48349d72

@ -49,9 +49,9 @@
"vue-splitpane": "1.0.4",
"vuedraggable": "2.20.0",
"vuex": "3.1.0",
"vxe-table": "^3.4.14",
"vxe-table": "^3.7.5",
"vxe-table-plugin-export-xlsx": "^2.3.1",
"xe-utils": "^3.2.1",
"xe-utils": "^3.5.14",
"xlsx": "^0.14.1"
},
"devDependencies": {

@ -5,3 +5,34 @@ export function saveTzjhPgdXd(data) {return request({url: '/pgdTzjh/saveTzjhPgdX
export function saveTzjhPgdXdBack(data) {return request({url: '/pgdTzjh/saveTzjhPgdXdBack', method: 'post', data})}
export function saveTzjhPgdFk(data) {return request({url: '/pgdTzjh/saveTzjhPgdFk', method: 'post', data})}
export function getPgdBase(data) {return request({url: '/pgdTzjh/getPgdBase', method: 'post', data})}
export function getDhPgd(data) {return request({url: '/pgdDh/getDhPgd', method: 'post', data})}
export function saveDhPgdXd(data) {return request({url: '/pgdDh/saveDhPgdXd', method: 'post', data})}
export function saveDhPgdXdBack(data) {return request({url: '/pgdDh/saveDhPgdXdBack', method: 'post', data})}
export function saveDhPgdFk(data) {return request({url: '/pgdDh/saveDhPgdFk', method: 'post', data})}
export function getSljhPgd(data) {return request({url: '/pgdSljh/getSljhPgd', method: 'post', data})}
export function saveSljhPgdXd(data) {return request({url: '/pgdSljh/saveSljhPgdXd', method: 'post', data})}
export function saveSljhPgdXdBack(data) {return request({url: '/pgdSljh/saveSljhPgdXdBack', method: 'post', data})}
export function saveSljhPgdFk(data) {return request({url: '/pgdSljh/saveSljhPgdFk', method: 'post', data})}
export function getPwPgd(data) {return request({url: '/pgdPwjh/getPwPgd', method: 'post', data})}
export function savePwPgdXd(data) {return request({url: '/pgdPwjh/savePwPgdXd', method: 'post', data})}
export function savePwPgdXdBack(data) {return request({url: '/pgdPwjh/savePwPgdXdBack', method: 'post', data})}
export function savePwPgdFk(data) {return request({url: '/pgdPwjh/savePwPgdFk', method: 'post', data})}
export function getQgPgd(data) {return request({url: '/pgdPwjh/getQgPgd', method: 'post', data})}
export function saveQgPgdXd(data) {return request({url: '/pgdPwjh/saveQgPgdXd', method: 'post', data})}
export function saveQgPgdXdBack(data) {return request({url: '/pgdPwjh/saveQgPgdXdBack', method: 'post', data})}
export function saveQgPgdFk(data) {return request({url: '/pgdPwjh/saveQgPgdFk', method: 'post', data})}

@ -0,0 +1,601 @@
<template>
<el-container>
<vxe-modal v-model="dialogVisible" width="1200" title="增加">
<template #default>
<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="22">
</el-col>
<el-col :span="2">
<el-form-item style="float: right" >
<el-button type="success" @click="qdClick"></el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-header>
<div class="mytable">
<vxe-grid
id="id"
ref="xGrid"
border
resizable
height="500px"
keep-source
:auto-resize="true"
:columns="tableColumn"
:data="tableData"
highlight-hover-row
highlight-current-row
show-overflow
:header-cell-style="{'text-align':'center'}"
:cell-style="{'text-align':'center'}"
>
</vxe-grid>
</div>
</template>
</vxe-modal>
</el-container>
</template>
<script>
import XEUtils from 'xe-utils'
import {getZHBM, getBMBM} from "@/utils/rpkj";
import {mapGetters} from 'vuex'
import {getPgdBase, getQgPgd} from "@/api/jhzxgl/pgd";
export default {
name: 'GxsqAdd',
//props: ['flag'],
data() {
return {
dialogVisible: false,
tableData: [],
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: 'qgjhrq', 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: 'pwjhwgrq', title: '抛丸计划完工期', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'qgfzry', title: '切割负责人', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'hxsbbh', title: '划线设备编号', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'hxcd', title: '划线长度', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'hxkccd', title: '划线空程长度', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'qgsbbh', title: '切割设备编号', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'qgcd', title: '切割长度', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'qgkccd', title: '切割空程长度', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'hxry', title: '划线人员', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'hxksrq', title: '划线开始时间', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'hxjsrq', title: '划线结束时间', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'qgry', title: '切割人员', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'qgksrq', title: '切割开始时间', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'qgjsrq', title: '切割结束时间', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'zt', title: '状态', width: 100,
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', },
},
],
queryParam: {
dcch:'',
pl:'',
fd:'',
fkyy:'',
zt:'01'
},
projectData:[],
projectData1:[],
projectColumns: [
{field: 'cbbm', title: '船号',width: 110},
{ field: 'wgbs', title: '完工标识', width: 80,
slots:{
default: 'wgbsEdit'
},
},
],
dictData: [],
}
},
computed: {
...mapGetters([
'name',
'bmbm'
])
},
created() {
console.log(111)
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)
}
},
selectChange(row) {
this.$refs.xGrid.clearActived()//
this.$refs.xGrid.setActiveCell(row.row, row.column.property)//
},
show() {
this.dialogVisible = true
this.baseSeacrh()
},
qdClick(){
let obj = this.$refs.xGrid.getCheckboxRecords()
if (obj.length === 0) {
return
}
},
plChange() {
let obj = this.$refs.xGrid.getCheckboxRecords()
if (obj.length === 0) {
return
}
if (this.inputListAdd.bydd === '') {
this.$message({message: '报验地点不能为空', type: 'error'})
return
}
if(this.queryParamAdd.project.indexOf('MSD')!==-1){
}else{
if (this.inputListAdd.inspContent === '') {
this.$message({message: '检验内容不能为空', type: 'error'})
return
}
}
// if(this.inputListAdd.wpsCode===''){
// this.$message({ message: '', type: 'error' })
// return
// }
// if(this.inputListAdd.Sqrq===''){
// this.$message({ message: '', type: 'error' })
// return
// }
for (let i = 0; i < obj.length; i++) {
let rows = this.$refs.xGrid.getRowSeq(obj[i])
// if(obj[i].sc==null||obj[i].hdsl===''){
// this.$message({ message: ''+rows+'', type: 'error' })
// return
// }
// if(obj[i].hgbh==null||obj[i].hgbh===''){
// this.$message({ message: ''+rows+'', type: 'error' })
// return
// }
// if(obj[i].hgmc==null||obj[i].hgmc===''){
// this.$message({ message: ''+rows+'', type: 'error' })
// return
// }
}
let qcObjc = [];
for (let i = 0; i < obj.length; i++) {
console.log(obj[i])
//
let dept = '';
if(this.queryParamAdd.project.indexOf('MSD')!==-1){
if(obj[i].blockNo===''||obj[i].blockNo===undefined || obj[i].blockNo===null){
this.inputListAdd.inspContent=obj[i].stName
}else{
this.inputListAdd.inspContent=obj[i].blockNo+'段'+obj[i].stName
}
}
let a =
{
'sqrq': this.inputListAdd.Sqrq,
'grdType':obj[i].grdType,
'grdLevel':obj[i].grdLevel,
'inspContent': this.inputListAdd.inspContent,
'inspCode': this.queryParamAdd.byxm,
'bydd': this.inputListAdd.bydd,
'status': '01',
'qtyUnit': "根",
'departCode': "02",
'bzry': this.name,
'bzrq': XEUtils.toDateString(new Date(), 'yyyy/MM/dd'),
'project': obj[i].project,
'ph': obj[i].ph,
'kh': obj[i].kh,
'dwgNo': obj[i].dwgNo,
'itemNo': obj[i].itemNo,
'itemName': '管子',
'itemSpec': obj[i].itemSpec,
'itemGrd': obj[i].itemGrd,
'itemXh': obj[i].itemXh,
'zzcd': obj[i].itemZzcd,
'itemQty': obj[i].itemQty,
'bympa': obj[i].bympa,
'stCode': obj[i].stCode,
'stName': obj[i].stName,
'treatment': obj[i].treatment,
'paintCode': obj[i].paintCode,
'gczjh': obj[i].gczsh,
'mpid': obj[i].id,
'sxbh': obj[i].sxbh,
'stbh': obj[i].stbh,
// 'scDept':this.queryParamAdd.byxm=="0202"?this.inputListAdd.scDept:obj[i].scDept,
'scDept': this.queryParamAdd.byxm == "0202"?(obj[i].byDept===undefined||obj[i].byDept===''||obj[i].byDept===null?obj[i].scDept:obj[i].byDept):obj[i].scDept,
'cjbs': this.queryParamAdd.byxm == "0202" ? obj[i].bybsCode : obj[i].jybsCode,
'ipspSpec': 'P',
}
qcObjc.push(a);
}
console.log(qcObjc)
if (qcObjc.length != 0) {
insertqcInspection(qcObjc).then(res => {
if (res.success) {
for (let i = 0; i < this.tableData.length; i++) {
if (obj.indexOf(this.tableData[i]) !== -1) {
this.tableData.splice(i, 1)
i--
}
}
// this.tableData= this.tableData.filter((x) => !removeRecords.some((item) => x.id === item.id));
const xTable = this.$refs.xGrid
console.log(this.tableData)
xTable.loadData(this.tableData)
this.$emit('callback', obj, this.inputListAdd)
}
})
}
},
initBase(){
getPgdBase({}).then(res=>{
this.dictData = res.data
this.projectData=res.data.cbbm
this.projectData1=res.data.cbbm
})
},
initList() {
if (this.queryParam.dcch === '') {
this.$message.warning('选择船只编号')
return
}
getQgPgd(this.queryParam).then((res) => {
this.list = res.data
if (this.$refs.xGrid) {
this.$refs.xGrid.loadData(this.list)
console.log(this.list)
}
})
},
}
}
</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>

@ -1,23 +1,57 @@
<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="65px" label-position="left">
<el-form :inline="true" label-width="60px" label-position="left">
<el-row>
<el-col :span="22">
<el-form-item label="船号:">
<el-select v-model="queryParam.dcCh" filterable placeholder="工程编号" @change="czbhChange" >
<el-option
v-for="item in dictData.cbbm"
:key="item.cbbm"
:label="item.cbbm"
:value="item.cbbm">
</el-option>
</el-select>
<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.dcPl" type="search" placeholder="批量" ></el-input>
<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" >
@ -26,17 +60,30 @@
</el-col>
</el-row>
<el-row>
<el-col :span="20">
<!-- <el-form-item label="状态:">-->
<!-- <el-select v-model="queryParam.zt" filterable placeholder="状态" @change="czbhChange" >-->
<!-- <el-option-->
<!-- v-for="item in zt"-->
<!-- :key="item.bm"-->
<!-- :label="item.bmsm"-->
<!-- :value="item.bm">-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<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>
@ -57,13 +104,19 @@
:columns="tableColumn"
highlight-current-row
:data="list"
:custom-config="{ storage: true }"
: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>
@ -72,10 +125,12 @@
<script>
import {
getList,
getCzxx
} from '@/api/jhzx/qfxq'
getDhPgd,
saveDhPgdFk,
saveDhPgdXd,
saveDhPgdXdBack,
getPgdBase
} from '@/api/jhzxgl/pgd'
import { mapGetters } from 'vuex'
import XEUtils from 'xe-utils'
import {null2str} from "@/utils/rpkj";
@ -87,105 +142,158 @@ export default {
data() {
return {
queryParam: {
dcCh:'',
dcPl:'',
zt:''
dcch:'',
pl:'',
fd:'',
fkyy:'',
zt:'01'
},
statusOptions: [
{
value: "01",
label: "编制",
},
{
value: "02",
label: "下达",
},
{
value: "09",
label: "反馈",
},
],
list: [],
filedis:true,
uploadData:{
},
heads: { token: getToken() },
uploadAction: process.env.VUE_APP_BASE_API + '/dmQfxq/upload',
dictData:{
cbbm:[]
},
zt:[],
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: 'seq', width: 60, title: '序号' },
{ type: 'checkbox', width: 40 },
{ type: 'seq', width: 40, title: '序号' },
{ field: '', title: '船号', width: 120, editRender: { name: 'input' },
{ field: 'czbh', title: '船号', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: '', title: '订货清单号', width: 120, editRender: { name: 'input' },
{ field: 'dhqdh', title: '订货清单号', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: '', title: '期次', width: 120, editRender: { name: 'input' },
{ field: 'wpcz', title: '物品材质', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: '', title: '需求日期', width: 120, editRender: { name: 'input' },
{ field: 'hd', title: '厚度', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: '', title: '实际到货日期', width: 120, editRender: { name: 'input' },
{ field: 'kd', title: '宽度', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: '', title: '物料号', width: 120, editRender: { name: 'input' },
{ field: 'cd', title: '长度', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: '', title: '材质MATERIAL', width: 120, editRender: { name: 'input' },
{ field: 'xqsl', title: '数量', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: '', title: '厚度THICK.mm', width: 120, editRender: { name: 'input' },
{ field: 'slxqrq', title: '上料需求日期', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: '', title: '宽度WIDTHmm', width: 120, editRender: { name: 'input' },
{ field: 'qfxqrqxz', title: '前方需求小组期', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: '', title: '长度LENGTHmm', width: 120, editRender: { name: 'input' },
{ field: 'qfxqrqdz', title: '前方需求大组期', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: '', title: '重量吨/张WEIGHTTON/PIECE', width: 120, editRender: { name: 'input' },
{ field: 'hth', title: '合同号', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: '', title: '设计数量张DESIGNPIECE', width: 120, editRender: { name: 'input' },
{ field: 'xhth', title: '小合同号', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: '', title: '裕量张MARGINPIECE', width: 120, editRender: { name: 'input' },
{ field: 'dhsl', title: '到货数量', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: '', title: '总数量张TOTALPIECE', width: 120, editRender: { name: 'input' },
{ field: 'cgsl', title: '采购数量', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: '', title: '总重量吨TOTALTON ', width: 120, editRender: { name: 'input' },
{ field: 'zt', title: '状态', width: 100,formatter: ['dictFormat','PGZT'],
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: '', title: '利库数量张STOREPIECE', width: 120, editRender: { name: 'input' },
{ field: 'fkry', title: '反馈人', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: '', title: '利库重量吨STORETON', width: 120, editRender: { name: 'input' },
{ field: 'fkrq', title: '反馈日期', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: '', title: '实订数量张ORDERPIECE', width: 120, editRender: { name: 'input' },
{ field: 'fkyy', title: '反馈原因', width: 100, editRender: { name: 'input' },
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: '', title: '实订重量吨ORDERTON', width: 120, editRender: { name: 'input' },
{ field: 'bzry', title: '编制人', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: '', title: '备注NOTE', width: 120, editRender: { name: 'input' },
{ 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: {
@ -195,48 +303,129 @@ export default {
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(){
getCzxx({}).then(res=>{
this.dictData.cbbm = res.data
getPgdBase({}).then(res=>{
this.dictData = res.data
this.projectData=res.data.cbbm
this.projectData1=res.data.cbbm
})
const dict=window.localStorage.getItem('ZTLX');
this.zt=JSON.parse(dict)
},
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
}
saveDhPgdFk(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(() =>{
saveDhPgdXdBack(obj).then(res=>{
if(res.success){
this.$message({ message: '取消下达成功', type: 'success' })
this.initList()
}
})
})
}else {
this.$confirm('下达?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() =>{
saveDhPgdXd(obj).then(res=>{
if(res.success){
this.$message({ message: '下达成功', type: 'success' })
this.initList()
}
})
})
}
},
initList() {
if (this.queryParam.dcCh === '') {
this.$message.warning('选择船只编号')
if (this.queryParam.dcch === '') {
this.$message.warning('选择船只编号')
return
}
getList(this.queryParam).then((res) => {
getDhPgd(this.queryParam).then((res) => {
this.list = res.data
if (this.$refs.xGrid) {
this.$refs.xGrid.loadData(this.list)
console.log(this.list)
}
})
},
czbhChange(){
if (this.queryParam.dcCh === '') {
this.filedis=true
}else{
this.filedis=false
}
},
selectChange(row) {
// this.$refs.xGrid.clearActived() //
this.$refs.xGrid.clearEdit() //
// this.$refs.xGrid.setEditCell(row.row, row.column.property) //
null2str(row.row)
},
formatDate ({ cellValue }) {
return XEUtils.toDateString(cellValue, 'yyyy/MM/dd')
},
getHeight() {
this.height = window.innerHeight - 190
},
}
}
</script>

@ -0,0 +1,531 @@
<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>

@ -0,0 +1,567 @@
<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 {
getQgPgd,
saveQgPgdFk,
saveQgPgdXd,
saveQgPgdXdBack,
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:'QgjhD',
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: 'qgjhrq', 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: 'pwjhwgrq', title: '抛丸计划完工期', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'qgfzry', title: '切割负责人', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'hxsbbh', title: '划线设备编号', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'hxcd', title: '划线长度', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'hxkccd', title: '划线空程长度', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'qgsbbh', title: '切割设备编号', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'qgcd', title: '切割长度', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'qgkccd', title: '切割空程长度', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'hxry', title: '划线人员', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'hxksrq', title: '划线开始时间', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'hxjsrq', title: '划线结束时间', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'qgry', title: '切割人员', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'qgksrq', title: '切割开始时间', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'qgjsrq', title: '切割结束时间', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'zt', title: '状态', width: 100,
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
}
saveQgPgdFk(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(() =>{
saveQgPgdXdBack(obj).then(res=>{
if(res.success){
this.$message({ message: '取消下达成功', type: 'success' })
this.initList()
}
})
})
}else {
this.$confirm('下达?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() =>{
saveQgPgdXd(obj).then(res=>{
if(res.success){
this.$message({ message: '下达成功', type: 'success' })
this.initList()
}
})
})
}
},
initList() {
if (this.queryParam.dcch === '') {
this.$message.warning('选择船只编号')
return
}
getQgPgd(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>

@ -0,0 +1,580 @@
<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-button type="success" @click="Choice"></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>
<GxsqAdd ref="gxsqAdd" @callback="callback" :flag="flag"/>
</el-container>
</template>
<script>
import {
getQgPgd,
saveQgPgdFk,
saveQgPgdXd,
saveQgPgdXdBack,
getPgdBase
} from '@/api/jhzxgl/pgd'
import { mapGetters } from 'vuex'
import GxsqAdd from '@/views/jhzxgl/components/GxsqAdd'
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:'QmjhD',
components: {GxsqAdd},
data() {
return {
queryParam: {
dcch:'',
pl:'',
fd:'',
fkyy:'',
zt:'01'
},
statusOptions: [
{
value: "01",
label: "编制",
},
{
value: "02",
label: "下达",
},
{
value: "09",
label: "反馈",
},
],
list: [],
flag:false,
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: 'qgjhrq', 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: 'pwjhwgrq', title: '抛丸计划完工期', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'qgfzry', title: '切割负责人', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'hxsbbh', title: '划线设备编号', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'hxcd', title: '划线长度', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'hxkccd', title: '划线空程长度', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'qgsbbh', title: '切割设备编号', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'qgcd', title: '切割长度', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'qgkccd', title: '切割空程长度', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'hxry', title: '划线人员', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'hxksrq', title: '划线开始时间', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'hxjsrq', title: '划线结束时间', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'qgry', title: '切割人员', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'qgksrq', title: '切割开始时间', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'qgjsrq', title: '切割结束时间', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'zt', title: '状态', width: 100,
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: {
Choice() {
this.$refs.gxsqAdd.show()
},
callback(obj, inputFive) {
// this.loadData()
},
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
}
saveQgPgdFk(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(() =>{
saveQgPgdXdBack(obj).then(res=>{
if(res.success){
this.$message({ message: '取消下达成功', type: 'success' })
this.initList()
}
})
})
}else {
this.$confirm('下达?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() =>{
saveQgPgdXd(obj).then(res=>{
if(res.success){
this.$message({ message: '下达成功', type: 'success' })
this.initList()
}
})
})
}
},
initList() {
if (this.queryParam.dcch === '') {
this.$message.warning('选择船只编号')
return
}
getQgPgd(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>

@ -0,0 +1,549 @@
<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 {
getSljhPgd,
saveSljhPgdFk,
saveSljhPgdXd,
saveSljhPgdXdBack,
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:'SljhD',
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: 'hth', title: '合同号', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'xhth', title: '小合同号', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'lph', title: '炉批号/物料号', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'kwh', title: '库存垛位', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'cs', 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: 'slfzry', title: '上料负责人', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'slwz', title: '上料位置', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'sljhrq', 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: 'slry', title: '上料人员', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'slksrq', title: '上料开始', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'sjjsrq', 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
}
saveSljhPgdFk(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(() =>{
saveSljhPgdXdBack(obj).then(res=>{
if(res.success){
this.$message({ message: '取消下达成功', type: 'success' })
this.initList()
}
})
})
}else {
this.$confirm('下达?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() =>{
saveSljhPgdXd(obj).then(res=>{
if(res.success){
this.$message({ message: '下达成功', type: 'success' })
this.initList()
}
})
})
}
},
initList() {
if (this.queryParam.dcch === '') {
this.$message.warning('选择船只编号')
return
}
getSljhPgd(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>

@ -62,7 +62,7 @@
<el-row>
<el-col :span="14" >
<el-form-item label="状态:">
<el-select v-model="queryParam.Zt" placeholder="状态" clearable>
<el-select v-model="queryParam.zt" placeholder="状态" clearable>
<el-option
v-for="item in statusOptions"
:key="item.value"
@ -73,16 +73,16 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="6" >
<el-col :span="6" style="text-align: right;">
<el-form-item >
<el-input v-model="queryParam.fkyy" placeholder="反馈原因" clearable />
<el-button type="success" @click="plClick"></el-button>
<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-button type="success" @click="saveclick"></el-button>
<el-button type="success" @click="xdClick"></el-button>
</el-form-item>
</el-col>
</el-row>
@ -159,7 +159,7 @@ export default {
label: "下达",
},
{
value: "99",
value: "09",
label: "反馈",
},
],
@ -238,7 +238,7 @@ export default {
filterRender: { name: 'FilterCombination', },
},
{ field: 'zt', title: '状态', width: 100,
{ field: 'zt', title: '状态', width: 100,formatter: ['dictFormat','PGZT'],
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
@ -265,7 +265,7 @@ export default {
filterRender: { name: 'FilterCombination', },
},
{ field: 'fkyy', title: '反馈原因', width: 100,
{ field: 'fkyy', title: '反馈原因', width: 100, editRender: { name: 'input' },
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
@ -304,7 +304,7 @@ export default {
if (this.queryParam.dcch) {
this.projectData = this.projectData1.filter(row => row.project.indexOf(this.queryParam.dcch.toUpperCase()) > -1)
this.projectData = this.projectData1.filter(row => row.cbbm.indexOf(this.queryParam.dcch.toUpperCase()) > -1)
} else {
this.projectData = this.projectData1.slice(0)
}
@ -340,7 +340,16 @@ export default {
},
saveclick(){
let obj=this.$refs.xGrid.getUpdateRecords()
if(obj.length===0){
this.$message({ message: '请填写反馈原因在进行反馈', type: 'warning' })
return
}
saveTzjhPgdFk(obj).then(res=>{
if(res.success){
this.initList()
}
})
},
xdClick(){
let obj=this.$refs.xGrid.getCheckboxRecords()

@ -212,7 +212,7 @@ export default {
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'lqlbZ', title: '领取类别', width: 100,formatter: ['dictFormat','CLlQ'],
{ field: 'lqlbZ', title: '领取类别', width: 100,formatter: ['dictFormat','ZLLB'],
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
@ -349,7 +349,7 @@ export default {
if (this.queryParam.dcch) {
this.projectData = this.projectData1.filter(row => row.project.indexOf(this.queryParam.dcch.toUpperCase()) > -1)
this.projectData = this.projectData1.filter(row => row.cbbm.indexOf(this.queryParam.dcch.toUpperCase()) > -1)
} else {
this.projectData = this.projectData1.slice(0)
}

@ -121,7 +121,7 @@
highlight-current-row
:data="list"
:custom-config="{ storage: true }"
:scroll-y="{enabled: true}"
highlight-hover-row
show-overflow
show-header-overflow
@ -567,7 +567,7 @@ export default {
if (this.queryParam.dcch) {
this.projectData = this.projectData1.filter(row => row.project.indexOf(this.queryParam.dcch.toUpperCase()) > -1)
this.projectData = this.projectData1.filter(row => row.cbbm.indexOf(this.queryParam.dcch.toUpperCase()) > -1)
} else {
this.projectData = this.projectData1.slice(0)
}

@ -256,7 +256,7 @@ export default {
if (this.queryParam.dcch) {
this.projectData = this.projectData1.filter(row => row.project.indexOf(this.queryParam.dcch.toUpperCase()) > -1)
this.projectData = this.projectData1.filter(row => row.cbbm.indexOf(this.queryParam.dcch.toUpperCase()) > -1)
} else {
this.projectData = this.projectData1.slice(0)
}

@ -279,7 +279,7 @@ export default {
if (this.queryParam.dcch) {
this.projectData = this.projectData1.filter(row => row.project.indexOf(this.queryParam.dcch.toUpperCase()) > -1)
this.projectData = this.projectData1.filter(row => row.cbbm.indexOf(this.queryParam.dcch.toUpperCase()) > -1)
} else {
this.projectData = this.projectData1.slice(0)
}

@ -95,6 +95,7 @@
highlight-hover-row
show-overflow
show-header-overflow
>

@ -9,14 +9,38 @@
<el-col :span="22">
<el-form-item label="船号:">
<el-select v-model="queryParam.dcch" filterable placeholder="工程编号" @change="czbhChange" >
<el-option
v-for="item in dictData.cbbm"
:key="item.cbbm"
:label="item.cbbm"
:value="item.cbbm">
</el-option>
</el-select>
<vxe-pulldown ref="xDown4" transfer >
<template #default>
<vxe-input
v-model="queryParam.dcch"
placeholder="船号"
style="height: 28px;
line-height: 28px; width: 150px;"
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.dcpl" type="search" placeholder="批量" ></el-input>
@ -289,6 +313,16 @@ export default {
title:'',
czbhu:'',
phu:'',
projectData:[],
projectData1:[],
projectColumns: [
{field: 'cbbm', title: '船号',width: 110},
{ field: 'wgbs', title: '完工标识', width: 80,
slots:{
default: 'wgbsEdit'
},
},
],
// tableColumn: [
// { type: 'checkbox', width: 50 },
// { type: 'seq', width: 60, title: '' },
@ -1140,11 +1174,30 @@ export default {
this.tableData=res.data;
})
},
cellClickEvent({row}) {
this.queryParam.dcch = row.cbbm
this.$refs.xDown4.hidePanel()
},
focusEvent4() {
this.$refs.xDown4.showPanel()
},
keyupEvent4() {
console.log(1);
if (this.queryParam.dcch) {
console.log(this.projectData1);
this.projectData = this.projectData1.filter(row => row.cbbm.indexOf(this.queryParam.dcch.toUpperCase()) > -1)
} else {
this.projectData = this.projectData1.slice(0)
}
},
initBase(){
getCzplBase({}).then(res=>{
this.dictData = res.data
this.projectData=res.data.cbbm
this.projectData1=res.data.cbbm
// const xGrid = this.$refs.xGrid
//
// const dwbm = xGrid.getColumnByField('dwbm')

@ -9,11 +9,39 @@
<el-col :span="22">
<el-form-item label="船号:">
<el-input v-model="request.cbbm" type="search" placeholder="船号" ></el-input>
<vxe-pulldown ref="xDown4" transfer >
<template #default>
<vxe-input
v-model="request.cbbm"
placeholder="船号"
style="height: 28px;
line-height: 28px; width: 150px;"
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="request.cdmc" type="search" placeholder="场地名称" ></el-input>-->
<!-- </el-form-item>-->
</el-col>
@ -23,9 +51,9 @@
</el-form-item>
</el-col>
</el-row>
<!-- <el-row>-->
<!-- <el-col :span="10" :offset="14">-->
<!-- <el-form-item style="float: right" >-->
<el-row>
<el-col :span="10" :offset="14">
<el-form-item style="float: right" >
<!-- <el-button-->
<!-- type="success"-->
@ -37,9 +65,9 @@
<!-- @click="toolbarButtonClickEvent('delete')"-->
<!-- >删除-->
<!-- </el-button>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-header>
<el-container style="padding-top: 0px">
@ -59,12 +87,15 @@
highlight-current-row
:data="list"
:custom-config="{ storage: true }"
:edit-config="{ trigger: 'click', mode: 'cell', showStatus: true}"
highlight-hover-row
show-overflow
show-header-overflow
:scroll-y="{enabled: true}"
>
<!-- <template #operation="{ row }">-->
<!-- <el-button type="success" >推送</el-button>-->
<!-- </template>-->
<template #wgbsEdit="{ row}">
<vxe-checkbox v-model="row.wgbs" checked-value="Y" unchecked-value="N" @change="checkBoxClick(row,'tzDsqx01')"></vxe-checkbox>
</template>
@ -93,19 +124,29 @@ import {
getList,
add,
edit,
del,
del, getCzplBase,
} from '@/api/sjzx/jcsj'
import { mapGetters } from 'vuex'
import XEUtils from 'xe-utils'
import {null2str} from "@/utils/rpkj";
export default {
name:'czbhcx',
name:'czbhwh',
data() {
return {
request: {
cbbm:'',
},
projectData:[],
projectData1:[],
projectColumns: [
{field: 'cbbm', title: '船号',width: 110},
{ field: 'wgbs', title: '完工标识', width: 80,
slots:{
default: 'wgbsEdit'
},
},
],
list: [],
dictData:{},
@ -114,6 +155,7 @@ export default {
tableColumn: [
{ type: 'checkbox', width: 50 ,
},
{ type: 'seq', width: 60, title: '序号' },
{ field: 'cbbm', title: '船号编码', width: 120,editRender: { name: 'input' },
@ -146,7 +188,12 @@ export default {
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'sCzbh', title: '目标船只', width: 120, editRender: { name: 'input' },
{ field: 'sczbh', title: '目标船只', width: 120,
editRender:{ name: '$select', options: [],optionProps: { value: 'cbbm', label: 'cbbm' }, props:{clearable: true}
,events: { change: this.selectChange }},
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
@ -169,6 +216,7 @@ export default {
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ title: '操作', width: 70, slots: { default: 'operation' }, },
{ field: 'pdrq', title: '铺底日期', width: 120, editRender: {
name: '$input',
props: {type: 'date', labelFormat: "yyyy/MM/dd", valueFormat: "yyyy/MM/dd"},
@ -239,23 +287,43 @@ export default {
methods: {
cellClickEvent({row}) {
this.request.cbbm = row.cbbm
this.$refs.xDown4.hidePanel()
},
focusEvent4() {
this.$refs.xDown4.showPanel()
},
keyupEvent4() {
if (this.request.cbbm) {
this.projectData = this.projectData1.filter(row => row.cbbm.indexOf(this.request.cbbm.toUpperCase()) > -1)
} else {
this.projectData = this.projectData1.slice(0)
}
},
initBase(){
// getTpBase({}).then(res=>{
// this.dictData = res.data
// const xGrid = this.$refs.xGrid
//
// const dwbm = xGrid.getColumnByField('dwbm')
// dwbm.editRender.options = res.data.xqdws
//
// })
getCzplBase({}).then(res=>{
this.dictData = res.data
this.projectData=res.data.cbbm
this.projectData1=res.data.cbbm
const xGrid = this.$refs.xGrid
const sczbh = xGrid.getColumnByField('sczbh')
sczbh.editRender.options = res.data.cbbm
})
},
initList() {
getList(this.request).then((res) => {
this.list = res.data
console.log(this.list)
if (this.$refs.xGrid) {
this.$refs.xGrid.loadData(this.list)
}
@ -330,6 +398,7 @@ export default {
if (updateRecords.length !== 0) {
console.log(updateRecords)
edit(updateRecords).then((response) => {
if (response.success) {
const xTable = this.$refs.xGrid

@ -9,11 +9,39 @@
<el-col :span="22">
<el-form-item label="船号:">
<el-input v-model="request.cbbm" type="search" placeholder="船号" ></el-input>
<vxe-pulldown ref="xDown4" transfer >
<template #default>
<vxe-input
v-model="request.cbbm"
placeholder="船号"
style="height: 28px;
line-height: 28px; width: 150px;"
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="request.cdmc" type="search" placeholder="场地名称" ></el-input>-->
<!-- </el-form-item>-->
</el-col>
@ -63,7 +91,7 @@
highlight-hover-row
show-overflow
show-header-overflow
:scroll-y="{enabled: true}"
>
<template #operation="{ row }">
<el-button type="success" >推送</el-button>
@ -96,7 +124,7 @@ import {
getList,
add,
edit,
del,
del, getCzplBase,
} from '@/api/sjzx/jcsj'
import { mapGetters } from 'vuex'
import XEUtils from 'xe-utils'
@ -109,6 +137,16 @@ export default {
cbbm:'',
},
projectData:[],
projectData1:[],
projectColumns: [
{field: 'cbbm', title: '船号',width: 110},
{ field: 'wgbs', title: '完工标识', width: 80,
slots:{
default: 'wgbsEdit'
},
},
],
list: [],
dictData:{},
@ -150,7 +188,12 @@ export default {
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'sCzbh', title: '目标船只', width: 120, editRender: { name: 'input' },
{ field: 'sczbh', title: '目标船只', width: 120,
editRender:{ name: '$select', options: [],optionProps: { value: 'cbbm', label: 'cbbm' }, props:{clearable: true}
,events: { change: this.selectChange }},
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
@ -244,23 +287,43 @@ export default {
methods: {
cellClickEvent({row}) {
this.request.cbbm = row.cbbm
this.$refs.xDown4.hidePanel()
},
focusEvent4() {
this.$refs.xDown4.showPanel()
},
keyupEvent4() {
if (this.request.cbbm) {
this.projectData = this.projectData1.filter(row => row.cbbm.indexOf(this.request.cbbm.toUpperCase()) > -1)
} else {
this.projectData = this.projectData1.slice(0)
}
},
initBase(){
// getTpBase({}).then(res=>{
// this.dictData = res.data
// const xGrid = this.$refs.xGrid
//
// const dwbm = xGrid.getColumnByField('dwbm')
// dwbm.editRender.options = res.data.xqdws
//
// })
getCzplBase({}).then(res=>{
this.dictData = res.data
this.projectData=res.data.cbbm
this.projectData1=res.data.cbbm
const xGrid = this.$refs.xGrid
const sczbh = xGrid.getColumnByField('sczbh')
sczbh.editRender.options = res.data.cbbm
})
},
initList() {
getList(this.request).then((res) => {
this.list = res.data
console.log(this.list)
if (this.$refs.xGrid) {
this.$refs.xGrid.loadData(this.list)
}
@ -313,8 +376,6 @@ export default {
})
break
case 'save':
if (removeRecords.length !== 0) {
del(removeRecords).then((response) => {
if (response.success) {
@ -335,6 +396,7 @@ export default {
if (updateRecords.length !== 0) {
console.log(updateRecords)
edit(updateRecords).then((response) => {
if (response.success) {
const xTable = this.$refs.xGrid
@ -344,6 +406,16 @@ export default {
})
}
if (insertRecords.length !== 0) {
for(let i =0;i<insertRecords.length;i++){
console.log(insertRecords[i])
// let rows =this.$refs.xGrid.getRowSeq(insertRecords[i])
if(insertRecords[i].sczbh==null||insertRecords[i].sczbh===''){
this.$message({ message: '新增数据目标船只不能为空', type: 'error' })
return
}
}
add(insertRecords).then((response) => {
if (response.success) {
this.list = this.list.concat(insertRecords)

@ -9,16 +9,6 @@
<el-col :span="22">
<el-form-item label="船号:">
<!-- <el-select v-model="queryParam.dcch" filterable placeholder="工程编号" @change="czbhChange" clearable >-->
<!-- <el-option-->
<!-- v-for="item in dictData.cbbm"-->
<!-- :key="item.cbbm"-->
<!-- :label="item.cbbm"-->
<!-- :value="item.cbbm">-->
<!-- </el-option>-->
<!-- </el-select>-->
<vxe-pulldown ref="xDown4" transfer >
<template #default>
<vxe-input
@ -32,11 +22,13 @@
/>
</template>
<template #dropdown>
<div class="my-dropdown mytable " style="width: 250px">
<div class="my-dropdown mytable " style="width: 250px; ">
<vxe-grid
highlight-hover-row
height="auto"
auto-resize
border
:loading="false"
:data="projectData"
:columns="projectColumns"
@cell-click="cellClickEvent"
@ -55,8 +47,9 @@
<el-form-item label="批量:">
<el-input v-model="queryParam.dcpl" type="search" placeholder="批量" ></el-input>
</el-form-item>
<el-form-item label="批量:">
<el-checkbox v-model="queryParam.flag" >不显示完工船只</el-checkbox>
</el-form-item>
</el-col>
<el-col :span="2">
<el-form-item style="float: right" >
@ -90,11 +83,11 @@
<el-button
type="danger"
@click="toolbarButtonClickEvent('delete')"
>删除
</el-button>
<!-- <el-button-->
<!-- type="danger"-->
<!-- @click="toolbarButtonClickEvent('delete')"-->
<!-- >删除-->
<!-- </el-button>-->
</el-form-item>
</el-col>
</el-row>
@ -121,7 +114,7 @@
highlight-hover-row
show-overflow
show-header-overflow
:scroll-y="{enabled: true}"
>
@ -149,13 +142,13 @@ import { getToken } from '@/utils/auth'
import { startLoading, endLoading } from '@/utils'
import { Message } from 'element-ui'
export default {
name:'czplwh',
name:'Czplwh',
data() {
return {
queryParam: {
dcch:'',
dcpl:'',
flag:true
},
list: [],
isupload:'02',
@ -452,10 +445,11 @@ export default {
this.$refs.xDown4.showPanel()
},
keyupEvent4() {
console.log(1);
if (this.queryParam.dcch) {
this.projectData = this.projectData1.filter(row => row.project.indexOf(this.queryParam.dcch.toUpperCase()) > -1)
console.log(this.projectData1);
this.projectData = this.projectData1.filter(row => row.cbbm.indexOf(this.queryParam.dcch.toUpperCase()) > -1)
} else {
this.projectData = this.projectData1.slice(0)
}

@ -84,7 +84,7 @@
highlight-current-row
:data="list"
:custom-config="{ storage: true }"
:scroll-y="{enabled: true}"
highlight-hover-row
show-overflow
show-header-overflow

@ -9,20 +9,47 @@
<el-col :span="22">
<el-form-item label="船号:">
<el-select v-model="queryParam.cbbm" filterable placeholder="工程编号" @change="czbhChange" >
<el-option
v-for="item in dictData.cbbm"
:key="item.cbbm"
:label="item.cbbm"
:value="item.cbbm">
</el-option>
</el-select>
<vxe-pulldown ref="xDown4" transfer >
<template #default>
<vxe-input
v-model="queryParam.dcch"
placeholder="船号"
style="height: 28px;
line-height: 28px; width: 150px;"
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"
auto-resize
border
:loading="false"
: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.dcpl" type="search" placeholder="批量" ></el-input>
</el-form-item>
<el-form-item label="批量:">
<el-checkbox v-model="queryParam.flag" >不显示完工船只</el-checkbox>
</el-form-item>
</el-col>
<el-col :span="2">
<el-form-item style="float: right" >
@ -30,9 +57,9 @@
</el-form-item>
</el-col>
</el-row>
<!-- <el-row>-->
<!-- <el-col :span="10" :offset="14">-->
<!-- <el-form-item style="float: right" >-->
<el-row>
<el-col :span="10" :offset="14">
<el-form-item style="float: right" >
<!-- <el-button-->
@ -47,7 +74,6 @@
<!-- :before-upload="beforeAvatarUpload"-->
<!-- :data="uploadData"-->
<!-- :on-success="handleAvatarSuccess"-->
<!-- :disabled="filedis"-->
<!-- :headers="heads"-->
<!-- >-->
<!-- <el-button type="success" @click="uploadExcel" > 批量表导入 </el-button>-->
@ -57,14 +83,14 @@
<!--&lt;!&ndash; <el-button&ndash;&gt;-->
<!--&lt;!&ndash; type="danger"&ndash;&gt;-->
<!--&lt;!&ndash; @click="toolbarButtonClickEvent('delete')"&ndash;&gt;-->
<!--&lt;!&ndash; >删除&ndash;&gt;-->
<!--&lt;!&ndash; </el-button>&ndash;&gt;-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- <el-button-->
<!-- type="danger"-->
<!-- @click="toolbarButtonClickEvent('delete')"-->
<!-- >删除-->
<!-- </el-button>-->
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-header>
<el-container style="padding-top: 0px">
@ -88,7 +114,7 @@
highlight-hover-row
show-overflow
show-header-overflow
:scroll-y="{enabled: true}"
>
@ -104,10 +130,10 @@
<script>
import {
getCzplBase ,
getCzplBase,
wgetCzplBase,
czPlupdate,
getCzplList,
getCzplList, czPlDel,
} from '@/api/sjzx/jcsj'
import { mapGetters } from 'vuex'
import XEUtils from 'xe-utils'
@ -116,13 +142,13 @@ import { getToken } from '@/utils/auth'
import { startLoading, endLoading } from '@/utils'
import { Message } from 'element-ui'
export default {
name:'PlbXC',
name:'PlbXc',
data() {
return {
queryParam: {
cbbm:'',
dcch:'',
dcpl:'',
flag:true
},
list: [],
isupload:'02',
@ -134,9 +160,19 @@ export default {
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: 50 ,
},
{ type: 'seq', width: 60, title: '序号' },
{ field: 'dcCh', title: '船号', width: 100,
@ -159,15 +195,7 @@ export default {
filterRender: { name: 'FilterCombination', },
},
{ field: 'lrr', title: '录入人', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'lrrq', title: '录入日期', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'bz', title: '备注', width: 100,editRender: { name: 'input' },
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
@ -319,6 +347,16 @@ export default {
filterRender: { name: 'FilterCombination', },
},
{ field: 'lrr', title: '录入人', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'lrrq', title: '录入日期', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
// { field: 'dzjsq1', title: 'dzjsq1', width: 100,
// filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
// filterRender: { name: 'FilterCombination', },
@ -399,26 +437,42 @@ export default {
},
methods: {
cellClickEvent({row}) {
this.queryParam.dcch = row.cbbm
this.$refs.xDown4.hidePanel()
},
focusEvent4() {
this.$refs.xDown4.showPanel()
},
keyupEvent4() {
console.log(1);
uploadExcel() {
if (this.queryParam.cbbm === '') {
this.$message.error('请选择船号!')
return false;
if (this.queryParam.dcch) {
console.log(this.projectData1);
this.projectData = this.projectData1.filter(row => row.cbbm.indexOf(this.queryParam.dcch.toUpperCase()) > -1)
} else {
this.projectData = this.projectData1.slice(0)
}
},
uploadExcel() {
// if (this.queryParam.cbbm === '') {
// this.$message.error('')
// return false;
// } else {
//
// }
// this.uploadData.czbh = this.queryParam.czbh
this.uploadData.isupload = this.isupload
},
czbhChange(){
if (this.queryParam.cbbm === '') {
this.filedis=true
}else{
this.filedis=false
}
// if (this.queryParam.cbbm === '') {
// this.filedis=true
// }else{
// this.filedis=false
// }
},
beforeAvatarUpload(file) {
@ -465,9 +519,13 @@ export default {
})
}
},
initBase(){
getCzplBase({}).then(res=>{
this.dictData = res.data
this.projectData=res.data.cbbm
this.projectData1=res.data.cbbm
// const xGrid = this.$refs.xGrid
//
// const dwbm = xGrid.getColumnByField('dwbm')
@ -476,10 +534,10 @@ export default {
})
},
initList() {
if (this.queryParam.cbbm === '') {
this.$message.warning('选择船只编号')
return
}
// if (this.queryParam.cbbm === '') {
// this.$message.warning('')
// return
// }
getCzplList(this.queryParam).then((res) => {
this.list = res.data
if (this.$refs.xGrid) {
@ -501,7 +559,7 @@ export default {
selectChange(row) {
// this.$refs.xGrid.clearActived() //
this.$refs.xGrid.clearEdit() //
// this.$refs.xGrid.setEditCell(row.row, row.column.property) //
// this.$refs.xGrid.setEditCell(row.row, row.column.property) //
null2str(row.row)
},
getHeight() {
@ -535,7 +593,7 @@ export default {
if (removeRecords.length !== 0) {
del(removeRecords).then((response) => {
czPlDel(removeRecords).then((response) => {
if (response.success) {
for (let i = 0; i < this.list.length; i++) {
if (removeRecords.indexOf(this.list[i]) !== -1) {
@ -572,6 +630,7 @@ export default {
}
})
}
this.$message(
`新增 ${insertRecords.length} 条,删除 ${removeRecords.length} 条,更新 ${updateRecords.length}`
)

@ -87,7 +87,7 @@
highlight-hover-row
show-overflow
show-header-overflow
:scroll-y="{enabled: true}"
>

@ -108,7 +108,7 @@
highlight-current-row
:data="list"
:custom-config="{ storage: true }"
:scroll-y="{enabled: true}"
highlight-hover-row
show-overflow
show-header-overflow
@ -253,7 +253,7 @@ export default {
if (this.queryParam.dcch) {
this.projectData = this.projectData1.filter(row => row.project.indexOf(this.queryParam.dcch.toUpperCase()) > -1)
this.projectData = this.projectData1.filter(row => row.cbbm.indexOf(this.queryParam.dcch.toUpperCase()) > -1)
} else {
this.projectData = this.projectData1.slice(0)
}

@ -110,7 +110,7 @@
highlight-current-row
:data="list"
:custom-config="{ storage: true }"
:scroll-y="{enabled: true}"
highlight-hover-row
show-overflow
show-header-overflow
@ -268,7 +268,7 @@ export default {
if (this.queryParam.dcch) {
this.projectData = this.projectData1.filter(row => row.project.indexOf(this.queryParam.dcch.toUpperCase()) > -1)
this.projectData = this.projectData1.filter(row => row.cbbm.indexOf(this.queryParam.dcch.toUpperCase()) > -1)
} else {
this.projectData = this.projectData1.slice(0)
}

Loading…
Cancel
Save