1.增加摆放位置相关功能

2.增加采购计划到货情况查询
3.增加预配盘相关页面
master
董哲奇 1 year ago
parent 36608310aa
commit a59ae3aef9

@ -5,6 +5,7 @@
"author": "Pan <panfree23@gmail.com>",
"scripts": {
"dev": "vue-cli-service serve",
"local": "vue-cli-service serve --mode local",
"lint": "eslint --ext .js,.vue src",
"build:prod": "vue-cli-service build",
"build:stage": "vue-cli-service build --mode staging",

File diff suppressed because it is too large Load Diff

@ -12,3 +12,6 @@ export function getCnsb() {return request({url: '/dmSygdMx/getCnsb', method: 'po
export function saveMxList() {return request({url: '/dmSygdMx/saveList', method: 'post'})}
export function getYdjh(data) {return request({url: '/dmYdjh/getList', method: 'post', data})}
export function tjydjh() {return request({url: '/dmYdjh/tjydjh', method: 'post'})}
//采购计划到货情况
export function cgjhdhqk(data={}) {return request({url: '/dmSygdMx/cgjhdhqk', method: 'post',data})}

@ -0,0 +1,16 @@
/*
预配盘相关接口
*/
import request from "@/utils/request";
/**
* 摆放位置查询
*/
export function getBfwz(data={}) {return request({url: '/dwxx/list', method: 'post', data})}
/**
* 摆放位置增删改
* @param data
* @returns {*}
*/
export function saveBfwz(data={}) {return request({url: '/dwxx/addOrEdit', method: 'post', data})}

@ -11,6 +11,14 @@ export function getGYS(data) {
});
}
export function getGhs(data) {
return request({
url: "/emSbjbb/getGhs",
method: "post",
data,
});
}
// 获取设备分类
export function getSBLX(data) {
return request({

@ -1,22 +1,330 @@
<template>
<el-container>
<span style="margin-top: 20px;margin-left: 20px">待开发...</span>
<el-header style="width: 100%; height: 80px;font-size: 12px">
<el-form :inline="true" label-width="65px" 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: 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>
</el-form-item>
</el-col>
<el-col :span="2">
<el-form-item style="float: right" >
<el-button type="success" @click="initList"></el-button>
<el-button type="success" @click="qr"></el-button>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="22">
<el-form-item label="状态:">
<el-select v-model="queryParam.zt" disabled 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>
</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"
:custom-config="{ storage: true }"
highlight-hover-row
show-overflow
show-header-overflow
>
</vxe-grid>
</div>
</el-main>
</el-container>
</el-container>
</el-container>
</template>
<script>
import {
getList,
getCzxx
} from '@/api/jhzx/qfxq'
import { mapGetters } from 'vuex'
import XEUtils from 'xe-utils'
import {null2str} from "@/utils/rpkj";
import { getToken } from '@/utils/auth'
import {getCzplBase} from "@/api/sjzx/jcsj";
export default {
name: "QfqrGL",
name:'QfxqCX',
data() {
return {
queryParam: {
dcCh:'',
dcPl:'',
zt:'2'
},
list: [],
projectData:[],
projectData1:[],
projectColumns: [
{field: 'cbbm', title: '船号',width: 110},
{ field: 'wgbs', title: '完工标识', width: 80,
slots:{
default: 'wgbsEdit'
},
},
],
filedis:true,
uploadData:{
},
heads: { token: getToken() },
uploadAction: process.env.VUE_APP_BASE_API + '/dmQfxq/upload',
dictData:{
cbbm:[]
},
zt:[],
height: '500px',
tableColumn: [
{ type: 'seq', width: 60, title: '序号' },
{ field: 'dcCh', title: '船号', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dcPl', title: '批量', width: 100,editRender: { name: 'input' },
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dcFd', title: '分段', width: 100, editRender: { name: 'input' },
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'pscd', title: '配送场地', width: 120, editRender: { name: 'input' },
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'cjzg', title: '车间主管', width: 120, editRender: { name: 'input' },
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'db', title: '大板', width: 120, editRender: { name: 'input' },
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'xc', title: '型材', width: 120, editRender: { name: 'input' },
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'txc', title: 'T型材', width: 120, editRender: { name: 'input' },
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'bz', title: '备注', width: 120, editRender: { name: 'input' },
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'zt', title: '状态', width: 100,formatter: ['dictFormat','ZTLX']
},
{ field: 'bzry', title: '编制人员', width: 110, editRender: { name: 'input' },
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'bzrq', title: '编制日期', width: 110, editRender: { name: 'input' },
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'shry', title: '审核人员', width: 110, editRender: { name: 'input' },
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()
this.initList()
},
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.project.indexOf(this.queryParam.dcch.toUpperCase()) > -1)
} else {
this.projectData = this.projectData1.slice(0)
}
},
initBase(){
getCzxx({}).then(res=>{
this.dictData.cbbm = res.data
})
getCzplBase({}).then(res=>{
this.projectData=res.data.cbbm
this.projectData1=res.data.cbbm
})
const dict=window.localStorage.getItem('ZTLX');
this.zt=JSON.parse(dict)
},
qr(){
},
initList() {
getList(this.queryParam).then((res) => {
this.list = res.data
if (this.$refs.xGrid) {
this.$refs.xGrid.loadData(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>
<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,22 +1,333 @@
<template>
<el-container>
<span style="margin-top: 20px;margin-left: 20px">待开发...</span>
<el-header style="width: 100%; height: 80px;font-size: 12px">
<el-form :inline="true" label-width="65px" 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: 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>
</el-form-item>
</el-col>
<el-col :span="2">
<el-form-item style="float: right" >
<el-button type="success" @click="initList"></el-button>
<el-button type="success" @click="zx"></el-button>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="22">
<el-form-item label="状态:">
<el-select v-model="queryParam.zt" disabled 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>
</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"
:custom-config="{ storage: true }"
highlight-hover-row
show-overflow
show-header-overflow
>
</vxe-grid>
</div>
</el-main>
</el-container>
</el-container>
</el-container>
</template>
<script>
import {
getList,
getCzxx
} from '@/api/jhzx/qfxq'
import { mapGetters } from 'vuex'
import XEUtils from 'xe-utils'
import {null2str} from "@/utils/rpkj";
import { getToken } from '@/utils/auth'
import {getCzplBase} from "@/api/sjzx/jcsj";
export default {
name: "QfzxGL",
name:'QfxqCX',
data() {
return {
queryParam: {
dcCh:'',
dcPl:'',
zt:'2'
},
list: [],
projectData:[],
projectData1:[],
projectColumns: [
{field: 'cbbm', title: '船号',width: 110},
{ field: 'wgbs', title: '完工标识', width: 80,
slots:{
default: 'wgbsEdit'
},
},
],
filedis:true,
uploadData:{
},
heads: { token: getToken() },
uploadAction: process.env.VUE_APP_BASE_API + '/dmQfxq/upload',
dictData:{
cbbm:[]
},
zt:[],
height: '500px',
tableColumn: [
{ type: 'seq', width: 60, title: '序号' },
{ field: 'dcCh', title: '船号', width: 100,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dcPl', title: '批量', width: 100,editRender: { name: 'input' },
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dcFd', title: '分段', width: 100, editRender: { name: 'input' },
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'pscd', title: '配送场地', width: 120, editRender: { name: 'input' },
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'cjzg', title: '车间主管', width: 120, editRender: { name: 'input' },
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'db', title: '大板', width: 120, editRender: { name: 'input' },
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'xc', title: '型材', width: 120, editRender: { name: 'input' },
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'txc', title: 'T型材', width: 120, editRender: { name: 'input' },
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'bz', title: '备注', width: 120, editRender: { name: 'input' },
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'zt', title: '状态', width: 100,formatter: ['dictFormat','ZTLX']
},
{ field: 'bzry', title: '编制人员', width: 110, editRender: { name: 'input' },
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'bzrq', title: '编制日期', width: 110, editRender: { name: 'input' },
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'shry', title: '审核人员', width: 110, editRender: { name: 'input' },
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()
this.initList()
},
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.project.indexOf(this.queryParam.dcch.toUpperCase()) > -1)
} else {
this.projectData = this.projectData1.slice(0)
}
},
initBase(){
getCzxx({}).then(res=>{
this.dictData.cbbm = res.data
})
getCzplBase({}).then(res=>{
this.projectData=res.data.cbbm
this.projectData1=res.data.cbbm
})
const dict=window.localStorage.getItem('ZTLX');
this.zt=JSON.parse(dict)
},
zx(){
},
initList() {
getList(this.queryParam).then((res) => {
this.list = res.data
if (this.$refs.xGrid) {
this.$refs.xGrid.loadData(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>
<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,22 +1,264 @@
<template>
<el-container>
<span style="margin-top: 20px;margin-left: 20px">待开发...</span>
<el-header style="width: 100%">
<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.wjwz"
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-col>
<el-col :span="2">
<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="6">
<el-form-item label="时间范围:" label-width="105px">
<el-col :span="11">
<el-date-picker v-model="request.ksrq" type="date" format="yyyy/MM/dd" value-format="yyyy/MM/dd" placeholder="开始日期" ></el-date-picker>
</el-col>
<el-col style="text-align: center" :span="2"></el-col>
<el-col :span="11">
<el-date-picker v-model="request.jsrq" type="date" format="yyyy/MM/dd" value-format="yyyy/MM/dd" placeholder="结束日期" ></el-date-picker>
</el-col>
</el-form-item>
</el-col>
<el-col :span="13" style="text-align: right">
<el-button type="primary" @click="initList()"></el-button>
</el-col>
</el-row>
</el-form>
</el-header>
<el-container style="padding-top: 10px">
<el-container>
<el-main>
<div class="mytable">
<vxe-grid
id="id"
ref="tableRef"
border
resizable
keep-source
:height="height"
:auto-resize="true"
:columns="tableColumn"
:data="list"
:custom-config="{ storage: true }"
:scroll-y="{ enabled: true }"
highlight-hover-row
>
</vxe-grid>
</div>
</el-main>
</el-container>
</el-container>
</el-container>
</template>
<script>
import {getGhs} from "@/api/sjzx/sbxxWH";
import {getCzplBase} from "@/api/sjzx/jcsj";
import {cgjhdhqk, getList} from "@/api/jhzx/sygd";
export default {
name: "Wzxq",
name: "Cgjhdh",
data() {
return {
height: "500px",
list:[],
projectColumns: [
{field: 'cbbm', title: '船号',width: 110},
{ field: 'wgbs', title: '完工标识', width: 80,
slots:{
default: 'wgbsEdit'
},
},
],
projectData:[],
ShipNoList:[],
ghsList:[],
request:{
ghsbm:'',
wjwz:'',
ddmc:'',
zjcz:true,
xhth:'',
ksrq:'',
jsrq:'',
},
tableColumn: [
{type: 'seq', width: 60, title: '序号', fixed: "left"},
{ field: '', title: '日期', width: 150,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: '', title: '垛位', width: 150,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: '', title: '船号', width: 150,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: '', title: '批量', width: 150,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: '', title: '数量', width: 150,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: '', title: '重量', width: 150,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: '', title: '订货清单号', width: 150,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: '', title: '订货数量', width: 150,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: '', title: '采购数量', width: 150,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: '', title: '到货数量', width: 150,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: '', title: '跨位', width: 150,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: '', title: '跨位需求数量', width: 150,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
],
}
},
created() {
window.addEventListener("resize", this.getHeight);
this.getHeight();
this.initGhs();
this.initProject()
},
methods: {
initList(){
getList(this.request).then((res) => {
this.list = res.data
})
},
initProject(){
getCzplBase({}).then(res=>{
console.log(res)
this.projectData=res.data.cbbm
})
},
initGhs(){
getGhs().then(res=>{
this.ghsList=res.data
})
},
cellClickEvent({row}){
this.request.wjwz = row.cbbm
this.$refs.xDown4.hidePanel()
},
focusEvent4(){
this.$refs.xDown4.showPanel()
},
keyupEvent4(){
if (this.request.wjwz) {
this.projectData = this.projectData1.filter(row => row.cbbm.indexOf(this.request.wjwz.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>

@ -0,0 +1,467 @@
<template>
<vxe-modal v-model="dialogVisible" title="钢料需求计划" width="1450" height="auto" remember>
<el-container>
<el-header style="width: 100%; height: 35px;font-size: 12px">
<el-form :inline="true" label-width="65px" label-position="left">
<el-row >
<el-col :span="15" >
<el-form-item >
<span style="font-size: 13px;color: #606266; margin-left: 4px;margin-right: 4px">小组需求时间范围:</span>
<el-date-picker v-model="queryParam.beginTime" value-format="yyyy/MM/dd" type="month" style="width: 33%;" />
<span style="font-size: 13px;color: #606266; margin-left: 4px;margin-right: 4px"></span>
<el-input v-model="queryParam.endTime" ></el-input>
<!-- <el-date-picker v-model="queryParam.endTime" value-format="yyyy/MM/dd" type="month" style="width: 33%" />-->
</el-form-item>
</el-col>
<el-col :span="9" >
<el-form-item style="float: right" >
<el-button type="success" @click="initList"></el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-header>
<el-container style="padding-top: 0px">
<el-main>
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="钢料需求" name="first">
<div class="mytable">
<vxe-grid
id="id"
ref="xGrid"
border
resizable
keep-source
:align="'center'"
:height="height"
:auto-resize="true"
:columns="tableColumn"
:data="list"
:custom-config="{ storage: true }"
@checkbox-all="selectAllEvent"
@checkbox-change="selectChangeEvent"
:row-style="rowClassName"
highlight-current-row
highlight-hover-row
show-overflow
>
</vxe-grid>
</div>
</el-tab-pane>
</el-tabs>
</el-main>
</el-container>
</el-container>
</vxe-modal>
</template>
<script>
import router from "@/router";
import { getCzxx} from '@/api/jhzx/qfxq'
import {getList} from '@/api/jhzx/sygdxq'
import { mapGetters } from 'vuex'
import XEUtils from 'xe-utils'
import { getToken } from '@/utils/auth'
import ScrollPane from "@/layout/components/TagsView/ScrollPane.vue";
import {endLoading, startLoading} from "@/utils";
import {Message} from "element-ui";
export default {
name:'YppTq',
components: {ScrollPane},
data() {
return {
dialogVisible:false,
activeName: 'first',
queryParam: {
beginTime:'',
endTime:''
},
monthList:[],
list: [],
list1: [],
list2: [],
checkedList: [],
dictData:[],
height: '500px',
tableColumn:[
{ field: 'dcCh', title: '船只', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dcPl', title: '批量号', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'zdh', title: '总段号', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dcFd', title: '分段号', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dzjz', title: '大组极重', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'zxfdxq', title: '总装部最新分段需求期', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'xzglxq', title: '钢料需求(小组)', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dzglxq', title: '钢料需求(大组)', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'xdb', title: 'X大板', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'xskj', title: 'X数控件', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'xpt', title: 'X平铁', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'xyw', title: 'X压弯', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'xxc', title: 'X型材', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'xtxc', title: 'X二次装T型材', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'ddb', title: 'D大板', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dqb', title: 'D曲板', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dxc', title: 'D型材T', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dsj', title: 'D散件', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'xqzt', title: '需求状态', width: 120,formatter:this.formatterZt,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'drcs', title: '导入次数', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'xzglxqOld', title: '原需求期', width: 120,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
],
tableColumn2:[
{ field: 'dcCh', title: '船只', width: 200,
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
}
],
isupload:'02',
uploadData:{},
heads: { token: getToken() },
uploadAction: process.env.VUE_APP_BASE_API + '/dmSygdxq/upload',
}
},
computed: {
...mapGetters(['name', 'bmbm'])
},
created() {
window.addEventListener('resize', this.getHeight)
this.getHeight()
this.initBase()
},
watch: {
'queryParam.beginTime'(newValue, Value){
if (newValue){
this.format(newValue);
}
}
},
methods: {
show(){
this.dialogVisible=true
},
rowClassName({ row,rowIndex }){
if (row.xqzt==='1') {
return {
color: 'red',
cursor:'pointer'
}
}
if (row.xqzt==='2') {
return {
backgroundColor: 'darkseagreen',
}
}
return null
},
//
formatterZt({cellValue}){
if(cellValue==='0'){
return '正常'
}
if(cellValue==='1'){
return '提前'
}
if (cellValue==='2'){
return '拖期'
}
return cellValue
},
footerMethod({ columns, data }){
return [
columns.map((column, columnIndex) => {
if (columnIndex === 0) {
return '合计'
}
return this.sumNum(data, column.property)
})
]
},
sumNum(list, field) {
let count = 0
list.forEach(item => {
let num = Number(item[field])
if (!XEUtils.isNumber(num) || isNaN(num)) {
num = 0
}
count = this.cal.accAdd(count, num)
})
return count
},
uploadExcel() {
this.uploadData.isupload = this.isupload
},
beforeAvatarUpload(file) {
//
const isType = file.type === 'application/vnd.ms-excel'
const isTypeComputer = file.type === 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
const fileType = isType || isTypeComputer
if (!fileType) {
this.$message.error('上传文件只能是xls/xlsx格式')
return
}
startLoading()
return fileType
},
handleAvatarSuccess(res, file) {
endLoading()
if (res.success) {
this.$message({ message: '导入成功', type: 'success' })
this.initList();
} else {
Message({
message: res.message || 'Error',
type: 'error',
duration: 5 * 1000
})
}
},
//
rowspanMethod({ row, _rowIndex, column, visibleData }){
//vxe-grid :scroll-y="{enabled: false}"
//
let fields = ['nf','yf','rq','tzxqq'];//
const cellValue = row[column.property];//
if (cellValue && fields.includes(column.property)) {
const prevRow = visibleData[_rowIndex - 1];
let nextRow = visibleData[_rowIndex + 1];
if (prevRow && prevRow[column.property] === cellValue) {
//
return { rowspan: 0, colspan: 0 };
} else {
//
let countRowspan = 1;
while (nextRow && nextRow[column.property] === cellValue) {
nextRow = visibleData[++countRowspan + _rowIndex];
}
if (countRowspan > 1) {
return { rowspan: countRowspan, colspan: 1 };
}
}
}
},
//
selectAllEvent() {
const records = this.$refs.xGrid.getCheckboxRecords();
this.checkedList = records;
},
//
selectChangeEvent() {
const records = this.$refs.xGrid.getCheckboxRecords();
this.checkedList = records;
},
//
handleClick(tab, event) {
},
//
initBase(){
getCzxx({}).then(res=>{
this.dictData = res.data
})
},
//1
initList() {
if (this.queryParam.beginTime === '') {
this.$message.warning('选择时间范围')
return
}
this.generatedCol()
getList(this.queryParam).then((res) => {
if (res.data){
this.list = res.data.list
this.list2 = res.data.hz
if (this.$refs.xGrid) {
this.$refs.xGrid.loadData(this.list)
}
if (this.$refs.xGrid2) {
this.$refs.xGrid2.loadData(this.list2)
}
}
})
this.activeName='first'
},
generatedCol(){
//
this.tableColumn2= [] ;
this.tableColumn2.push({
key: this.tableColumn2.length + 1,
field: 'dcCh',
title: '船只',
width: 200
})
var a =this.monthList
for (let i = 0; i < a.length; i++) {
this.tableColumn2.push({
key: this.tableColumn2.length + 1,
field: 'yf'+a[i],
title: a[i]+``,
width: 200
})
}
},
formatDate ({ cellValue }) {
return XEUtils.toDateString(cellValue, 'yyyy/MM/dd')
},
getHeight() {
this.height = window.innerHeight - 200
},
format (val) {
this.monthList= [] ;
var date = new Date(val); //10*1000131000
var M = (date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1);
// this.queryParam.beginTime=Y+M;
this.monthList.push(M);
date.setMonth(date.getMonth()+1);
M = (date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1) ;
this.monthList.push(M)
date.setMonth(date.getMonth()+1);
M = (date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1) ;
this.monthList.push(M)
date.setMonth(date.getMonth()+1);
var Y = date.getFullYear() + "/";
M = (date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1)+ "/";
var D = date.getDate()<10? "0" +date.getDate():date.getDate();
// var h = date.getHours() + ":";
// var m = date.getMinutes() + ":";
// var s = (date.getSeconds() < 10 ? "0" + (date.getSeconds()) : date.getSeconds());
// return Y + M + D + h + m + s;
this.queryParam.endTime=Y + M + D;
// return Y + M ;
}
}
}
</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,209 @@
<template>
<el-container>
<el-header style="width: 100%">
<el-form ref="requestForm" :model="request" label-width="60px">
<el-row>
<el-col :span="4">
<el-form-item label="区域:">
<el-select v-model="request.qy" placeholder="垛位" clearable>
<el-option
v-for="item in qyList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="垛位号:">
<el-select v-model="request.dwh" placeholder="垛位号" clearable>
<el-option
v-for="item in dwList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="16" style="text-align: right">
<el-button type="primary" @click="initList()"></el-button>
<el-button type="success" @click="add"></el-button>
<el-button type="success" @click="save"></el-button>
<el-button type="success" @click="remove"></el-button>
</el-col>
</el-row>
</el-form>
</el-header>
<el-container style="padding-top: 10px">
<el-container>
<el-main>
<div class="mytable">
<vxe-grid
id="id"
ref="tableRef"
border
resizable
keep-source
:height="height"
:auto-resize="true"
:columns="tableColumn"
:data="list"
:edit-config="{trigger: 'click', mode: 'row', showStatus: true,}"
:custom-config="{ storage: true }"
:scroll-y="{ enabled: true }"
highlight-hover-row
>
</vxe-grid>
</div>
</el-main>
</el-container>
</el-container>
<YppTq ref="yppTqRef" />
</el-container>
</template>
<script>
import {getGhs} from "@/api/sjzx/sbxxWH";
import {getCzplBase} from "@/api/sjzx/jcsj";
import {cgjhdhqk} from "@/api/jhzx/sygd";
import YppTq from "@/views/jhzxgl/components/YppTq.vue";
import {getBfwz, saveBfwz} from "@/api/jhzxgl/ypp";
export default {
name: "Cgjhdh",
components: {YppTq},
data() {
return {
height: "500px",
list:[],
qyList:[],
dwList:[],
projectData:[],
request:{
qy:'',
dwh:''
},
tableColumn: [
{ type: 'checkbox', width: 40 },
{type: "seq", width: "50", title: "序号", align: "center", fixed: "left",},
{ field: 'qy', title: '区域', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
editRender:{ name: '$input', props: { placeholder: '请输入所在区域' }}
},
{ field: 'dwh', title: '垛位号', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
editRender:{ name: '$input', props: { placeholder: '请输入垛位号' }}
},
],
}
},
created() {
window.addEventListener("resize", this.getHeight);
this.getHeight();
this.initList()
},
methods: {
save(){
const {insertRecords:add, removeRecords:remove, updateRecords:edit}=this.$refs.tableRef.getRecordset()
const requestContext={add,remove,edit}
saveBfwz(requestContext).then(res=>{
this.$message.success('保存成功')
this.initList()
})
},
add(){
this.$refs.tableRef.insertAt({},0)
},
remove(){
this.$refs.tableRef.removeCheckboxRow();
},
initList(){
getBfwz(this.request).then(res=>{
this.list=res.data
const _qyList=[]
const _dwhList=[]
this.list.forEach(item=>{
_qyList.push({label:item.qy,value:item.qy})
_dwhList.push({label:item.dwh,value:item.dwh})
})
this.qyList=_qyList;
this.dwList=_dwhList
})
},
cellClickEvent({row}){
this.request.wjwz = row.cbbm
this.$refs.xDown4.hidePanel()
},
focusEvent4(){
this.$refs.xDown4.showPanel()
},
keyupEvent4(){
if (this.request.wjwz) {
this.projectData = this.projectData1.filter(row => row.cbbm.indexOf(this.request.wjwz.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>

@ -1,22 +1,342 @@
<template>
<el-container>
<span style="margin-top: 20px;margin-left: 20px">待开发...</span>
<el-header style="width: 100%">
<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.wjwz"
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-col>
<el-col :span="3">
<el-form-item label="区域:">
<el-select v-model="request.dwh" placeholder="区域" clearable>
<el-option
v-for="item in qyList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="垛位:">
<el-select v-model="request.dwh" placeholder="垛位" clearable>
<el-option
v-for="item in dwList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</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-col>
</el-row>
</el-form>
</el-header>
<el-container style="padding-top: 10px">
<el-container>
<el-main>
<div class="mytable">
<vxe-grid
id="id"
border
ref="tableRef"
resizable
keep-source
:height="height"
:auto-resize="true"
:columns="tableColumn"
:data="list"
:edit-config="{trigger: 'click', mode: 'row', showStatus: true,}"
:custom-config="{ storage: true }"
:scroll-y="{ enabled: true }"
highlight-hover-row
>
</vxe-grid>
</div>
</el-main>
</el-container>
</el-container>
<YppTq ref="yppTqRef" />
</el-container>
</template>
<script>
import {getGhs} from "@/api/sjzx/sbxxWH";
import {getCzplBase} from "@/api/sjzx/jcsj";
import {cgjhdhqk} from "@/api/jhzx/sygd";
import YppTq from "@/views/jhzxgl/components/YppTq.vue";
import {getBfwz} from "@/api/jhzxgl/ypp";
export default {
name: "YppCX",
name: "Cgjhdh",
components: {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:{
wjwz:'',
dwh:'',
zjcz:true
},
tableColumn: [
{type: "seq", width: "50", title: "序号", align: "center", fixed: "left",},
{ field: 'dcCh', title: '船只', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dcPl', title: '批量', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dcFd', title: '分段号', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dcTh', title: '图号', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dcZl', title: '组立', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dcTz', title: '特征', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dcYj', title: '依据', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dcPb', title: '拼板', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dcLph', title: '炉批号', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dcTpbh', title: '托盘编号', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'jldw1', title: '单价重量计量单位', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'wpmc', title: '物品名称', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'wpgg', title: '规格', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'wpxh', title: '材质', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'qy', title: '区域', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
editRender:{type:'$select',options:[],props:{clearable:true}}
},
{ field: 'dwh', title: '垛位号', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
editRender:{type:'$select',options:[],props:{clearable:true}}
},
{ field: 'wpjb', title: '物品级别', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'wpflm', title: '物品分类', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'abclx', title: 'ABC分类', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'gzlx', title: '加工进度', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'ylzd1', title: '配套表类型', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'lcm1', title: '流程码', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'zt', title: '状态', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'tpxx', title: '托盘信息', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
],
}
},
created() {
window.addEventListener("resize", this.getHeight);
this.getHeight();
this.initProject()
this.initBfwz()
},
methods: {
initList(){
},
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.wjwz = row.cbbm
this.$refs.xDown4.hidePanel()
},
focusEvent4(){
this.$refs.xDown4.showPanel()
},
keyupEvent4(){
if (this.request.wjwz) {
this.projectData = this.projectData1.filter(row => row.cbbm.indexOf(this.request.wjwz.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>

@ -1,22 +1,346 @@
<template>
<el-container>
<span style="margin-top: 20px;margin-left: 20px">待开发...</span>
<el-header style="width: 100%">
<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.wjwz"
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-col>
<el-col :span="3">
<el-form-item label="区域:">
<el-select v-model="request.dwh" placeholder="区域" clearable>
<el-option
v-for="item in qyList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="垛位:">
<el-select v-model="request.dwh" placeholder="垛位" clearable>
<el-option
v-for="item in dwList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</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="14" style="text-align: right">
<el-button type="primary" @click="initList()"></el-button>
<el-button type="primary" @click="save"></el-button>
</el-col>
</el-row>
</el-form>
</el-header>
<el-container style="padding-top: 10px">
<el-container>
<el-main>
<div class="mytable">
<vxe-grid
id="id"
border
ref="tableRef"
resizable
keep-source
:height="height"
:auto-resize="true"
:columns="tableColumn"
:data="list"
:edit-config="{trigger: 'click', mode: 'row', showStatus: true,}"
:custom-config="{ storage: true }"
:scroll-y="{ enabled: true }"
highlight-hover-row
>
</vxe-grid>
</div>
</el-main>
</el-container>
</el-container>
<YppTq ref="yppTqRef" />
</el-container>
</template>
<script>
import {getGhs} from "@/api/sjzx/sbxxWH";
import {getCzplBase} from "@/api/sjzx/jcsj";
import {cgjhdhqk} from "@/api/jhzx/sygd";
import YppTq from "@/views/jhzxgl/components/YppTq.vue";
import {getBfwz} from "@/api/jhzxgl/ypp";
export default {
name: "YppGL",
name: "Cgjhdh",
components: {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:{
wjwz:'',
dwh:'',
zjcz:true
},
tableColumn: [
{type: "seq", width: "50", title: "序号", align: "center", fixed: "left",},
{ field: 'dcCh', title: '船只', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dcPl', title: '批量', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dcFd', title: '分段号', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dcTh', title: '图号', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dcZl', title: '组立', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dcTz', title: '特征', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dcYj', title: '依据', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dcPb', title: '拼板', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dcLph', title: '炉批号', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'dcTpbh', title: '托盘编号', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'jldw1', title: '单价重量计量单位', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'wpmc', title: '物品名称', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'wpgg', title: '规格', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'wpxh', title: '材质', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'qy', title: '区域', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
editRender:{type:'$select',options:[],props:{clearable:true}}
},
{ field: 'dwh', title: '垛位号', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
editRender:{type:'$select',options:[],props:{clearable:true}}
},
{ field: 'wpjb', title: '物品级别', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'wpflm', title: '物品分类', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'abclx', title: 'ABC分类', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'gzlx', title: '加工进度', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'ylzd1', title: '配套表类型', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'lcm1', title: '流程码', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'zt', title: '状态', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
{ field: 'tpxx', title: '托盘信息', width: 120,align: "center",
filters: [{ data: { checks: [], sVal: '', sMenu: '', fType1: '', fVal1: '', fMode: 'and', fType2: '', fVal2: '' } }],
filterRender: { name: 'FilterCombination', },
},
],
}
},
created() {
window.addEventListener("resize", this.getHeight);
this.getHeight();
this.initProject()
this.initBfwz()
},
methods: {
save(){
},
initList(){
},
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.wjwz = row.cbbm
this.$refs.xDown4.hidePanel()
},
focusEvent4(){
this.$refs.xDown4.showPanel()
},
keyupEvent4(){
if (this.request.wjwz) {
this.projectData = this.projectData1.filter(row => row.cbbm.indexOf(this.request.wjwz.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>

@ -1,22 +1,731 @@
<template>
<el-container>
<span style="margin-top: 20px;margin-left: 20px">待开发...</span>
<el-header style="width: 100%">
<el-form ref="requestForm" :model="request" label-width="65px">
<el-row>
<el-col :span="3">
<el-form-item label="供货商:">
<el-select v-model="request.ghsbm" placeholder="供货商" clearable>
<el-option
v-for="item in ghsList"
:key="item.ghsbm"
:label="item.ghsqc"
:value="item.ghsbm"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item label="合同号:" label-width="85px">
<el-input v-model="request.ddmc" 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="14" style="text-align: right">
<el-button type="primary" @click="initList()"></el-button>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<el-form-item label="船号:">
<vxe-pulldown ref="xDown4" transfer >
<template #default>
<vxe-input
v-model="request.wjwz"
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-col>
<el-col :span="3">
<el-form-item label="小合同号:" label-width="85px">
<el-input v-model="request.xhth" type="search" placeholder="小合同号" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="订单生效日期:" label-width="105px">
<el-col :span="11">
<el-date-picker v-model="request.ksrq" type="date" format="yyyy/MM/dd" value-format="yyyy/MM/dd" placeholder="开始日期" ></el-date-picker>
</el-col>
<el-col style="text-align: center" :span="2"></el-col>
<el-col :span="11">
<el-date-picker v-model="request.jsrq" type="date" format="yyyy/MM/dd" value-format="yyyy/MM/dd" placeholder="结束日期" ></el-date-picker>
</el-col>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-header>
<el-container style="padding-top: 10px">
<el-container>
<el-main>
<div class="mytable">
<vxe-grid
id="id"
ref="tableRef"
border
resizable
keep-source
:height="height"
:auto-resize="true"
:columns="tableColumn"
:data="list"
:custom-config="{ storage: true }"
:scroll-y="{ enabled: true }"
highlight-hover-row
>
</vxe-grid>
</div>
</el-main>
</el-container>
</el-container>
</el-container>
</template>
<script>
import {getGhs} from "@/api/sjzx/sbxxWH";
import {getCzplBase} from "@/api/sjzx/jcsj";
import {cgjhdhqk} from "@/api/jhzx/sygd";
export default {
name: "Cgjhdh",
data() {
return {
height: "500px",
list:[],
projectColumns: [
{field: 'cbbm', title: '船号',width: 110},
{ field: 'wgbs', title: '完工标识', width: 80,
slots:{
default: 'wgbsEdit'
},
},
],
projectData:[],
ShipNoList:[],
ghsList:[],
request:{
ghsbm:'',
wjwz:'',
ddmc:'',
zjcz:true,
xhth:'',
ksrq:'',
jsrq:'',
},
tableColumn: [
{
type: "seq",
width: "50",
title: "序号",
align: "center",
fixed: "left",
},
{
field: "ghsbm",
title: "供应商",
align: "center",
minWidth: "140",
filters: [
{
data: {
checks: [],
sVal: "",
sMenu: "",
fType1: "",
fVal1: "",
fMode: "and",
fType2: "",
fVal2: "",
},
},
],
filterRender: { name: "FilterCombination" },
},
{
field: "wjwz",
title: "船号",
align: "center",
minWidth: "100",
filters: [
{
data: {
checks: [],
sVal: "",
sMenu: "",
fType1: "",
fVal1: "",
fMode: "and",
fType2: "",
fVal2: "",
},
},
],
filterRender: { name: "FilterCombination" },
},
{
field: "dzwz",
title: "期量",
align: "center",
minWidth: "70",
filters: [
{
data: {
checks: [],
sVal: "",
sMenu: "",
fType1: "",
fVal1: "",
fMode: "and",
fType2: "",
fVal2: "",
},
},
],
filterRender: { name: "FilterCombination" },
},
{
field: "sxrq",
title: "生效日期",
align: "center",
minWidth: "100",
filters: [
{
data: {
checks: [],
sVal: "",
sMenu: "",
fType1: "",
fVal1: "",
fMode: "and",
fType2: "",
fVal2: "",
},
},
],
filterRender: { name: "FilterCombination" },
},
{
field: "ddmc",
title: " 合同号",
align: "center",
minWidth: "100",
filters: [
{
data: {
checks: [],
sVal: "",
sMenu: "",
fType1: "",
fVal1: "",
fMode: "and",
fType2: "",
fVal2: "",
},
},
],
filterRender: { name: "FilterCombination" },
},
{
field: "dc_ch",
title: "小合同号",
align: "center",
minWidth: "90",
filters: [
{
data: {
checks: [],
sVal: "",
sMenu: "",
fType1: "",
fVal1: "",
fMode: "and",
fType2: "",
fVal2: "",
},
},
],
filterRender: { name: "FilterCombination" },
},
{
field: "ddxh",
title: "项号",
align: "center",
minWidth: "90",
filters: [
{
data: {
checks: [],
sVal: "",
sMenu: "",
fType1: "",
fVal1: "",
fMode: "and",
fType2: "",
fVal2: "",
},
},
],
filterRender: { name: "FilterCombination" },
},
{
field: "wpmc",
title: "物品名称",
align: "center",
minWidth: "90",
filters: [
{
data: {
checks: [],
sVal: "",
sMenu: "",
fType1: "",
fVal1: "",
fMode: "and",
fType2: "",
fVal2: "",
},
},
],
filterRender: { name: "FilterCombination" },
},
{
field: "rkxh",
title: "材质",
align: "center",
minWidth: "100",
filters: [
{
data: {
checks: [],
sVal: "",
sMenu: "",
fType1: "",
fVal1: "",
fMode: "and",
fType2: "",
fVal2: "",
},
},
],
formatter:['dictFormat','GCXH'],
filterRender: { name: "FilterCombination" },
},
{
field: "rkgg",
title: "规格",
align: "center",
minWidth: "90",
filters: [
{
data: {
checks: [],
sVal: "",
sMenu: "",
fType1: "",
fVal1: "",
fMode: "and",
fType2: "",
fVal2: "",
},
},
],
filterRender: { name: "FilterCombination" },
},
{
field: "_zl",
title: "单张重量",
align: "center",
minWidth: "100",
filters: [
{
data: {
checks: [],
sVal: "",
sMenu: "",
fType1: "",
fVal1: "",
fMode: "and",
fType2: "",
fVal2: "",
},
},
],
filterRender: { name: "FilterCombination" },
},
{
field: "dhsl",
title: "订货张数(A)",
align: "center",
minWidth: "80",
filters: [
{
data: {
checks: [],
sVal: "",
sMenu: "",
fType1: "",
fVal1: "",
fMode: "and",
fType2: "",
fVal2: "",
},
},
],
filterRender: { name: "FilterCombination" },
},
{
field: "dhsl1",
title: "订货重量(B)",
align: "center",
minWidth: "80",
filters: [
{
data: {
checks: [],
sVal: "",
sMenu: "",
fType1: "",
fVal1: "",
fMode: "and",
fType2: "",
fVal2: "",
},
},
],
filterRender: { name: "FilterCombination" },
},
{
field: "lszrk",
title: "入库张数(E)",
align: "center",
minWidth: "80",
filters: [
{
data: {
checks: [],
sVal: "",
sMenu: "",
fType1: "",
fVal1: "",
fMode: "and",
fType2: "",
fVal2: "",
},
},
],
filterRender: { name: "FilterCombination" },
},
{
field: "_rk",
title: "入库张数差值A-E",
align: "center",
minWidth: "100",
filters: [
{
data: {
checks: [],
sVal: "",
sMenu: "",
fType1: "",
fVal1: "",
fMode: "and",
fType2: "",
fVal2: "",
},
},
],
filterRender: { name: "FilterCombination" },
},
{
field: "lszrkzl",
title: "入库重量(F)",
align: "center",
minWidth: "80",
filters: [
{
data: {
checks: [],
sVal: "",
sMenu: "",
fType1: "",
fVal1: "",
fMode: "and",
fType2: "",
fVal2: "",
},
},
],
filterRender: { name: "FilterCombination" },
},
{
field: "_lszrkzl",
title: "入库重量差值B-F",
align: "center",
minWidth: "95",
filters: [
{
data: {
checks: [],
sVal: "",
sMenu: "",
fType1: "",
fVal1: "",
fMode: "and",
fType2: "",
fVal2: "",
},
},
],
filterRender: { name: "FilterCombination" },
},
{
field: "lszck",
title: "出库张数(G)",
align: "center",
minWidth: "70",
filters: [
{
data: {
checks: [],
sVal: "",
sMenu: "",
fType1: "",
fVal1: "",
fMode: "and",
fType2: "",
fVal2: "",
},
},
],
filterRender: { name: "FilterCombination" },
},
{
field: "_lszck",
title: "出库张数差值A-G",
align: "center",
minWidth: "95",
filters: [
{
data: {
checks: [],
sVal: "",
sMenu: "",
fType1: "",
fVal1: "",
fMode: "and",
fType2: "",
fVal2: "",
},
},
],
filterRender: { name: "FilterCombination" },
},
{
field: "lszckzl",
title: "出库重量(H)",
align: "center",
minWidth: "70",
filters: [
{
data: {
checks: [],
sVal: "",
sMenu: "",
fType1: "",
fVal1: "",
fMode: "and",
fType2: "",
fVal2: "",
},
},
],
filterRender: { name: "FilterCombination" },
},
{
field: "_lszckzl",
title: "出库重量差值B-H",
align: "center",
minWidth: "95",
filters: [
{
data: {
checks: [],
sVal: "",
sMenu: "",
fType1: "",
fVal1: "",
fMode: "and",
fType2: "",
fVal2: "",
},
},
],
filterRender: { name: "FilterCombination" },
},
{
field: "kcsl",
title: "库存张数(I)",
align: "center",
minWidth: "70",
filters: [
{
data: {
checks: [],
sVal: "",
sMenu: "",
fType1: "",
fVal1: "",
fMode: "and",
fType2: "",
fVal2: "",
},
},
],
filterRender: { name: "FilterCombination" },
},
{
field: "cgy",
title: "采购员",
align: "center",
minWidth: "80",
filters: [
{
data: {
checks: [],
sVal: "",
sMenu: "",
fType1: "",
fVal1: "",
fMode: "and",
fType2: "",
fVal2: "",
},
},
],
filterRender: { name: "FilterCombination" },
},
],
}
},
created() {
window.addEventListener("resize", this.getHeight);
this.getHeight();
this.initGhs();
this.initProject()
},
methods: {
initList(){
cgjhdhqk(this.request).then(res=>{
this.list=res.data
})
},
initProject(){
getCzplBase({}).then(res=>{
console.log(res)
this.projectData=res.data.cbbm
})
},
initGhs(){
getGhs().then(res=>{
this.ghsList=res.data
})
},
cellClickEvent({row}){
this.request.wjwz = row.cbbm
this.$refs.xDown4.hidePanel()
},
focusEvent4(){
this.$refs.xDown4.showPanel()
},
keyupEvent4(){
if (this.request.wjwz) {
this.projectData = this.projectData1.filter(row => row.cbbm.indexOf(this.request.wjwz.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>

Loading…
Cancel
Save