质量检验添加质检结果填报功能
This commit is contained in:
parent
e0ccb7944b
commit
5a51ba06b3
44
src/api/mes/qc/qcresult.js
Normal file
44
src/api/mes/qc/qcresult.js
Normal file
@ -0,0 +1,44 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询检测结果记录列表
|
||||
export function listQcresult(query) {
|
||||
return request({
|
||||
url: '/mes/qc/qcresult/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询检测结果记录详细
|
||||
export function getQcresult(resultId) {
|
||||
return request({
|
||||
url: '/mes/qc/qcresult/' + resultId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增检测结果记录
|
||||
export function addQcresult(data) {
|
||||
return request({
|
||||
url: '/mes/qc/qcresult',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改检测结果记录
|
||||
export function updateQcresult(data) {
|
||||
return request({
|
||||
url: '/mes/qc/qcresult',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除检测结果记录
|
||||
export function delQcresult(resultId) {
|
||||
return request({
|
||||
url: '/mes/qc/qcresult/' + resultId,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
52
src/api/mes/qc/qcresultdetail.js
Normal file
52
src/api/mes/qc/qcresultdetail.js
Normal file
@ -0,0 +1,52 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询检测结果明细记录列表
|
||||
export function listQcresultdetail(query) {
|
||||
return request({
|
||||
url: '/mes/qc/qcresultdetail/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function listDetails(query) {
|
||||
return request({
|
||||
url: '/mes/qc/qcresultdetail/listDetails',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询检测结果明细记录详细
|
||||
export function getQcresultdetail(detailId) {
|
||||
return request({
|
||||
url: '/mes/qc/qcresultdetail/' + detailId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增检测结果明细记录
|
||||
export function addQcresultdetail(data) {
|
||||
return request({
|
||||
url: '/mes/qc/qcresultdetail',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改检测结果明细记录
|
||||
export function updateQcresultdetail(data) {
|
||||
return request({
|
||||
url: '/mes/qc/qcresultdetail',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除检测结果明细记录
|
||||
export function delQcresultdetail(detailId) {
|
||||
return request({
|
||||
url: '/mes/qc/qcresultdetail/' + detailId,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
@ -1,33 +1,54 @@
|
||||
<template>
|
||||
<div>
|
||||
<select v-model="selectedValue">
|
||||
<option v-for="(value, key) in dict" :value="key">{{ value }}</option>
|
||||
</select>
|
||||
<el-select v-model="selectedValue">
|
||||
<el-option v-for="(item, index) in dict"
|
||||
:key="item.dictValue"
|
||||
:label="item.dictLabel"
|
||||
:value="item.dictValue"
|
||||
>{{ item.dictLabel }}</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { listData, getDicts } from "@/api/system/dict/data";
|
||||
import { watch } from "less";
|
||||
export default {
|
||||
props: {
|
||||
dictName: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
initialValue: {
|
||||
type: String,
|
||||
default: null
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
selectedValue: null,
|
||||
selectedValue: this.initialValue,
|
||||
queryParams: {dictType: this.dictName},
|
||||
dict: {}
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
selectedValue(newValue) {
|
||||
this.$emit("input", newValue);
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getDictionary(this.dictName);
|
||||
},
|
||||
methods: {
|
||||
getDictionary(name) {
|
||||
getDicts(this.queryParams).then(response => {
|
||||
this.dict = response.rows;
|
||||
getDicts(name).then(response => {
|
||||
this.dict = response.data;
|
||||
|
||||
// 如果字典数据获取成功,且selectedValue在字典中有效,则更新selectedValue
|
||||
if (this.initialValue && this.dict.some(item => item.dictValue === this.initialValue)) {
|
||||
this.selectedValue = this.initialValue;
|
||||
} else {
|
||||
this.selectedValue = null; // 或者可以默认设置为其他值
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -343,8 +343,8 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="检测结果" prop="checkResult">
|
||||
<el-select v-model="form.checkResult" placeholder="请选择检验结果">
|
||||
<el-form-item label="检测结论" prop="checkResult">
|
||||
<el-select v-model="form.checkResult" placeholder="请选择检验结论">
|
||||
<el-option
|
||||
v-for="dict in dict.type.mes_qc_result"
|
||||
:key="dict.value"
|
||||
@ -368,10 +368,14 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-divider v-if="form.ipqcId !=null" content-position="center">检测项</el-divider>
|
||||
<el-card shadow="always" v-if="form.ipqcId !=null" class="box-card">
|
||||
<Ipqcline ref=line :ipqcId="form.ipqcId" :optType="optType"></Ipqcline>
|
||||
</el-card>
|
||||
<el-tabs type="border-card" v-if="form.ipqcId != null">
|
||||
<el-tab-pane label="检测项">
|
||||
<Ipqcline ref=line :ipqcId="form.ipqcId" :optType="optType"></Ipqcline>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="检测结果">
|
||||
<QCResutl ref="qcResult" :qcId="form.ipqcId" :qcType="'IPQC'" :optType="optType"></QCResutl>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="cancel" v-if="optType =='view' || form.status !='PREPARE' ">返回</el-button>
|
||||
<el-button type="primary" @click="submitForm" v-if="form.status =='PREPARE' && optType !='view' ">保 存</el-button>
|
||||
@ -388,9 +392,10 @@ import {genCode} from "@/api/system/autocode/rule"
|
||||
import WorkorderSelect from "@/components/workorderSelect/single.vue"
|
||||
import WorkstationSelect from "@/components/workstationSelect/simpletableSingle.vue"
|
||||
import Ipqcline from "./line.vue"
|
||||
import QCResutl from "../qcresult/index.vue";
|
||||
export default {
|
||||
name: "Ipqc",
|
||||
components: {WorkorderSelect,WorkstationSelect,Ipqcline},
|
||||
components: {WorkorderSelect,WorkstationSelect,Ipqcline,QCResutl},
|
||||
dicts: ['mes_ipqc_type','mes_qc_result','mes_order_status'],
|
||||
data() {
|
||||
return {
|
||||
|
@ -49,8 +49,8 @@
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="检测结果" prop="checkResult">
|
||||
<el-select v-model="queryParams.checkResult" placeholder="请选择检测结果">
|
||||
<el-form-item label="检测结论" prop="checkResult">
|
||||
<el-select v-model="queryParams.checkResult" placeholder="请选择检测结论">
|
||||
<el-option
|
||||
v-for="dict in dict.type.mes_qc_result"
|
||||
:key="dict.value"
|
||||
@ -154,7 +154,7 @@
|
||||
<el-table-column label="接收数量" width="90px" align="center" prop="quantityRecived" />
|
||||
<el-table-column label="检测数量" width="90px" align="center" prop="quantityCheck" />
|
||||
<el-table-column label="不合格数" align="center" prop="quantityUnqualified" />
|
||||
<el-table-column label="检测结果" align="center" prop="checkResult" >
|
||||
<el-table-column label="检测结论" align="center" prop="checkResult" >
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.mes_qc_result" :value="scope.row.checkResult"/>
|
||||
</template>
|
||||
@ -327,8 +327,8 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="检测结果" prop="checkResult">
|
||||
<el-select v-model="form.checkResult" placeholder="请选择检测结果">
|
||||
<el-form-item label="检测结论" prop="checkResult">
|
||||
<el-select v-model="form.checkResult" placeholder="请选择检测结论">
|
||||
<el-option
|
||||
v-for="dict in dict.type.mes_qc_result"
|
||||
:key="dict.value"
|
||||
@ -384,10 +384,14 @@
|
||||
</el-row>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
<el-divider v-if="form.iqcId !=null" content-position="center">检测项</el-divider>
|
||||
<el-card shadow="always" v-if="form.iqcId !=null" class="box-card">
|
||||
<el-tabs type="border-card" v-if="form.iqcId != null">
|
||||
<el-tab-pane label="检测项">
|
||||
<IqcLine ref=line :iqcId="form.iqcId" :optType="optType"></IqcLine>
|
||||
</el-card>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="检测结果">
|
||||
<QCResutl ref="qcResult" :qcId="form.iqcId" :qcType="'IQC'" :optType="optType"></QCResutl>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="cancel" v-if="optType =='view' || form.status !='PREPARE' ">返回</el-button>
|
||||
@ -404,12 +408,13 @@ import { listIqc, getIqc, delIqc, addIqc, updateIqc } from "@/api/mes/qc/iqc";
|
||||
import ItemSelect from "@/components/itemSelect/single.vue";
|
||||
import VendorSelect from "@/components/vendorSelect/single.vue";
|
||||
import IqcLine from "./iqcline.vue";
|
||||
import QCResutl from "../qcresult/index.vue";
|
||||
import {genCode} from "@/api/system/autocode/rule"
|
||||
import {getReport,getReport2} from "@/api/mes/report/report"
|
||||
export default {
|
||||
name: "Iqc",
|
||||
dicts: ['mes_qc_result','mes_order_status'],
|
||||
components: {ItemSelect,VendorSelect,IqcLine},
|
||||
components: {ItemSelect,VendorSelect,IqcLine,QCResutl},
|
||||
data() {
|
||||
return {
|
||||
//自动生成编码
|
||||
|
@ -41,7 +41,6 @@
|
||||
<Defectrecord ref="defectDialog" :qcId="defect_iqcid" :lineId="defect_lineid" :qcType="defect_qctype" :optType="optType"></Defectrecord>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listIqcline, getIqcline, delIqcline, addIqcline, updateIqcline } from "@/api/mes/qc/iqcline";
|
||||
import Defectrecord from "../defectrecord/index.vue"
|
||||
|
@ -41,8 +41,8 @@
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="检测结果" prop="checkResult">
|
||||
<el-select v-model="queryParams.checkResult" placeholder="请选择检测结果">
|
||||
<el-form-item label="检测结论" prop="checkResult">
|
||||
<el-select v-model="queryParams.checkResult" placeholder="请选择检测结论">
|
||||
<el-option
|
||||
v-for="dict in dict.type.mes_qc_result"
|
||||
:key="dict.value"
|
||||
@ -128,7 +128,7 @@
|
||||
<el-table-column label="检测数量" align="center" prop="quantityCheck" />
|
||||
<el-table-column label="不合格数" align="center" prop="quantityUnqualified" />
|
||||
|
||||
<el-table-column label="检测结果" align="center" prop="checkResult" >
|
||||
<el-table-column label="检测结论" align="center" prop="checkResult" >
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.mes_qc_result" :value="scope.row.checkResult"/>
|
||||
</template>
|
||||
@ -301,8 +301,8 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="检测结果" prop="checkResult">
|
||||
<el-select v-model="form.checkResult" placeholder="请选择检测结果">
|
||||
<el-form-item label="检测结论" prop="checkResult">
|
||||
<el-select v-model="form.checkResult" placeholder="请选择检测结论">
|
||||
<el-option
|
||||
v-for="dict in dict.type.mes_qc_result"
|
||||
:key="dict.value"
|
||||
@ -359,10 +359,16 @@
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
</el-form>
|
||||
<el-divider v-if="form.oqcId !=null" content-position="center">检测项</el-divider>
|
||||
<el-card shadow="always" v-if="form.oqcId !=null" class="box-card">
|
||||
<Oqcline ref=line :oqcId="form.oqcId" :optType="optType"></Oqcline>
|
||||
</el-card>
|
||||
|
||||
<el-tabs type="border-card" v-if="form.oqcId != null">
|
||||
<el-tab-pane label="检测项">
|
||||
<Oqcline ref=line :oqcId="form.oqcId" :optType="optType"></Oqcline>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="检测结果">
|
||||
<QCResutl ref="qcResult" :qcId="form.oqcId" :qcType="'OQC'" :optType="optType"></QCResutl>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="cancel" v-if="optType =='view' || form.status !='PREPARE' ">返回</el-button>
|
||||
<el-button type="primary" @click="submitForm" v-if="form.status =='PREPARE' && optType !='view' ">保 存</el-button>
|
||||
@ -379,11 +385,12 @@ import ItemSelect from "@/components/itemSelect/single.vue";
|
||||
import ClientSelect from "@/components/clientSelect/single.vue";
|
||||
import {genCode} from "@/api/system/autocode/rule";
|
||||
import Oqcline from "./line.vue";
|
||||
import QCResutl from "../qcresult/index.vue";
|
||||
export default {
|
||||
name: "Oqc",
|
||||
dicts: ['mes_order_status','mes_qc_result'],
|
||||
components: {
|
||||
ItemSelect,Oqcline,ClientSelect
|
||||
ItemSelect,Oqcline,ClientSelect,QCResutl
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
@ -166,7 +166,7 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="检测值类型" prop="qcResultType">
|
||||
<el-select v-model="form.qcResultType" placeholder="请选择检测值类型">
|
||||
<el-option
|
||||
@ -178,12 +178,14 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="16">
|
||||
<el-form-item label="值属性" v-if="form.qcResultType == 'FILE' " prop="qcResultSpc">
|
||||
<el-input v-model="form.qcResultSpc" placeholder="请输入文件格式" />
|
||||
<el-col :span="12">
|
||||
<el-form-item label="类型" v-if="form.qcResultType == 'FILE' " prop="qcResultSpc">
|
||||
<el-radio-group v-model="form.qcResultSpc" placeholder="请选择文件属性">
|
||||
<el-radio label="IMG">图片/照片</el-radio>
|
||||
<el-radio label="FILE">文件</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="值属性" v-else-if="form.qcResultType == 'DICT' " prop="qcResultSpc">
|
||||
<el-form-item label="字典项" v-else-if="form.qcResultType == 'DICT' " prop="qcResultSpc">
|
||||
<el-input v-model="form.qcResultSpc" readonly placeholder="请选择字典" >
|
||||
<el-button slot="append" @click="handleSelectDict" icon="el-icon-search"></el-button>
|
||||
</el-input>
|
||||
@ -263,7 +265,20 @@ export default {
|
||||
],
|
||||
qcResultType: [
|
||||
{ required: true, message: "请选择检测项值类型", trigger: "change" }
|
||||
]
|
||||
],
|
||||
qcResultSpc: [
|
||||
{ required: true, message: "请选择检测项值类型", trigger: "blur",
|
||||
validator: (rule, value, callback) => {
|
||||
if (this.form.qcResultType === 'FILE' && !value) {
|
||||
callback(new Error('文件类型不能为空'));
|
||||
} else if (this.form.qcResultType === 'DICT' && !value) {
|
||||
callback(new Error('字典项不能为空'));
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
}
|
||||
};
|
||||
},
|
||||
@ -293,6 +308,8 @@ export default {
|
||||
indexName: null,
|
||||
indexType: null,
|
||||
qcTool: null,
|
||||
qcResultType: null,
|
||||
qcResultSpc: null,
|
||||
remark: null,
|
||||
attr1: null,
|
||||
attr2: null,
|
||||
|
454
src/views/mes/qc/qcresult/detail.vue
Normal file
454
src/views/mes/qc/qcresult/detail.vue
Normal file
@ -0,0 +1,454 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="结果记录ID" prop="resultId">
|
||||
<el-input
|
||||
v-model="queryParams.resultId"
|
||||
placeholder="请输入结果记录ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="检测项ID" prop="indexId">
|
||||
<el-input
|
||||
v-model="queryParams.indexId"
|
||||
placeholder="请输入检测项ID"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="检测项类型" prop="indexType">
|
||||
<el-select v-model="queryParams.indexType" placeholder="请选择检测项类型" clearable>
|
||||
<el-option label="请选择字典生成" value="" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="检测工具" prop="qcTool">
|
||||
<el-input
|
||||
v-model="queryParams.qcTool"
|
||||
placeholder="请输入检测工具"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="标准值" prop="standerVal">
|
||||
<el-input
|
||||
v-model="queryParams.standerVal"
|
||||
placeholder="请输入标准值"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="单位" prop="unitOfMeasure">
|
||||
<el-input
|
||||
v-model="queryParams.unitOfMeasure"
|
||||
placeholder="请输入单位"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="误差上限" prop="thresholdMax">
|
||||
<el-input
|
||||
v-model="queryParams.thresholdMax"
|
||||
placeholder="请输入误差上限"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="误差下限" prop="thresholdMin">
|
||||
<el-input
|
||||
v-model="queryParams.thresholdMin"
|
||||
placeholder="请输入误差下限"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="质检值类型" prop="qcResultType">
|
||||
<el-select v-model="queryParams.qcResultType" placeholder="请选择质检值类型" clearable>
|
||||
<el-option label="请选择字典生成" value="" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="值属性" prop="qcResultSpc">
|
||||
<el-input
|
||||
v-model="queryParams.qcResultSpc"
|
||||
placeholder="请输入值属性"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="浮点值" prop="qcValFloat">
|
||||
<el-input
|
||||
v-model="queryParams.qcValFloat"
|
||||
placeholder="请输入浮点值"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="整数" prop="qcValInteger">
|
||||
<el-input
|
||||
v-model="queryParams.qcValInteger"
|
||||
placeholder="请输入整数"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="字典项" prop="qcValDict">
|
||||
<el-input
|
||||
v-model="queryParams.qcValDict"
|
||||
placeholder="请输入字典项"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="预留字段1" prop="attr1">
|
||||
<el-input
|
||||
v-model="queryParams.attr1"
|
||||
placeholder="请输入预留字段1"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="预留字段2" prop="attr2">
|
||||
<el-input
|
||||
v-model="queryParams.attr2"
|
||||
placeholder="请输入预留字段2"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="预留字段3" prop="attr3">
|
||||
<el-input
|
||||
v-model="queryParams.attr3"
|
||||
placeholder="请输入预留字段3"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="预留字段4" prop="attr4">
|
||||
<el-input
|
||||
v-model="queryParams.attr4"
|
||||
placeholder="请输入预留字段4"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['qc:qcresultdetail:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['qc:qcresultdetail:edit']"
|
||||
>修改</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['qc:qcresultdetail:remove']"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['qc:qcresultdetail:export']"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="qcresultdetailList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="流水号" align="center" prop="detailId" />
|
||||
<el-table-column label="结果记录ID" align="center" prop="resultId" />
|
||||
<el-table-column label="检测项ID" align="center" prop="indexId" />
|
||||
<el-table-column label="检测项类型" align="center" prop="indexType" />
|
||||
<el-table-column label="检测工具" align="center" prop="qcTool" />
|
||||
<el-table-column label="检测要求" align="center" prop="checkMethod" />
|
||||
<el-table-column label="标准值" align="center" prop="standerVal" />
|
||||
<el-table-column label="单位" align="center" prop="unitOfMeasure" />
|
||||
<el-table-column label="误差上限" align="center" prop="thresholdMax" />
|
||||
<el-table-column label="误差下限" align="center" prop="thresholdMin" />
|
||||
<el-table-column label="质检值类型" align="center" prop="qcResultType" />
|
||||
<el-table-column label="值属性" align="center" prop="qcResultSpc" />
|
||||
<el-table-column label="浮点值" align="center" prop="qcValFloat" />
|
||||
<el-table-column label="整数" align="center" prop="qcValInteger" />
|
||||
<el-table-column label="文字" align="center" prop="qcValText" />
|
||||
<el-table-column label="字典项" align="center" prop="qcValDict" />
|
||||
<el-table-column label="文件" align="center" prop="qcValFile" />
|
||||
<el-table-column label="备注" align="center" prop="remark" />
|
||||
<el-table-column label="预留字段1" align="center" prop="attr1" />
|
||||
<el-table-column label="预留字段2" align="center" prop="attr2" />
|
||||
<el-table-column label="预留字段3" align="center" prop="attr3" />
|
||||
<el-table-column label="预留字段4" align="center" prop="attr4" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['qc:qcresultdetail:edit']"
|
||||
>修改</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['qc:qcresultdetail:remove']"
|
||||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 添加或修改检测结果明细记录对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="结果记录ID" prop="resultId">
|
||||
<el-input v-model="form.resultId" placeholder="请输入结果记录ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="检测项ID" prop="indexId">
|
||||
<el-input v-model="form.indexId" placeholder="请输入检测项ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="检测项类型" prop="indexType">
|
||||
<el-select v-model="form.indexType" placeholder="请选择检测项类型">
|
||||
<el-option label="请选择字典生成" value="" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="检测工具" prop="qcTool">
|
||||
<el-input v-model="form.qcTool" placeholder="请输入检测工具" />
|
||||
</el-form-item>
|
||||
<el-form-item label="检测要求" prop="checkMethod">
|
||||
<el-input v-model="form.checkMethod" type="textarea" placeholder="请输入内容" />
|
||||
</el-form-item>
|
||||
<el-form-item label="标准值" prop="standerVal">
|
||||
<el-input v-model="form.standerVal" placeholder="请输入标准值" />
|
||||
</el-form-item>
|
||||
<el-form-item label="单位" prop="unitOfMeasure">
|
||||
<el-input v-model="form.unitOfMeasure" placeholder="请输入单位" />
|
||||
</el-form-item>
|
||||
<el-form-item label="误差上限" prop="thresholdMax">
|
||||
<el-input v-model="form.thresholdMax" placeholder="请输入误差上限" />
|
||||
</el-form-item>
|
||||
<el-form-item label="误差下限" prop="thresholdMin">
|
||||
<el-input v-model="form.thresholdMin" placeholder="请输入误差下限" />
|
||||
</el-form-item>
|
||||
<el-form-item label="质检值类型" prop="qcResultType">
|
||||
<el-select v-model="form.qcResultType" placeholder="请选择质检值类型">
|
||||
<el-option label="请选择字典生成" value="" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="值属性" prop="qcResultSpc">
|
||||
<el-input v-model="form.qcResultSpc" placeholder="请输入值属性" />
|
||||
</el-form-item>
|
||||
<el-form-item label="浮点值" prop="qcValFloat">
|
||||
<el-input v-model="form.qcValFloat" placeholder="请输入浮点值" />
|
||||
</el-form-item>
|
||||
<el-form-item label="整数" prop="qcValInteger">
|
||||
<el-input v-model="form.qcValInteger" placeholder="请输入整数" />
|
||||
</el-form-item>
|
||||
<el-form-item label="文字" prop="qcValText">
|
||||
<el-input v-model="form.qcValText" type="textarea" placeholder="请输入内容" />
|
||||
</el-form-item>
|
||||
<el-form-item label="字典项" prop="qcValDict">
|
||||
<el-input v-model="form.qcValDict" placeholder="请输入字典项" />
|
||||
</el-form-item>
|
||||
<el-form-item label="文件">
|
||||
<file-upload v-model="form.qcValFile"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
|
||||
</el-form-item>
|
||||
<el-form-item label="预留字段1" prop="attr1">
|
||||
<el-input v-model="form.attr1" placeholder="请输入预留字段1" />
|
||||
</el-form-item>
|
||||
<el-form-item label="预留字段2" prop="attr2">
|
||||
<el-input v-model="form.attr2" placeholder="请输入预留字段2" />
|
||||
</el-form-item>
|
||||
<el-form-item label="预留字段3" prop="attr3">
|
||||
<el-input v-model="form.attr3" placeholder="请输入预留字段3" />
|
||||
</el-form-item>
|
||||
<el-form-item label="预留字段4" prop="attr4">
|
||||
<el-input v-model="form.attr4" placeholder="请输入预留字段4" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listQcresultdetail, getQcresultdetail, delQcresultdetail, addQcresultdetail, updateQcresultdetail } from "@/api/mes/qc/qcresultdetail";
|
||||
|
||||
export default {
|
||||
name: "Qcresultdetail",
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 检测结果明细记录表格数据
|
||||
qcresultdetailList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
resultId: null, indexId: null, indexType: null, qcTool: null, checkMethod: null, standerVal: null, unitOfMeasure: null, thresholdMax: null, thresholdMin: null, qcResultType: null, qcResultSpc: null, qcValFloat: null, qcValInteger: null, qcValText: null, qcValDict: null, qcValFile: null, attr1: null, attr2: null, attr3: null, attr4: null, },
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
resultId: [
|
||||
{ required: true, message: "结果记录ID不能为空", trigger: "blur" }
|
||||
], indexId: [
|
||||
{ required: true, message: "检测项ID不能为空", trigger: "blur" }
|
||||
], qcResultType: [
|
||||
{ required: true, message: "质检值类型不能为空", trigger: "change" }
|
||||
], }
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询检测结果明细记录列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listQcresultdetail(this.queryParams).then(response => {
|
||||
this.qcresultdetailList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
detailId: null, resultId: null, indexId: null, indexType: null, qcTool: null, checkMethod: null, standerVal: null, unitOfMeasure: null, thresholdMax: null, thresholdMin: null, qcResultType: null, qcResultSpc: null, qcValFloat: null, qcValInteger: null, qcValText: null, qcValDict: null, qcValFile: null, remark: null, attr1: null, attr2: null, attr3: null, attr4: null, createBy: null, createTime: null, updateBy: null, updateTime: null };
|
||||
this.resetForm("form");
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.detailId)
|
||||
this.single = selection.length!==1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.open = true;
|
||||
this.title = "添加检测结果明细记录";
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.reset();
|
||||
const detailId = row.detailId || this.ids
|
||||
getQcresultdetail(detailId).then(response => {
|
||||
this.form = response.data;
|
||||
this.open = true;
|
||||
this.title = "修改检测结果明细记录";
|
||||
});
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.detailId != null) {
|
||||
updateQcresultdetail(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
} else {
|
||||
addQcresultdetail(this.form).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const detailIds = row.detailId || this.ids;
|
||||
this.$modal.confirm('是否确认删除检测结果明细记录编号为"' + detailIds + '"的数据项?').then(function() {
|
||||
return delQcresultdetail(detailIds);
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {});
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download('qc/qcresultdetail/export', {
|
||||
...this.queryParams
|
||||
}, `qcresultdetail_${new Date().getTime()}.xlsx`)
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
333
src/views/mes/qc/qcresult/index.vue
Normal file
333
src/views/mes/qc/qcresult/index.vue
Normal file
@ -0,0 +1,333 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-row v-if="optType!= 'view'" :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['qc:qcresult:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['qc:qcresult:edit']"
|
||||
>修改</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['qc:qcresult:remove']"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="qcresultList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="样品编号" align="center" prop="resultCode" />
|
||||
<el-table-column label="对应的物资SN" align="center" prop="snCode" />
|
||||
<el-table-column label="操作" v-if="optType != 'view'" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['qc:qcresult:edit']"
|
||||
>修改</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['qc:qcresult:remove']"
|
||||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 添加或修改检测结果记录对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="960px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="样品编号" prop="resultCode">
|
||||
<el-input v-model="form.resultCode" placeholder="请输入记录编号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label-width="80">
|
||||
<el-switch v-model="autoGenFlag"
|
||||
active-color="#13ce66"
|
||||
active-text="自动生成"
|
||||
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view'" >
|
||||
</el-switch>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="SN" prop="snCode">
|
||||
<el-input v-model="form.snCode" placeholder="请输入对应的物资SN" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-divider>检测值</el-divider>
|
||||
<div v-for="(item, index) in form.items" :key="index">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item :label="'检测项' + (index + 1)" :prop="'items.' + index + '.indexName'">
|
||||
<el-input v-model="item.indexName" readonly="readonly" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item v-if="item.qcResultType =='TEXT'" label="检测值" :prop="'items.' + index + '.qcValText'">
|
||||
<el-input type="textarea" v-model="item.qcValText" placeholder="请输入检测值" />
|
||||
</el-form-item>
|
||||
<el-form-item v-else-if="item.qcResultType =='FLOAT'" label="检测值" :prop="'items.' + index + '.qcValFloat'">
|
||||
<el-input v-model="item.qcValFloat" placeholder="请输入检测值" />
|
||||
</el-form-item>
|
||||
<el-form-item v-else-if="item.qcResultType =='INTEGER'" label="检测值" :prop="'items.' + index + '.qcValInteger'">
|
||||
<el-input v-model="item.qcValInteger" placeholder="请输入检测值" />
|
||||
</el-form-item>
|
||||
<el-form-item v-else-if="item.qcResultType =='DICT'" label="检测值" :prop="'items.' + index + '.qcValDict'">
|
||||
<DictDataSelect :dictName="item.qcResultSpc" v-model="item.qcValDict" :initialValue="item.qcValDict"></DictDataSelect>
|
||||
</el-form-item>
|
||||
<el-form-item v-else :label="'文件 ' + (index + 1)" :prop="'items.' + index + '.qcValFile'">
|
||||
<ImageUpload v-if="item.qcResultType =='FILE' && item.qcResultSpc == 'IMG'" v-model="item.qcValFile" :limit="1" :fileSize="10" :fileType="['jpg','png','jpeg']" @onUploaded="(file) => handleUploaded(file,index)" @onRemoved="(file) => handleRemoved(file,index)" ></ImageUpload>
|
||||
<FileUpload v-else="item.qcResultType == 'FILE' && item.qcResultSpc == 'FILE'" v-model="item.qcValFile" :limit="1" :fileSize="10" :fileType="['text','doc','docx','excel','mp4']" @onUploaded="(file) => handleUploaded(file,index)" @onRemoved="(file) => handleRemoved(file,index)"></FileUpload>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-divider></el-divider>
|
||||
</div>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listQcresult, getQcresult, delQcresult, addQcresult, updateQcresult } from "@/api/mes/qc/qcresult";
|
||||
import { listQcresultdetail, listDetails ,getQcresultdetail, delQcresultdetail, addQcresultdetail, updateQcresultdetail } from "@/api/mes/qc/qcresultdetail";
|
||||
import DictDataSelect from "@/components/DictSelect/dictOptionSelect.vue"
|
||||
import {genCode} from "@/api/system/autocode/rule"
|
||||
export default {
|
||||
autoGenFlag : false,
|
||||
name: "Qcresult",
|
||||
props:{
|
||||
qcId: null,
|
||||
qcType: null,
|
||||
optType: null,
|
||||
},
|
||||
components: { DictDataSelect },
|
||||
data() {
|
||||
return {
|
||||
optType2: this.optType,
|
||||
autoGenFlag : false,
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 检测结果记录表格数据
|
||||
qcresultList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
resultCode: null, sourceDocId: this.qcId, sourceDocCode: null, sourceDocName: null, sourceDocType: this.qcType, itemId: null, itemCode: null, itemName: null, specification: null, unitOfMeasure: null, snCode: null, },
|
||||
|
||||
queryParams2: {
|
||||
qcId:this.qcId,
|
||||
qcType:this.qcType,
|
||||
resultId: null
|
||||
},
|
||||
// 表单参数
|
||||
form: {
|
||||
|
||||
},
|
||||
// 表单校验
|
||||
rules: {
|
||||
resultCode: [
|
||||
{ required: true, message: "记录编号不能为空", trigger: "blur" }
|
||||
], itemId: [
|
||||
{ required: true, message: "产品物料ID不能为空", trigger: "blur" }
|
||||
], }
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询检测结果记录列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listQcresult(this.queryParams).then(response => {
|
||||
this.qcresultList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
|
||||
/** 查询检测结果明细记录列表
|
||||
* 此处无论是否有传递resultId参数,都会返回所有检查项的结果记录明细列表
|
||||
*/
|
||||
getDetailList() {
|
||||
this.loading = true;
|
||||
listDetails(this.queryParams2).then(response => {
|
||||
debugger;
|
||||
this.form.items = response.data;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
resultId: null, resultCode: null, sourceDocId: this.qcId, sourceDocCode: null, sourceDocName: null, sourceDocType: this.qcType, itemId: null, itemCode: null, itemName: null, specification: null, unitOfMeasure: null, snCode: null, remark: null, attr1: null, attr2: null, attr3: null, attr4: null, createBy: null, createTime: null, updateBy: null, updateTime: null,
|
||||
items: [],
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.resultId)
|
||||
this.single = selection.length!==1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.open = true;
|
||||
this.title = "添加检测结果记录";
|
||||
this.optType2 = "add";
|
||||
this.getDetailList();
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.reset();
|
||||
const resultId = row.resultId || this.ids
|
||||
getQcresult(resultId).then(response => {
|
||||
this.form = response.data;
|
||||
this.open = true;
|
||||
this.title = "修改检测结果记录";
|
||||
this.optType2 = "edit";
|
||||
this.queryParams2.resultId = this.form.resultId
|
||||
this.getDetailList();
|
||||
});
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
debugger;
|
||||
if (this.form.resultId != null) {
|
||||
updateQcresult(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
} else {
|
||||
addQcresult(this.form).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const resultIds = row.resultId || this.ids;
|
||||
this.$modal.confirm('是否确认删除检测结果记录编号为"' + resultIds + '"的数据项?').then(function() {
|
||||
return delQcresult(resultIds);
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {});
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download('qc/qcresult/export', {
|
||||
...this.queryParams
|
||||
}, `qcresult_${new Date().getTime()}.xlsx`)
|
||||
},
|
||||
/** 上传完成 */
|
||||
handleUploaded(url,index){
|
||||
this.form.items[index].qcValFile = url;
|
||||
},
|
||||
/** 移除上传文件 */
|
||||
handleRemoved(url,index){
|
||||
this.form.items[index].qcValFile = null;
|
||||
},
|
||||
//自动生成编码
|
||||
handleAutoGenChange(autoGenFlag){
|
||||
if(autoGenFlag){
|
||||
genCode('QC_RESULT_CODE').then(response =>{
|
||||
this.form.resultCode = response;
|
||||
});
|
||||
}else{
|
||||
this.form.resultCode = null;
|
||||
}
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
Loading…
Reference in New Issue
Block a user