This commit is contained in:
TianyangZhang 2026-01-26 14:13:26 +08:00
commit 993e46e21e
59 changed files with 4225 additions and 386 deletions

View File

@ -4,12 +4,12 @@
<el-main style="padding: 0 20px 20px 20px">
<el-form ref="dialogForm" :model="form" :rules="rules" :disabled="mode == 'show'" label-width="80px">
<el-row>
<el-col :md="8" :sm="12" :xs="24">
<el-col>
<el-form-item label="名称" prop="name">
<el-input v-model="form.name" type="text" clearable></el-input>
</el-form-item>
</el-col>
<el-col :md="8" :sm="12" :xs="24">
<el-col>
<el-form-item label="编号" prop="code">
<el-input v-model="form.code" type="text" clearable></el-input>
</el-form-item>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,25 @@
<template>
<iframe
src="http://49.232.14.174:2256/media/default/test.html"
frameborder="0"
allowfullscreen>
</iframe>
</template>
<script>
export default {
data() {
return {};
},
mounted() {
},
};
</script>
<style scoped>
iframe {
width: 100%;
height: 100%;
border: none; /* 可选,去掉边框 */
}
</style>

View File

@ -265,7 +265,7 @@
<h4>关联产品</h4>
</template>
<template #default>
<scTable ref="wprTable" hidePagination :data="wprList">
<scTable ref="wprTable" hidePagination :data="wprList" row-key="id">
<el-table-column label="产品编号" prop="number" min-width="100px"></el-table-column>
<el-table-column v-if="project_code=='bxerp'&&mioObj.type == 'sale_out'" label="发货编号" prop="number_out" min-width="100px"></el-table-column>
<el-table-column

View File

@ -634,11 +634,14 @@
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="不合格数量" label-width="100">
<el-input
<el-input-number
v-model="form.count_notok"
:min="0"
style="width: 100%"
placeholder="不合格数量"
/>
controls-position="right"
@change="count_notok_change"
></el-input-number>
</el-form-item>
</el-col>
<el-col>异常项</el-col>
@ -1114,6 +1117,7 @@ export default {
that.form.count_n_zz = 0;//
that.form.count_n_b = 0;//
that.form.count_n_dl = 0;//
that.form.count_n_qt = 0;//
}
}
if (
@ -1206,6 +1210,12 @@ export default {
this.form.count_notok = this.form.count_n_zw+this.form.count_n_zz+this.form.count_n_b+this.form.count_n_dl;
this.form.count_ok = this.form.count - this.form.count_notok;
},
count_notok_change(){
let count_notok =this.form.count_n_zw+this.form.count_n_zz+this.form.count_n_b+this.form.count_n_dl;
if(this.form.count_notok>count_notok){
this.form.count_n_qt = this.form.count_notok-count_notok;
}
},
getMaterialItem(){
let that = this;
that.$API.mtm.material.item.req(that.objitem.material).then(()=>{
@ -1336,9 +1346,14 @@ export default {
//
getUserList() {
let that = this;
this.$API.system.user.list
.req({ page: 0, posts__code__contains: "check" })
.then((res) => {
let params = {};
params.page=0;
if(that.type == 'pur_in'&&that.project_code=='gx'){
params.posts__code__contains = 'IQC'
}else{
params.posts__code__contains = 'check'
}
this.$API.system.user.list.req(params).then((res) => {
that.userList = res;
});
},

View File

@ -92,7 +92,7 @@
clearable
filterable
remote = "true"
style="width: 100%"
:style="divStyle"
:remote-method="inputChange"
@change="selectBatchChange"
@clear="selectBatchClear"
@ -114,6 +114,7 @@
>
</el-option>
</el-select>
<scScanner v-if="project_code=='gx'" @scanResult="codeTextChange"></scScanner>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
@ -202,7 +203,7 @@
</el-row>
<el-col v-if="form.type == 'pur_in'&&project_code=='bxerp'&& cate == 'halfgood'">
<el-form-item label="编号前缀">
<el-input v-model="halfgoodprefix" @input="halfgoodprefixChange" placeholder="编号前缀"/>
<el-input v-model="halfgoodprefix" @change="halfgoodprefixChange" placeholder="编号前缀"/>
</el-form-item>
</el-col>
<el-row v-if="mTracking==20&&form.count>0&&(form.type == 'pur_in'||form.type == 'other_in'||(form.type == 'sale_out'&&project_code=='bxerp'))">
@ -353,6 +354,13 @@ export default {
that.getCkUserList();//
});
}
},
computed: {
divStyle() {
return {
width: this.project_code=='gx' ? '80%' : '100%'
};
},
},
methods: {
init() {
@ -479,8 +487,10 @@ export default {
// type__in: 10,
// is_hidden: false,
// orderitem_material__order: this.mioObj.order,
type:10,
// material__type: 10
count__gte: 1,
material__type: 10
};
this.inputBatchDisable = true;
} else if (type == "other_out") {
@ -805,9 +815,9 @@ export default {
},
halfgoodprefixChange(){
let that = this;
that.mioitems = [];
// that.mioitems = [];
for(let i=0;i<that.form.count;i++){
that.mioitems[i] = that.halfgoodprefix;
that.mioitems[i] = that.halfgoodprefix+that.mioitems[i];
}
},
validateInput(i){
@ -829,8 +839,8 @@ export default {
});
}
}
if(that.mTracking==20&&that.form.count>1&&(that.form.type == 'pur_in'||that.form.type == 'other_in')){
let mioitemw = [];
if(that.mTracking==20&&that.form.count>1&&(that.form.type == 'pur_in'||that.form.type == 'other_in')){
that.mioitems.forEach((item,index) => {
mioitemw[index]={ number: item };
})
@ -841,7 +851,6 @@ export default {
return;
}
}else if(that.form.type == 'sale_out'&&that.project_code=='bxerp'){
let mioitemw = [];
that.mioitems.forEach((item,index) => {
mioitemw[index]={
number: that.wprList[index]? that.wprList[index].number:'' ,
@ -851,6 +860,19 @@ export default {
})
that.form.mioitemw = mioitemw.filter(item=>item.wpr!==null);
}
let obj = {},duplicates = [];
for (let item of that.mioitems) {
if (obj[item]) {
if (!duplicates.includes(item)) {
duplicates.push(item);
}
} else {
obj[item] = true;
}
}
if (duplicates.length > 0) {
that.$message.error("重复的项有: " + duplicates.join(", "));
} else {
try {
let res;
if (that.mode == "add") {
@ -869,6 +891,7 @@ export default {
return err;
}
}
}
});
},
//
@ -880,6 +903,27 @@ export default {
this.selectionFilters = filters;
this.setFiltersVisible = true;
},
codeTextChange(codeText){
let that = this;
that.wprList = [];
let id = codeText.split('#')[1];
that.$API.cm.labelmat.item.req(id).then((res) => {
that.batchOptions.forEach(item=>{
if(item.batch==res.batch&&item.state==res.state){
that.selectBatch = item.batch;
that.$API.wpm.wpr.list.req({ page: 0, mb: item.id }).then((res) => {
that.wprList = res;
})
that.form.batch = item.batch;
that.form.mb = item.id;
that.batchcount = Number(item.count_canmio);
that.form.count = Number(item.count_canmio);
that.form.warehouse = item.warehouse;
that.inputBatchDisable = true;
}
})
}).catch((err) => {})
},
},
};
</script>

View File

@ -341,6 +341,7 @@ export default {
mgroups: [],
options: [],
routemats:[],
fileurl_form:[],
paramsJsonFileurl:[],
materialOptions:[],
titleMap: { add: "新增", edit: "编辑" },
@ -406,6 +407,7 @@ export default {
});
},
formTableDel(row){
let that = this;
this.$confirm(`确定删除吗?`, "提示", {
type: "warning",
}).then(() => {
@ -434,24 +436,35 @@ export default {
},
//Ids
imagesChange(data,data1){
let that = this;
let files = [];
this.fileIds = data;
that.fileIds = data;
data1.forEach((item)=>{
let obj = {};
obj.id = item.id;
obj.file = item.file;
obj.name = item.name;
obj.path = item.path;
obj.url = item.path;
files.push(obj);
})
this.paramsJsonFileurl = files;
this.params_json.fileurl = JSON.stringify(files);
if(that.fileurl_form.length>0){
that.paramsJsonFileurl = that.fileurl_form.concat(files);
}else{
that.paramsJsonFileurl = files;
}
that.params_json.fileurl = JSON.stringify(that.paramsJsonFileurl);
},
//Ids
imagesDel(index){
this.fileIds.splice(index,1);
this.paramsJsonFileurl.splice(index,1);
this.params_json.fileurl = JSON.stringify(this.paramsJsonFileurl);
let that = this;
that.fileIds.splice(index,1);
let id = that.paramsJsonFileurl[index].id;
let list = that.fileurl_form.filter(item => item.id != id);
that.fileurl_form = list;
let list1 = that.paramsJsonFileurl.filter(item1 => item1.id != id);
that.paramsJsonFileurl = list1;
that.params_json.fileurl = JSON.stringify(that.paramsJsonFileurl);
},
//
open(mode = "add") {
@ -469,8 +482,6 @@ export default {
setData(data) {
let that = this;
Object.assign(that.form, data);
console.log('that.form',that.form);
console.log('that.form.material_in_name',that.form.material_in_name);
that.routeId = data.id;
that.addTemplate.route = data.id;
that.params_json=that.form.params_json;
@ -481,14 +492,18 @@ export default {
that.params_json2=that.form.params_json;
}
if(data.process_name=='排一次棒'){
that.fileIds= [];
that.params_json=that.form.params_json;
console.log('that.params_json',that.params_json);
if(that.params_json.fileurl&&that.params_json.fileurl!=="[]"){
let fileurl = JSON.parse(that.params_json.fileurl);
console.log('fileurl',fileurl);
fileurl.forEach((item)=>{
item.url = item.path;
that.fileIds.push(item.id);
that.fileurl.push(item);
that.fileurl_form.push(item);
})
that.paramsJsonFileurl = that.fileurl_form;
}
}
setTimeout(() => {
that.options.forEach((item) => {

View File

@ -2,6 +2,20 @@
<el-container>
<el-header>
<div class="right-panel">
<el-date-picker
v-model="query.last_time__gte"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.last_time__lte"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-input v-model="query.name__contains"
placeholder="产品名称"
clearable
@ -42,6 +56,11 @@
</el-table-column>
<el-table-column label="板号" prop="number" fixed="left">
</el-table-column>
<el-table-column label="检测日期" fixed="left" prop="batch" width="90">
<template #default="scope">
{{ scope.row.data.成品尺寸检测_日期 }}
</template>
</el-table-column>
<el-table-column label="倒角" align="center" class-name="colorheader1">
<template #default="scope">
<span>{{ scope.row.data.成品尺寸检测_缺陷项_倒角==undefined?scope.row.data.成品尺寸检测_缺陷项_倒角:0 }}</span>
@ -94,7 +113,7 @@ export default {
return {
params: {
ordering:'data__成品尺寸检测_批次号',
querys:[[{field:"wm",value:0,compare:"isnull"},{field:"data__has_key",compare:"",value:"成品尺寸检测_批次号"}]],
querys:[[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"成品尺寸检测_批次号"}]],
},
query:{
name__contains:'',
@ -110,17 +129,17 @@ export default {
methods: {
handleQuery(){
let that = this;
let querys = [[{field:"wm",value:0,compare:"isnull"},{field:"data__has_key",compare:"",value:"成品尺寸检测_批次号"}]];
let querys = [[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"成品尺寸检测_批次号"}]];
let obj = {},obj1 = {},obj2 = {},obj3 = {};
obj.field = 'data__成品尺寸检测_批次号';
obj.value = that.query.batch__contains;
obj.compare = '';
obj1.field = 'last_time';
obj1.field = 'data__成品尺寸检测_日期';
obj1.value = that.query.last_time__gte;
obj1.compare = 'gte';
obj2.field = 'last_time';
obj2.field = 'data__成品尺寸检测_日期';
obj2.value = that.query.last_time__lte;
obj2.compare = 'lte';

View File

@ -2,6 +2,20 @@
<el-container>
<el-header>
<div class="right-panel">
<el-date-picker
v-model="query.last_time__gte"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.last_time__lte"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-input v-model="query.name__contains"
placeholder="产品名称"
clearable
@ -36,6 +50,11 @@
</el-table-column>
<el-table-column label="版型" prop="material_start_model" fixed="left">
</el-table-column>
<el-table-column label="检测日期" fixed="left" prop="batch" width="90">
<template #default="scope">
{{ scope.row.data.成品尺寸检测_日期 }}
</template>
</el-table-column>
<el-table-column label="检测数" fixed="left">
<template #default="scope">
<span>{{ scope.row.data.成品尺寸检测_count_use }}</span>
@ -175,15 +194,12 @@ export default {
obj.field = 'data__成品尺寸检测_批次号';
obj.value = that.query.batch__contains;
obj.compare = '';
obj1.field = 'last_time';
obj1.field = 'data__成品尺寸检测_日期';
obj1.value = that.query.last_time__gte;
obj1.compare = 'gte';
obj2.field = 'last_time';
obj2.field = 'data__成品尺寸检测_日期';
obj2.value = that.query.last_time__lte;
obj2.compare = 'lte';
obj3.field = 'material_start__name';
obj3.value = that.query.name__contains;
obj3.compare = 'contains';

View File

@ -2,6 +2,20 @@
<el-container>
<el-header>
<div class="right-panel">
<el-date-picker
v-model="query.last_time__gte"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.last_time__lte"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-input v-model="query.name__contains"
placeholder="产品名称"
clearable
@ -42,6 +56,11 @@
</el-table-column>
<el-table-column label="板号" prop="number" fixed="left">
</el-table-column>
<el-table-column label="检测日期" fixed="left" prop="batch" width="90">
<template #default="scope">
{{ scope.row.data.成品外观复检一_日期 }}
</template>
</el-table-column>
<el-table-column label="划伤" align="center" class-name="colorheader1">
<template #default="scope">
<span>{{ scope.row.data.成品外观复检一_缺陷项_划伤? scope.row.data.成品外观复检一_缺陷项_划伤:0 }}</span>
@ -214,7 +233,7 @@ export default {
return {
params: {
ordering:'data__成品外观复检一_批次号',
querys:[[{field:"wm",value:0,compare:"isnull"},{field:"data__has_key",compare:"",value:"成品外观复检一_批次号"}]],
querys:[[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"成品外观复检一_批次号"}]],
},
query:{
name__contains:'',
@ -230,17 +249,17 @@ export default {
methods: {
handleQuery(){
let that = this;
let querys = [[{field:"wm",value:0,compare:"isnull"},{field:"data__has_key",compare:"",value:"成品外观复检一_批次号"}]];
let querys = [[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"成品外观复检一_批次号"}]];
let obj = {},obj1 = {},obj2 = {},obj3 = {};
obj.field = 'data__成品外观复检一_批次号';
obj.value = that.query.batch__contains;
obj.compare = '';
obj1.field = 'last_time';
obj1.field = 'data__成品外观复检一_日期';
obj1.value = that.query.last_time__gte;
obj1.compare = 'gte';
obj2.field = 'last_time';
obj2.field = 'data__成品外观复检一_日期';
obj2.value = that.query.last_time__lte;
obj2.compare = 'lte';

View File

@ -2,6 +2,20 @@
<el-container>
<el-header>
<div class="right-panel">
<el-date-picker
v-model="query.last_time__gte"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.last_time__lte"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-input v-model="query.name__contains"
placeholder="产品名称"
clearable
@ -36,6 +50,11 @@
</el-table-column>
<el-table-column label="版型" prop="material_start_model" fixed="left">
</el-table-column>
<el-table-column label="检测日期" fixed="left" prop="batch" width="90">
<template #default="scope">
{{ scope.row.data.成品外观复检一_日期 }}
</template>
</el-table-column>
<el-table-column label="检测数" fixed="left">
<template #default="scope">
<span>{{ scope.row.data.成品外观复检一_count_use }}</span>
@ -463,15 +482,12 @@ export default {
obj.field = 'data__成品外观复检一_批次号';
obj.value = that.query.batch__contains;
obj.compare = '';
obj1.field = 'last_time';
obj1.field = 'data__成品外观复检一_日期';
obj1.value = that.query.last_time__gte;
obj1.compare = 'gte';
obj2.field = 'last_time';
obj2.field = 'data__成品外观复检一_日期';
obj2.value = that.query.last_time__lte;
obj2.compare = 'lte';
obj3.field = 'material_start__name';
obj3.value = that.query.name__contains;
obj3.compare = 'contains';

View File

@ -2,6 +2,20 @@
<el-container>
<el-header>
<div class="right-panel">
<el-date-picker
v-model="query.last_time__gte"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.last_time__lte"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-input v-model="query.name__contains"
placeholder="产品名称"
clearable
@ -42,6 +56,11 @@
</el-table-column>
<el-table-column label="板号" prop="number" fixed="left">
</el-table-column>
<el-table-column label="检测日期" fixed="left" prop="batch" width="90">
<template #default="scope">
{{ scope.row.data.成品外观复检二_日期 }}
</template>
</el-table-column>
<el-table-column label="划伤" align="center" class-name="colorheader1">
<template #default="scope">
<span>{{ scope.row.data.成品外观复检二_缺陷项_划伤? scope.row.data.成品外观复检二_缺陷项_划伤:0 }}</span>
@ -214,7 +233,7 @@ export default {
return {
params: {
ordering:'data__成品外观复检二_批次号',
querys:[[{field:"wm",value:0,compare:"isnull"},{field:"data__has_key",compare:"",value:"成品外观复检二_批次号"}]],
querys:[[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"成品外观复检二_批次号"}]],
},
query:{
name__contains:'',
@ -230,17 +249,17 @@ export default {
methods: {
handleQuery(){
let that = this;
let querys = [[{field:"wm",value:0,compare:"isnull"},{field:"data__has_key",compare:"",value:"成品外观复检二_批次号"}]];
let querys = [[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"成品外观复检二_批次号"}]];
let obj = {},obj1 = {},obj2 = {},obj3 = {};
obj.field = 'data__成品外观复检二_批次号';
obj.value = that.query.batch__contains;
obj.compare = '';
obj1.field = 'last_time';
obj1.field = 'data__成品外观复检二_日期';
obj1.value = that.query.last_time__gte;
obj1.compare = 'gte';
obj2.field = 'last_time';
obj2.field = 'data__成品外观复检二_日期';
obj2.value = that.query.last_time__lte;
obj2.compare = 'lte';

View File

@ -2,6 +2,20 @@
<el-container>
<el-header>
<div class="right-panel">
<el-date-picker
v-model="query.last_time__gte"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.last_time__lte"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-input v-model="query.name__contains"
placeholder="产品名称"
clearable
@ -36,6 +50,11 @@
</el-table-column>
<el-table-column label="版型" prop="material_start_model" fixed="left">
</el-table-column>
<el-table-column label="检测日期" fixed="left" prop="batch" width="90">
<template #default="scope">
{{ scope.row.data.成品外观复检二_日期 }}
</template>
</el-table-column>
<el-table-column label="检测数" fixed="left">
<template #default="scope">
<span>{{ scope.row.data.成品外观复检二_count_use }}</span>
@ -463,15 +482,12 @@ export default {
obj.field = 'data__成品外观复检二_批次号';
obj.value = that.query.batch__contains;
obj.compare = '';
obj1.field = 'last_time';
obj1.field = 'data__成品外观复检二_日期';
obj1.value = that.query.last_time__gte;
obj1.compare = 'gte';
obj2.field = 'last_time';
obj2.field = 'data__成品外观复检二_日期';
obj2.value = that.query.last_time__lte;
obj2.compare = 'lte';
obj3.field = 'material_start__name';
obj3.value = that.query.name__contains;
obj3.compare = 'contains';

View File

@ -2,6 +2,20 @@
<el-container>
<el-header>
<div class="right-panel">
<el-date-picker
v-model="query.last_time__gte"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.last_time__lte"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-input v-model="query.name__contains"
placeholder="产品名称"
clearable
@ -42,6 +56,11 @@
</el-table-column>
<el-table-column label="板号" prop="number" fixed="left">
</el-table-column>
<el-table-column label="检测日期" fixed="left" prop="batch" width="90">
<template #default="scope">
{{ scope.row.data.成品内外初检_日期 }}
</template>
</el-table-column>
<el-table-column label="毛坯长点" align="center" class-name="colorheader1">
<template #default="scope">
<span>{{ scope.row.data.成品内外初检_缺陷项_毛坯长点?scope.row.data.成品内外初检_缺陷项_毛坯长点:0 }}</span>
@ -219,7 +238,7 @@ export default {
return {
params: {
ordering:'data__成品内外初检_批次号',
querys:[[{field:"wm",value:0,compare:"isnull"},{field:"data__has_key",compare:"",value:"成品内外初检_批次号"}]],
querys:[[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"成品内外初检_批次号"}]],
},
query:{
name__contains:'',
@ -235,17 +254,17 @@ export default {
methods: {
handleQuery(){
let that = this;
let querys = [[{field:"wm",value:0,compare:"isnull"},{field:"data__has_key",compare:"",value:"成品内外初检_批次号"}]];
let querys = [[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"成品内外初检_批次号"}]];
let obj = {},obj1 = {},obj2 = {},obj3 = {};
obj.field = 'data__成品内外初检_批次号';
obj.value = that.query.batch__contains;
obj.compare = '';
obj1.field = 'last_time';
obj1.field = 'data__成品内外初检_日期';
obj1.value = that.query.last_time__gte;
obj1.compare = 'gte';
obj2.field = 'last_time';
obj2.field = 'data__成品内外初检_日期';
obj2.value = that.query.last_time__lte;
obj2.compare = 'lte';

View File

@ -2,6 +2,20 @@
<el-container>
<el-header>
<div class="right-panel">
<el-date-picker
v-model="query.last_time__gte"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.last_time__lte"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-input v-model="query.name__contains"
placeholder="产品名称"
clearable
@ -36,6 +50,11 @@
</el-table-column>
<el-table-column label="版型" prop="material_start_model" fixed="left">
</el-table-column>
<el-table-column label="检测日期" fixed="left" prop="batch" width="90">
<template #default="scope">
{{ scope.row.data.成品内外初检_日期 }}
</template>
</el-table-column>
<el-table-column label="初检数" fixed="left">
<template #default="scope">
{{ scope.row.data.成品内外初检_count_use }}
@ -476,11 +495,11 @@ export default {
obj.value = that.query.batch__contains;
obj.compare = '';
obj1.field = 'last_time';
obj1.field = 'data__成品内外初检_日期';
obj1.value = that.query.last_time__gte;
obj1.compare = 'gte';
obj2.field = 'last_time';
obj2.field = 'data__成品内外初检_日期';
obj2.value = that.query.last_time__lte;
obj2.compare = 'lte';

View File

@ -2,6 +2,20 @@
<el-container>
<el-header>
<div class="right-panel">
<el-date-picker
v-model="query.last_time__gte"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.last_time__lte"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-input v-model="query.name__contains"
placeholder="产品名称"
clearable
@ -42,6 +56,11 @@
</el-table-column>
<el-table-column label="板号" prop="number" fixed="left">
</el-table-column>
<el-table-column label="检测日期" fixed="left" prop="batch" width="90">
<template #default="scope">
{{ scope.row.data.成品内质复检_日期 }}
</template>
</el-table-column>
<el-table-column label="毛坯长点" align="center" class-name="colorheader1">
<template #default="scope">
<span>{{ scope.row.data.成品内质复检_缺陷项_毛坯长点?scope.row.data.成品内质复检_缺陷项_毛坯长点:0 }}</span>
@ -214,7 +233,7 @@ export default {
return {
params: {
ordering:'data__成品内质复检_批次号',
querys:[[{field:"wm",value:0,compare:"isnull"},{field:"data__has_key",compare:"",value:"成品内质复检_批次号"}]],
querys:[[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"成品内质复检_批次号"}]],
},
query:{
name__contains:'',
@ -230,17 +249,17 @@ export default {
methods: {
handleQuery(){
let that = this;
let querys = [[{field:"wm",value:0,compare:"isnull"},{field:"data__has_key",compare:"",value:"成品内外初检_批次号"}]];
let querys = [[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"成品内外初检_批次号"}]];
let obj = {},obj1 = {},obj2 = {},obj3 = {};
obj.field = 'data__成品内外初检_批次号';
obj.value = that.query.batch__contains;
obj.compare = '';
obj1.field = 'last_time';
obj1.field = 'data__成品内外初检_日期';
obj1.value = that.query.last_time__gte;
obj1.compare = 'gte';
obj2.field = 'last_time';
obj2.field = 'data__成品内外初检_日期';
obj2.value = that.query.last_time__lte;
obj2.compare = 'lte';

View File

@ -2,6 +2,20 @@
<el-container>
<el-header>
<div class="right-panel">
<el-date-picker
v-model="query.last_time__gte"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.last_time__lte"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-input v-model="query.name__contains"
placeholder="产品名称"
clearable
@ -36,6 +50,11 @@
</el-table-column>
<el-table-column label="版型" prop="material_start_model" fixed="left">
</el-table-column>
<el-table-column label="检测日期" fixed="left" prop="batch" width="90">
<template #default="scope">
{{ scope.row.data.成品内质复检_日期 }}
</template>
</el-table-column>
<el-table-column label="初检数" fixed="left">
<template #default="scope">
{{ scope.row.data.成品内质复检_count_use }}
@ -464,11 +483,11 @@ export default {
obj.value = that.query.batch__contains;
obj.compare = '';
obj1.field = 'last_time';
obj1.field = 'data__成品内质复检_日期';
obj1.value = that.query.last_time__gte;
obj1.compare = 'gte';
obj2.field = 'last_time';
obj2.field = 'data__成品内质复检_日期';
obj2.value = that.query.last_time__lte;
obj2.compare = 'lte';

View File

@ -2,6 +2,20 @@
<el-container>
<el-header>
<div class="right-panel">
<el-date-picker
v-model="query.last_time__gte"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.last_time__lte"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-input v-model="query.name__contains"
placeholder="产品名称"
clearable
@ -42,6 +56,11 @@
</el-table-column>
<el-table-column label="板号" prop="number" fixed="left">
</el-table-column>
<el-table-column label="检测日期" fixed="left" prop="batch" width="90">
<template #default="scope">
{{ scope.row.data.成品性能检测_日期 }}
</template>
</el-table-column>
<el-table-column label="剪切" align="center" class-name="colorheader1">
<template #default="scope">
<span>{{ scope.row.data.成品性能检测_缺陷项_剪切?scope.row.data.成品性能检测_缺陷项_剪切:0 }}</span>
@ -124,7 +143,7 @@ export default {
return {
params: {
ordering:'data__成品性能检测_批次号',
querys:[[{field:"wm",value:0,compare:"isnull"},{field:"data__has_key",compare:"",value:"成品性能检测_批次号"}]],
querys:[[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"成品性能检测_批次号"}]],
},
query:{
name__contains:'',
@ -140,17 +159,17 @@ export default {
methods: {
handleQuery(){
let that = this;
let querys = [[{field:"wm",value:0,compare:"isnull"},{field:"data__has_key",compare:"",value:"成品性能检测_批次号"}]];
let querys = [[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"成品性能检测_批次号"}]];
let obj = {},obj1 = {},obj2 = {},obj3 = {};
obj.field = 'data__成品性能检测_批次号';
obj.value = that.query.batch__contains;
obj.compare = '';
obj1.field = 'last_time';
obj1.field = 'data__成品性能检测_日期';
obj1.value = that.query.last_time__gte;
obj1.compare = 'gte';
obj2.field = 'last_time';
obj2.field = 'data__成品性能检测_日期';
obj2.value = that.query.last_time__lte;
obj2.compare = 'lte';

View File

@ -2,6 +2,20 @@
<el-container>
<el-header>
<div class="right-panel">
<el-date-picker
v-model="query.last_time__gte"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.last_time__lte"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-input v-model="query.name__contains"
placeholder="产品名称"
clearable
@ -36,6 +50,11 @@
</el-table-column>
<el-table-column label="版型" prop="material_start_model" fixed="left">
</el-table-column>
<el-table-column label="检测日期" fixed="left" prop="batch" width="90">
<template #default="scope">
{{ scope.row.data.成品性能检测_日期 }}
</template>
</el-table-column>
<el-table-column label="检测数" fixed="left">
<template #default="scope">
<span>{{ scope.row.data.成品性能检测_count_use }}</span>
@ -248,11 +267,11 @@ export default {
obj.value = that.query.batch__contains;
obj.compare = '';
obj1.field = 'last_time';
obj1.field = 'data__成品性能检测_日期';
obj1.value = that.query.last_time__gte;
obj1.compare = 'gte';
obj2.field = 'last_time';
obj2.field = 'data__成品性能检测_日期';
obj2.value = that.query.last_time__lte;
obj2.compare = 'lte';

View File

@ -2,6 +2,20 @@
<el-container>
<el-header>
<div class="right-panel">
<el-date-picker
v-model="query.last_time__gte"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.last_time__lte"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-input v-model="query.name__contains"
placeholder="产品名称"
clearable
@ -42,6 +56,11 @@
</el-table-column>
<el-table-column label="板号" prop="number" fixed="left">
</el-table-column>
<el-table-column label="检测日期" fixed="left" prop="batch" width="90">
<template #default="scope">
{{ scope.row.data.成品自检_日期 }}
</template>
</el-table-column>
<el-table-column label="腐蚀" align="center" class-name="colorheader1">
<template #default="scope">
<span>{{ scope.row.data.成品自检_缺陷项_腐蚀?scope.row.data.成品自检_缺陷项_腐蚀:0 }}</span>
@ -154,7 +173,7 @@ export default {
return {
params: {
ordering:'data__成品自检_批次号',
querys:[[{field:"wm",value:0,compare:"isnull"},{field:"data__has_key",compare:"",value:"成品自检_批次号"}]],
querys:[[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"成品自检_批次号"}]],
},
query:{
name__contains:'',
@ -170,17 +189,17 @@ export default {
methods: {
handleQuery(){
let that = this;
let querys = [[{field:"wm",value:0,compare:"isnull"},{field:"data__has_key",compare:"",value:"成品自检_批次号"}]];
let querys = [[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"成品自检_批次号"}]];
let obj = {},obj1 = {},obj2 = {},obj3 = {};
obj.field = 'data__成品自检_批次号';
obj.value = that.query.batch__contains;
obj.compare = '';
obj1.field = 'last_time';
obj1.field = 'data__成品自检_日期';
obj1.value = that.query.last_time__gte;
obj1.compare = 'gte';
obj2.field = 'last_time';
obj2.field = 'data__成品自检_日期';
obj2.value = that.query.last_time__lte;
obj2.compare = 'lte';

View File

@ -2,6 +2,20 @@
<el-container>
<el-header>
<div class="right-panel">
<el-date-picker
v-model="query.last_time__gte"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.last_time__lte"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-input v-model="query.name__contains"
placeholder="产品名称"
clearable
@ -36,6 +50,11 @@
</el-table-column>
<el-table-column label="版型" prop="material_start_model" fixed="left">
</el-table-column>
<el-table-column label="检测日期" fixed="left" prop="batch" width="90">
<template #default="scope">
{{ scope.row.data.成品自检_日期 }}
</template>
</el-table-column>
<el-table-column label="自检数" fixed="left">
<template #default="scope">
{{ scope.row.data.成品自检_count_use }}
@ -320,11 +339,11 @@ export default {
obj.value = that.query.batch__contains;
obj.compare = '';
obj1.field = 'last_time';
obj1.field = 'data__成品自检_日期';
obj1.value = that.query.last_time__gte;
obj1.compare = 'gte';
obj2.field = 'last_time';
obj2.field = 'data__成品自检_日期';
obj2.value = that.query.last_time__lte;
obj2.compare = 'lte';

View File

@ -0,0 +1,195 @@
<template>
<el-container>
<el-header>
<div class="left-panel"></div>
<div class="right-panel">
<el-date-picker
v-model="query.start_date"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.end_date"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-button
type="primary"
icon="el-icon-search"
@click="handleQuery"
></el-button>
</div>
</el-header>
<el-main class="nopadding">
<scTable
ref="table"
:data="tableData"
id="exportDiv"
row-key="id"
hidePagination
hideDo
stripe
>
<el-table-column type="index" width="50" fixed="left"/>
<el-table-column label="员工" prop="员工">
</el-table-column>
<el-table-column label="物料名" prop="物料名" :filters="nameFilters" :filter-method="filterName" filter-placement="bottom-end">
</el-table-column>
<el-table-column label="总数">
<template #default="scope">
<span v-if="scope.row.总切片数" @click="handleClick(scope.row)" style="color:#0052d9;">{{ scope.row.总切片数 }}</span>
<span v-else @click="handleClick(scope.row)" style="color:#0052d9;">{{ scope.row.总生产数 }}</span>
</template>
</el-table-column>
<el-table-column label="剪切">
<template #default="scope">
<span v-if="scope.row.剪切合格">{{((scope.row.剪切合格/scope.row.总切片数)*100).toFixed(2) }}%</span>
</template>
</el-table-column>
<el-table-column label="剪切加工率">
<template #default="scope">
<span v-if="scope.row['剪切¢18.3mm不合格']">{{ (((scope.row.总切片数-scope.row['剪切18.3mm不合格'].含)/scope.row.总切片数)*100).toFixed(2) }}%</span>
<span v-else>100%</span>
</template>
</el-table-column>
<el-table-column label="暗点">
<template #default="scope">
<span v-if="scope.row.暗点合格">{{((scope.row.暗点合格.含/scope.row.总切片数)*100).toFixed(2) }}%</span>
<span v-else>0%</span>
</template>
</el-table-column>
<el-table-column label="长点率">
<template #default="scope">
<span>{{((scope.row.长点数/scope.row.总切片数)*100).toFixed(2) }}%</span>
</template>
</el-table-column>
<el-table-column label="加工率">
<template #default="scope">
<span>{{((scope.row.加工率数/scope.row.总切片数)*100).toFixed(2) }}%</span>
</template>
</el-table-column>
<el-table-column label="合格率" prop="合格率">
<!-- 暗点合格并且剪切合格的板段数在暗点合格含里刨除剪切可加工和剪切不合格 -->
<template #default="scope">
<span>{{((scope.row.合格率数/scope.row.总切片数)*100).toFixed(2) }}%</span>
</template>
</el-table-column>
</scTable>
<el-drawer v-model="visible" :title="userName+'板段列表'" size="50%" direction="rtl" append-to-body destroy-on-close>
<el-card shadow="never">
<div v-for="(item,index) in detailRow" :key="item" style="height:22px;border-bottom: 1px solid #efefef;">
<span style="margin-right:10px;width: 18px;display: inline-block;">{{ index+1 }} </span>
{{ item }}
</div>
</el-card>
</el-drawer>
</el-main>
</el-container>
</template>
<script>
export default {
name: "workerTimes",
data() {
return {
visible:false,
userName:'',
query:{
end_date:'',
mgroup_name:'排板',
start_date:'',
select_cols: ", ls.产品编号列表, ls.切片编号列表"
},
mgroups: [],
tableData:[],
detailRow:[],
nameFilters:[],
};
},
mounted() {
let that = this;
let date = new Date();
that.query.end_date = that.$TOOL.dateFormat2(date);
that.query.start_date = that.query.end_date.split('-')[0] + '-' + that.query.end_date.split('-')[1] + '-01';
that.getData();
this.deptMgroup();
},
methods: {
deptMgroup() {
this.$API.mtm.mgroup.list.req({ page: 0,belong_dept__name:'拉丝排板班组' }).then(res => {
this.mgroups = res;
});
},
getData(){
let that = this;
let nameList = [],names = [];
let params = {};
params.query = that.query;
that.$API.bi.dataset.exec.req('product_defect_pb_m', params).then((res) => {
let data = res.data2.ds0;
data.forEach(item=>{
if(names.indexOf(item.物料名)>-1){}else{
names.push(item.物料名);
nameList.push({text:item.物料名,value:item.物料名})
}
if(item.缺陷分布!==null){
let defect = JSON.parse(item.缺陷分布);
for(let key in defect){
item[key]=defect[key];
}
}
item.长点数 = item.暗点不合格?item.暗点重?item.暗点不合格. + item.暗点重.:item.暗点不合格.:item.暗点重?item.暗点重.:0;
item.剪切合格 = item['剪切¢18.3mm不合格']?item['剪切¢18.3mm可加工']?item.总切片数 - item['剪切¢18.3mm可加工'].- item['剪切¢18.3mm不合格'].:item.总切片数 - item['剪切¢18.3mm不合格'].:item['剪切¢18.3mm可加工']?item.总切片数 - item['剪切¢18.3mm可加工'].:item.总切片数;
let count_hgls = item.暗点合格?item.暗点合格.:0;
let count1 = item['剪切¢18.3mm不合格']?item.总切片数 - item.长点数 - item['剪切¢18.3mm不合格'].:item.总切片数 - item.长点数;
if(item['剪切¢18.3mm不合格']&&item['剪切¢18.3mm不合格'].!==null){
if(item['剪切¢18.3mm不合格'].['剪切¢18.3mm不合格+暗点不合格']){
count1 = count1 + item['剪切¢18.3mm不合格+暗点不合格'];
}
if(item['剪切¢18.3mm不合格'].['剪切¢18.3mm不合格+暗点重']){
count1 = count1 + item['剪切¢18.3mm不合格+暗点重'];
}
if(item['剪切¢18.3mm可加工'].['剪切¢18.3mm可加工+暗点合格']){
count_hgls = count_hgls - item['剪切¢18.3mm可加工'].['剪切¢18.3mm可加工+暗点合格'];
}
if(item['剪切¢18.3mm可加工'].['剪切¢18.3mm不合格+暗点合格']){
count_hgls = count_hgls - item['剪切¢18.3mm不合格+暗点合格'];
}
}
item.加工率数 = count1;//-.-.-.+
item.合格率数 = count_hgls;//
})
that.$nextTick(() => {
that.nameFilters = nameList;
that.tableData = data;
})
});
},
deptChange(){
this.getData();
},
filterName(value, row) {
return row.物料名 == value;
},
handleClick(row){
let that = this;
that.userName = row.员工;
that.visible = true;
that.detailRow = row.切片编号列表;
},
handleQuery(){
let that = this;
console.log('that.query',that.query)
that.getData();
},
},
};
</script>
<style scoped>
</style>

View File

@ -35,8 +35,6 @@
stripe
>
<el-table-column type="index" width="50" fixed="left"/>
<el-table-column label="工段">{{ query.mgroup_name }}
</el-table-column>
<el-table-column label="员工" prop="员工">
</el-table-column>
<el-table-column label="总数">
@ -64,19 +62,18 @@
</el-table-column>
<el-table-column label="长点率">
<template #default="scope">
<span v-if="scope.row.暗点不合格">{{((scope.row.长点数/scope.row.总切片数)*100).toFixed(2) }}%</span>
<span v-else>0%</span>
<span>{{((scope.row.长点数/scope.row.总切片数)*100).toFixed(2) }}%</span>
</template>
</el-table-column>
<el-table-column label="加工率">
<template #default="scope">
<span v-if="scope.row.总切片完全合格数">{{((scope.row.加工率数/scope.row.总切片数)*100).toFixed(2) }}%</span>
<span>{{((scope.row.加工率数/scope.row.总切片数)*100).toFixed(2) }}%</span>
</template>
</el-table-column>
<el-table-column label="合格率" prop="合格率">
<!-- 暗点合格并且剪切合格的板段数在暗点合格含里刨除剪切可加工和剪切不合格 -->
<template #default="scope">
<span v-if="scope.row.总切片完全合格数">{{((scope.row.暗点合格.仅/scope.row.总切片数)*100).toFixed(2) }}%</span>
<span>{{((scope.row.合格率数/scope.row.总切片数)*100).toFixed(2) }}%</span>
</template>
</el-table-column>
</scTable>
@ -103,7 +100,7 @@ export default {
end_date:'',
mgroup_name:'排板',
start_date:'',
select_cols: ", ls.产品编号列表, ls.切片编号列表"
select_cols: ", ep.总生产数, ep.切片编号列表"
},
mgroups: [],
tableData:[],
@ -129,7 +126,7 @@ export default {
let that = this;
let params = {};
params.query = that.query;
that.$API.bi.dataset.exec.req('product_defect_pb', params).then((res) => {
that.$API.bi.dataset.exec.req('prodect_defect_pb1', params).then((res) => {
let data = res.data2.ds0;
data.forEach(item=>{
if(item.缺陷分布!==null){
@ -159,7 +156,9 @@ export default {
item.加工率数 = count1;//-.-.-.+
item.合格率数 = count_hgls;//
})
that.$nextTick(() => {
that.tableData = data;
})
});
},
deptChange(){

View File

@ -0,0 +1,223 @@
<template>
<el-container>
<el-header>
<div class="left-panel"></div>
<div class="right-panel">
<el-date-picker
v-model="query.start_date"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.end_date"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-button
type="primary"
icon="el-icon-search"
@click="handleQuery"
></el-button>
</div>
</el-header>
<el-main class="nopadding">
<scTable
ref="table"
:data="tableData"
id="exportDiv"
row-key="id"
hidePagination
hideDo
stripe
>
<el-table-column type="index" width="50" fixed="left"/>
<el-table-column label="员工" prop="员工" :filters="userFilters" :filter-method="filterUser" filter-placement="bottom-end" >
</el-table-column>
<el-table-column label="物料名" prop="物料名" :filters="nameFilters" :filter-method="filterName" filter-placement="bottom-end">
</el-table-column>
<el-table-column label="切片后缀" prop="切片后缀" :filters="houzhuiFilters" :filter-method="filterHouzhui" filter-placement="bottom-end">
</el-table-column>
<el-table-column label="总数">
<template #default="scope">
<span v-if="scope.row.总切片数" @click="handleClick(scope.row)" style="color:#0052d9;">{{ scope.row.总切片数 }}</span>
<span v-else @click="handleClick(scope.row)" style="color:#0052d9;">{{ scope.row.总生产数 }}</span>
</template>
</el-table-column>
<el-table-column label="剪切">
<template #default="scope">
<span v-if="scope.row.剪切合格">{{((scope.row.剪切合格/scope.row.总切片数)*100).toFixed(2) }}%</span>
</template>
</el-table-column>
<el-table-column label="剪切加工率">
<template #default="scope">
<span v-if="scope.row['剪切¢18.3mm不合格']">{{ (((scope.row.总切片数-scope.row['剪切18.3mm不合格'].含)/scope.row.总切片数)*100).toFixed(2) }}%</span>
<span v-else>100%</span>
</template>
</el-table-column>
<el-table-column label="暗点">
<template #default="scope">
<span v-if="scope.row.暗点合格">{{((scope.row.暗点合格.含/scope.row.总切片数)*100).toFixed(2) }}%</span>
<span v-else>0%</span>
</template>
</el-table-column>
<el-table-column label="长点率">
<template #default="scope">
<span>{{((scope.row.长点数/scope.row.总切片数)*100).toFixed(2) }}%</span>
</template>
</el-table-column>
<el-table-column label="加工率">
<template #default="scope">
<span>{{((scope.row.加工率数/scope.row.总切片数)*100).toFixed(2) }}%</span>
</template>
</el-table-column>
<el-table-column label="合格率" prop="合格率">
<!-- 暗点合格并且剪切合格的板段数在暗点合格含里刨除剪切可加工和剪切不合格 -->
<template #default="scope">
<span>{{((scope.row.合格率数/scope.row.总切片数)*100).toFixed(2) }}%</span>
</template>
</el-table-column>
</scTable>
</el-main>
<el-container v-if="visible" style="height:100%;overflow-y: scroll;">
<el-main class="nopadding">
<div style="padding: 10px;">
<div style="height: 35px;font-size: 18px;">
<span>{{ userName }}-{{ banduanNum }}板段列表 </span>
<el-button type="primary" style="position: absolute;right: 20px;" @click="listClose">关闭</el-button>
</div>
<div v-for="(item,index) in detailRow" :key="item" style="display: inline-block;width:150px;margin-bottom: 5px;">
<span style="margin-right:10px;display: inline-block;">{{ index+1 }}{{ item }} </span>
</div>
</div>
</el-main>
</el-container>
</el-container>
</template>
<script>
export default {
name: "workerTimes",
data() {
return {
visible:false,
userName:'',
banduanNum:'',
query:{
end_date:'',
mgroup_name:'排板',
start_date:'',
select_cols: ", ls.产品编号列表, ls.切片编号列表"
},
users:[],
detailRow:[],
userFilters:[],
nameFilters:[],
houzhuiFilters:[],
tableData:[],
};
},
mounted() {
let that = this;
let date = new Date();
that.query.end_date = that.$TOOL.dateFormat2(date);
that.query.start_date = that.query.end_date.split('-')[0] + '-' + that.query.end_date.split('-')[1] + '-01';
that.getData();
},
methods: {
getData(){
let that = this;
let params = {};
let userList = [],users = [];
let nameList = [],names = [];
let houzhuiList = [],houzhuis=[];
params.query = that.query;
that.$API.bi.dataset.exec.req('product_defect_pb_hz_m', params).then((res) => {
let data = res.data2.ds0;
data.forEach(item=>{
if(users.indexOf(item.员工)>-1){}else{
users.push(item.员工);
userList.push({text:item.员工,value:item.员工})
}
if(names.indexOf(item.物料名)>-1){}else{
names.push(item.物料名);
nameList.push({text:item.物料名,value:item.物料名})
}
if(houzhuis.indexOf(item.切片后缀)>-1){}else{
houzhuis.push(item.切片后缀);
houzhuiList.push({text:item.切片后缀,value:item.切片后缀})
}
if(item.缺陷分布!==null){
let defect = JSON.parse(item.缺陷分布);
for(let key in defect){
item[key]=defect[key];
}
}
item.长点数 = item.暗点不合格?item.暗点重?item.暗点不合格. + item.暗点重.:item.暗点不合格.:item.暗点重?item.暗点重.:0;
item.剪切合格 = item['剪切¢18.3mm不合格']?item['剪切¢18.3mm可加工']?item.总切片数 - item['剪切¢18.3mm可加工'].- item['剪切¢18.3mm不合格'].:item.总切片数 - item['剪切¢18.3mm不合格'].:item['剪切¢18.3mm可加工']?item.总切片数 - item['剪切¢18.3mm可加工'].:item.总切片数;
let count_hgls = item.暗点合格?item.暗点合格.:0;
let count1 = item['剪切¢18.3mm不合格']?item.总切片数 - item.长点数 - item['剪切¢18.3mm不合格'].:item.总切片数 - item.长点数;
if(item['剪切¢18.3mm不合格']&&item['剪切¢18.3mm不合格'].!==null){
if(item['剪切¢18.3mm不合格'].['剪切¢18.3mm不合格+暗点不合格']){
count1 = count1 + item['剪切¢18.3mm不合格+暗点不合格'];
}
if(item['剪切¢18.3mm不合格'].['剪切¢18.3mm不合格+暗点重']){
count1 = count1 + item['剪切¢18.3mm不合格+暗点重'];
}
if(item['剪切¢18.3mm可加工'].['剪切¢18.3mm可加工+暗点合格']){
count_hgls = count_hgls - item['剪切¢18.3mm可加工'].['剪切¢18.3mm可加工+暗点合格'];
}
if(item['剪切¢18.3mm可加工'].['剪切¢18.3mm不合格+暗点合格']){
count_hgls = count_hgls - item['剪切¢18.3mm不合格+暗点合格'];
}
}
item.加工率数 = count1;//-.-.-.+
item.合格率数 = count_hgls;//
})
that.$nextTick(() => {
that.userFilters = userList;
that.nameFilters = nameList;
that.houzhuiFilters = houzhuiList;
that.tableData = data;
})
});
},
filterName(value, row) {
return row.物料名 == value;
},
filterUser(value, row) {
return row.员工 == value;
},
filterHouzhui(value, row) {
return row.切片后缀 == value;
},
handleClick(row){
let that = this;
that.detailRow = [];
that.userName = row.员工;
that.banduanNum = row.切片后缀;
that.detailRow = row.切片编号列表;
that.visible = true;
},
listClose(){
let that = this;
that.visible = false;
that.detailRow = [];
},
deptChange(){
this.getData();
},
handleQuery(){
let that = this;
console.log('that.query',that.query)
that.getData();
},
},
};
</script>
<style scoped>
</style>

View File

@ -35,9 +35,9 @@
stripe
>
<el-table-column type="index" width="50" fixed="left"/>
<el-table-column label="员工" prop="员工">
<el-table-column label="员工" prop="员工" :filters="userFilters" :filter-method="filterUser" filter-placement="bottom-end" >
</el-table-column>
<el-table-column label="切片后缀" prop="切片后缀">
<el-table-column label="切片后缀" prop="切片后缀" :filters="houzhuiFilters" :filter-method="filterHouzhui" filter-placement="bottom-end">
</el-table-column>
<el-table-column label="总数">
<template #default="scope">
@ -108,10 +108,12 @@ export default {
end_date:'',
mgroup_name:'排板',
start_date:'',
select_cols: ", ls.产品编号列表, ls.切片编号列表"
select_cols: ", ep.总生产数, ep.切片编号列表"
},
users:[],
detailRow:[],
userFilters:[],
houzhuiFilters:[],
tableData:[],
};
},
@ -123,21 +125,23 @@ export default {
that.getData();
},
methods: {
getUsers() {
let that = this;
this.$API.system.user.list.req({ page: 0,belong_dept__name:'拉丝排板班组',query:'{id,name}' }).then(res => {
that.users = res;
that.query.user_name = res[0].name;
});
},
getData(){
let that = this;
let params = {};
let userList = [],users = [];
let houzhuiList = [],houzhuis=[];
params.query = that.query;
that.$API.bi.dataset.exec.req('product_defect_pb_hz', params).then((res) => {
that.$API.bi.dataset.exec.req('product_defect_pb_hz1', params).then((res) => {
let data = res.data2.ds0;
data.forEach(item=>{
if(users.indexOf(item.员工)>-1){}else{
users.push(item.员工);
userList.push({text:item.员工,value:item.员工})
}
if(houzhuis.indexOf(item.切片后缀)>-1){}else{
houzhuis.push(item.切片后缀);
houzhuiList.push({text:item.切片后缀,value:item.切片后缀})
}
if(item.缺陷分布!==null){
let defect = JSON.parse(item.缺陷分布);
for(let key in defect){
@ -165,8 +169,18 @@ export default {
item.加工率数 = count1;//-.-.-.+
item.合格率数 = count_hgls;//
})
that.$nextTick(() => {
that.userFilters = userList;
that.houzhuiFilters = houzhuiList;
that.tableData = data;
})
});
},
filterUser(value, row) {
return row.员工 == value;
},
filterHouzhui(value, row) {
return row.切片后缀 == value;
},
handleClick(row){
let that = this;

View File

@ -2,6 +2,20 @@
<el-container>
<el-header>
<div class="right-panel">
<el-date-picker
v-model="query.last_time__gte"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.last_time__lte"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-input v-model="query.name__contains"
placeholder="产品名称"
clearable
@ -42,6 +56,11 @@
</el-table-column>
<el-table-column label="板号" prop="number" fixed="left">
</el-table-column>
<el-table-column label="检测日期" fixed="left" prop="batch" width="90">
<template #default="scope">
{{ scope.row.data.分检_日期 }}
</template>
</el-table-column>
<el-table-column label="S畸变" align="center" class-name="colorheader1">
<el-table-column label="差值" class-name="colorheader1">
<template #default="scope">
@ -103,7 +122,7 @@ export default {
return {
params: {
ordering:'data__分检_批次号',
querys:[[{field:"wm",value:0,compare:"isnull"},{field:"data__has_key",compare:"",value:"分检_批次号"}]],
querys:[[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"分检_批次号"}]],
},
query:{
name__contains:'',
@ -119,17 +138,17 @@ export default {
methods: {
handleQuery(){
let that = this;
let querys = [[{field:"wm",value:0,compare:"isnull"},{field:"data__has_key",compare:"",value:"分检_批次号"}]];
let querys = [[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"分检_批次号"}]];
let obj = {},obj1 = {},obj2 = {},obj3 = {};
obj.field = 'data__分检_批次号';
obj.value = that.query.batch__contains;
obj.compare = '';
obj1.field = 'last_time';
obj1.field = 'data__分检_日期';
obj1.value = that.query.last_time__gte;
obj1.compare = 'gte';
obj2.field = 'last_time';
obj2.field = 'data__分检_日期';
obj2.value = that.query.last_time__lte;
obj2.compare = 'lte';

View File

@ -2,6 +2,20 @@
<el-container>
<el-header>
<div class="right-panel">
<el-date-picker
v-model="query.last_time__gte"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.last_time__lte"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-input v-model="query.name__contains"
placeholder="产品名称"
clearable
@ -36,6 +50,11 @@
</el-table-column>
<el-table-column label="版型" prop="material_start_model" fixed="left">
</el-table-column>
<el-table-column label="检测日期" fixed="left" prop="batch" width="90">
<template #default="scope">
{{ scope.row.data.分检_日期 }}
</template>
</el-table-column>
<el-table-column label="分检数" fixed="left">
<template #default="scope">
<span>{{ scope.row.data.分检_count_use }}</span>
@ -164,11 +183,11 @@ export default {
obj.value = that.query.batch__contains;
obj.compare = '';
obj1.field = 'last_time';
obj1.field = 'data__分检_日期';
obj1.value = that.query.last_time__gte;
obj1.compare = 'gte';
obj2.field = 'last_time';
obj2.field = 'data__分检_日期';
obj2.value = that.query.last_time__lte;
obj2.compare = 'lte';

View File

@ -2,6 +2,20 @@
<el-container>
<el-header>
<div class="right-panel">
<el-date-picker
v-model="query.last_time__gte"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.last_time__lte"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-input v-model="query.name__contains"
placeholder="产品名称"
clearable
@ -42,6 +56,11 @@
</el-table-column>
<el-table-column label="板号" prop="number" fixed="left">
</el-table-column>
<el-table-column label="检测日期" fixed="left" prop="batch" width="90">
<template #default="scope">
{{ scope.row.data.光锥成品检测_日期 }}
</template>
</el-table-column>
<el-table-column label="放大率" align="center" class-name="colorheader1">
<template #default="scope">
<span>{{ scope.row.data.光锥成品检测_缺陷项_放大率?scope.row.data.光锥成品检测_缺陷项_放大率:0 }}</span>
@ -99,7 +118,7 @@ export default {
return {
params: {
ordering:'data__光锥成品检测_批次号',
querys:[[{field:"wm",value:0,compare:"isnull"},{field:"data__has_key",compare:"",value:"光锥成品检测_批次号"}]],
querys:[[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"光锥成品检测_批次号"}]],
},
query:{
name__contains:'',
@ -115,17 +134,17 @@ export default {
methods: {
handleQuery(){
let that = this;
let querys = [[{field:"wm",value:0,compare:"isnull"},{field:"data__has_key",compare:"",value:"光锥成品检测_批次号"}]];
let querys = [[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"光锥成品检测_批次号"}]];
let obj = {},obj1 = {},obj2 = {},obj3 = {};
obj.field = 'data__光锥成品检测_批次号';
obj.value = that.query.batch__contains;
obj.compare = '';
obj1.field = 'last_time';
obj1.field = 'data__光锥成品检测_日期';
obj1.value = that.query.last_time__gte;
obj1.compare = 'gte';
obj2.field = 'last_time';
obj2.field = 'data__光锥成品检测_日期';
obj2.value = that.query.last_time__lte;
obj2.compare = 'lte';

View File

@ -2,6 +2,20 @@
<el-container>
<el-header>
<div class="right-panel">
<el-date-picker
v-model="query.last_time__gte"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.last_time__lte"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-input v-model="query.name__contains"
placeholder="产品名称"
clearable
@ -36,6 +50,11 @@
</el-table-column>
<el-table-column label="版型" prop="material_start_model" fixed="left">
</el-table-column>
<el-table-column label="检测日期" fixed="left" prop="batch" width="90">
<template #default="scope">
{{ scope.row.data.光锥成品检测_日期 }}
</template>
</el-table-column>
<el-table-column label="检测数" fixed="left">
<template #default="scope">
<span>{{ scope.row.data.光锥成品检测_count_use }}</span>
@ -188,11 +207,11 @@ export default {
obj.value = that.query.batch__contains;
obj.compare = '';
obj1.field = 'last_time';
obj1.field = 'data__扭后检测_日期';
obj1.value = that.query.last_time__gte;
obj1.compare = 'gte';
obj2.field = 'last_time';
obj2.field = 'data__扭后检测_日期';
obj2.value = that.query.last_time__lte;
obj2.compare = 'lte';

View File

@ -0,0 +1,120 @@
<template>
<el-container>
<el-header>
<div class="left-panel"></div>
<div class="right-panel">
<xtSelect
:apiObj="apiObj"
:params="paramsM"
:valueField="'name'"
v-model="query.material_name"
style="width:300px"
>
<el-table-column label="物料名称" prop="name"></el-table-column>
</xtSelect>
<el-date-picker
v-model="query.start_date"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.end_date"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-button
type="primary"
icon="el-icon-search"
@click="handleQuery"
></el-button>
</div>
</el-header>
<el-main class="nopadding">
<scTable
ref="table"
:data="tableData"
id="exportDiv"
row-key="id"
hidePagination
hideDo
stripe
>
<el-table-column type="index" width="50" fixed="left"/>
<el-table-column label="工段名" prop="工段名">
</el-table-column>
<el-table-column label="生产数" prop="生产数">
</el-table-column>
<el-table-column label="合格数" prop="合格数">
</el-table-column>
<el-table-column label="完全合格数" prop="完全合格数">
</el-table-column>
<el-table-column v-for="item in lists" :key="item" :label="item" :prop="item">
<template #default="scope">
{{ scope.row[item] }}
</template>
</el-table-column>
</scTable>
</el-main>
</el-container>
</template>
<script>
export default {
name: "workerTimes",
data() {
return {
query:{
end_date:'',
material_name:'',
start_date:'2025-11-01',
},
paramsM:{
type: 10,
is_hidden: false
},
lists:[],
tableData:[],
apiObj:this.$API.mtm.material.list,
};
},
mounted() {
let that = this;
let date = new Date();
that.query.end_date = that.$TOOL.dateFormat2(date);
that.query.start_date = that.query.end_date.split('-')[0] + '-' + that.query.end_date.split('-')[1] + '-01';
that.getData();
},
methods: {
getData(){
let that = this;
let params = {};
params.query = that.query;
that.$API.bi.dataset.exec.req('mg_pro_dis', params).then((res) => {
let data = res.data2.ds0;
that.lists = [];
data.forEach(item=>{
let obj = JSON.parse(item.缺陷分布);
for(let key in obj){
if(that.lists.indexOf(key)>-1){}else{that.lists.push(key)}
item[key]= obj[key].;
}
})
that.tableData = data;
});
},
deptChange(){
this.getData();
},
handleQuery(){
this.getData();
},
},
};
</script>
<style scoped>
</style>

View File

@ -2,6 +2,20 @@
<el-container>
<el-header>
<div class="right-panel">
<el-date-picker
v-model="query.last_time__gte"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.last_time__lte"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-input v-model="query.name__contains"
placeholder="产品名称"
clearable
@ -41,6 +55,11 @@
</el-table-column>
<el-table-column label="板号" prop="number" fixed="left">
</el-table-column>
<el-table-column label="检测日期" fixed="left" prop="batch" width="90">
<template #default="scope">
{{ scope.row.data.毛坯检测_日期 }}
</template>
</el-table-column>
<el-table-column label="放大率¢2mm" align="center" class-name="colorheader1">
<el-table-column label="差值" class-name="colorheader1">
<template #default="scope">
@ -179,7 +198,7 @@ export default {
params: {
ordering:'data__毛坯检测_批次号,-data__毛坯检测_小日期,number_prefix,number_suffix',
annotate_field_list:["number_prefix", "number_suffix"],
querys:[[{field:"wm",value:0,compare:"isnull"},{field:"data__has_key",compare:"",value:"毛坯检测_批次号"}]],
querys:[[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"毛坯检测_批次号"}]],
},
query:{
name__contains:'',
@ -195,17 +214,17 @@ export default {
methods: {
handleQuery(){
let that = this;
let querys = [[{field:"wm",value:0,compare:"isnull"},{field:"data__has_key",compare:"",value:"毛坯检测_批次号"}]];
let querys = [[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"毛坯检测_批次号"}]];
let obj = {},obj1 = {},obj2 = {},obj3 = {};
obj.field = 'data__毛坯检测_批次号';
obj.value = that.query.batch__contains;
obj.compare = '';
obj1.field = 'last_time';
obj1.field = 'data__毛坯检测_日期';
obj1.value = that.query.last_time__gte;
obj1.compare = 'gte';
obj2.field = 'last_time';
obj2.field = 'data__毛坯检测_日期';
obj2.value = that.query.last_time__lte;
obj2.compare = 'lte';
@ -241,64 +260,64 @@ export default {
return;
}
let propert = '';
if(index == 5&&column.label=='合格数'){
if(index == 6&&column.label=='合格数'){
propert= '毛坯检测_缺陷项_放大率¢2mm不合格';
}
if(index == 7&&column.label=='合格数'){
if(index == 8&&column.label=='合格数'){
propert= '毛坯检测_缺陷项_放大率¢16mm不合格';
}
if(index == 10&&column.label=='合格数'){
if(index == 11&&column.label=='合格数'){
propert= '毛坯检测_缺陷项_剪切¢18.3mm不合格';
}
if(index == 11&&column.label=='可加工'){
if(index == 12&&column.label=='可加工'){
propert= '毛坯检测_缺陷项_剪切¢18.3mm可加工';
}
if(index == 12&&column.label=='内标合格'){
if(index == 13&&column.label=='内标合格'){
propert= '毛坯检测_缺陷项_暗点合格';
}
if(index == 13&&column.label=='长点不合格'){
if(index == 14&&column.label=='长点不合格'){
propert= '毛坯检测_缺陷项_暗点不合格';
}
if(index == 14&&column.label=='可加工'){
if(index == 15&&column.label=='可加工'){
propert= '毛坯检测_缺陷项_暗点合格';
}
if(index == 15&&column.label=='暗点重'){
if(index == 16&&column.label=='暗点重'){
propert= '毛坯检测_缺陷项_暗点重';
}
if(index == 16&&column.label=='花丝'){
if(index == 17&&column.label=='花丝'){
propert= '毛坯检测_缺陷项_花丝';
}
if(index == 17&&column.label=='网格'){
if(index == 18&&column.label=='网格'){
propert= '毛坯检测_缺陷项_网格';
}
if(index == 18&&column.label=='轻'){
if(index == 19&&column.label=='轻'){
propert= '毛坯检测_缺陷项_花朵';
}
if(index == 19&&column.label=='重'){
if(index == 20&&column.label=='重'){
propert= '毛坯检测_缺陷项_花朵重';
}
if(index == 20&&column.label=='S畸变不合格'){
if(index == 21&&column.label=='S畸变不合格'){
propert= '毛坯检测_缺陷项_S畸变不合格';
}
if(index == 21&&column.label=='弓形畸变不合格'){
if(index == 22&&column.label=='弓形畸变不合格'){
propert= '毛坯检测_缺陷项_弓形畸变不合格';
}
if(index == 22&&column.label=='炸废'){
if(index == 23&&column.label=='炸废'){
propert= '毛坯检测_缺陷项_炸废';
}
if(index == 23&&column.label=='角偏'){
if(index == 24&&column.label=='角偏'){
propert= '毛坯检测_缺陷项_角偏';
}
if(index == 24&&column.label=='色差'){
if(index == 25&&column.label=='色差'){
propert= '毛坯检测_缺陷项_色差';
}
if (propert!=='') {
let values = [];
if(index==5||index==7){
if(index==6||index==8){
values = data.map((item) =>!item.data[propert]?1:0);
}else if(index==10){
}else if(index==11){
values = data.map((item) =>!item.data[propert]&&!item.data['毛坯检测_缺陷项_剪切¢18.3mm可加工']?1:0);
}else if(index==14){
}else if(index==15){
values = data.map((item) =>!item.data[propert]&&!item.data['毛坯检测_缺陷项_暗点不合格']?1:0);
}else{
values = data.map((item) =>item.data[propert]&&item.data[propert]!==undefined?Number(item.data[propert]):0);

View File

@ -2,6 +2,20 @@
<el-container>
<el-header>
<div class="right-panel">
<el-date-picker
v-model="query.last_time__gte"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.last_time__lte"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-input v-model="query.name__contains"
placeholder="产品名称"
clearable
@ -34,13 +48,13 @@
</el-table-column>
<el-table-column label="批次单号" prop="batch" align="center" fixed="left">
</el-table-column>
<el-table-column label="版型" prop="material_start_model" fixed="left">
</el-table-column>
<el-table-column label="检测日期" fixed="left" prop="batch" width="90">
<template #default="scope">
{{ scope.row.data.毛坯检测_日期 }}
</template>
</el-table-column>
<el-table-column label="版型" prop="material_start_model" fixed="left">
</el-table-column>
<el-table-column label="共检" fixed="left">
<template #default="scope">
{{ scope.row.data.毛坯检测_count_use }}
@ -317,20 +331,31 @@ export default {
handleQuery(){
let that = this;
let querys = [[{field:"data__has_key",compare:"",value:"毛坯检测_日期"}]];
let obj = {},obj2 = {};
let obj = {},obj1 = {},obj2 = {},obj3 = {};
obj.field = 'batch';
obj.value = that.query.batch__contains;
obj.compare = '';
obj2.field = 'material_start__name';
obj2.value = that.query.name__contains;
obj2.compare = 'contains';
obj1.field = 'material_start__name';
obj1.value = that.query.name__contains;
obj1.compare = 'contains';
obj2.field = 'data__毛坯检测_日期';
obj2.value = that.query.last_time__gte;
obj2.compare = 'gte';
obj3.field = 'data__毛坯检测_日期';
obj3.value = that.query.last_time__lte;
obj3.compare = 'lte';
if(that.query.batch__contains!==''&&that.query.batch__contains!==null){
querys[0].push(obj);
}
if(that.query.name__contains!==''&&that.query.name__contains!==null){
querys[0].push(obj1);
}
if(that.query.last_time__gte!==''&&that.query.last_time__gte!==null){
querys[0].push(obj2);
}
if(that.query.last_time__lte!==''&&that.query.last_time__lte!==null){
querys[0].push(obj3);
}
that.params.querys = querys;
this.$refs.table.queryData(that.params);
},

View File

@ -2,6 +2,20 @@
<el-container>
<el-header>
<div class="right-panel">
<el-date-picker
v-model="query.last_time__gte"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.last_time__lte"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-input v-model="query.name__contains"
placeholder="产品名称"
clearable
@ -42,7 +56,12 @@
</el-table-column>
<el-table-column label="板号" prop="number" fixed="left">
</el-table-column>
<el-table-column label="炉号" prop="number" fixed="left">
<el-table-column label="炉号" prop="" fixed="left">
</el-table-column>
<el-table-column label="检测日期" fixed="left" prop="batch" width="90">
<template #default="scope">
{{ scope.row.data.扭后检测_日期 }}
</template>
</el-table-column>
<el-table-column label="扭转角" align="center" class-name="colorheader1">
<el-table-column label="差值" class-name="colorheader1">
@ -199,7 +218,7 @@ export default {
return {
params: {
ordering:'data__扭后检测_批次号',
querys:[[{field:"wm",value:0,compare:"isnull"},{field:"data__has_key",compare:"",value:"扭后检测_批次号"}]],
querys:[[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"扭后检测_批次号"}]],
},
querys:{
ordering:'-create_time'
@ -225,11 +244,11 @@ export default {
obj.value = that.query.batch__contains;
obj.compare = '';
obj1.field = 'last_time';
obj1.field = 'data__扭后检测_日期';
obj1.value = that.query.last_time__gte;
obj1.compare = 'gte';
obj2.field = 'last_time';
obj2.field = 'data__扭后检测_日期';
obj2.value = that.query.last_time__lte;
obj2.compare = 'lte';
@ -237,7 +256,7 @@ export default {
obj3.value = that.query.name__contains;
obj3.compare = 'contains';
querys=[[{field:"wm",value:0,compare:"isnull"},{field:"data__has_key",compare:"",value:"扭后检测_批次号"}]]
querys=[[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"扭后检测_批次号"}]]
if(that.query.batch__contains!==''&&that.query.batch__contains!==null){
querys[0].push(obj);
}

View File

@ -2,6 +2,20 @@
<el-container>
<el-header>
<div class="right-panel">
<el-date-picker
v-model="query.last_time__gte"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.last_time__lte"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-input v-model="query.name__contains"
placeholder="产品名称"
clearable
@ -36,6 +50,11 @@
</el-table-column>
<el-table-column label="版型" prop="material_start_model" fixed="left">
</el-table-column>
<el-table-column label="检测日期" fixed="left" prop="batch" width="90">
<template #default="scope">
{{ scope.row.data.扭后检测_日期 }}
</template>
</el-table-column>
<el-table-column label="扭转数" fixed="left">
<template #default="scope">
{{ scope.row.data.扭后检测_count_use }}
@ -385,11 +404,11 @@ export default {
obj.value = that.query.batch__contains;
obj.compare = '';
obj1.field = 'last_time';
obj1.field = 'data__扭后检测_日期';
obj1.value = that.query.last_time__gte;
obj1.compare = 'gte';
obj2.field = 'last_time';
obj2.field = 'data__扭后检测_日期';
obj2.value = that.query.last_time__lte;
obj2.compare = 'lte';

View File

@ -0,0 +1,189 @@
<template>
<el-container>
<el-header>
<div class="right-panel">
<el-date-picker
v-model="query.last_time__gte"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.last_time__lte"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-input v-model="query.name__contains"
placeholder="产品名称"
clearable
style="width: 200px;"
></el-input>
<el-input v-model="query.batch__contains"
placeholder="批次号"
clearable
style="width: 200px;"
></el-input>
<el-button
type="primary"
icon="el-icon-search"
@click="handleQuery"
></el-button>
</div>
</el-header>
<el-main class="nopadding">
<scTable
ref="table"
:apiObj="apiObj"
:params="params"
:query="params"
id="exportDiv"
row-key="id"
stripe
>
<el-table-column type="index" width="50" fixed="left"/>
<el-table-column label="产品名称" prop="material_name" fixed="left" min-width="100">
<template #default="scope">
<span>{{ scope.row.material_name.split('|')[0] }}</span>
</template>
</el-table-column>
<el-table-column label="批次号" fixed="left">
<template #default="scope">
<span>{{ scope.row.data.抛凹面检测_批次号 }}</span>
</template>
</el-table-column>
<el-table-column label="板号" prop="number" fixed="left">
</el-table-column>
<el-table-column label="检测日期" fixed="left" prop="batch" width="90">
<template #default="scope">
{{ scope.row.data.抛凹面检测_日期 }}
</template>
</el-table-column>
<el-table-column label="炸废" align="center" class-name="colorheader1">
<template #default="scope">
<span>{{ scope.row.data.抛凹面检测_缺陷项_炸废==undefined?scope.row.data.抛凹面检测_缺陷项_炸废:0 }}</span>
</template>
</el-table-column>
<el-table-column label="麻点" align="center" class-name="colorheader2">
<template #default="scope">
<span>{{ scope.row.data.抛凹面检测_缺陷项_麻点==undefined?scope.row.data.抛凹面检测_缺陷项_麻点:0 }}</span>
</template>
</el-table-column>
<el-table-column label="水印" align="center" class-name="colorheader3">
<template #default="scope">
<span>{{ scope.row.data.抛凹面检测_缺陷项_水印?scope.row.data.抛凹面检测_缺陷项_水印:0 }}</span>
</template>
</el-table-column>
<el-table-column label="划伤" align="center" class-name="colorheader4">
<template #default="scope">
<span>{{ scope.row.data.抛凹面检测_缺陷项_划伤?scope.row.data.抛凹面检测_缺陷项_划伤:0 }}</span>
</template>
</el-table-column>
<el-table-column label="坑" align="center" class-name="colorheader5">
<template #default="scope">
<span>{{ scope.row.data.抛凹面检测_缺陷项_坑?scope.row.data.抛凹面检测_缺陷项_坑:0 }}</span>
</template>
</el-table-column>
<el-table-column label="柱面" align="center" class-name="colorheader6">
<template #default="scope">
<span>{{ scope.row.data.抛凹面检测_缺陷项_柱面?scope.row.data.抛凹面检测_缺陷项_柱面:0 }}</span>
</template>
</el-table-column>
<el-table-column label="硌点" align="center" class-name="colorheader7">
<template #default="scope">
<span>{{ scope.row.data.抛凹面检测_缺陷项_硌点?scope.row.data.抛凹面检测_缺陷项_硌点:0 }}</span>
</template>
</el-table-column>
<el-table-column label="亮道" align="center" class-name="colorheader1">
<template #default="scope">
<span>{{ scope.row.data.抛凹面检测_缺陷项_亮道?scope.row.data.抛凹面检测_缺陷项_亮道:0 }}</span>
</template>
</el-table-column>
<el-table-column label="偏" align="center" class-name="colorheader2">
<template #default="scope">
<span>{{ scope.row.data.抛凹面检测_缺陷项_偏?scope.row.data.抛凹面检测_缺陷项_偏:0 }}</span>
</template>
</el-table-column>
<el-table-column label="崩" align="center" class-name="colorheader3">
<template #default="scope">
<span>{{ scope.row.data.抛凹面检测_缺陷项_崩?scope.row.data.抛凹面检测_缺陷项_崩:0 }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center" class-name="colorheader4">
<template #default="scope">
<span>{{ scope.row.data.抛凹面检测_缺陷项_备注 }}</span>
</template>
</el-table-column>
</scTable>
</el-main>
</el-container>
</template>
<script>
export default {
name: "statistics_guan",
data() {
return {
params: {
ordering:'data__抛凹面检测_批次号',
querys:[[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"抛凹面检测_批次号"}]],
},
query:{
name__contains:'',
batch__contains:'',
last_time__gte:'',
last_time__lte:'',
},
apiObj: this.$API.wpm.wpr.query,
options:[],
tableData:[],
};
},
methods: {
handleQuery(){
let that = this;
let querys = [[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"抛凹面检测_批次号"}]];
let obj = {},obj1 = {},obj2 = {},obj3 = {};
obj.field = 'data__抛凹面检测_批次号';
obj.value = that.query.batch__contains;
obj.compare = '';
obj1.field = 'data__抛凹面检测_日期';
obj1.value = that.query.last_time__gte;
obj1.compare = 'gte';
obj2.field = 'data__抛凹面检测_日期';
obj2.value = that.query.last_time__lte;
obj2.compare = 'lte';
obj3.field = 'material__name';
obj3.value = that.query.name__contains;
obj3.compare = 'contains';
if(that.query.batch__contains!==''&&that.query.batch__contains!==null){
querys[0].push(obj);
}
if(that.query.last_time__gte!==''&&that.query.last_time__gte!==null){
querys[0].push(obj1);
}
if(that.query.last_time__lte!==''&&that.query.last_time__lte!==null){
querys[0].push(obj2);
}
if(that.query.name__contains!==''&&that.query.name__contains!==null){
querys[0].push(obj3);
}
that.params.querys = querys;
this.$refs.table.queryData(that.params);
},
getCountQt(data,type){
let count_qt = 0,count = 0;
}
},
};
</script>
<style scoped>
</style>

View File

@ -0,0 +1,262 @@
<template>
<el-container>
<el-header>
<div class="right-panel">
<el-date-picker
v-model="query.last_time__gte"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.last_time__lte"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-input v-model="query.name__contains"
placeholder="产品名称"
clearable
style="width: 200px;"
></el-input>
<el-input v-model="query.batch__contains"
placeholder="批次号"
clearable
style="width: 200px;"
></el-input>
<el-button
type="primary"
icon="el-icon-search"
@click="handleQuery"
></el-button>
</div>
</el-header>
<el-main class="nopadding">
<scTable
ref="table"
:apiObj="apiObj"
:params="params"
:query="params"
id="exportDiv"
row-key="id"
stripe
>
<el-table-column type="index" width="50" fixed="left"/>
<el-table-column label="产品名称" prop="material_start_name" fixed="left" min-width="100">
</el-table-column>
<el-table-column label="批次号" prop="batch" fixed="left">
</el-table-column>
<el-table-column label="版型" prop="material_start_model" fixed="left">
</el-table-column>
<el-table-column label="检测日期" fixed="left" prop="batch" width="90">
<template #default="scope">
{{ scope.row.data.抛凹面检测_日期 }}
</template>
</el-table-column>
<el-table-column label="检测数" fixed="left">
<template #default="scope">
<span>{{ scope.row.data.抛凹面检测_count_use }}</span>
</template>
</el-table-column>
<el-table-column label="炸废" align="center" class-name="colorheader1">
<el-table-column label="数量" class-name="colorheader1">
<template #default="scope">
<span>{{ scope.row.data.抛凹面检测_含缺陷_炸废 }}</span>
</template>
</el-table-column>
<el-table-column label="比例" class-name="colorheader1">
<template #default="scope">
<span v-if="scope.row.data.抛凹面检测_含缺陷_炸废_比例">{{scope.row.data.抛凹面检测_含缺陷_炸废_比例}}%</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="麻点" align="center" class-name="colorheader2">
<el-table-column label="数量" class-name="colorheader2">
<template #default="scope">
<span>{{ scope.row.data.抛凹面检测_含缺陷_麻点 }}</span>
</template>
</el-table-column>
<el-table-column label="比例" class-name="colorheader2">
<template #default="scope">
<span v-if="scope.row.data.抛凹面检测_含缺陷_麻点_比例">{{scope.row.data.抛凹面检测_含缺陷_麻点_比例}}%</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="水印" align="center" class-name="colorheader3">
<el-table-column label="数量" class-name="colorheader3">
<template #default="scope">
<span>{{ scope.row.data.抛凹面检测_含缺陷_水印 }}</span>
</template>
</el-table-column>
<el-table-column label="比例" class-name="colorheader3">
<template #default="scope">
<span v-if="scope.row.data.抛凹面检测_含缺陷_水印_比例">{{scope.row.data.抛凹面检测_含缺陷_水印_比例}}%</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="划伤" align="center" class-name="colorheader4">
<el-table-column label="数量" class-name="colorheader4">
<template #default="scope">
<span>{{ scope.row.data.抛凹面检测_含缺陷_划伤 }}</span>
</template>
</el-table-column>
<el-table-column label="比例" class-name="colorheader4">
<template #default="scope">
<span v-if="scope.row.data.抛凹面检测_含缺陷_划伤_比例">{{scope.row.data.抛凹面检测_含缺陷_划伤_比例 }}%</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="坑" align="center" class-name="colorheader5">
<el-table-column label="数量" class-name="colorheader5">
<template #default="scope">
<span>{{ scope.row.data.抛凹面检测_含缺陷_坑 }}</span>
</template>
</el-table-column>
<el-table-column label="比例" class-name="colorheader5">
<template #default="scope">
<span v-if="scope.row.data.抛凹面检测_含缺陷_坑_比例">{{scope.row.data.抛凹面检测_含缺陷_坑_比例}}%</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="柱面" align="center" class-name="colorheader6">
<el-table-column label="数量" class-name="colorheader6">
<template #default="scope">
<span>{{ scope.row.data.抛凹面检测_含缺陷_柱面 }}</span>
</template>
</el-table-column>
<el-table-column label="比例" class-name="colorheader6">
<template #default="scope">
<span v-if="scope.row.data.抛凹面检测_含缺陷_柱面_比例">{{scope.row.data.抛凹面检测_含缺陷_柱面_比例}}%</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="硌点" align="center" class-name="colorheader7">
<el-table-column label="数量" class-name="colorheader7">
<template #default="scope">
<span>{{ scope.row.data.抛凹面检测_含缺陷_硌点 }}</span>
</template>
</el-table-column>
<el-table-column label="比例" class-name="colorheader7">
<template #default="scope">
<span v-if="scope.row.data.抛凹面检测_含缺陷_硌点_比例">{{scope.row.data.抛凹面检测_含缺陷_硌点_比例}}%</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="亮道" align="center" class-name="colorheader1">
<el-table-column label="数量" class-name="colorheader5">
<template #default="scope">
<span>{{ scope.row.data.抛凹面检测_含缺陷_亮道 }}</span>
</template>
</el-table-column>
<el-table-column label="比例" class-name="colorheader5">
<template #default="scope">
<span v-if="scope.row.data.抛凹面检测_含缺陷_亮道_比例">{{scope.row.data.抛凹面检测_含缺陷_亮道_比例}}%</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="偏" align="center" class-name="colorheader2">
<el-table-column label="数量" class-name="colorheader6">
<template #default="scope">
<span>{{ scope.row.data.抛凹面检测_含缺陷_偏 }}</span>
</template>
</el-table-column>
<el-table-column label="比例" class-name="colorheader6">
<template #default="scope">
<span v-if="scope.row.data.抛凹面检测_含缺陷_偏_比例">{{scope.row.data.抛凹面检测_含缺陷_偏_比例}}%</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="崩" align="center" class-name="colorheader3">
<el-table-column label="数量" class-name="colorheader7">
<template #default="scope">
<span>{{ scope.row.data.抛凹面检测_含缺陷_崩 }}</span>
</template>
</el-table-column>
<el-table-column label="比例" class-name="colorheader7">
<template #default="scope">
<span v-if="scope.row.data.抛凹面检测_含缺陷_崩_比例">{{scope.row.data.抛凹面检测_含缺陷_崩_比例}}%</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="合格" class-name="colorheader4">
<el-table-column label="数量" class-name="colorheader1">
<template #default="scope">
<span>{{ scope.row.data.抛凹面检测_count_ok }}</span>
</template>
</el-table-column>
<el-table-column label="比例" class-name="colorheader1">
<template #default="scope">
<span v-if="scope.row.data.抛凹面检测_合格率">{{scope.row.data.抛凹面检测_合格率 }}%</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="备注" align="center" class-name="colorheader5">
<template #default="scope">
<span>{{ scope.row.data.抛凹面检测_缺陷项_备注 }}</span>
</template>
</el-table-column>
</scTable>
</el-main>
</el-container>
</template>
<script>
export default {
name: "statistics_guan",
data() {
return {
params: {
ordering:'-data__抛凹面检测_小日期',
querys:[[{field:"data__has_key",compare:"",value:"抛凹面检测_日期"}]]
},
query:{
name__contains:'',
batch__contains:'',
last_time__gte:'',
last_time__lte:'',
},
apiObj: this.$API.wpm.batchstquery,
options:[],
tableData:[],
};
},
methods: {
handleQuery(){
let that = this;
let querys = [[{field:"data__has_key",compare:"",value:"抛凹面检测_日期"}]];
let obj = {},obj1 = {},obj2 = {},obj3 = {};
obj.field = 'data__抛凹面检测_批次号';
obj.value = that.query.batch__contains;
obj.compare = '';
obj1.field = 'data__抛凹面检测_日期';
obj1.value = that.query.last_time__gte;
obj1.compare = 'gte';
obj2.field = 'data__抛凹面检测_日期';
obj2.value = that.query.last_time__lte;
obj2.compare = 'lte';
obj3.field = 'material_start__name';
obj3.value = that.query.name__contains;
obj3.compare = 'contains';
if(that.query.batch__contains!==''&&that.query.batch__contains!==null){
querys[0].push(obj);
}
if(that.query.last_time__gte!==''&&that.query.last_time__gte!==null){
querys[0].push(obj1);
}
if(that.query.last_time__lte!==''&&that.query.last_time__lte!==null){
querys[0].push(obj2);
}
if(that.query.name__contains!==''&&that.query.name__contains!==null){
querys[0].push(obj3);
}
that.params.querys = querys;
this.$refs.table.queryData(that.params);
},
},
};
</script>
<style scoped>
</style>

View File

@ -0,0 +1,184 @@
<template>
<el-container>
<el-header>
<div class="right-panel">
<el-date-picker
v-model="query.last_time__gte"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.last_time__lte"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-input v-model="query.name__contains"
placeholder="产品名称"
clearable
style="width: 200px;"
></el-input>
<el-input v-model="query.batch__contains"
placeholder="批次号"
clearable
style="width: 200px;"
></el-input>
<el-button
type="primary"
icon="el-icon-search"
@click="handleQuery"
></el-button>
</div>
</el-header>
<el-main class="nopadding">
<scTable
ref="table"
:apiObj="apiObj"
:params="params"
:query="params"
id="exportDiv"
row-key="id"
stripe
>
<el-table-column type="index" width="50" fixed="left"/>
<el-table-column label="产品名称" prop="material_name" fixed="left" min-width="100">
<template #default="scope">
<span>{{ scope.row.material_name.split('|')[0] }}</span>
</template>
</el-table-column>
<el-table-column label="批次号" fixed="left">
<template #default="scope">
<span>{{ scope.row.data.抛角检测_批次号 }}</span>
</template>
</el-table-column>
<el-table-column label="板号" prop="number" fixed="left">
</el-table-column>
<el-table-column label="检测日期" fixed="left" prop="batch" width="90">
<template #default="scope">
{{ scope.row.data.抛角检测_日期 }}
</template>
</el-table-column>
<el-table-column label="角小" align="center" class-name="colorheader1">
<template #default="scope">
<span>{{ scope.row.data.抛角检测_缺陷项_角小==undefined?scope.row.data.抛角检测_缺陷项_角小:0 }}</span>
</template>
</el-table-column>
<el-table-column label="抛角麻点" align="center" class-name="colorheader2">
<template #default="scope">
<span>{{ scope.row.data.抛角检测_缺陷项_抛角麻点==undefined?scope.row.data.抛角检测_缺陷项_抛角麻点:0 }}</span>
</template>
</el-table-column>
<el-table-column label="角偏" align="center" class-name="colorheader3">
<template #default="scope">
<span>{{ scope.row.data.抛角检测_缺陷项_角偏?scope.row.data.抛角检测_缺陷项_角偏:0 }}</span>
</template>
</el-table-column>
<el-table-column label="小崩" align="center" class-name="colorheader4">
<template #default="scope">
<span>{{ scope.row.data.抛角检测_缺陷项_小崩?scope.row.data.抛角检测_缺陷项_小崩:0 }}</span>
</template>
</el-table-column>
<el-table-column label="崩废" align="center" class-name="colorheader5">
<template #default="scope">
<span>{{ scope.row.data.抛角检测_缺陷项_崩废?scope.row.data.抛角检测_缺陷项_崩废:0 }}</span>
</template>
</el-table-column>
<el-table-column label="划伤" align="center" class-name="colorheader6">
<template #default="scope">
<span>{{ scope.row.data.抛角检测_缺陷项_划伤?scope.row.data.抛角检测_缺陷项_划伤:0 }}</span>
</template>
</el-table-column>
<el-table-column label="炸" align="center" class-name="colorheader7">
<template #default="scope">
<span>{{ scope.row.data.抛角检测_缺陷项_炸?scope.row.data.抛角检测_缺陷项_炸:0 }}</span>
</template>
</el-table-column>
<el-table-column label="抛角人" align="center" class-name="colorheader7">
<template #default="scope">
<span>{{ scope.row.data.抛角_操作人?scope.row.data.抛角_操作人:'' }}</span>
</template>
</el-table-column>
<el-table-column label="抛光人" align="center" class-name="colorheader1">
<template #default="scope">
<span>{{ scope.row.data['角面/柱面抛光_操作人']?scope.row.data['角面/柱面抛光_操作人']:'' }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center" class-name="colorheader1">
<template #default="scope">
<span>{{ scope.row.data.抛角检测_缺陷项_备注 }}</span>
</template>
</el-table-column>
</scTable>
</el-main>
</el-container>
</template>
<script>
export default {
name: "statistics_guan",
data() {
return {
params: {
ordering:'data__抛角检测_批次号',
querys:[[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"抛角检测_批次号"}]],
},
query:{
name__contains:'',
batch__contains:'',
last_time__gte:'',
last_time__lte:'',
},
apiObj: this.$API.wpm.wpr.query,
options:[],
tableData:[],
};
},
methods: {
handleQuery(){
let that = this;
let querys = [[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"抛角检测_批次号"}]];
let obj = {},obj1 = {},obj2 = {},obj3 = {};
obj.field = 'data__抛角检测_批次号';
obj.value = that.query.batch__contains;
obj.compare = '';
obj1.field = 'data__抛角检测_日期';
obj1.value = that.query.last_time__gte;
obj1.compare = 'gte';
obj2.field = 'data__抛角检测_日期';
obj2.value = that.query.last_time__lte;
obj2.compare = 'lte';
obj3.field = 'material__name';
obj3.value = that.query.name__contains;
obj3.compare = 'contains';
if(that.query.batch__contains!==''&&that.query.batch__contains!==null){
querys[0].push(obj);
}
if(that.query.last_time__gte!==''&&that.query.last_time__gte!==null){
querys[0].push(obj1);
}
if(that.query.last_time__lte!==''&&that.query.last_time__lte!==null){
querys[0].push(obj2);
}
if(that.query.name__contains!==''&&that.query.name__contains!==null){
querys[0].push(obj3);
}
that.params.querys = querys;
this.$refs.table.queryData(that.params);
},
getCountQt(data,type){
let count_qt = 0,count = 0;
}
},
};
</script>
<style scoped>
</style>

View File

@ -0,0 +1,226 @@
<template>
<el-container>
<el-header>
<div class="right-panel">
<el-date-picker
v-model="query.last_time__gte"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.last_time__lte"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-input v-model="query.name__contains"
placeholder="产品名称"
clearable
style="width: 200px;"
></el-input>
<el-input v-model="query.batch__contains"
placeholder="批次号"
clearable
style="width: 200px;"
></el-input>
<el-button
type="primary"
icon="el-icon-search"
@click="handleQuery"
></el-button>
</div>
</el-header>
<el-main class="nopadding">
<scTable
ref="table"
:apiObj="apiObj"
:params="params"
:query="params"
id="exportDiv"
row-key="id"
stripe
>
<el-table-column type="index" width="50" fixed="left"/>
<el-table-column label="产品名称" prop="material_start_name" fixed="left" min-width="100">
</el-table-column>
<el-table-column label="批次号" prop="batch" fixed="left">
</el-table-column>
<el-table-column label="版型" prop="material_start_model" fixed="left">
</el-table-column>
<el-table-column label="检测日期" fixed="left" prop="batch" width="90">
<template #default="scope">
{{ scope.row.data.抛角检测_日期 }}
</template>
</el-table-column>
<el-table-column label="检测数" fixed="left">
<template #default="scope">
<span>{{ scope.row.data.抛角检测_count_use }}</span>
</template>
</el-table-column>
<el-table-column label="角小" align="center" class-name="colorheader1">
<el-table-column label="数量" class-name="colorheader1">
<template #default="scope">
<span>{{ scope.row.data.抛角检测_含缺陷_角小 }}</span>
</template>
</el-table-column>
<el-table-column label="比例" class-name="colorheader1">
<template #default="scope">
<span v-if="scope.row.data.抛角检测_含缺陷_角小_比例">{{scope.row.data.抛角检测_含缺陷_角小_比例}}%</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="抛角麻点" align="center" class-name="colorheader2">
<el-table-column label="数量" class-name="colorheader2">
<template #default="scope">
<span>{{ scope.row.data.抛角检测_含缺陷_抛角麻点 }}</span>
</template>
</el-table-column>
<el-table-column label="比例" class-name="colorheader2">
<template #default="scope">
<span v-if="scope.row.data.抛角检测_含缺陷_抛角麻点_比例">{{scope.row.data.抛角检测_含缺陷_抛角麻点_比例}}%</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="角偏" align="center" class-name="colorheader3">
<el-table-column label="数量" class-name="colorheader3">
<template #default="scope">
<span>{{ scope.row.data.抛角检测_含缺陷_角偏 }}</span>
</template>
</el-table-column>
<el-table-column label="比例" class-name="colorheader3">
<template #default="scope">
<span v-if="scope.row.data.抛角检测_含缺陷_角偏_比例">{{scope.row.data.抛角检测_含缺陷_角偏_比例}}%</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="小崩" align="center" class-name="colorheader4">
<el-table-column label="数量" class-name="colorheader4">
<template #default="scope">
<span>{{ scope.row.data.抛角检测_含缺陷_小崩 }}</span>
</template>
</el-table-column>
<el-table-column label="比例" class-name="colorheader4">
<template #default="scope">
<span v-if="scope.row.data.抛角检测_含缺陷_小崩_比例">{{scope.row.data.抛角检测_含缺陷_小崩_比例 }}%</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="崩废" align="center" class-name="colorheader5">
<el-table-column label="数量" class-name="colorheader5">
<template #default="scope">
<span>{{ scope.row.data.抛角检测_含缺陷_崩废 }}</span>
</template>
</el-table-column>
<el-table-column label="比例" class-name="colorheader5">
<template #default="scope">
<span v-if="scope.row.data.抛角检测_含缺陷_崩废_比例">{{scope.row.data.抛角检测_含缺陷_崩废_比例}}%</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="划伤" align="center" class-name="colorheader6">
<el-table-column label="数量" class-name="colorheader6">
<template #default="scope">
<span>{{ scope.row.data.抛角检测_含缺陷_划伤 }}</span>
</template>
</el-table-column>
<el-table-column label="比例" class-name="colorheader6">
<template #default="scope">
<span v-if="scope.row.data.抛角检测_含缺陷_划伤_比例">{{scope.row.data.抛角检测_含缺陷_划伤_比例}}%</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="炸" align="center" class-name="colorheader7">
<el-table-column label="数量" class-name="colorheader7">
<template #default="scope">
<span>{{ scope.row.data.抛角检测_含缺陷_炸 }}</span>
</template>
</el-table-column>
<el-table-column label="比例" class-name="colorheader7">
<template #default="scope">
<span v-if="scope.row.data.抛角检测_含缺陷_炸_比例">{{scope.row.data.抛角检测_含缺陷_炸_比例}}%</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="合格" class-name="colorheader1">
<el-table-column label="数量" class-name="colorheader1">
<template #default="scope">
<span>{{ scope.row.data.抛角检测_count_ok }}</span>
</template>
</el-table-column>
<el-table-column label="比例" class-name="colorheader1">
<template #default="scope">
<span v-if="scope.row.data.抛角检测_合格率">{{scope.row.data.抛角检测_合格率 }}%</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="备注" align="center" class-name="colorheader2">
<template #default="scope">
<span>{{ scope.row.data.抛角检测_缺陷项_备注 }}</span>
</template>
</el-table-column>
</scTable>
</el-main>
</el-container>
</template>
<script>
export default {
name: "statistics_guan",
data() {
return {
params: {
ordering:'-data__抛角检测_小日期',
querys:[[{field:"data__has_key",compare:"",value:"抛角检测_日期"}]]
},
query:{
name__contains:'',
batch__contains:'',
last_time__gte:'',
last_time__lte:'',
},
apiObj: this.$API.wpm.batchstquery,
options:[],
tableData:[],
};
},
methods: {
handleQuery(){
let that = this;
let querys = [[{field:"data__has_key",compare:"",value:"抛角检测_日期"}]];
let obj = {},obj1 = {},obj2 = {},obj3 = {};
obj.field = 'data__抛角检测_批次号';
obj.value = that.query.batch__contains;
obj.compare = '';
obj1.field = 'data__抛角检测_日期';
obj1.value = that.query.last_time__gte;
obj1.compare = 'gte';
obj2.field = 'data__抛角检测_日期';
obj2.value = that.query.last_time__lte;
obj2.compare = 'lte';
obj3.field = 'material_start__name';
obj3.value = that.query.name__contains;
obj3.compare = 'contains';
if(that.query.batch__contains!==''&&that.query.batch__contains!==null){
querys[0].push(obj);
}
if(that.query.last_time__gte!==''&&that.query.last_time__gte!==null){
querys[0].push(obj1);
}
if(that.query.last_time__lte!==''&&that.query.last_time__lte!==null){
querys[0].push(obj2);
}
if(that.query.name__contains!==''&&that.query.name__contains!==null){
querys[0].push(obj3);
}
that.params.querys = querys;
this.$refs.table.queryData(that.params);
},
},
};
</script>
<style scoped>
</style>

View File

@ -0,0 +1,198 @@
<template>
<el-container>
<el-header>
<div class="right-panel">
<el-date-picker
v-model="query.time_gte"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.time_lte"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-input v-model="query.number_contains"
placeholder="板号"
clearable
style="width: 200px;"
></el-input>
<el-button
type="primary"
icon="el-icon-search"
@click="handleQuery"
></el-button>
</div>
</el-header>
<el-main class="nopadding">
<scTable
ref="table"
:apiObj="apiObj"
:params="params"
:query="params"
id="exportDiv"
row-key="id"
stripe
>
<el-table-column type="index" width="50" fixed="left"/>
<el-table-column label="日期" fixed="left" width="90">
<template #default="scope">
<span>{{ scope.row.data.装炉压板出炉_日期?scope.row.data.装炉压板出炉_日期:'' }}</span>
</template>
</el-table-column>
<el-table-column label="板号" prop="number" fixed="left">
<template #default="scope">
<span>{{ scope.row.data.装模_批次号?scope.row.data.装模_批次号:'' }}</span>
</template>
</el-table-column>
<el-table-column label="压前对边" align="center">
<template #default="scope">
<span>{{ scope.row.data.排板_检测项_对边==undefined?scope.row.data.排板_检测项_对边:'' }}</span>
</template>
</el-table-column>
<el-table-column label="模具号" align="center">
<template #default="scope">
<span>{{ scope.row.data.装模_检测项_模具号==undefined?scope.row.data.装模_检测项_模具号:'' }}</span>
</template>
</el-table-column>
<el-table-column label="对模具人" align="center">
<template #default="scope">
<span>{{ scope.row.data.装模_操作人?scope.row.data.装模_操作人:0 }}</span>
</template>
</el-table-column>
<el-table-column label="丝高" align="center">
<template #default="scope">
<span>{{ scope.row.data.排板_检测项_丝高?scope.row.data.排板_检测项_丝高:0 }}</span>
</template>
</el-table-column>
<el-table-column label="炉号" align="center">
<template #default="scope">
<span>{{ scope.row.data.装炉压板出炉_设备编号?scope.row.data.装炉压板出炉_设备编号:0 }}</span>
</template>
</el-table-column>
<el-table-column label="装炉人" align="center">
<template #default="scope">
<span>{{ scope.row.data.装炉压板出炉_装炉_操作人?scope.row.data.装炉压板出炉_装炉_操作人:0 }}</span>
</template>
</el-table-column>
<el-table-column label="压板温度" align="center">
<template #default="scope">
<span>{{ scope.row.data.装炉压板出炉_操作项_温度?scope.row.data.装炉压板出炉_操作项_温度:0 }}</span>
</template>
</el-table-column>
<el-table-column label="压力" align="center">
<template #default="scope">
<span>{{ scope.row.data.装炉压板出炉_操作项_压力?scope.row.data.装炉压板出炉_操作项_压力:0 }}</span>
</template>
</el-table-column>
<el-table-column label="下压刻度" align="center">
<template #default="scope">
<span>{{ scope.row.data.装炉压板出炉_操作项_刻度?scope.row.data.装炉压板出炉_操作项_刻度:0 }}</span>
</template>
</el-table-column>
<el-table-column label="压板用时" align="center">
<template #default="scope">
<span>{{ scope.row.data.装炉压板出炉_操作项_压板用时?scope.row.data.装炉压板出炉_操作项_压板用时:0 }}</span>
</template>
</el-table-column>
<el-table-column label="压板人" align="center">
<template #default="scope">
<span>{{ scope.row.data.装炉压板出炉_压板出炉_操作人?scope.row.data.装炉压板出炉_压板出炉_操作人:0 }}</span>
</template>
</el-table-column>
<el-table-column label="压后上边" align="center">
<template #default="scope">
<span>{{ scope.row.data.脱模测量_检测项_对边上?scope.row.data.脱模测量_检测项_对边上:0 }}</span>
</template>
</el-table-column>
<el-table-column label="压后下边" align="center">
<template #default="scope">
<span>{{ scope.row.data.脱模测量_检测项_对边下?scope.row.data.脱模测量_检测项_对边下:0 }}</span>
</template>
</el-table-column>
<!-- <el-table-column label="对边差" align="center">
<template #default="scope">
<span>{{ scope.row.data.脱模测量_检测项_对边上?scope.row.data.脱模测量_检测项_对边上:0 }}</span>
</template>
</el-table-column> -->
<el-table-column label="压后伸长" align="center">
<template #default="scope">
<span>{{ scope.row.data.脱模测量_检测项_伸长?scope.row.data.脱模测量_检测项_伸长:0 }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center">
<template #default="scope">
<span>{{ scope.row.data.装炉压板出炉_备注 }}</span>
</template>
</el-table-column>
<el-table-column label="日期" align="center">
<template #default="scope">
<span>{{ scope.row.data.装炉压板出炉_压板出炉_日期?scope.row.data.装炉压板出炉_压板出炉_日期:0 }}</span>
</template>
</el-table-column>
</scTable>
</el-main>
</el-container>
</template>
<script>
export default {
name: "statistics_guan",
data() {
return {
params: {
ordering:'data__装炉压板出炉_批次号',
querys:[[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"装炉压板出炉_批次号"}]],
},
query:{
number_contains:'',
time_gte:'',
time_lte:'',
},
apiObj: this.$API.wpm.wpr.query,
options:[],
tableData:[],
};
},
methods: {
handleQuery(){
let that = this;
let querys = [[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"装炉压板出炉_批次号"}]];
let obj = {},obj1 = {},obj2 = {},obj3 = {};
obj.field = 'data__装炉压板出炉_批次号';
obj.value = that.query.number_contains;
obj.compare = '';
obj1.field = 'data__装炉压板出炉_日期';
obj1.value = that.query.time_gte;
obj1.compare = 'gte';
obj2.field = 'data__装炉压板出炉_日期';
obj2.value = that.query.time_lte;
obj2.compare = 'lte';
if(that.query.number_contains!==''&&that.query.number_contains!==null){
querys[0].push(obj);
}
if(that.query.time_gte!==''&&that.query.time_gte!==null){
querys[0].push(obj1);
}
if(that.query.time_lte!==''&&that.query.time_lte!==null){
querys[0].push(obj2);
}
that.params.querys = querys;
this.$refs.table.queryData(that.params);
},
getCountQt(data,type){
let count_qt = 0,count = 0;
}
},
};
</script>
<style scoped>
</style>

View File

@ -0,0 +1,240 @@
<template>
<el-container>
<el-header>
<div class="right-panel">
<el-date-picker
v-model="query.time_gte"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.time_lte"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-input v-model="query.number_contains"
placeholder="板号"
clearable
style="width: 200px;"
></el-input>
<el-button
type="primary"
icon="el-icon-search"
@click="handleQuery"
></el-button>
</div>
</el-header>
<el-main class="nopadding">
<scTable
ref="table"
:apiObj="apiObj"
:params="params"
:query="params"
id="exportDiv"
row-key="id"
stripe
>
<el-table-column label="序号" type="index" width="50" fixed="left"/>
<el-table-column label="板号" prop="number" fixed="left">
</el-table-column>
<el-table-column label="炉号" prop="number" fixed="left">
</el-table-column>
<el-table-column label="放大率¢16mm" align="center" class-name="colorheader4">
<el-table-column label="差值" class-name="colorheader2">
<template #default="scope">
<span>{{ scope.row.data.毛坯检测_检测项_放大率16mm }}</span>
</template>
</el-table-column>
<el-table-column label="合格数" class-name="colorheader2">
<template #default="scope">
<span>{{ scope.row.data['毛坯检测_缺陷项_放大率¢16mm不合格']?0:1 }}</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="剪切¢18.3mm" align="center" class-name="colorheader5">
<el-table-column label="剪切" class-name="colorheader3">
<template #default="scope">
<span>{{ scope.row.data.毛坯检测_检测项_剪切18mm }}</span>
</template>
</el-table-column>
<el-table-column label="剪切值" class-name="colorheader3">
<template #default="scope">
<span>{{ scope.row.data.毛坯检测_检测项_剪切值18mm }}</span>
</template>
</el-table-column>
<el-table-column label="合格数" class-name="colorheader3">
<template #default="scope">
<span>{{ !scope.row.data['毛坯检测_缺陷项_剪切¢18.3mm不合格']&&!scope.row.data['毛坯检测_缺陷项_剪切¢18.3mm可加工']?1:0 }}</span>
</template>
</el-table-column>
<el-table-column label="可加工" class-name="colorheader3">
<template #default="scope">
<span>{{ scope.row.data['毛坯检测_缺陷项_剪切¢18.3mm可加工']?1:0 }}</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="暗点" align="center" class-name="colorheader6">
<el-table-column label="内标合格" class-name="colorheader4">
<template #default="scope">
<span>{{scope.row.data.毛坯检测_缺陷项_暗点合格?scope.row.data.毛坯检测_缺陷项_暗点合格:0 }}</span>
</template>
</el-table-column>
<el-table-column label="长点不合格" class-name="colorheader4">
<template #default="scope">
<span>{{scope.row.data.毛坯检测_缺陷项_暗点不合格?scope.row.data.毛坯检测_缺陷项_暗点不合格:0 }}</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="崩炸" align="center" class-name="colorheader7">
<el-table-column label="轻" align="center" class-name="colorheader1">
<template #default="scope">
<span>{{scope.row.data.毛坯检测_缺陷项_花朵?scope.row.data.毛坯检测_缺陷项_花朵:0 }}</span>
</template>
</el-table-column>
<el-table-column label="重" align="center" class-name="colorheader1">
<template #default="scope">
<span>{{scope.row.data.毛坯检测_缺陷项_花朵重?scope.row.data.毛坯检测_缺陷项_花朵重:0 }}</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="扭后内质" align="center" class-name="colorheader1">
<template #default="scope">
<span>{{ scope.row.data.排板_检测项_对边==undefined?scope.row.data.排板_检测项_对边:'' }}</span>
</template>
</el-table-column>
<el-table-column label="黑网" align="center" class-name="colorheader2">
<template #default="scope">
<span>{{ scope.row.data.装模_检测项_模具号==undefined?scope.row.data.装模_检测项_模具号:'' }}</span>
</template>
</el-table-column>
<el-table-column label="白网" align="center" class-name="colorheader3">
<template #default="scope">
<span>{{ scope.row.data.排板_检测项_丝高?scope.row.data.排板_检测项_丝高:0 }}</span>
</template>
</el-table-column>
<el-table-column label="板号" prop="number" fixed="left">
</el-table-column>
<el-table-column label="丝高" align="center" class-name="colorheader4">
<template #default="scope">
<span>{{ scope.row.data.排板_检测项_丝高?scope.row.data.排板_检测项_丝高:0 }}</span>
</template>
</el-table-column>
<el-table-column label="丝长" align="center" class-name="colorheader4">
<template #default="scope">
<span>{{ scope.row.data.排板_检测项_丝高?scope.row.data.排板_检测项_丝高:0 }}</span>
</template>
</el-table-column>
<el-table-column label="对模具人" align="center" class-name="colorheader3">
<template #default="scope">
<span>{{ scope.row.data.排板_检测项_丝高?scope.row.data.排板_检测项_丝高:0 }}</span>
</template>
</el-table-column>
<el-table-column label="日期" align="center" class-name="colorheader7">
<template #default="scope">
<span>{{ scope.row.data.装炉压板出炉_压板出炉_日期?scope.row.data.装炉压板出炉_压板出炉_日期:0 }}</span>
</template>
</el-table-column>
<el-table-column label="装炉人" align="center" class-name="colorheader6">
<template #default="scope">
<span>{{ scope.row.data.装炉压板出炉_装炉_操作人?scope.row.data.装炉压板出炉_装炉_操作人:0 }}</span>
</template>
</el-table-column>
<el-table-column label="压板用时" align="center" class-name="colorheader7">
<template #default="scope">
<span>{{ scope.row.data.装炉压板出炉_操作项_压板用时?scope.row.data.装炉压板出炉_操作项_压板用时:0 }}</span>
</template>
</el-table-column>
<el-table-column label="压板人" align="center" class-name="colorheader7">
<template #default="scope">
<span>{{ scope.row.data.装炉压板出炉_压板出炉_操作人?scope.row.data.装炉压板出炉_压板出炉_操作人:0 }}</span>
</template>
</el-table-column>
<el-table-column label="炉号" align="center" class-name="colorheader5">
<template #default="scope">
<span>{{ scope.row.data.装炉压板出炉_设备编号?scope.row.data.装炉压板出炉_设备编号:0 }}</span>
</template>
</el-table-column>
<el-table-column label="模具号" align="center" class-name="colorheader2">
<template #default="scope">
<span>{{ scope.row.data.装模_检测项_模具号==undefined?scope.row.data.装模_检测项_模具号:'' }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center" class-name="colorheader1">
<template #default="scope">
<span>{{ scope.row.data.装炉压板出炉_备注 }}</span>
</template>
</el-table-column>
</scTable>
</el-main>
</el-container>
</template>
<script>
export default {
name: "statistics_guan",
data() {
return {
params: {
ordering:'data__成品尺寸检测_批次号',
querys:[[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"成品尺寸检测_批次号"}]],
},
query:{
number_contains:'',
time_gte:'',
time_lte:'',
},
apiObj: this.$API.wpm.wpr.query,
options:[],
tableData:[],
};
},
methods: {
handleQuery(){
let that = this;
let querys = [[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"成品尺寸检测_批次号"}]];
let obj = {},obj1 = {},obj2 = {},obj3 = {};
obj.field = 'data__成品尺寸检测_批次号';
obj.value = that.query.batch__contains;
obj.compare = '';
obj1.field = 'data__成品尺寸检测_日期';
obj1.value = that.query.last_time__gte;
obj1.compare = 'gte';
obj2.field = 'data__成品尺寸检测_日期';
obj2.value = that.query.last_time__lte;
obj2.compare = 'lte';
obj3.field = 'material__name';
obj3.value = that.query.name__contains;
obj3.compare = 'contains';
if(that.query.batch__contains!==''&&that.query.batch__contains!==null){
querys[0].push(obj);
}
if(that.query.last_time__gte!==''&&that.query.last_time__gte!==null){
querys[0].push(obj1);
}
if(that.query.last_time__lte!==''&&that.query.last_time__lte!==null){
querys[0].push(obj2);
}
if(that.query.name__contains!==''&&that.query.name__contains!==null){
querys[0].push(obj3);
}
that.params.querys = querys;
this.$refs.table.queryData(that.params);
},
getCountQt(data,type){
let count_qt = 0,count = 0;
}
},
};
</script>
<style scoped>
</style>

View File

@ -2,6 +2,20 @@
<el-container>
<el-header>
<div class="right-panel">
<el-date-picker
v-model="query.last_time__gte"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.last_time__lte"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-input v-model="query.name__contains"
placeholder="产品名称"
clearable
@ -42,6 +56,11 @@
</el-table-column>
<el-table-column label="板号" prop="number" fixed="left">
</el-table-column>
<el-table-column label="检测日期" fixed="left" prop="batch" width="90">
<template #default="scope">
{{ scope.row.data.中检一_日期 }}
</template>
</el-table-column>
<el-table-column label="炸" align="center" class-name="colorheader1">
<template #default="scope">
<span>{{ scope.row.data.中检一_缺陷项_炸?scope.row.data.中检一_缺陷项_炸:0 }}</span>
@ -132,7 +151,33 @@
<span>{{ scope.row.data.中检一_缺陷项_坑?scope.row.data.中检一_缺陷项_坑:0 }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center" class-name="colorheader5">
<el-table-column label="粘头人" align="center" class-name="colorheader5">
<template #default="scope">
<span>{{ scope.row.data.手工粘头_操作人?scope.row.data.手工粘头_操作人:'' }}</span>
<span>{{ scope.row.data.光锥粘头_操作人?scope.row.data.光锥粘头_操作人:'' }}</span>
<span>{{ scope.row.data.自动粘头_操作人?scope.row.data.自动粘头_操作人:'' }}</span>
</template>
</el-table-column>
<el-table-column label="开台人" align="center" class-name="colorheader6">
<template #default="scope">
<span>{{ scope.row.data.一体刀_操作人?scope.row.data.一体刀_操作人:'' }}</span>
<span>{{ scope.row.data.磨床开台_操作人?scope.row.data.磨床开台_操作人:'' }}</span>
<span>{{ scope.row.data.光锥一体刀_操作人?scope.row.data.光锥一体刀_操作人:'' }}</span>
<span>{{ scope.row.data.小批量一体刀_操作人?scope.row.data.小批量一体刀_操作人:'' }}</span>
</template>
</el-table-column>
<el-table-column label="拆头人" align="center" class-name="colorheader7">
<template #default="scope">
<span>{{ scope.row.data.拆头_操作人?scope.row.data.拆头_操作人:'' }}</span>
<span>{{ scope.row.data.光锥拆头_操作人?scope.row.data.光锥拆头_操作人:'' }}</span>
</template>
</el-table-column>
<el-table-column label="喷码人" align="center" class-name="colorheader1">
<template #default="scope">
<span>{{ scope.row.data.喷码_操作人?scope.row.data.喷码_操作人:'' }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center" class-name="colorheader2">
<template #default="scope">
<span>{{ scope.row.data.中检一_缺陷项_备注 }}</span>
</template>
@ -149,7 +194,7 @@ export default {
return {
params: {
ordering:'data__中检一_批次号',
querys:[[{field:"wm",value:0,compare:"isnull"},{field:"data__has_key",compare:"",value:"中检一_批次号"}]],
querys:[[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"中检一_批次号"}]],
},
query:{
name__contains:'',
@ -165,17 +210,17 @@ export default {
methods: {
handleQuery(){
let that = this;
let querys = [[{field:"wm",value:0,compare:"isnull"},{field:"data__has_key",compare:"",value:"中检一_批次号"}]];
let querys = [[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"中检一_批次号"}]];
let obj = {},obj1 = {},obj2 = {},obj3 = {};
obj.field = 'data__中检一_批次号';
obj.value = that.query.batch__contains;
obj.compare = '';
obj1.field = 'last_time';
obj1.field = 'data__中检一_日期';
obj1.value = that.query.last_time__gte;
obj1.compare = 'gte';
obj2.field = 'last_time';
obj2.field = 'data__中检一_日期';
obj2.value = that.query.last_time__lte;
obj2.compare = 'lte';

View File

@ -2,6 +2,20 @@
<el-container>
<el-header>
<div class="right-panel">
<el-date-picker
v-model="query.last_time__gte"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.last_time__lte"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-input v-model="query.name__contains"
placeholder="产品名称"
clearable
@ -36,6 +50,11 @@
</el-table-column>
<el-table-column label="版型" prop="material_start_model" fixed="left">
</el-table-column>
<el-table-column label="检测日期" fixed="left" prop="batch" width="90">
<template #default="scope">
{{ scope.row.data.中检一_日期 }}
</template>
</el-table-column>
<el-table-column label="中检数" fixed="left">
<template #default="scope">
<span>{{ scope.row.data.中检一_count_use }}</span>
@ -308,11 +327,11 @@ export default {
obj.value = that.query.batch__contains;
obj.compare = '';
obj1.field = 'last_time';
obj1.field = 'data__中检一_日期';
obj1.value = that.query.last_time__gte;
obj1.compare = 'gte';
obj2.field = 'last_time';
obj2.field = 'data__中检一_日期';
obj2.value = that.query.last_time__lte;
obj2.compare = 'lte';

View File

@ -2,6 +2,20 @@
<el-container>
<el-header>
<div class="right-panel">
<el-date-picker
v-model="query.last_time__gte"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.last_time__lte"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-input v-model="query.name__contains"
placeholder="产品名称"
clearable
@ -42,6 +56,11 @@
</el-table-column>
<el-table-column label="板号" prop="number" fixed="left">
</el-table-column>
<el-table-column label="检测日期" fixed="left" prop="batch" width="90">
<template #default="scope">
{{ scope.row.data.中检二_日期 }}
</template>
</el-table-column>
<el-table-column label="炸废" align="center" class-name="colorheader1">
<template #default="scope">
<span>{{ scope.row.data.中检二_缺陷项_炸废?scope.row.data.中检二_缺陷项_炸废:0 }}</span>
@ -127,7 +146,19 @@
<span>{{ scope.row.data.中检二_缺陷项_凹面硌点?scope.row.data.中检二_缺陷项_凹面硌点:0 }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center" class-name="colorheader4">
<el-table-column label="铣磨人" align="center" class-name="colorheader4">
<template #default="scope">
<span>{{ scope.row.data.铣磨_操作人?scope.row.data.铣磨_操作人:'' }}</span>
<span>{{ scope.row.data.光锥铣磨_操作人?scope.row.data.光锥铣磨_操作人:'' }}</span>
</template>
</el-table-column>
<el-table-column label="倒角人" align="center" class-name="colorheader5">
<template #default="scope">
<span>{{ scope.row.data.倒角_操作人?scope.row.data.倒角_操作人:'' }}</span>
<span>{{ scope.row.data.光锥倒角_操作人?scope.row.data.光锥倒角_操作人:'' }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center" class-name="colorheader6">
<template #default="scope">
<span>{{ scope.row.data.中检二_缺陷项_备注 }}</span>
</template>
@ -144,7 +175,7 @@ export default {
return {
params: {
ordering:'data__中检二_批次号',
querys:[[{field:"wm",value:0,compare:"isnull"},{field:"data__has_key",compare:"",value:"中检二_批次号"}]],
querys:[[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"中检二_批次号"}]],
},
query:{
name__contains:'',
@ -160,17 +191,17 @@ export default {
methods: {
handleQuery(){
let that = this;
let querys = [[{field:"wm",value:0,compare:"isnull"},{field:"data__has_key",compare:"",value:"中检二_批次号"}]];
let querys = [[{field:"wm",value:false,compare:"isnull"},{field:"data__has_key",compare:"",value:"中检二_批次号"}]];
let obj = {},obj1 = {},obj2 = {},obj3 = {};
obj.field = 'data__中检二_批次号';
obj.value = that.query.batch__contains;
obj.compare = '';
obj1.field = 'last_time';
obj1.field = 'data__中检二_日期';
obj1.value = that.query.last_time__gte;
obj1.compare = 'gte';
obj2.field = 'last_time';
obj2.field = 'data__中检二_日期';
obj2.value = that.query.last_time__lte;
obj2.compare = 'lte';

View File

@ -2,6 +2,20 @@
<el-container>
<el-header>
<div class="right-panel">
<el-date-picker
v-model="query.last_time__gte"
type="date"
value-format="YYYY-MM-DD"
placeholder="开始时间"
style="width: 150px"
/>
<el-date-picker
v-model="query.last_time__lte"
type="date"
value-format="YYYY-MM-DD"
placeholder="结束时间"
style="margin-left: 2px; width: 150px"
/>
<el-input v-model="query.name__contains"
placeholder="产品名称"
clearable
@ -36,6 +50,11 @@
</el-table-column>
<el-table-column label="版型" prop="material_start_model" fixed="left">
</el-table-column>
<el-table-column label="检测日期" fixed="left" prop="batch" width="90">
<template #default="scope">
{{ scope.row.data.中检二_日期 }}
</template>
</el-table-column>
<el-table-column label="中检数" fixed="left">
<template #default="scope">
<span>{{ scope.row.data.中检二_count_use }}</span>
@ -278,11 +297,11 @@ export default {
obj.value = that.query.batch__contains;
obj.compare = '';
obj1.field = 'last_time';
obj1.field = 'data__中检二_日期';
obj1.value = that.query.last_time__gte;
obj1.compare = 'gte';
obj2.field = 'last_time';
obj2.field = 'data__中检二_日期';
obj2.value = that.query.last_time__lte;
obj2.compare = 'lte';

View File

@ -107,6 +107,8 @@
<el-table-column label="批次号" prop="batch" min-width="240" fixed="left">
<template #default="scope"><span>{{ scope.row.data.批次号 }}</span></template>
</el-table-column>
<el-table-column label="工艺" prop="gongyi" fixed="left">
</el-table-column>
<el-table-column label="尺寸检验" align="center" class-name="colorheader1">
<el-table-column label="日期" class-name="colorheader1" width="90">
<template #default="scope"><span>{{ scope.row.data.尺寸检验_日期 }}</span></template>
@ -387,6 +389,7 @@ export default {
params: {
page:1,
page_size:20,
with_source_near:'yes',
ordering:"-last_time",
querys:[
[{field:"data__has_key",compare:"",value:"尺寸检验_日期"}],
@ -418,6 +421,23 @@ export default {
that.params.page = val?val:1;
that.$API.wpm.batchstquery.req(that.params).then((res) => {
if (res.count > 0) {
res.results.forEach(item=>{
item.gongyi = '';
if(item.source_near&&item.source_near[0]){
let data = item.source_near[0].data;
let gongyi = '';
for(let key in data){
if(key.indexOf('外扫')>-1){
gongyi = '外扫';
}else if(key.indexOf('外协一次抛')>-1){
gongyi = '外抛';
}else{
gongyi = '自家';
}
}
item.gongyi = gongyi;
}
})
that.tableData = res.results;
that.dataTotal = res.count;
}else{
@ -444,7 +464,6 @@ export default {
let arrays = {};
if(that.query.batch != "" && that.query.batch != null && that.query.batch != undefined&&that.query.batch.indexOf(' ')){
let arrs = that.query.batch.split(' ');
console.log('arrs',arrs);
arrs.forEach((item, index) => {
let obj = {};
obj.value = item;
@ -453,7 +472,6 @@ export default {
let newArrayName1 = 'arr1' + index;
let newArrayName2 = 'arr2' + index;
let newArrayName3 = 'arr3' + index;
console.log('obj',obj);
arrays[newArrayName1] = [{field:"data__has_key",compare:"",value:"尺寸检验_日期"},obj];
arrays[newArrayName2] = [{field:"data__has_key",compare:"",value:"外观检验_日期"},obj];
arrays[newArrayName3] = [{field:"data__has_key",compare:"",value:"外观检验_返修_日期"},obj];
@ -467,7 +485,6 @@ export default {
arrays.arr2=[{field:"data__has_key",compare:"",value:"外观检验_日期"},obj];
arrays.arr3=[{field:"data__has_key",compare:"",value:"外观检验_返修_日期"},obj];
}
console.log('arrays',arrays);
for(let key in that.query){
if(that.query[key] != ""&&that.query[key] != null&&that.query[key] != undefined&&key!='batch'){
let obj = {};
@ -504,7 +521,7 @@ export default {
obj.compare = "lte";
obj.field = "data__外观检验_返修_日期";
}
if(that.query.batch.indexOf(' ')){
if(that.query.batch.indexOf(' ')>-1){
let arrs = that.query.batch.split(' ');
arrs.forEach((item,index)=>{
let newArrayName1 = 'arr1' + index;
@ -536,7 +553,7 @@ export default {
}
let propert = '';
//
if(index == 4&&column.label=='检验数'){
if(index == 5&&column.label=='检验数'){
propert = '尺寸检验_count_real';
}else if(column.label=='黑圈内径'){
propert = '尺寸检验_缺陷_黑圈内径';
@ -550,13 +567,13 @@ export default {
propert = '尺寸检验_缺陷_产品外径小';
}else if(column.label=='产品外径大(返修)'){
propert = '尺寸检验_缺陷_产品外径大(返修)';
}else if(index == 15&&column.label=='黑圈缺口'){
}else if(index == 16&&column.label=='黑圈缺口'){
propert = '尺寸检验_缺陷_黑圈缺口';
}else if(column.label=='外径发货片(B)'){
propert = '尺寸检验_缺陷_外径发货片(B)';
}else if(column.label=='前道崩'){
propert = '尺寸检验_缺陷_前道崩';
}else if(index==18&&column.label=='合格数'){
}else if(index==19&&column.label=='合格数'){
propert = '尺寸检验_count_ok_full';
}else if(column.label=='准合格(B)'){
propert = '尺寸检验_缺陷_准合格(B)';
@ -564,83 +581,83 @@ export default {
propert = '尺寸检验_缺陷_圆准(B)';
}else if(column.label=='总合格数'){
propert = '尺寸检验_count_ok';
}else if(index == 27&&column.label=='检验数'){
}else if(index == 28&&column.label=='检验数'){
propert = '外观检验_count_real';
}else if(index==28&&column.label=='合格数'){
}else if(index==29&&column.label=='合格数'){
propert = '外观检验_count_ok_full';
}else if(index==30&&column.label=='划麻(返修)'){
}else if(index==31&&column.label=='划麻(返修)'){
propert = '外观检验_缺陷_划麻(返修)';
}else if(index==32&&column.label=='脏(返修)'){
}else if(index==33&&column.label=='脏(返修)'){
propert = '外观检验_缺陷_脏(返修)';
}else if(index==34&&column.label=='气泡'){
}else if(index==35&&column.label=='气泡'){
propert = '外观检验_缺陷_气泡';
}else if(index==36&&column.label=='浅气泡(B)'){
}else if(index==37&&column.label=='浅气泡(B)'){
propert = '外观检验_缺陷_浅气泡(B)';
}else if(index==37&&column.label=='黑圈变形'){
}else if(index==38&&column.label=='黑圈变形'){
propert = '外观检验_缺陷_黑圈变形';
}else if(index==38&&column.label=='黑圈缺口'){
}else if(index==39&&column.label=='黑圈缺口'){
propert = '外观检验_缺陷_黑圈缺口';
}else if(index==39&&column.label=='重水纹'){
}else if(index==40&&column.label=='重水纹'){
propert = '外观检验_缺陷_重水纹';
}else if(index==40&&column.label=='浅水纹(B)'){
}else if(index==41&&column.label=='浅水纹(B)'){
propert = '外观检验_缺陷_浅水纹(B)';
}else if(index==41&&column.label=='大崩'){
}else if(index==42&&column.label=='大崩'){
propert = '外观检验_缺陷_大崩';
}else if(index==42&&column.label=='小崩边(B)'){
}else if(index==43&&column.label=='小崩边(B)'){
propert = '外观检验_缺陷_小崩边(B)';
}else if(index==44&&column.label=='棕点'){
}else if(index==45&&column.label=='棕点'){
propert = '外观检验_缺陷_棕点';
}else if(index==45&&column.label=='浅划麻(B)'){
}else if(index==46&&column.label=='浅划麻(B)'){
propert = '外观检验_缺陷_浅划麻(B)';
}else if(index==46&&column.label=='双面划麻'){
}else if(index==47&&column.label=='双面划麻'){
propert = '外观检验_缺陷_双面划麻';
}else if(index==47&&column.label=='倒角'){
}else if(index==48&&column.label=='倒角'){
propert = '外观检验_缺陷_倒角';
}else if(index==48&&column.label=='棕圈'){
}else if(index==49&&column.label=='棕圈'){
propert = '外观检验_缺陷_棕圈';
}else if(index==49&&column.label=='蓝圈'){
}else if(index==50&&column.label=='蓝圈'){
propert = '外观检验_缺陷_蓝圈';
}else if(index==50&&column.label=='尺寸小'){
}else if(index==51&&column.label=='尺寸小'){
propert = '外观检验_缺陷_尺寸小';
}else if(index==51&&column.label=='破损'){
}else if(index==52&&column.label=='破损'){
propert = '外观检验_缺陷_破损';
}else if(index==52&&column.label=='发白'){
}else if(index==53&&column.label=='发白'){
propert = '外观检验_缺陷_发白';
}else if(index==53&&column.label=='漏光'){
}else if(index==54&&column.label=='漏光'){
propert = '外观检验_缺陷_漏光';
}else if(index == 56&&column.label=='返修数'){
}else if(index == 57&&column.label=='返修数'){
propert = '外观检验_返修_count_real';
}else if(index==57&&column.label=='合格数'){
}else if(index==58&&column.label=='合格数'){
propert = '外观检验_返修_count_ok_full';
}else if(index==58&&column.label=='黑圈变形'){
}else if(index==59&&column.label=='黑圈变形'){
propert = '外观检验_返修_缺陷_黑圈变形';
}else if(index==59&&column.label=='气泡'){
}else if(index==60&&column.label=='气泡'){
propert = '外观检验_返修_缺陷_气泡';
}else if(index==60&&column.label=='浅气泡(B)'){
}else if(index==61&&column.label=='浅气泡(B)'){
propert = '外观检验_返修_缺陷_浅气泡(B)';
}else if(index==61&&column.label=='浅划麻(B)'){
}else if(index==62&&column.label=='浅划麻(B)'){
propert = '外观检验_返修_缺陷_浅划麻(B)';
}else if(index==62&&column.label=='双面划麻'){
}else if(index==63&&column.label=='双面划麻'){
propert = '外观检验_返修_缺陷_双面划麻';
}else if(index==63&&column.label=='浅水纹(B)'){
}else if(index==64&&column.label=='浅水纹(B)'){
propert = '外观检验_返修_缺陷_浅水纹(B)';
}else if(index==64&&column.label=='重水纹'){
}else if(index==65&&column.label=='重水纹'){
propert = '外观检验_返修_缺陷_重水纹';
}else if(index==65&&column.label=='大崩'){
}else if(index==66&&column.label=='大崩'){
propert = '外观检验_返修_缺陷_大崩';
}else if(index==66&&column.label=='小崩边(B)'){
}else if(index==67&&column.label=='小崩边(B)'){
propert = '外观检验_返修_缺陷_小崩边(B)';
}else if(index==67&&column.label=='倒角'){
}else if(index==68&&column.label=='倒角'){
propert = '外观检验_返修_缺陷_倒角';
}else if(index==68&&column.label=='棕点'){
}else if(index==69&&column.label=='棕点'){
propert = '外观检验_返修_缺陷_棕点';
}else if(index==69&&column.label=='漏光'){
}else if(index==70&&column.label=='漏光'){
propert = '外观检验_返修_缺陷_漏光';
}else if(index==70&&column.label=='黑圈缺口'){
}else if(index==71&&column.label=='黑圈缺口'){
propert = '外观检验_返修_缺陷_黑圈缺口';
}else if(index==71&&column.label=='破损'){
}else if(index==72&&column.label=='破损'){
propert = '外观检验_返修_缺陷_破损';
}else if(index==72&&column.label=='尺寸小'){
}else if(index==73&&column.label=='尺寸小'){
propert = '外观检验_返修_缺陷_尺寸小';
}else if(column.label=='外观总合格数'){
propert = '外观检验_完全总合格数';
@ -662,34 +679,34 @@ export default {
}
}
if(index==6||index==8||index==10||index==12||index==19||index==23){
if(index==7||index==9||index==11||index==13||index==20||index==24){
if(sums[index-1]){
sums[index] = ((sums[index-1]/sums[4])*100).toFixed(4);
sums[index] = ((sums[index-1]/sums[5])*100).toFixed(4);
}
}
if(index==29||index==31||index==33||index==35||index==43){
if(index==30||index==32||index==34||index==36||index==44){
if(sums[index-1]){
sums[index] = ((sums[index-1]/sums[27])*100).toFixed(4);
sums[index] = ((sums[index-1]/sums[28])*100).toFixed(4);
}
}
if(index==73){
if(index==74){
let sum = 0;
if(sums[28]){
sum += sums[28];
if(sums[29]){
sum += sums[29];
}
if(sums[57]){
sum += sums[57];
if(sums[58]){
sum += sums[58];
}
sums[index] = sum;
}
if(index==74){
if(sums[73]&&sums[27]){
sums[index] = ((sums[73]/sums[27])*100).toFixed(2);
}
}
if(index==75){
if(sums[74]&&sums[23]){
sums[index] = ((sums[74]*sums[23])/100).toFixed(2);
if(sums[74]&&sums[28]){
sums[index] = ((sums[74]/sums[28])*100).toFixed(2);
}
}
if(index==76){
if(sums[75]&&sums[24]){
sums[index] = ((sums[75]*sums[24])/100).toFixed(2);
}
}
});

View File

@ -390,62 +390,62 @@
<el-table-column label="检测" class-name="colorheader6">
<el-table-column label="接收数" class-name="colorheader6">
<template #default="scope">
<span v-if="scope.row.data">{{ scope.row.data.六车间中检_count }}</span>
<span v-if="scope.row.data">{{ scope.row.data.六车间_中检_count_real }}</span>
</template>
</el-table-column>
<el-table-column label="合格率" class-name="colorheader6">
<template #default="scope">
<span v-if="scope.row.data&&(scope.row.data.六车间中检_合格率||scope.row.data.六车间中检_合格率==0)">{{ scope.row.data.六车间中检_合格率 }}%</span>
<span v-if="scope.row.data&&(scope.row.data.六车间_中检_合格率||scope.row.data.六车间_中检_合格率==0)">{{ scope.row.data.六车间_中检_合格率 }}%</span>
</template>
</el-table-column>
<el-table-column label="不合格数" class-name="colorheader6">
<template #default="scope">
<span v-if="scope.row.data">{{ scope.row.data.六车间中检_count_notok }}</span>
<span v-if="scope.row.data">{{ scope.row.data.六车间_中检_count_notok }}</span>
</template>
</el-table-column>
<el-table-column label="划伤" class-name="colorheader6">
<template #default="scope">
<span v-if="scope.row.data">{{ scope.row.data.六车间中检_count_n_hs }}</span>
<span v-if="scope.row.data">{{ scope.row.data.六车间_中检_count_n_hs }}</span>
</template>
</el-table-column>
<el-table-column label="炸纹" class-name="colorheader6">
<template #default="scope">
<span v-if="scope.row.data">{{ scope.row.data.六车间中检_count_n_zw }}</span>
<span v-if="scope.row.data">{{ scope.row.data.六车间_中检_count_n_zw }}</span>
</template>
</el-table-column>
<el-table-column label="锥度大" class-name="colorheader6">
<template #default="scope">
<span v-if="scope.row.data">{{ scope.row.data.六车间中检_count_n_zdd }}</span>
<span v-if="scope.row.data">{{ scope.row.data.六车间_中检_count_n_zdd }}</span>
</template>
</el-table-column>
<el-table-column label="气泡" class-name="colorheader6">
<template #default="scope">
<span v-if="scope.row.data">{{ scope.row.data.六车间中检_count_n_qp }}</span>
<span v-if="scope.row.data">{{ scope.row.data.六车间_中检_count_n_qp }}</span>
</template>
</el-table-column>
<el-table-column label="不亮" class-name="colorheader6">
<template #default="scope">
<span v-if="scope.row.data">{{ scope.row.data.六车间中检_count_n_bl }}</span>
<span v-if="scope.row.data">{{ scope.row.data.六车间_中检_count_n_bl }}</span>
</template>
</el-table-column>
<el-table-column label="气线" class-name="colorheader6">
<template #default="scope">
<span v-if="scope.row.data">{{ scope.row.data.六车间中检_count_n_qx }}</span>
<span v-if="scope.row.data">{{ scope.row.data.六车间_中检_count_n_qx }}</span>
</template>
</el-table-column>
<el-table-column label="其他" class-name="colorheader6">
<template #default="scope">
<span v-if="scope.row.data">{{ getCountQt(scope.row.data,'六车间中检') }}</span>
<span v-if="scope.row.data">{{ getCountQt(scope.row.data,'六车间_中检') }}</span>
</template>
</el-table-column>
<el-table-column label="日期" class-name="colorheader6" min-width="160">
<template #default="scope">
<span v-if="scope.row.data">{{ scope.row.data.六车间中检_日期 }}</span>
<span v-if="scope.row.data">{{ scope.row.data.六车间_中检_日期 }}</span>
</template>
</el-table-column>
<el-table-column label="操作人" class-name="colorheader6">
<template #default="scope">
<span v-if="scope.row.data">{{ scope.row.data.六车间中检_检验人 }}</span>
<span v-if="scope.row.data">{{ scope.row.data.六车间_中检_检验人 }}</span>
</template>
</el-table-column>
</el-table-column>
@ -515,7 +515,7 @@
</el-table-column>
<el-table-column label="组合件批次号" class-name="colorheader7">
<template #default="scope">
<span v-if="scope.row.data">{{ scope.row.data.六车间生产入库_组合件_批次号 }}</span>
<span v-if="scope.row.data" style="word-break: break-all;">{{ scope.row.data.六车间生产入库_组合件_批次号 }}</span>
</template>
</el-table-column>
<el-table-column label="发货数" class-name="colorheader1">
@ -525,12 +525,14 @@
</el-table-column>
<el-table-column label="6号领取加工-发货合格率" class-name="colorheader2">
<template #default="scope">
<span v-if="scope.row.data&&(scope.row.data.六车间领料_count?scope.row.data.六车间领料_count:0+scope.row.data.六车间交接领料_count?scope.row.data.六车间交接领料_count:0)>0">{{ scope.row.data.六车间生产入库_count?scope.row.data.六车间生产入库_count:0/(scope.row.data.六车间领料_count?scope.row.data.六车间领料_count:0+scope.row.data.六车间交接领料_count?scope.row.data.六车间交接领料_count:0)}}</span>
<span v-if="scope.row.data&&((scope.row.data.六车间领料_count?scope.row.data.六车间领料_count:0)+(scope.row.data.六车间交接领料_count?scope.row.data.六车间交接领料_count:0))>0">
{{ (((scope.row.data.六车间生产入库_count?scope.row.data.六车间生产入库_count:0)/(scope.row.data.六车间领料_count?scope.row.data.六车间领料_count:0+scope.row.data.六车间交接领料_count?scope.row.data.六车间交接领料_count:0))*100).toFixed(2)}}%</span>
</template>
</el-table-column>
<el-table-column label="7号生产-发货合格率" class-name="colorheader3">
<template #default="scope">
<span v-if="scope.row.data&&scope.row.data.棒料成型_count_ok?scope.row.data.棒料成型_count_ok:0>0">{{ (scope.row.data.六车间生产入库_count?scope.row.data.六车间生产入库_count:0)/scope.row.data.棒料成型_count_ok?scope.row.data.棒料成型_count_ok:0}}</span>
<span v-if="(scope.row.data&&scope.row.data.棒料成型_count_ok?scope.row.data.棒料成型_count_ok:0)>0">
{{ (((scope.row.data.六车间生产入库_count?scope.row.data.六车间生产入库_count:0)/(scope.row.data.棒料成型_count_ok?scope.row.data.棒料成型_count_ok:0))*100).toFixed(2)}}%</span>
</template>
</el-table-column>
</scTable>
@ -663,27 +665,27 @@ export default {
count_qt = data.六车间_抛光_count_notok - count;
return count_qt;
}
}else if(type=='六车间中检'){
if(data.六车间中检_count_notok){
if (data.六车间中检_count_n_hs !== undefined) {
count += data.六车间中检_count_n_hs ;
}else if(type=='六车间_中检'){
if(data.六车间_中检_count_notok){
if (data.六车间_中检_count_n_hs !== undefined) {
count += data.六车间_中检_count_n_hs ;
}
if (data.六车间中检_count_n_zw !== undefined) {
count += data.六车间中检_count_n_zw ;
if (data.六车间_中检_count_n_zw !== undefined) {
count += data.六车间_中检_count_n_zw ;
}
if (data.六车间中检_count_n_zdd !== undefined) {
count += data.六车间中检_count_n_zdd ;
if (data.六车间_中检_count_n_zdd !== undefined) {
count += data.六车间_中检_count_n_zdd ;
}
if (data.六车间中检_count_n_qp !== undefined) {
count += data.六车间中检_count_n_qp ;
if (data.六车间_中检_count_n_qp !== undefined) {
count += data.六车间_中检_count_n_qp ;
}
if (data.六车间中检_count_n_bl !== undefined) {
count += data.六车间中检_count_n_bl ;
if (data.六车间_中检_count_n_bl !== undefined) {
count += data.六车间_中检_count_n_bl ;
}
if (data.六车间中检_count_n_qx !== undefined) {
count += data.六车间中检_count_n_qx ;
if (data.六车间_中检_count_n_qx !== undefined) {
count += data.六车间_中检_count_n_qx ;
}
count_qt = data.六车间中检_count_notok - count;
count_qt = data.六车间_中检_count_notok - count;
return count_qt;
}
}else if(type=='六车间生产入库'){

View File

@ -435,72 +435,72 @@
<el-table-column label="六车间中检" align="center" class-name="colorheader5">
<el-table-column label="检验" class-name="colorheader5">
<template #default="scope">
<span v-if="scope.row.data">{{ scope.row.data.六车间中检_count }}</span>
<span v-if="scope.row.data">{{ scope.row.data.六车间_中检_count }}</span>
</template>
</el-table-column>
<el-table-column label="合格率" class-name="colorheader5">
<template #default="scope">
<span v-if="scope.row.data&&(scope.row.data.六车间中检_合格率||scope.row.data.六车间中检_合格率==0)">{{ scope.row.data.六车间中检_合格率 }}%</span>
<span v-if="scope.row.data&&(scope.row.data.六车间_中检_合格率||scope.row.data.六车间_中检_合格率==0)">{{ scope.row.data.六车间_中检_合格率 }}%</span>
</template>
</el-table-column>
<el-table-column label="不合格数" class-name="colorheader5">
<template #default="scope">
<span v-if="scope.row.data">{{ scope.row.data.六车间中检_count_notok }}</span>
<span v-if="scope.row.data">{{ scope.row.data.六车间_中检_count_notok }}</span>
</template>
</el-table-column>
<el-table-column label="划伤" class-name="colorheader5">
<template #default="scope">
<span v-if="scope.row.data">{{ scope.row.data.六车间中检_count_n_hs }}</span>
<span v-if="scope.row.data">{{ scope.row.data.六车间_中检_count_n_hs }}</span>
</template>
</el-table-column>
<el-table-column label="杂质" class-name="colorheader5">
<template #default="scope">
<span v-if="scope.row.data">{{ scope.row.data.六车间中检_count_n_zz }}</span>
<span v-if="scope.row.data">{{ scope.row.data.六车间_中检_count_n_zz }}</span>
</template>
</el-table-column>
<el-table-column label="锥度大" class-name="colorheader5">
<template #default="scope">
<span v-if="scope.row.data">{{ scope.row.data.六车间中检_count_n_zdd }}</span>
<span v-if="scope.row.data">{{ scope.row.data.六车间_中检_count_n_zdd }}</span>
</template>
</el-table-column>
<el-table-column label="炸纹" class-name="colorheader5">
<template #default="scope">
<span v-if="scope.row.data">{{ scope.row.data.六车间中检_count_n_zw }}</span>
<span v-if="scope.row.data">{{ scope.row.data.六车间_中检_count_n_zw }}</span>
</template>
</el-table-column>
<el-table-column label="气泡" class-name="colorheader5">
<template #default="scope">
<span v-if="scope.row.data">{{ scope.row.data.六车间中检_count_n_qp }}</span>
<span v-if="scope.row.data">{{ scope.row.data.六车间_中检_count_n_qp }}</span>
</template>
</el-table-column>
<el-table-column label="不亮" class-name="colorheader5">
<template #default="scope">
<span v-if="scope.row.data">{{ scope.row.data.六车间中检_count_n_bl }}</span>
<span v-if="scope.row.data">{{ scope.row.data.六车间_中检_count_n_bl }}</span>
</template>
</el-table-column>
<el-table-column label="横纹" class-name="colorheader5">
<template #default="scope">
<span v-if="scope.row.data">{{ scope.row.data.六车间中检_count_n_hw }}</span>
<span v-if="scope.row.data">{{ scope.row.data.六车间_中检_count_n_hw }}</span>
</template>
</el-table-column>
<el-table-column label="有皮" class-name="colorheader5">
<template #default="scope">
<span v-if="scope.row.data">{{ scope.row.data.六车间中检_count_n_yp }}</span>
<span v-if="scope.row.data">{{ scope.row.data.六车间_中检_count_n_yp }}</span>
</template>
</el-table-column>
<el-table-column label="其他" class-name="colorheader5">
<template #default="scope">
<span v-if="scope.row.data">{{getCountQt(scope.row.data,'六车间中检')}}</span>
<span v-if="scope.row.data">{{getCountQt(scope.row.data,'六车间_中检')}}</span>
</template>
</el-table-column>
<el-table-column label="日期" class-name="colorheader5" min-width="160">
<template #default="scope">
<span v-if="scope.row.data">{{ scope.row.data.六车间中检_日期 }}</span>
<span v-if="scope.row.data">{{ scope.row.data.六车间_中检_日期 }}</span>
</template>
</el-table-column>
<el-table-column label="操作人" class-name="colorheader5">
<template #default="scope">
<span v-if="scope.row.data">{{ scope.row.data.六车间中检_检验人 }}</span>
<span v-if="scope.row.data">{{ scope.row.data.六车间_中检_检验人 }}</span>
</template>
</el-table-column>
</el-table-column>
@ -745,33 +745,33 @@ export default {
count_qt = data.六车间_倒角_count_notok - count;
return count_qt;
}
}else if(type=='六车间中检'){
if(data.六车间中检_count_notok){
if (data.六车间中检_count_n_hs !== undefined) {
count += data.六车间中检_count_n_hs ;
}else if(type=='六车间_中检'){
if(data.六车间_中检_count_notok){
if (data.六车间_中检_count_n_hs !== undefined) {
count += data.六车间_中检_count_n_hs ;
}
if (data.六车间中检_count_n_zz !== undefined) {
count += data.六车间中检_count_n_zz ;
if (data.六车间_中检_count_n_zz !== undefined) {
count += data.六车间_中检_count_n_zz ;
}
if (data.六车间中检_count_n_zdd !== undefined) {
count += data.六车间中检_count_n_zdd ;
if (data.六车间_中检_count_n_zdd !== undefined) {
count += data.六车间_中检_count_n_zdd ;
}
if (data.六车间中检_count_n_zw !== undefined) {
count += data.六车间中检_count_n_zw ;
if (data.六车间_中检_count_n_zw !== undefined) {
count += data.六车间_中检_count_n_zw ;
}
if (data.六车间中检_count_n_qp !== undefined) {
count += data.六车间中检_count_n_qp ;
if (data.六车间_中检_count_n_qp !== undefined) {
count += data.六车间_中检_count_n_qp ;
}
if (data.六车间中检_count_n_bl !== undefined) {
count += data.六车间中检_count_n_bl ;
if (data.六车间_中检_count_n_bl !== undefined) {
count += data.六车间_中检_count_n_bl ;
}
if (data.六车间中检_count_n_hw !== undefined) {
count += data.六车间中检_count_n_hw ;
if (data.六车间_中检_count_n_hw !== undefined) {
count += data.六车间_中检_count_n_hw ;
}
if (data.六车间中检_count_n_yp !== undefined) {
count += data.六车间中检_count_n_yp ;
if (data.六车间_中检_count_n_yp !== undefined) {
count += data.六车间_中检_count_n_yp ;
}
count_qt = data.六车间中检_count_notok - count;
count_qt = data.六车间_中检_count_notok - count;
return count_qt;
}
}else if(type=='六车间生产入库'){

View File

@ -593,7 +593,6 @@ export default {
count_cando:0,
mlogb: [],
userList: [],
batchOptions: [],
equipmentOptions: [],
wmaterialOptions: [],
shiftOptions: [],
@ -614,10 +613,8 @@ export default {
};
},
mounted() {
// this.getBatchs();
this.getUserList();
this.getEquipment();
// this.getWMaterial();
this.getShiftOptions();
this.form.material_out = this.material_out;
this.form.handle_date = this.handle_date;
@ -694,15 +691,6 @@ export default {
this.form.count_n_zw = 0;
that.count_cando = that.form.count_use = that.form.count_real = that.form.count_ok = that.selectBatch.count_cando;
},
//
getBatchs() {
let that = this;
this.$API.wpm.wmaterial.batchs
.req({ belong_dept_name: "6车间" })
.then((res) => {
that.batchOptions = res;
});
},
getUserList() {
let that = this;
this.$API.system.user.list

View File

@ -318,12 +318,12 @@
</el-table-column>
<el-table-column label="数量" prop="count" width="80">
</el-table-column>
<el-table-column label="操作" fixed="right" align="right" width="55">
<!-- <el-table-column label="操作" fixed="right" align="right" width="55">
<template #default="scope">
<el-link link type="primary" @click.stop="inm_test(scope.row)" v-auth="'ftestwork.create'">检验</el-link>
<el-link link type="success" @click.stop="inm_record(scope.row)">记录</el-link>
</template>
</el-table-column>
</el-table-column> -->
</scTable>
</el-main>
</el-container>

View File

@ -141,12 +141,6 @@
width="300"
>
<template #default="scope">
<!-- <el-button
v-if="scope.row.send_mgroup == mgroupId||deptId==scope.row.send_dept"
@click="table_print(scope.row)"
type="success"
>打印</el-button
> -->
<el-button
@click="table_receive(scope.row)"
type="success"
@ -162,21 +156,14 @@
type="primary"
>查看</el-button>
<el-popconfirm
title="确定撤吗?"
title="确定撤吗?"
v-if="scope.row.submit_time!== null"
@confirm="table_reBack2(scope.row)"
>
<template #reference>
<el-button type="warning"></el-button>
<el-button type="warning"></el-button>
</template>
</el-popconfirm>
<!-- <el-button
@click="table_edit(scope.row)"
v-auth="'handover.update'"
type="primary"
v-if="(scope.row.send_mgroup == mgroupId||deptId==scope.row.send_dept)&&scope.row.submit_time == null&&scope.row.mtype == 10"
>编辑</el-button
> -->
<el-popconfirm
title="确定删除吗?"
v-if="(scope.row.send_mgroup == mgroupId||deptId==scope.row.send_dept)&&scope.row.submit_time == null"
@ -354,7 +341,7 @@ export default {
that.mgroupId = res[0].id;
that.processId = res[0].process;
that.processCate = res[0].process_cate;
that.params.mgroup = that.mgroupId;
that.params.mgroupx = that.mgroupId;
that.apiObj = that.$API.wpm.handover.list;
that.$refs.table.refresh();
});
@ -435,7 +422,7 @@ export default {
that.$refs.table.queryData(that.query);
});
},
//
//
table_reBack2(row){
let that = this;
that.$API.wpm.handover.revert.req(row.id).then((res) => {
@ -448,6 +435,8 @@ export default {
let form = {};
form.send_mgroup = row.recive_mgroup;
form.recive_mgroup = row.send_mgroup;
// form.recive_mgroup_name = row.send_mgroup_name;
// form.recive_dept = row.send_dept;
form.handoverb = [];
that.handoverbList = [];
row.handoverb.forEach((item) => {

View File

@ -270,6 +270,14 @@ export default {
type: String,
default: "",
},
route:{
type: String,
default: "",
},
Mmodel:{
type: String,
default: "",
}
},
components: {
scanDialog
@ -387,14 +395,14 @@ export default {
},
mounted() {
let that = this;
let arr = that.$route.path.split("/");
that.route_code = arr[2];
that.form.type = that.type;
if(that.type==50){
that.mtype=30;
that.change_batch = true;
}
that.form.recive_mgroup = "";
let arr = that.$route.path.split("/");
that.route_code = arr[2];
let materialObj = that.$TOOL.data.get("MATERIAL_OBJECT");
that.materialObj = materialObj;
that.form.handle_date =that.form.send_date =this.$TOOL.dateFormat2(new Date());
@ -409,10 +417,18 @@ export default {
that.form.material_changed_fname = that.wmItem.material_name;
}
that.$nextTick(()=>{
console.log('that.type',that.type,'that.mtype',that.mtype)
if(that.type==20||that.type==50||(that.type==10&&that.mtype==30)||(that.mtype==30&&that.new_wm!=='')){
that.form.recive_mgroup = that.mgroupId;
}
if(that.route_code=='shangpaipingmo'&&that.mtype==30&&that.new_wm==''&&that.route!=''){
let date = new Date();
let year = date.getFullYear();
let month = date.getMonth()+1;
month = month>9?month:'0'+month;
let day = date.getDate();
day = day>9?day:'0'+day;
that.form.new_batch = 'HP'+that.Mmodel+year+month+day;
}
})
// type=10
// type=20
@ -457,6 +473,9 @@ export default {
that.bwVisible = true;
}else{
that.$message.warning("正在加载,请稍后...");
that.$API.wpm.handover.item.req(that.form.id).then(res=>{
that.form.handoverb[index].handoverbw = res.handoverb[index].handoverbw
})
that.bwVisible = true;
}
},
@ -661,9 +680,10 @@ export default {
},
materialChange() {
let that = this;
that.form.new_batch = "";
that.form.new_batch = that.route_code=='shangpaipingmo'?that.form.new_batch:"";
let totalCount = 0,data = [];
if(that.selectItems.length>0){
console.log('that.selectItems',that.selectItems)
data = that.materialOptions.filter((item) => {
return that.selectItems.indexOf(item.id)>-1;
});
@ -689,6 +709,15 @@ export default {
}
})
}
if(data.length>0&&that.route_code=='shangpaipingmo'&&that.mtype==30&&that.new_wm==''&&that.route!=''&&data[0].material_.model!==null){
let date = new Date();
let year = date.getFullYear();
let month = date.getMonth()+1;
month = month>9?month:'0'+month;
let day = date.getDate();
day = day>9?day:'0'+day;
that.form.new_batch = 'HP'+data[0].material_.model+year+month+day;
}
data.forEach((item,index)=>{
item.wm = item.id;
item.count = item.count_canhandover;
@ -911,7 +940,17 @@ export default {
})
}
})
if(hasArr.length>0){}else{
if(hasArr.length>0&&hasArr[0].material_&&hasArr[0].material_.model!==null){
if(that.route_code=='shangpaipingmo'&&that.mtype==30&&that.new_wm==''&&that.route!=''){
let date = new Date();
let year = date.getFullYear();
let month = date.getMonth()+1;
month = month>9?month:'0'+month;
let day = date.getDate();
day = day>9?day:'0'+day;
that.form.new_batch = 'HP'+hasArr[0].material_.model+year+month+day;
}
}else{
that.$message.error("该批次不存在或没有可交接数量")
}
}

View File

@ -16,6 +16,21 @@
style="--el-switch-on-color: #67c23a; --el-switch-off-color: #0052d9"
@change="showWprListChange"
></el-switch>
<el-select
v-if="route_code=='shangpaipingmo'"
v-model="query.current_merged"
placeholder="合批状态"
clearable
style="width: 250px"
@change="handleQuery"
>
<el-option
v-for="item in mergedOptions"
:key="item.value"
:label="item.name"
:value="item.value"
/>
</el-select>
<el-select
v-model="query.state"
placeholder="物料状态"
@ -243,10 +258,12 @@
<scrap-dialog
v-if="dialog.scrap"
ref="scrapDialog"
:route="'in'"
:type="type"
:tag="tag"
:new_wm="new_wm"
:wmItem="wmItem"
:Mmodel="Mmodel"
:mgroupName="mgroup_name"
:mgroupId="mgroupId"
@success="handleScrapSuccess"
@ -358,7 +375,8 @@ export default {
wmtype:0,
query: {
search: "",
state: null,
state: 10,
current_merged:null,
},
dialog: {
save: false,
@ -376,6 +394,10 @@ export default {
{ value: 20, name: "不合格"},
{ value: 30, name: "返工"},
],
mergedOptions:[
{ value: false, name: "未合批"},
{ value: true, name: "已合批"},
],
queryWm: {
search: "",
material: "",
@ -387,6 +409,7 @@ export default {
},
tag:"",
wmId:"",
Mmodel:"",
route_code:"",
showBatch: "",
wmMaterial:'',
@ -496,6 +519,7 @@ export default {
let handoverb = [];
if(this.selection.length>0){
this.selection.forEach(item=>{
that.Mmodel = item.material_.model;
let obj = {};
obj.id = item.id;
obj.wm = item.id;
@ -524,6 +548,7 @@ export default {
},
//
handleQuery() {
console.log('this.query',this.query)
this.$refs.table.queryData(this.query);
},

View File

@ -22,7 +22,7 @@
<el-descriptions-item label="部门/车间">{{mlogItem.belong_dept_name}}</el-descriptions-item>
<el-descriptions-item label="处理人">{{mlogItem.handle_user_name}}</el-descriptions-item>
<template v-for="item in oinfo_json" :key="item">
<el-descriptions-item :label="item.key" >{{item.value}}</el-descriptions-item>
<el-descriptions-item :label="item.key" v-if="item.key!=='imageUrl'">{{item.value}}</el-descriptions-item>
</template>
<el-descriptions-item label="创建时间">{{mlogItem.create_time}}</el-descriptions-item>
<el-descriptions-item label="操作日期">{{mlogItem.handle_date}}</el-descriptions-item>
@ -44,6 +44,14 @@
fit="fill"
/>
</el-descriptions-item>
<el-descriptions-item label="工序路径">
<el-tag v-if="lastProcessName!==''" type="danger">{{ lastProcessName }}</el-tag>
<span v-if="lastProcessName!==''">></span>
<el-tag v-if="currentProcessName!==''" type="success">{{ currentProcessName }}</el-tag>
<span v-if="nextProcessName!==''">></span>
<el-tag v-if="nextProcessName!==''" type="primary">{{ nextProcessName }}</el-tag>
</el-descriptions-item>
</el-descriptions>
<div style="padding: 5px 10px;display: flex;justify-content: end;">
<el-button
@ -547,6 +555,9 @@ export default {
material_in:'',
material_out:'',
batchContains:'',
lastProcessName:'',
nextProcessName:'',
currentProcessName:'',
apiObjPrint:this.$API.cm.labelmat.fromWm,
printer_name:localStorage.getItem("printer_name"),
addTemplate:{
@ -609,6 +620,8 @@ export default {
that.hasRoute = true;
that.$API.mtm.route.item.req(res.route).then((routeRes) => {
let params_json = routeRes.params_json;
that.currentProcessName = routeRes.process_name;
that.getroutepack(routeRes.material_in,routeRes.material_out,routeRes.routepack);
if(params_json.fileurl){
let fileurl = JSON.parse(params_json.fileurl);
that.imageUrl = fileurl[0].path;
@ -646,6 +659,21 @@ export default {
}
});
},
getroutepack(inId,outId,routepack){
let that = this;
that.$API.mtm.route.list.req({routepack:routepack,page:0}).then(res=>{
res.forEach(item=>{
//
if(item.material_out==inId){
that.lastProcessName = item.process_name;
}
//
if(item.material_in==outId){
that.nextProcessName = item.process_name;
}
})
})
},
getEquipment(){
let that = this;
that.$API.em.equipment.list.req({page:0,belong_dept:that.dept}).then((res) => {
@ -919,6 +947,20 @@ export default {
},
//
mlogSubmit() {
let that = this;
if(that.route_code=='tuomoceliang'){
let canSubmit = this.$refs.checkTable.hasNull();
console.log('canSubmit',canSubmit)
if(canSubmit){
that.submitFun();
}else{
that.$message.error('有未填的检测项,请完善后提交。');
}
}else{
that.submitFun();
}
},
submitFun(){
let that = this;
that.isSaveing = true;
that.$API.wpm.mlog.submit.req(that.mlogItem.id).then((res) => {

View File

@ -48,6 +48,7 @@
clearable
filterable
style="width: 100%"
@change="routeChange"
>
<el-option
v-for="item in routeOptions"
@ -80,17 +81,6 @@
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :md="12" :sm="12" :xs="24" v-if="route_code=='tuomoceliang'">
<el-form-item label="切分数量">
<el-input-number
v-model="form.cutCount"
:min="1"
class="width-100"
controls-position="right"
>
</el-input-number>
</el-form-item>
</el-col> -->
<el-col :md="12" :sm="12" :xs="24" v-for="item in testitems" :key="item.id">
<el-form-item :label="item.name">
<el-input-number
@ -191,13 +181,20 @@
></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="12" :xs="24" v-if="route_code=='paiyicibang'&&imageUrl!==''">
<el-form-item label="工艺图纸">
<el-image
style="width: 100px; height: 100px"
:src="imageUrl"
fit="fill"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-main>
<el-footer>
<el-button type="primary" :loading="isSaveing" @click="submit"
>保存</el-button
>
<el-button type="primary" :loading="isSaveing" @click="submit">保存</el-button>
<el-button @click="visible = false">取消</el-button>
</el-footer>
</el-container>
@ -260,6 +257,7 @@ export default {
edit: "编辑日志",
show: "查看日志",
},
imageUrl:'',
test_file:'',
fileList:[],
//
@ -387,6 +385,18 @@ export default {
that.routeOptions = res;
});
},
routeChange(){
let that = this;
if(that.route_code=='paiyicibang'){
that.$API.mtm.route.item.req(that.form.route).then((res) => {
let json = res.params_json;
if(json.fileurl){
let fileurl = JSON.parse(json.fileurl);
that.imageUrl = fileurl[0].path;
}
})
}
},
//
open(mode = "add",type) {
let that = this;
@ -424,6 +434,9 @@ export default {
});
},500)
}
if(that.route_code=='paiyicibang'&&data.oinfo_json.imageUrl){
this.imageUrl = data.oinfo_json.imageUrl;
}
}
this.getRoute(data.id);
},
@ -450,6 +463,9 @@ export default {
that.testitems.forEach((item) => {
oinfo_json[item.id] = item.value;
})
if(that.mgroupName=='排一次棒'&&that.imageUrl!==''){
oinfo_json.imageUrl = that.imageUrl;
}
that.form.oinfo_json = oinfo_json;
if (that.mode === "add") {
that.$API.wpm.mlog.init.req(that.form).then((res) => {

View File

@ -157,7 +157,7 @@
<el-form-item label="绑定任务:">
<el-select
v-model="form.mtask"
placeholder="工艺路线"
placeholder="绑定任务"
clearable
style="width: 100%"
>
@ -170,6 +170,15 @@
</el-select>
</el-form-item>
</el-col>
<el-col :md="12" :sm="12" :xs="24" v-if="route_code=='paiyicibang'&&imageUrl!==''">
<el-form-item label="工艺图纸">
<el-image
style="width: 100px; height: 100px"
:src="imageUrl"
fit="fill"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-main>
@ -251,10 +260,13 @@ export default {
},
wm_in: "",
route_code:"",
imageUrl:'',
test_file:'',
visible: false,
isSaveing: false,
batchCountCando:0,
materialTracking:10,
fileList:[],
testitems:[],
options: [],
mtaskOptions:[],
@ -403,6 +415,7 @@ export default {
})
if(that.routeOptions.length==1){
that.form.route = that.routeOptions[0].id;
that.routeChange();
}
}
}else{
@ -435,6 +448,7 @@ export default {
})
if(that.routeOptions.length==1){
that.form.route = that.routeOptions[0].id;
that.routeChange();
}
}
let arr = that.materialOptions.filter((item) => {
@ -472,6 +486,18 @@ export default {
})
}
},
routeChange(){
let that = this;
if(that.route_code=='paiyicibang'){
that.$API.mtm.route.item.req(that.form.route).then((res) => {
let json = res.params_json;
if(json.fileurl){
let fileurl = JSON.parse(json.fileurl);
that.imageUrl = fileurl[0].path;
}
})
}
},
//
submit() {
let that = this;

View File

@ -41,6 +41,8 @@
<th class="w_30 inlineBlock">序号</th>
<th class="w_140 inlineBlock">物料批次</th>
<th class="w_150 inlineBlock">物料编号</th>
<th class="w_150 inlineBlock" v-if="route_code=='niuzhuan'">生产设备</th>
<th class="w_180 inlineBlock" v-if="route_code=='niuzhuan'">扭转日期</th>
<th class="w_80 inlineBlock" v-for="item in qct_testitems" :key="item.id">{{ item.testitem_name }}</th>
<th class="w_80 inlineBlock" v-for="item in qct_defects" :key="item.id">{{ item.defect_name }}</th>
<th class="w_80 inlineBlock">备注</th>
@ -64,6 +66,20 @@
<span v-else>{{ row.number }}</span>
<span v-if="row.wpr_number_out !== null && row.wpr_number_out !== undefined">{{ row.wpr_number_out }}</span>
</td>
<td class="w_150 inlineBlock" v-if="route_code=='niuzhuan'">
<select name="pets" id="pet-select" v-if="row.isEdit" style="width: 100%;" v-model="row.equip" :value="row.equip">
<option v-for="item in optionsEq" :key="item.id" :value="item.id">
{{ item.number }}
</option>
</select>
<span v-else>{{ row.equip_name }}<span v-if="row.equip_number&&row.equip_number!=null">{{ row.equip_number }}</span></span>
</td>
<td class="w_180 inlineBlock" v-if="route_code=='niuzhuan'">
<input v-if="row.isEdit" type="datetime-local" id="datetime" v-model="row.work_start_time" @change = "timeChange(row)">
<div v-else>
<span v-if="row.work_start_time!==null">{{ row.work_start_time}}</span>
</div>
</td>
<td class="w_80 inlineBlock" v-for="item in qct_testitems" :key="item.id">
<span v-if="!row.isEdit || !item.canEdit">{{ row[item.testitem_name] }}</span>
<input v-if="item.testitem_field_type == 'input-number' && row.isEdit && item.canEdit"
@ -405,6 +421,9 @@ export default {
if(that.processType=='20'){
that.canMultiple = true;
}
if(that.route_code=='niuzhuan'){
that.getEquipment4();
}
if(that.qct!==''&&that.qct!==null){//
that.getdefects();
}else{
@ -417,7 +436,7 @@ export default {
that.getList();
})
}else{
that.$API.qm.qct.getQct.req({ material: that.material_in,type:'out',tag:'process' }).then((res) => {
that.$API.qm.qct.getQct.req({ material: that.material_in,type:'in',tag:'process' }).then((res) => {
that.qctId = res.id;
that.testdefectss(res);
}).catch(()=>{
@ -532,6 +551,42 @@ export default {
that.options = res;
})
},
timeChange(row){
let that = this;
console.log('row',row)
let index = that.mlogbwlist.indexOf(row);
let waveNum = 1;
let hours = 0,minutes=0;
if(row.work_start_time.indexOf("T")>-1){
hours =Number(row.work_start_time.split("T")[1].split(":")[0]);
minutes =Number(row.work_start_time.split("T")[1].split(":")[1]) ;
}else{
hours =Number(row.work_start_time.split(" ")[1].split(":")[0]);
minutes =Number(row.work_start_time.split(" ")[1].split(":")[1]) ;
}
if((hours==0&&minutes>29)||hours==1||(hours==2&&minutes<30)){
waveNum = 9;
}else if((hours==2&&minutes>29)||hours==3||(hours==4&&minutes<30)){
waveNum = 10;
}else if(hours==7||hours==8){
waveNum = 1;
}else if(hours==9||hours==10){
waveNum = 2;
}else if(hours==11||hours==12){
waveNum = 3;
}else if((hours==13&&minutes>29)||hours==14||(hours==15&&minutes<30)){
waveNum = 4;
}else if((hours==15&&minutes>29)||hours==16||(hours==17&&minutes<30)){
waveNum = 5;
}else if(hours==18||hours==19){
waveNum = 6;
}else if(hours==20||hours==21){
waveNum = 7;
}else if(hours==22||hours==23){
waveNum = 8;
}
that.mlogbwlist[index].波数 = waveNum;
},
getList(){
let that = this;
let params = {};
@ -599,6 +654,12 @@ export default {
obj.mlogb = row.mlogb;
obj.wpr = row.wpr;
obj.note = row.note;
if(row.work_start_time){
obj.work_start_time = row.work_start_time.replace('T',' ');
}
if(row.equip){
obj.equip = row.equip;
}
//qct
if((that.qct!==''&&that.qct!==null)||(that.qctId!==''&&that.qctId!==null)){
obj.ftest = {};
@ -640,6 +701,9 @@ export default {
that.$API.wpm.mlogbw.update.req(row.id,obj).then((res) => {
that.$message.success("保存成功");
that.mlogbwlist[editIndex].isEdit = false;
that.mlogbwlist[editIndex].equip_name = res.equip_name;
that.mlogbwlist[editIndex].equip_number = res.equip_number;
that.mlogbwlist[editIndex].work_start_time = res.work_start_time;
// that.getList();
return res;
}).catch((err) => {
@ -653,6 +717,9 @@ export default {
that.$API.wpm.mlogbw.create.req(objNew).then((res) => {
that.$message.success("添加成功");
that.mlogbwlist[editIndex].isEdit = false;
that.mlogbwlist[editIndex].equip_name = res.equip_name;
that.mlogbwlist[editIndex].equip_number = res.equip_number;
that.mlogbwlist[editIndex].work_start_time = res.work_start_time;
// that.getList();
return res;
}).catch((err) => {
@ -673,6 +740,7 @@ export default {
let date = new Date();
if(that.mlogbwlist[index].work_start_time==''||that.mlogbwlist[index].work_start_time==null){
that.mlogbwlist[index].work_start_time = that.$TOOL.dateFormat(date, 'yyyy-MM-dd hh:mm:ss');
that.timeChange(that.mlogbwlist[index])
}
let getEd = false;
if(that.qct_testitems.length>0){
@ -1032,6 +1100,18 @@ that.$API.wpm.prints.req(printer_ip, obj).then((response) => {
this.$message.error("导入失败,请重新尝试");
});
},
hasNull(){
let that = this;
let canSubmit = true;
that.mlogbwlist.forEach(item=>{
that.qct_testitems.forEach(testitem=>{
if(item[testitem.testitem_name]==null||item[testitem.testitem_name]==''||item[testitem.testitem_name]==undefined){
canSubmit = false;
}
})
})
return canSubmit;
},
},
};
</script>

View File

@ -81,6 +81,8 @@ export default {
},
yAxis: {
type: "value",
min: 0,
max: 100
},
series:{
name: "数据检测",
@ -134,14 +136,10 @@ export default {
let value = Number(item.val_float).toFixed(3);
seriesData.unshift(value);
})
function getMinValue(arr) {
return Math.min.apply(null, arr);
}
if(that.activeName.indexOf("温度") != -1){
let minNum = getMinValue(seriesData);
console.log(minNum);
let minNum = seriesData.reduce((a, b) => a < b ? a : b);
let maxNum = Math.max(...seriesData);
that.option.yAxis.min = minNum;
}
that.option.yAxis.max = maxNum;
that.option.xAxis.data = xAxisData;
that.option.series.data = seriesData;
})

View File

@ -54,7 +54,7 @@
</el-table-column>
<el-table-column label="检验人" prop="test_user_name">
</el-table-column>
<el-table-column label="操作" fixed="right" width="80">
<el-table-column label="操作" fixed="right" width="100">
<template #default="scope">
<el-button
link
@ -63,6 +63,13 @@
v-auth="'ftestwork.update'"
@click="table_revert(scope.row)"
>撤回</el-button>
<el-button
link
v-if="scope.row.submit_time==null"
type="primary"
v-auth="'ftestwork.update'"
@click="table_submit(scope.row)"
>提交</el-button>
<el-button
link
v-if="scope.row.submit_time==null"
@ -109,6 +116,11 @@ export default {
this.$refs.drawer_table.refresh();
});
},
table_submit(row){
this.$API.qm.ftestwork.submit.req(row.id).then((res) => {
this.$refs.drawer_table.refresh();
});
},
table_delete(row){
let that = this;
that.$confirm("确定删除该检验记录吗?", "提示", {

View File

@ -29,7 +29,7 @@
<el-col >{{ form.batch }}</el-col>
</el-form-item>
</el-row>
<el-row v-show="addShow">
<el-row v-show="addShow&&route_code!=='tuihuo'">
<el-col>
<el-form-item label="交接物料">
<xtSelect
@ -55,6 +55,7 @@
</el-form-item>
</el-col>
</el-row>
<div v-if="route_code!=='tuihuo'">
<el-row v-for="(listItem,$index) in form.handoverb" :key="listItem">
<el-col :span="12">
<el-form-item label="交接物料">
@ -87,6 +88,7 @@
<el-button type="danger" icon="el-icon-delete" @click="delMaterial($index)"></el-button>
</el-col>
</el-row>
</div>
<el-row>
<el-col :md="12" :sm="24">
<el-form-item label="交送日期" prop="send_date">
@ -190,22 +192,79 @@
<el-input v-model="form.new_batch" placeholder="新批次号"></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24" v-if="route_code=='tuihuo' || form.oinfo_json.test_file">
<el-form-item label="检验附件">
</el-row>
<el-row v-if="addShow&&route_code=='tuihuo'">
<el-col>
<el-form-item label="交接物料">
<xtSelect
:apiObj="apiObjM"
v-model="selectObjIds"
v-model:obj="selectObjs"
:labelField="'batch'"
style="width: 100%;"
:params = "paramsM"
:multiple="true"
@change="materialChange0"
>
<el-table-column label="物料" prop="full_name">
<template #default="scope">
<span v-if="scope.row.state==20" style="color: red;border: 1px solid red;border-radius: 3px;">不合格</span>
<span v-if="scope.row.state==30" style="color: orange;border: 1px solid orange;border-radius: 3px;">返工</span>
<span>{{ scope.row.batch }}({{ scope.row.material_name }})</span>
<span v-if="scope.row.defect_name !== null" style="color: orangered">{{ scope.row.defect_name }}</span>
</template>
</el-table-column>
<el-table-column label="可交接数量" prop="count_canhandover" width="110px"></el-table-column>
</xtSelect>
</el-form-item>
</el-col>
</el-row>
<div v-if="route_code=='tuihuo'">
<el-row v-for="(listItem,$index) in form.handoverb" :key="listItem">
<el-col :span="12">
<el-form-item label="交接物料">
<el-input v-model="listItem.label" disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="总数量">
<span>{{ listItem.count_cando }}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="交接数量">
<el-input-number
v-model="listItem.count"
controls-position="right"
:min="0"
step="1"
:max="listItem.count_cando"
:disabled="mode==='show'"
:step-strictly="true"
style="width: 100%"
placeholder="交接数量"
@change="countChange"
>
</el-input-number>
</el-form-item>
</el-col>
<el-col :span="2" v-if="mode!=='show'">
<el-button type="danger" icon="el-icon-delete" @click="delMaterial($index)"></el-button>
</el-col>
<el-col>
<el-form-item>
<sc-upload-file
v-model="form.oinfo_json.test_file"
v-model="form.oinfo_json[listItem.wm]"
:multiple="false"
:limit="1"
:accept="['.xlsx', '.xls']"
:disabled="mode ==='show'"
>
<!-- <el-button type="primary" icon="el-icon-upload" v-if="mode!=='show'"> </el-button>
<br/>
<el-link v-if="mode!=='add'&&form.oinfo_json" :href="form.oinfo_json.test_file" type="primary" target="_blank">{{form.oinfo_json.test_file}}</el-link> -->
</sc-upload-file>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<el-footer>
<template v-if="(route_code=='tuihuo'&&type==10&&mtype==10)||form.ticket!=null">