Browse Source

24-04-23 出库扫描报表

master
zelian_wu 2 years ago
parent
commit
b045b92f73
  1. 6
      src/element-ui/index.js
  2. 30
      src/views/modules/production/reworkRecord.vue
  3. 225
      src/views/modules/production/scanForm.vue

6
src/element-ui/index.js

@ -166,7 +166,7 @@ Vue.prototype.$message = function (msg) {
Vue.prototype.$message.success = function (msg) {
return Message.success({
message: msg,
duration: 1000,
duration: 3000,
customClass: 'messageMaxFont',
dangerouslyUseHTMLString: true
})
@ -175,7 +175,7 @@ Vue.prototype.$message.success = function (msg) {
Vue.prototype.$message.warning = function (msg) {
return Message.error({
message: msg,
duration: 1000,
duration: 3000,
customClass: 'messageMaxFont',
dangerouslyUseHTMLString: true
})
@ -184,7 +184,7 @@ Vue.prototype.$message.warning = function (msg) {
Vue.prototype.$message.error = function (msg) {
return Message.error({
message: msg,
duration: 1000,
duration: 3000,
customClass: 'messageMaxFont',
dangerouslyUseHTMLString: true
})

30
src/views/modules/production/reworkRecord.vue

@ -240,7 +240,7 @@ export default {
<template>
<div>
<choose-list ref="baseList" @getBaseData="getBaseData"></choose-list>
<el-dialog title="开始返修" @close="closeStartReworkRecordDialog" :visible.sync="startReworkRecordDialog" :close-on-click-modal="false" width="13%">
<el-dialog title="返工返修" @close="closeStartReworkRecordDialog" :visible.sync="startReworkRecordDialog" :close-on-click-modal="false" width="13%">
<el-form :model="saveRework" label-position="top" @submit.native.prevent>
<el-form-item label="派工单号" prop="seqNo">
<el-input type="number" v-model="saveRework.seqNo" @keydown.native.enter="startRework"></el-input>
@ -577,6 +577,13 @@ export default {
prop="workCenterNo"
label="加工编码">
</el-table-column>
<el-table-column
header-align="center"
align="center"
min-width="120"
prop="createTime"
label="创建时间">
</el-table-column>
<el-table-column
header-align="center"
align="left"
@ -631,20 +638,13 @@ export default {
prop="reworkStatus"
label="返工状态">
</el-table-column>
<el-table-column
header-align="center"
align="center"
min-width="120"
prop="createTime"
label="创建时间">
</el-table-column>
<el-table-column
header-align="center"
align="left"
min-width="100"
prop="createBy"
label="创建人">
</el-table-column>
<!-- <el-table-column-->
<!-- header-align="center"-->
<!-- align="left"-->
<!-- min-width="100"-->
<!-- prop="createBy"-->
<!-- label="创建人">-->
<!-- </el-table-column>-->
</el-table>
</div>

225
src/views/modules/production/scanForm.vue

@ -65,9 +65,6 @@ export default {
partValue:0,
scanLabelDetailList:[],
photoDatas:[],
fileTitle:'',
fileName:'',
photoUrl:'',
num:1,
exportDataStandard: {
"通知单号": "delNotifyNo",
@ -199,14 +196,10 @@ export default {
partNo:this.detail.partNo,
}
this.photoDatas = [];
this.fileName='';
this.fileTitle="";
this.photoUrl='';
this.num=1;
getPhotoAddressData(params).then(({data}) => {
this.photoDatas = data.rows;
if(this.photoDatas.length===0){
this.fileTitle="文件名 ("+0+"/"+0+")";
setTimeout(() => {
this.$alert('该物料没有上传图片!', '错误', {
confirmButtonText: '确定'
@ -214,45 +207,17 @@ export default {
}, 500);
return false;
}
this.fileName=this.photoDatas[this.num-1].attaFileNameDb;
this.fileTitle="文件名 ("+this.num+"/"+this.photoDatas.length+")";
this.photoUrl=this.$store.state.user.padSopUrl+this.photoDatas[this.num-1].attaFileNameDb;
})
},
lastPicture(){
if(this.photoDatas.length===0){
this.fileTitle="文件名 ("+0+"/"+0+")";
this.$alert('该物料没有上传图片!', '错误', {
confirmButtonText: '确定'
})
return false;
}
if(this.num===1){
this.num=this.photoDatas.length;
}else{
this.num=this.num-1;
}
this.fileName=this.photoDatas[this.num-1].attaFileNameDb;
this.fileTitle="文件名 ("+this.num+"/"+this.photoDatas.length+")";
this.photoUrl=this.$store.state.user.padSopUrl+this.photoDatas[this.num-1].attaFileNameDb;
this.$refs.photoCarousel.prev();
},
nextPicture(){
if(this.photoDatas.length===0){
this.fileTitle="文件名 ("+0+"/"+0+")";
this.$alert('该物料没有上传图片!', '错误', {
confirmButtonText: '确定'
})
return false;
}
if(this.num===this.photoDatas.length){
this.num=1;
}else{
this.num=this.num+1;
}
this.fileName=this.photoDatas[this.num-1].attaFileNameDb;
this.fileTitle="文件名 ("+this.num+"/"+this.photoDatas.length+")";
this.photoUrl=this.$store.state.user.padSopUrl+this.photoDatas[this.num-1].attaFileNameDb;
this.$refs.photoCarousel.next();
},
changePhoto(index){
this.num=index+1;
}
}
}
@ -266,81 +231,90 @@ export default {
width="80%"
@open="scanLabel"
@close="closeScanDialog" @opened="openScanDialog">
<el-form :model="model" :inline="true" label-position="top">
<!-- <el-form-item label=" ">-->
<!-- <el-select v-model="model.flag" clearable>-->
<!-- <el-option value="" label="标准袋数"></el-option>-->
<!-- <el-option value="Y" label="零数袋"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="标签" style="width: 200px " v-if="!isReport">
<el-input ref="focusInput" v-model="model.label" @keyup.enter.native="scanLabelEnter"></el-input>
</el-form-item>
<el-form-item label="合计">
<el-input-number disabled :controls="false" style="margin-top: -5px;text-align: right" v-model="total"></el-input-number>
</el-form-item>
<el-form-item label="袋数">
<el-input-number disabled :controls="false" style="margin-top: -5px;text-align: right" v-model="totalNum"></el-input-number>
</el-form-item>
<el-form-item label=" " v-if="isReport">
<download-excel
:fields="exportDataStandard"
:data="scanLabelDetailList.map(item=>{item.partNo=detail.partNo;return item;})"
type="xlsx"
:name="exportName"
worksheet="导出信息"
class="el-button el-button--primary el-button--medium">
导出
</download-excel>
</el-form-item>
</el-form>
<div style="display:flex;justify-content:space-between;align-items:center;">
<el-table :data="scanLabelDetailList" style="width: 60%" stripe border height="400" highlight-current-row>
<el-table-column label="操作" align="center" v-if="!isReport">
<template slot-scope="{row,$index}">
<el-link style="cursor:pointer;" @click="removeScanLabel(row)">删除</el-link>
</template>
</el-table-column>
<el-table-column label="通知单号" header-align="center" align="center" show-overflow-tooltip prop="delNotifyNo"/>
<el-table-column label="通知单号序号" header-align="center" align="left" show-overflow-tooltip prop="delNotifyItemNo"/>
<el-table-column label="产品编码" header-align="center" show-overflow-tooltip>
<template slot-scope="{row,$index}">
{{detail.partNo}}
</template>
</el-table-column>
<el-table-column label="数量" header-align="center" align="center" show-overflow-tooltip prop="scanQty"/>
<el-table-column label="类型" header-align="center" align="left" show-overflow-tooltip prop="scanType"/>
<el-table-column label="操作员" header-align="center" align="left" show-overflow-tooltip prop="createBy"/>
<el-table-column label="扫描时间" header-align="center" align="center" show-overflow-tooltip prop="createData"/>
</el-table>
<div style="width: 650px;display: flex;flex-wrap: wrap;align-items: center;">
<div class="pad" style="width: 50%;">
<h5 style="margin-left: 30px;font-size: 20px">产品图片</h5>
<el-form :inline="true" style="margin-left: 30px" label-position="top">
<el-form-item :label="'产品编码:'" style="margin-left: 0px">
<el-input v-model="detail.partNo" readonly style="width: 220px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" style="margin-top: 20px;margin-left: 30px" label-position="top">
<el-form-item :label="fileTitle">
<el-input v-model="fileName" style="width: 374px" readonly></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" style="margin-top: 20px;margin-left: 30px" label-position="top">
<el-form-item :label="' '">
<el-button @click="lastPicture()" style="margin-left: 10px;height: 35px;width: 90px" type="primary">
上一张
</el-button>
</el-form-item>
<el-form-item :label="' '">
<el-button @click="nextPicture()" style="margin-left: 25px;height: 35px;width: 90px" type="primary">
下一张
</el-button>
</el-form-item>
</el-form>
</div>
<div id="padPhoto" style="text-align: center;width: 50%;vertical-align:middle;margin-top: 5px">
<img style="max-width: 100%;max-height: 380px;vertical-align:middle;" :src="photoUrl">
<div style="display:flex;justify-content:space-between;align-items:flex-start;">
<div style="width: 60%">
<el-form :model="model" :inline="true" label-position="top">
<!-- <el-form-item label=" ">-->
<!-- <el-select v-model="model.flag" clearable>-->
<!-- <el-option value="" label="标准袋数"></el-option>-->
<!-- <el-option value="Y" label="零数袋"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="标签" style="width: 200px " v-if="!isReport">
<el-input ref="focusInput" v-model="model.label" @keyup.enter.native="scanLabelEnter"></el-input>
</el-form-item>
<el-form-item label="合计">
<el-input-number disabled :controls="false" style="margin-top: -5px;text-align: right" v-model="total"></el-input-number>
</el-form-item>
<el-form-item label="袋数">
<el-input-number disabled :controls="false" style="margin-top: -5px;text-align: right" v-model="totalNum"></el-input-number>
</el-form-item>
<el-form-item label=" " v-if="isReport">
<download-excel
:fields="exportDataStandard"
:data="scanLabelDetailList.map(item=>{item.partNo=detail.partNo;return item;})"
type="xlsx"
:name="exportName"
worksheet="导出信息"
class="el-button el-button--primary el-button--medium">
导出
</download-excel>
</el-form-item>
</el-form>
<el-table :data="scanLabelDetailList" stripe border height="500" highlight-current-row>
<el-table-column label="操作" align="center" v-if="!isReport">
<template slot-scope="{row,$index}">
<el-link style="cursor:pointer;" @click="removeScanLabel(row)">删除</el-link>
</template>
</el-table-column>
<el-table-column label="通知单号" header-align="center" align="center" show-overflow-tooltip prop="delNotifyNo"/>
<el-table-column label="通知单号序号" header-align="center" align="left" show-overflow-tooltip prop="delNotifyItemNo"/>
<el-table-column label="产品编码" header-align="center" show-overflow-tooltip>
<template slot-scope="{row,$index}">
{{detail.partNo}}
</template>
</el-table-column>
<el-table-column label="数量" header-align="center" align="center" show-overflow-tooltip prop="scanQty"/>
<el-table-column label="类型" header-align="center" align="left" show-overflow-tooltip prop="scanType"/>
<el-table-column label="操作员" header-align="center" align="left" show-overflow-tooltip prop="createBy"/>
<el-table-column label="扫描时间" header-align="center" align="center" show-overflow-tooltip prop="createData"/>
</el-table>
</div>
<div class="photo" style="width: 40%;padding-left: 10px">
<el-form label-position="top" size="medium">
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="产品编码:">
<el-input v-model="detail.partNo" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item style="height: 30px;" label=" ">
<div>
<el-button @click="lastPicture()" style="height: 30px;width: 80px" type="primary">
上一张
</el-button>
<el-button @click="nextPicture()" style="height: 30px;width: 80px" type="primary">
下一张
</el-button>
</div>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item :label="`文件名(${photoDatas[this.num-1]?this.num:0}/${this.photoDatas.length})`">
<el-input :value="photoDatas[this.num-1]?photoDatas[this.num-1].attaFileNameDb:''" readonly></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div id="padPhoto" style="text-align: center;width: 100%;vertical-align:middle;margin-top: 5px">
<el-carousel height="400px" @change="changePhoto" ref="photoCarousel" :autoplay="false" indicator-position="none" :interval="5000" arrow="never">
<el-carousel-item v-for="(item,index) in this.photoDatas" :key="index">
<img style="max-width:100%;height: 400px;object-fit: cover;object-position: center center" :src="$store.state.user.padSopUrl+item.attaFileNameDb">
</el-carousel-item>
</el-carousel>
</div>
</div>
</div>
@ -356,4 +330,25 @@ export default {
padding-right: 5px !important;
padding-left: 5px !important;
}
.photo .el-form-item--medium /deep/ .el-form-item__label {
font-size: 16px;
line-height: 30px;
height: 30px;
}
.photo .el-form-item--medium /deep/ .el-form-item__content {
margin-bottom: 5px;
}
.photo .el-form-item--medium /deep/ .el-form-item__content .el-button {
width: 80px;
height: 30px;
}
.photo .el-form-item--medium /deep/ .el-form-item__content .el-input .el-input__inner {
font-size: 16px;
line-height: 30px;
height: 30px !important;
}
</style>
Loading…
Cancel
Save