You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

208 lines
5.5 KiB

<template>
<el-container>
<el-header style="width: 100%;height: 35px">
<el-form ref="requestForm" :model="request" label-width="65px">
<el-row>
<el-col :span="3">
<el-form-item label="船号:">
<vxe-pulldown ref="xDown4" transfer >
<template #default>
<vxe-input
v-model="request.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"
keep-source
:custom-config="{ storage: true }"
: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-col>
<el-col :span="3">
<el-form-item label="批量:">
<el-input v-model="request.dcPl" type="search" placeholder="批量" ></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="分段:">
<el-input v-model="request.dcFd" type="search" placeholder="分段" ></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="在建船只:" label-width="105px">
<el-checkbox v-model="request.zjcz" type="search" placeholder="合同号" ></el-checkbox>
</el-form-item>
</el-col>
<el-col :span="11" style="text-align: right">
<el-button type="primary" @click="initList()">查询</el-button>
<el-button type="success" @click="qtjc"></el-button>
</el-col>
</el-row>
</el-form>
</el-header>
<Yppfk0 ref="yppfk0" />
</el-container>
</template>
<script>
import {getCzplBase} from "@/api/sjzx/jcsj";
import YppTq from "@/views/jhzxgl/components/YppTq.vue";
import {getBfwz} from "@/api/jhzxgl/ypp";
import Yppfk0 from "@/views/jhzxgl/components/Yppfk0.vue";
export default {
name: "Cgjhdh",
components: {Yppfk0, YppTq},
data() {
return {
yppTqShow:false,
height: "500px",
list:[],
projectColumns: [
{field: 'cbbm', title: '船号',width: 110},
{ field: 'wgbs', title: '完工标识', width: 80,
slots:{
default: 'wgbsEdit'
},
},
],
qyList:[],
dwList:[],
bfwzList:[],
projectData:[],
request:{
dcCh:'',
dcPl:'',
dcFd:'',
zjcz:true
},
}
},
created() {
window.addEventListener("resize", this.getHeight);
this.getHeight();
this.initProject()
this.initBfwz()
},
methods: {
qtjc(){
this.$refs.yppfk0.qtjc()
},
initList(){
this.$refs.yppfk0.initXqjh(this.request)
},
initBfwz(){
getBfwz().then(res=>{
this.bfwzList=res.data
const _qyList=[]
const _dwhList=[]
const table=this.$refs.tableRef
const qyColumn=table.getColumnByField('qy')
const dwColumn=table.getColumnByField('dwh')
this.bfwzList.forEach(item=>{
_qyList.push({label:item.qy,value:item.qy})
_dwhList.push({label:item.dwh,value:item.dwh,_parent:item.qy})
})
qyColumn.editRender.options=_qyList
dwColumn.editRender.options=_dwhList
this.qyList=_qyList;
this.dwList=_dwhList
})
},
initProject(){
getCzplBase({}).then(res=>{
this.projectData=res.data.cbbm
})
},
cellClickEvent({row}){
this.request.dcCh = row.cbbm
this.$refs.xDown4.hidePanel()
},
focusEvent4(){
this.$refs.xDown4.showPanel()
},
keyupEvent4(){
if (this.request.dcCh) {
this.projectData = this.projectData1.filter(row => row.cbbm.indexOf(this.request.dcCh.toUpperCase()) > -1)
} else {
this.projectData = this.projectData1.slice(0)
}
},
getHeight() {
this.height = window.innerHeight - 160;
},
}
};
</script>
<style lang="scss" scoped >
.el-header {
margin: 0;
padding: 5px 0;
height: auto;
}
.el-container {
padding: 0;
margin: 0;
}
.el-main {
padding: 0;
}
.el-col {
padding: 0;
}
.el-aside {
background: #fff;
padding: 0;
}
.el-container {
padding: 0;
}
.el-row {
margin-bottom: 5px;
}
.el-row:last-child {
margin-bottom: 0;
}
.tableStyles {
background: #0a76a4;
}
.my-dropdown {
width: 450px;
height: 250px;
background-color: #fff;
border: 1px solid #dcdfe6;
box-shadow: 0 0 6px 2px rgba(0, 0, 0, 0.1);
font-size: 12px;
}
::v-deep .mytable .vxe-input {
display: flex !important;
}
::v-deep .el-form-item {
margin-bottom: 0px !important;
}
::v-deep .el-input{
width: auto !important;
}
</style>