Files
rd_mes_uniapp/pages/qc/opqc.vue
2025-12-18 14:11:48 +08:00

227 lines
6.6 KiB
Vue

<template>
<view>
<uni-collapse>
<uni-forms ref="form" :modelValue="formData">
<uni-forms-item label="作业编码" :labelWidth='90' name="sourceCode">
<uni-easyinput v-model="formData.sourceCode" suffixIcon="scan" @iconClick="scanBarSourceCode"
@confirm="submit" type="text" />
</uni-forms-item>
<uni-forms-item label="检验状态" :labelWidth='90' name="status">
<u-radio-group v-model="formData.status" placement="row">
<u-radio v-for="(item, index) in statusOptions" :key="index" :label="item.text"
:name="item.value">
</u-radio>
</u-radio-group>
</uni-forms-item>
<u-button type="primary" @click="submit">查询</u-button>
<uni-collapse-item title="查询结果" :open="true">
<uni-card :is-shadow="false" v-for="(item,index) in qcList" :key="index" is-full>
<view><strong>制程</strong> : {{item.opTitle}}</view>
<view><strong>物料编码</strong> : {{item.ptNoTar}}</view>
<view><strong>物料名称</strong> : {{item.ptTitleTar}}</view>
<view><strong>质检结果</strong> : {{item.result}}</view>
<uni-row>
<uni-col :span="18">
<view><strong>物料规格</strong> : {{item.specification1}}</view>
<view><strong>报工数量</strong> : {{item.reportNumber}}</view>
</uni-col>
<uni-col :span="6">
<u-button type="primary" @click="badRecordList(item)" style="font-size: 14px;"
v-if="item.isRecord">不良记录</u-button>
<u-button type="primary" @click="badRecordForm(item)"
style="font-size: 14px;margin-top: 10px;" v-else>不良记录新增</u-button>
</uni-col>
</uni-row>
<uni-row>
<uni-col :span="18">
<view><strong>加工人员</strong> : {{item.createByName}}</view>
<view><strong>报工时间</strong> :{{item.reportcreateTime}}</view>
</uni-col>
<uni-col :span="6"> <u-button type="success" @click="handleFinish(item)"
style="font-size: 14px;margin-top: 10px;">通过</u-button></uni-col>
</uni-row>
</uni-card>
</uni-collapse-item>
</uni-forms>
</uni-collapse>
</view>
</template>
<script>
import {
getDicts
} from "@/api/system/dict/dictData.js";
import {
listQualityBill,
addQualityBill,
getQualityBill,
updateQualityBill,
listQualityBillByBatchNo,
getStandardList,
listStandardList
} from "@/api/qc/qc.js";
import {
listPwoJob,
addReport,
getEquipment,
addReportEnterPiece,
listEquipment
} from "@/api/mes/jobReport.js";
import {
listMesPwoRecordrecord,
getMesPwoRecordrecord,
delMesPwoRecordrecord,
addMesPwoRecordrecord,
updateMesPwoRecordrecord
} from "@/api/mes/mesPwoRecordrecord";
import {
listMesPwoRecordDetail,
getMesPwoRecordDetail,
delMesPwoRecordDetail,
addMesPwoRecordDetail,
updateMesPwoRecordDetail,
} from "@/api/mes/mesPwoRecordDetail";
export default {
mounted() {
getDicts("qc_bill_status").then(res => {
this.statusOptions = res.data.map(dict => {
return {
text: dict.dictLabel,
value: dict.dictValue,
diasble: false
}
});
})
getDicts("qc_bill_result").then(res => {
this.resultOptions = res.data.map(dict => {
return {
text: dict.dictLabel,
value: dict.dictValue,
diasble: false
}
});
})
listMesPwoRecordrecord().then(resp => {
this.recordList = resp.rows
})
},
data() {
return {
recordList: [],
statusOptions: [],
resultOptions: [],
qcList: [],
formData: {
sourceCode: null,
status: "0",
type: 3
},
}
},
methods: {
badRecordList(item) {
listMesPwoRecordrecord({
relOrderCode: item.qualityCode
}).then(res => {
if (res.rows.length > 0) {
listMesPwoRecordDetail({
pwoRecordId: res.rows[0].id
}).then(response => {
console.log(response)
let mesPwoRecordDetailList = response.rows.map((obj) => {
obj.dataInfo = JSON.parse(obj.dataInfo);
return obj;
});
console.log(mesPwoRecordDetailList)
let obj = {
pwoRecordName: res.rows[0].pwoRecordName,
pwoRecordCode: res.rows[0].pwoRecordCode,
mesPwoRecordDetailList: mesPwoRecordDetailList
}
uni.navigateTo({
url: '/pages/mes/pwoRecord/badRecordList?formData=' +
encodeURIComponent(
JSON.stringify(obj))
});
});
} else {
this.$modal.msg("未查询到记录单相关信息!")
}
})
},
badRecordForm(item) {
uni.navigateTo({
url: '/pages/mes/pwoRecord/badRecord?reportForm=' +
encodeURIComponent(
JSON.stringify(item))
});
},
scanBarSourceCode(code) {
const _this = this;
uni.scanCode({
scanType: ['barCode', 'qrCode'],
success: function(res) {
_this.formData.sourceCode = res.result;
_this.submit()
}
});
},
submit() {
listQualityBill(this.formData).then(res => {
if (res.rows.length > 0) {
res.rows.map(item => {
let obj = this.recordList.find(r => r.relOrderCode == item.qualityCode)
if (obj) {
item.isRecord = true
} else {
item.isRecord = false
}
item.additionalJson = JSON.parse(item.additionalJson);
item.ptNoTar = item.additionalJson.ptNoTar;
item.opTitle = item.additionalJson.opTitle;
item.ptTitleTar = item.additionalJson.ptTitleTar;
item.specification1 = item.additionalJson.specification1;
item.reportNumber = item.additionalJson.reportNumber;
item.createByName = item.additionalJson.createByName;
item.reportcreateTime = item.additionalJson.createTime;
item.pwoCode = item.additionalJson.pwoCode;
item.pwoJobCode = item.additionalJson.pwoJobCode;
item.reportId = item.additionalJson.id;
item.eqpCode = item.additionalJson.machineId;
item.opCode = item.additionalJson.opCode;
return item
})
console.log(res.rows)
this.qcList = res.rows;
console.log(this.qcList)
} else {
this.$modal.msg("未查询到相关信息,请重新输入!")
this.formData.sourceCode = null;
}
})
},
handleFinish(item) {
let obj = this.resultOptions.find(i => i.text == '通过')
if (obj) {
item.additionalJson = JSON.stringify(item.additionalJson)
item.result = obj.value
getQualityBill(item.id).then(res => {
item.qcQualityBillDetailList = res.data.qcQualityBillDetailList
updateQualityBill(item).then(res => {
this.$modal.msgSuccess("修改成功!");
})
})
}
}
}
}
</script>
<style>
.text {
text-align: center;
}
</style>