Merge pull request '修改bug' (#16) from zjl into master
All checks were successful
continuous-integration/drone/push Build is passing

Reviewed-on: #16
This commit is contained in:
朱菊兰 2023-05-15 17:25:59 +08:00
commit 34d7b8682d
35 changed files with 468 additions and 66 deletions

View File

@ -1 +1 @@
.plan-maintenance[data-v-d279e1c8]{height:calc(100vh - 203px);padding:12px 16px;margin:0 16px;border-radius:8px;background-color:#fff}
.plan-maintenance[data-v-bf7ad0ae]{height:calc(100vh - 203px);padding:12px 16px;margin:0 16px;border-radius:8px;background-color:#fff}

View File

@ -1 +1 @@
.bottom-box[data-v-5624e103]{overflow-x:auto;display:flex}.bottom-box .bottom-left[data-v-5624e103],.bottom-box .bottom-right[data-v-5624e103]{display:inline-block}.bottom-box .bottom-left[data-v-5624e103]{width:290px;margin-right:8px}.bottom-box .bottom-left .dataTab li[data-v-5624e103]{width:65px}.bottom-box .bottom-right[data-v-5624e103]{width:calc(100% - 300px)}.bottom-box .bottom-right .dataTab li[data-v-5624e103]{width:7.7%;min-width:60px}.title[data-v-5624e103]{display:inline-block;height:66px;width:30px;font-size:14px;line-height:14px;font-weight:500;padding:5px 8px 0;color:rgba(0,0,0,.85);background-color:#fafafa;border-top-left-radius:5px;border-bottom-left-radius:5px}.dataTab[data-v-5624e103]{display:flex;flex-flow:row nowrap}.dataTab li[data-v-5624e103]{font-size:14px;border-right:1px solid #e8e8e8;border-bottom:1px solid #e8e8e8}.dataTab li p[data-v-5624e103]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dataTab li .tabHead[data-v-5624e103]{height:31px;background:#e9ebf0}.dataTab li .tabHead[data-v-5624e103],.dataTab li .tabValue[data-v-5624e103]{padding:8px}.dataTab li .tabValue[data-v-5624e103]{height:35px}.full-inspection-detail[data-v-444ed842]{margin:0 16px;padding:16px;border-radius:8px;height:calc(100vh - 205px);background-color:#fff}.full-inspection-detail .plot-total[data-v-444ed842]{position:relative;height:115px}.full-inspection-detail .plot-total .plot-total-box[data-v-444ed842]{position:absolute;width:100%;top:25px;left:0}
.bottom-box[data-v-5624e103]{overflow-x:auto;display:flex}.bottom-box .bottom-left[data-v-5624e103],.bottom-box .bottom-right[data-v-5624e103]{display:inline-block}.bottom-box .bottom-left[data-v-5624e103]{width:290px;margin-right:8px}.bottom-box .bottom-left .dataTab li[data-v-5624e103]{width:65px}.bottom-box .bottom-right[data-v-5624e103]{width:calc(100% - 300px)}.bottom-box .bottom-right .dataTab li[data-v-5624e103]{width:7.7%;min-width:60px}.title[data-v-5624e103]{display:inline-block;height:66px;width:30px;font-size:14px;line-height:14px;font-weight:500;padding:5px 8px 0;color:rgba(0,0,0,.85);background-color:#fafafa;border-top-left-radius:5px;border-bottom-left-radius:5px}.dataTab[data-v-5624e103]{display:flex;flex-flow:row nowrap}.dataTab li[data-v-5624e103]{font-size:14px;border-right:1px solid #e8e8e8;border-bottom:1px solid #e8e8e8}.dataTab li p[data-v-5624e103]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dataTab li .tabHead[data-v-5624e103]{height:31px;background:#e9ebf0}.dataTab li .tabHead[data-v-5624e103],.dataTab li .tabValue[data-v-5624e103]{padding:8px}.dataTab li .tabValue[data-v-5624e103]{height:35px}.full-inspection-detail[data-v-7f728e52]{margin:0 16px;padding:16px;border-radius:8px;height:calc(100vh - 205px);background-color:#fff}.full-inspection-detail .plot-total[data-v-7f728e52]{position:relative;height:115px}.full-inspection-detail .plot-total .plot-total-box[data-v-7f728e52]{position:absolute;width:100%;top:25px;left:0}

1
dist/css/4941.cb8dd88e.css vendored Normal file
View File

@ -0,0 +1 @@
.finalInspectionData[data-v-1932e535]{width:100%}.finalInspectionData .box-top[data-v-1932e535]{width:100%;padding:8px 16px 0}.finalInspectionData .box-top .search-box[data-v-1932e535]{height:62px;padding:10px 16px;box-sizing:border-box;border-radius:8px;background-color:#fff}.finalInspectionData .box[data-v-1932e535]{width:100%;padding:8px 8px 0 16px}.finalInspectionData .box .left-box[data-v-1932e535],.finalInspectionData .box .right-box[data-v-1932e535]{height:calc(100vh - 220px);padding:16px;border-radius:8px;background-color:#fff}.finalInspectionData .box .left-box .table-box[data-v-1932e535],.finalInspectionData .box .right-box .table-box[data-v-1932e535]{margin-top:16px;height:calc(100vh - 290px);overflow:auto}.finalInspectionData .box .left-box .table-button[data-v-1932e535]{display:inline-block;height:30px;width:100%;text-align:center;padding-top:4px;margin-bottom:16px;font-size:14px;color:#0b58ff;border-radius:4px;border:1px dotted #0b58ff;cursor:pointer}.finalInspectionData .box .right-box .title[data-v-1932e535]:before{content:"";display:inline-block;width:4px;height:16px;background:#0b58ff;border-radius:1px;margin-right:8px;vertical-align:middle}

View File

@ -1 +0,0 @@
.finalInspectionData[data-v-22462100]{width:100%}.finalInspectionData .box-top[data-v-22462100]{width:100%;padding:8px 16px 0}.finalInspectionData .box-top .search-box[data-v-22462100]{height:62px;padding:10px 16px;box-sizing:border-box;border-radius:8px;background-color:#fff}.finalInspectionData .box[data-v-22462100]{width:100%;padding:8px 8px 0 16px}.finalInspectionData .box .left-box[data-v-22462100],.finalInspectionData .box .right-box[data-v-22462100]{height:calc(100vh - 220px);padding:16px;border-radius:8px;background-color:#fff}.finalInspectionData .box .left-box .table-box[data-v-22462100],.finalInspectionData .box .right-box .table-box[data-v-22462100]{margin-top:16px;height:calc(100vh - 290px);overflow:auto}.finalInspectionData .box .left-box .table-button[data-v-22462100]{display:inline-block;height:30px;width:100%;text-align:center;padding-top:4px;margin-bottom:16px;font-size:14px;color:#0b58ff;border-radius:4px;border:1px dotted #0b58ff;cursor:pointer}.finalInspectionData .box .right-box .title[data-v-22462100]:before{content:"";display:inline-block;width:4px;height:16px;background:#0b58ff;border-radius:1px;margin-right:8px;vertical-align:middle}

2
dist/index.html vendored
View File

@ -1 +1 @@
<!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/favicon.ico"><title>tft-mes</title><script defer="defer" src="/js/chunk-vendors.a42f8636.js"></script><script defer="defer" src="/js/app.5a7cbcdc.js"></script><link href="/css/app.68cbc19b.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but tft-mes doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
<!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/favicon.ico"><title>tft-mes</title><script defer="defer" src="/js/chunk-vendors.a42f8636.js"></script><script defer="defer" src="/js/app.8c6c63a4.js"></script><link href="/css/app.68cbc19b.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but tft-mes doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
dist/js/3813.ab202fcc.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/js/3899.665c3a49.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
dist/js/4941.49331b44.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/js/5096.25cdde84.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
dist/js/6746.c7b86dac.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
dist/js/9705.2f82f16f.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
dist/js/9796.d66f9ab1.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -71,7 +71,7 @@ export function processCompleteInspetionListType(data) {
// 全检导出
export function completeInspetionExport(data) {
return request({
url: '/quality/processCompleteInspetion/export',
url: '/quality/processCompleteInspetion/export2',
method: 'post',
responseType: 'blob',
data
@ -180,3 +180,19 @@ export function thickReportexport(data) {
data
})
}
// 终检数据-终检下片包装报表查询
export function queryGlassData(data) {
return request({
url: '/quality/finalpackaging/queryGlassData',
method: 'post',
data
})
}
// 终检数据-终检下片包装报表计算
export function claGlassData(data) {
return request({
url: '/quality/finalpackaging/claGlassData',
method: 'post',
data
})
}

View File

@ -134,7 +134,7 @@ const tableProps = [
minWidth: 180
},
{
prop: 'executiveStaff',
prop: 'executeStaff',
label: '执行人员',
minWidth: 140
},

View File

@ -2,7 +2,7 @@
<el-form ref="form" :rules="rules" label-width="110px" :model="form">
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="产线1" prop="proLineId">
<el-form-item label="产线" prop="proLineId">
<el-select
v-model="form.proLineId"
placeholder="产线"

View File

@ -106,7 +106,7 @@ export default {
productionLineList: JSON.parse(localStorage.getItem('publicList'))
.proLineVoList,
regrindList: JSON.parse(localStorage.getItem('publicList')).regrindVoList,
isAllow: 1 // 123
isAllow: 1 // 12
}
},
methods: {
@ -129,27 +129,36 @@ export default {
submitForm() {
this.$refs['form'].validate((valid) => {
if (valid) {
if (this.form.id) {
unloadPalletUpdate({ ...this.form }).then((res) => {
if (res.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500
})
this.$emit('successSubmit')
}
})
if (this.isAllow === 1) {
if (this.form.id) {
unloadPalletUpdate({ ...this.form }).then((res) => {
if (res.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500
})
this.$emit('successSubmit')
}
})
} else {
unloadPalletAdd({ ...this.form }).then((res) => {
if (res.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500
})
this.$emit('successSubmit')
}
})
}
} else {
unloadPalletAdd({ ...this.form }).then((res) => {
if (res.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500
})
this.$emit('successSubmit')
}
this.$message({
message:
'玻璃架ID与目前是包装或者复投状态的玻璃架ID重复请重新编辑输入',
type: 'error',
duration: 1500
})
}
} else {
@ -158,16 +167,18 @@ export default {
})
},
formClear() {
this.isAllow = 1
this.$refs.form.resetFields()
},
checkGlassRackId() {
unloadPalletVerify(this.form.glassRackId)
.then((res) => {
console.log(res)
this.isAllow = 1
})
.catch((err) => {
console.log(err)
this.isAllow
this.isAllow = 2
})
}
}

View File

@ -32,6 +32,7 @@
<base-dialog
:dialogTitle="addOrEditTitle"
:dialogVisible="centervisible"
:close-on-click-modal="false"
@cancel="handleCancel"
@confirm="handleConfirm"
:before-close="handleCancel"
@ -47,6 +48,7 @@
<base-dialog
dialogTitle="请选择上架的玻璃架工位"
:dialogVisible="centervisible2"
:close-on-click-modal="false"
@cancel="handleCancel2"
@confirm="handleConfirm2"
:before-close="handleCancel2"

View File

@ -35,6 +35,12 @@
<div class="table-box" v-if="reportTitle === '厚度汇总报表'">
<glass-thick-report :tableData="thickReportArr" />
</div>
<div class="table-box" v-if="reportTitle === '终检下片包装'">
<glass-pack-report
:tableData1="packClaReportArr"
:tableData2="packReportArr"
/>
</div>
</div>
</el-col>
</el-row>
@ -47,10 +53,13 @@ import {
qualityReport,
thickReport,
qualityReportexport,
thickReportexport
thickReportexport,
queryGlassData,
claGlassData
} from '@/api/qualityManagement'
import glassQualityReport from './finalInspectionDataReport/glassQualityReport.vue'
import glassThickReport from './finalInspectionDataReport/glassThickReport.vue'
import glassPackReport from './finalInspectionDataReport/glassPackReport.vue'
import moment from 'moment'
import { timeFormatter } from '@/utils'
const tablePropsL = [
@ -73,7 +82,7 @@ const tablePropsL = [
]
export default {
name: 'FinalInspectionData',
components: { glassQualityReport, glassThickReport },
components: { glassQualityReport, glassThickReport, glassPackReport },
data() {
return {
formConfig: [
@ -142,7 +151,9 @@ export default {
},
selectArr: [], //
glassQualityArr: [], //
thickReportArr: [] //
thickReportArr: [], //
packReportArr: [], //
packClaReportArr: []
}
},
mounted() {
@ -220,6 +231,8 @@ export default {
this.reportTitle = val.value
this.glassQualityArr = []
this.thickReportArr = []
this.packReportArr = []
this.packClaReportArr = []
},
selectChange(val) {
this.selectArr = val
@ -252,6 +265,7 @@ export default {
this.getThickReport(arr)
break
default:
this.getGlassData(arr)
}
},
getGlassReport(arr) {
@ -332,6 +346,21 @@ export default {
document.body.removeChild(a)
}
})
},
//
getGlassData(arr) {
queryGlassData({
glassId: arr
}).then((res) => {
console.log(res)
this.packReportArr = res.data
})
claGlassData({
glassId: arr
}).then((res) => {
console.log(res)
this.packClaReportArr = res.data
})
}
}
}

View File

@ -0,0 +1,298 @@
<template>
<div>
<base-table
:table-props="tableProps1"
:table-data="tableData1"
:max-height="tableH"
/>
<base-table
:table-props="tableProps2"
:table-data="tableData2"
:max-height="tableH"
/>
</div>
</template>
<script>
import { timeFormatter, tableHeight } from '@/utils'
const tableProps1 = [
{
prop: 'grindType',
label: '研磨类型',
minWidth: 120
},
{
prop: 'glassNum',
label: '数量',
minWidth: 160
},
{
prop: 'surfaceAvg',
label: '颗粒均值',
minWidth: 120
},
{
prop: 'surfaceMin',
label: '最小值',
minWidth: 120
},
{
prop: 'surfaceMax',
label: '最大值',
minWidth: 120
},
{
prop: 'savg',
label: 'S均值<1um',
minWidth: 120
},
{
prop: 'mavg',
label: 'M均值1-3um',
minWidth: 120
},
{
prop: 'lavg',
label: 'L均值3-5um',
minWidth: 120
},
{
prop: 'xlAvg',
label: 'XL均值5-10um',
minWidth: 120
},
{
prop: 'defectAvg',
label: '缺陷均值',
minWidth: 120
},
{
prop: 'defectMin',
label: '最小值',
minWidth: 120
},
{
prop: 'defectMax',
label: '最大值',
minWidth: 120
},
{
prop: 'blAvg',
label: '气泡均值',
minWidth: 120
},
{
prop: 'distortionAvg',
label: '变形均值',
minWidth: 120
},
{
prop: 'fiberAvg',
label: '纤维均值',
minWidth: 120
},
{
prop: 'iisrestAvg',
label: '无法识别均值',
minWidth: 120
},
{
prop: 'knotAvg',
label: '结节均值',
minWidth: 120
},
{
prop: 'ptAvg',
label: '铂金欠点均值',
minWidth: 120
},
{
prop: 'scratchAvg',
label: '划伤均值',
minWidth: 120
},
{
prop: 'stoneAvg',
label: '结石均值',
minWidth: 120
},
{
prop: 'tailAvg',
label: '拖尾均值',
minWidth: 120
},
{
prop: 'tinAvg',
label: '点状缺陷均值',
minWidth: 120
},
{
prop: 'bottomAvg',
label: '锡(锡面)均值',
minWidth: 120
},
{
prop: 'topAvg',
label: '锡(空气面)均值',
minWidth: 120
}
]
const tableProps2 = [
{
prop: 'glassId',
label: '玻璃ID',
minWidth: 120
},
{
prop: 'rackNum',
label: '包装架号',
minWidth: 120
},
{
prop: 'testTime',
label: '包装时间',
filter: timeFormatter,
minWidth: 160
},
{
prop: 'num',
label: '包装数量',
minWidth: 120
},
{
prop: 'particleSum',
label: '颗粒Sum',
minWidth: 120
},
{
prop: 's',
label: 'S<1um',
minWidth: 120
},
{
prop: 'm',
label: 'M1-3um',
minWidth: 120
},
{
prop: 'l',
label: 'L3-5um',
minWidth: 120
},
{
prop: 'xl',
label: 'XL5-10um',
minWidth: 120
},
{
prop: 'defectSum',
label: '缺陷Sum',
minWidth: 120
},
{
prop: 'bl',
label: '气泡',
minWidth: 120
},
{
prop: 'distortion',
label: '变形',
minWidth: 120
},
{
prop: 'fiber',
label: '纤维',
minWidth: 120
},
{
prop: 'iisrest',
label: '无法识别',
minWidth: 120
},
{
prop: 'knot',
label: '结节',
minWidth: 120
},
{
prop: 'pt',
label: '铂金欠点',
minWidth: 120
},
{
prop: 'scratch',
label: '划伤',
minWidth: 120
},
{
prop: 'stone',
label: '结石',
minWidth: 120
},
{
prop: 'tail',
label: '拖尾',
minWidth: 120
},
{
prop: 'tin',
label: '点状缺陷',
minWidth: 120
},
{
prop: 'bottom',
label: '锡(锡面)',
minWidth: 120
},
{
prop: 'top',
label: '锡(空气面)',
minWidth: 120
},
{
prop: 'adg',
label: 'ADG',
minWidth: 120
},
{
prop: 'allSum',
label: '合计',
minWidth: 120
},
{
prop: 'grindType',
label: '研磨类型',
minWidth: 120
}
]
export default {
name: 'glassPackReport',
data() {
return {
tableProps1,
tableProps2,
tableH: tableHeight(292)
}
},
mounted() {
window.addEventListener('resize', () => {
this.tableH = tableHeight(292)
})
},
props: {
tableData1: {
type: Array,
required: true,
default: () => {
return []
}
},
tableData2: {
type: Array,
required: true,
default: () => {
return []
}
}
}
}
</script>

View File

@ -22,7 +22,12 @@
@clickBtn="handleClick"
/>
</base-table>
<pagination :limit="listQuery.size" :total="total" />
<pagination
:page.sync="listQuery.current"
:limit.sync="listQuery.size"
:total="total"
@pagination="getList()"
/>
</div>
</template>
<script>
@ -154,7 +159,6 @@ export default {
},
methods: {
getList() {
console.log('getList')
processCompleteInspetion({ ...this.listQuery }).then((res) => {
console.log(res)
if (res.code === 0 && res.data) {

View File

@ -29,7 +29,32 @@
@clickBtn="handleClick"
/>
</base-table>
<pagination :limit="listQuery.size" :total="total" />
<pagination
:page.sync="listQuery.current"
:limit.sync="listQuery.size"
:total="total"
@pagination="getList()"
/>
<BaseDialog
dialogTitle="查看图片"
:dialogVisible="centervisible"
:close-on-click-modal="false"
:before-close="handleCancel"
>
<el-image
style="width: 100px; height: 100px"
src="https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg"
:preview-src-list="arr"
>
</el-image>
<el-row slot="footer" type="flex" justify="end">
<el-col :span="12">
<el-button size="small" class="btnTextStyle" @click="handleCancel"
>关闭</el-button
>
</el-col>
</el-row>
</BaseDialog>
</div>
</template>
<script>
@ -42,37 +67,33 @@ import {
import defectScatterPlotTotal from './../components/defectScatterPlotTotal.vue'
const tableProps = [
{
prop: 'virtualcode',
label: '缺陷编号'
},
{
prop: 'filetype',
prop: 'ypos',
label: 'Y轴位置(mm)'
},
{
prop: 'glassLength',
prop: 'xpos',
label: 'X轴位置(mm)'
},
{
prop: 'glassWidth',
prop: 'defectclass',
label: '缺陷尺寸等级'
},
{
prop: 'glassHeight',
prop: 'defecttype',
label: '缺陷类型'
},
{
prop: 'grade',
prop: 'length',
label: '长度(mm)'
},
{
prop: 'line',
prop: 'width',
label: '宽度(mm)'
}
]
const tableBtn = [
{
type: 'detail',
type: 'viewPic',
btnName: '查看图片'
}
]
@ -81,6 +102,9 @@ export default {
components: { defectScatterPlotTotal },
data() {
return {
arr: [
'https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg'
],
formConfig: [
{
type: 'select',
@ -113,14 +137,17 @@ export default {
detailObj: {},
tableProps,
tableData: [],
tableH: tableHeight(330),
tableH: tableHeight(425),
tableBtn,
total: 0,
listQuery: {
current: 1,
size: 20,
glassId: ''
}
glassId: '',
defectType: ''
},
//
centervisible: false
}
},
mounted() {
@ -128,9 +155,10 @@ export default {
this.listQuery.glassId = virtualcode
this.getDetail(virtualcode, filetype, time)
window.addEventListener('resize', () => {
this.tableH = tableHeight(330)
this.tableH = tableHeight(425)
})
this.getListType()
this.getList()
},
methods: {
getDetail(virtualcode, filetype, time) {
@ -142,7 +170,7 @@ export default {
console.log(res)
this.detailObj = res.data
this.$nextTick(() => {
this.$refs.fullInspectionDetailPlot.init()
this.$refs.fullInspectionDetailPlot.init(this.detailObj)
})
})
},
@ -151,13 +179,16 @@ export default {
size: 500,
current: 1
}).then((res) => {
console.log(res)
this.formConfig[0].selectOptions = res.data
})
},
getList() {
pageIIS({ ...this.listQuery }).then((res) => {
console.log(res)
if (res.code === 0) {
this.tableData = res.data.records
this.total = res.data.total
}
})
},
buttonClick(val) {
@ -174,8 +205,19 @@ export default {
}
},
handleClick(val) {
console.log(val)
alert('图片详情')
if (val.type === 'viewPic') {
if (val.data.defectid) {
this.centervisible = true
} else {
this.$message({
message: '暂无图片',
type: 'warning'
})
}
}
},
handleCancel() {
this.centervisible = false
}
}
}