| | |
| | | >提 交</el-button |
| | | > |
| | | <el-button |
| | | icon="el-icon-download" |
| | | icon="el-icon-back" |
| | | @click=" |
| | | () => { |
| | | goBack(); |
| | |
| | | <el-input |
| | | v-if="detailId !== null" |
| | | :disabled="detailId !== null" |
| | | v-model="detailInfo.rname" |
| | | v-model="detailInfo.name" |
| | | ></el-input> |
| | | <el-input |
| | | v-else |
| | |
| | | <el-input |
| | | v-if="detailId !== null" |
| | | :disabled="detailId !== null" |
| | | v-model="detailInfo.rcode" |
| | | v-model="detailInfo.code" |
| | | ></el-input> |
| | | <el-input |
| | | v-else |
| | |
| | | <el-col :span="7"> |
| | | <el-form-item label="供应商名称:"> |
| | | <el-input |
| | | :placeholder="detailId !== null ? '' : '请输入检验数量'" |
| | | :placeholder="detailId !== null ? '' : '请输入供应商名称'" |
| | | :disabled="detailId !== null" |
| | | v-model="detailInfo.supplier" |
| | | ></el-input> |
| | |
| | | <el-input v-else v-model="scope.row.rpUnit" disabled></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="required" label="标准" min-width="150"> |
| | | <el-table-column prop="required" label="标准值" min-width="150"> |
| | | <template slot-scope="scope"> |
| | | <el-input |
| | | :disabled="detailId != null" |
| | | @blur="assertTest(scope.row)" |
| | | v-model="scope.row.required" |
| | | placeholder="请输入标准值" |
| | | ></el-input> |
| | |
| | | <el-table-column prop="internal" label="内控值" min-width="150"> |
| | | <template slot-scope="scope"> |
| | | <el-input |
| | | @blur="assertTest(scope.row)" |
| | | :disabled="detailId != null" |
| | | v-model="scope.row.internal" |
| | | placeholder="请输入内控值" |
| | | ></el-input> |
| | |
| | | <el-table :data="conclusionTable" style="100%"> |
| | | <el-table-column prop="code" label="物料编号"> </el-table-column> |
| | | <el-table-column prop="name" label="物料名称"> </el-table-column> |
| | | <el-table-column prop="names" label="检验员"> |
| | | <el-table-column v-if="detailId != null" prop="uName" label="检验员"> |
| | | <template slot-scope="scope"> |
| | | <span |
| | | v-for="item in scope.row.names" |
| | | :key="item && item.userName" |
| | | v-for="item in scope.row.uName" |
| | | :key="item && item.uName" |
| | | :style="{ marginRight: '8px' }" |
| | | >{{ item }}</span |
| | | > |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { triggerRef } from "vue"; |
| | | import RawIns from "./raw-ins.vue"; |
| | | export default { |
| | | components: { RawIns }, |
| | |
| | | this.detailInfo = {}; |
| | | if (this.detailId) { |
| | | this.getDetailInfo(); |
| | | } else { |
| | | this.getOptions(); |
| | | } |
| | | this.getOptions(); |
| | | }, |
| | | mounted() {}, |
| | | computed: { |
| | |
| | | const conclusion = {}; |
| | | conclusion.name = this.detailInfo.name; |
| | | conclusion.code = this.detailInfo.code; |
| | | conclusion.names = [ |
| | | ...new Set(this.projectTable.map(item => item.userName)) |
| | | conclusion.uName = [ |
| | | ...new Set(this.projectTable.map(item => item.uName)) |
| | | ]; |
| | | if ( |
| | | this.projectTable.filter(item => item.testState === null).length === |
| | |
| | | } else { |
| | | conclusion.testState = 1; |
| | | } |
| | | console.log([conclusion]); |
| | | return [conclusion]; |
| | | } |
| | | }, |
| | |
| | | label: "name" |
| | | }, |
| | | nodeData: "", // node点击保存当前点击数据 |
| | | clickSelectSaveIndex: "" // 点击选择存储列表索引 |
| | | clickSelectDevice: { |
| | | index: "", // 点击选择存储当前行索引 |
| | | rpId: "" // 点击选择存储当前行项目Id |
| | | } |
| | | }; |
| | | }, |
| | | watch: { |
| | |
| | | } |
| | | }, |
| | | methods: { |
| | | assertTest(row){ |
| | | let fuArr=['>', '<', '='] |
| | | if(!fuArr.includes(row.required[0])){ |
| | | this.$message({ |
| | | message: "标准值["+row.required+"]格式首位应包含>,<或者=", |
| | | type: 'warning' |
| | | }); |
| | | return |
| | | } |
| | | if(!fuArr.includes(row.internal[0])){ |
| | | this.$message({ |
| | | message: "内控值["+row.internal+"]格式首位应包含>,<或者=", |
| | | type: 'warning' |
| | | }); |
| | | return |
| | | } |
| | | }, |
| | | // 设备树过滤搜索 |
| | | filterNode(value, data) { |
| | | if (!value) return true; |
| | |
| | | this.detailInfo = res.data; |
| | | this.projectTable = res.data.children; |
| | | this.projectTable.forEach(i => { |
| | | i.testValueList = i.testValue.split(","); |
| | | // 解决重新赋值无法编辑操作 |
| | | if (i.testValue == null) { |
| | | this.$set(i, "testValueList", []); |
| | | } else { |
| | | this.$set(i, "testValueList", i.testValue.split(",")); |
| | | } |
| | | // 取最长的列表数 |
| | | if (i.testValueList.length > this.empiricalValueAdd) { |
| | | this.empiricalValueAdd = i.testValueList.length; |
| | |
| | | }, |
| | | // 新增检验单 |
| | | async addNewRawInspect() { |
| | | //TODO: |
| | | console.log(this.projectTable); |
| | | if(this.projectTable.length>0){ |
| | | let filterTable= this.projectTable.filter(item=>{ |
| | | return item.required===''||item.internal===''|| |
| | | item.required===null||item.internal===null||item.name==='' |
| | | }) |
| | | if(filterTable.length>0) { |
| | | this.$message({ |
| | | message: "项目名称,标准值和内控值不能为空!", |
| | | type: 'warning' |
| | | }); |
| | | return |
| | | } |
| | | } |
| | | this.projectTable.forEach(i => { |
| | | // 将列表转换为字符串 |
| | | i.testValue = i.testValueList.join(","); |
| | | }); |
| | | this.detailInfo.rawInsProducts = this.projectTable; |
| | | const res = await this.$axios.post( |
| | | this.$axios.post( |
| | | this.$api.url.addRawInspects, |
| | | { ...this.detailInfo }, |
| | | { headers: { "Content-Type": "application/json" } } |
| | | ); |
| | | this.detailId = res.data; |
| | | this.getDetailInfo(); |
| | | this.$message.success(res.message); |
| | | ).then(res=>{ |
| | | console.log(res); |
| | | if(res.code=="201"){ |
| | | this.$message({ |
| | | message: res.message, |
| | | type: 'warning' |
| | | }); |
| | | return |
| | | }else{ |
| | | // this.detailId = res.data; |
| | | // this.getDetailInfo(); |
| | | // // this.$message.success(res.message); |
| | | // this.goBack(); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | // 修改项目的检测值改变结论 |
| | |
| | | if (this.detailId !== null) { |
| | | const res = await this.$axios.post(this.$api.url.updaterawInsProduct, { |
| | | DevId: row.deviceId, |
| | | rpId: this.detailId, |
| | | testValue: row.testValueList[index] |
| | | rpId: row.rpId, |
| | | testValue: row.testValueList.join(",") |
| | | }); |
| | | this.$message.success("提交成功"); |
| | | this.getDetailInfo(); //重新刷新信息数据 |
| | |
| | | async submitSave() { |
| | | const res = await this.$axios.post( |
| | | this.$api.url.updateRawInspectsById + `${this.detailId}` |
| | | ); |
| | | this.$message.success("提交成功"); |
| | | this.getDetailInfo(); |
| | | ).then(res=>{ |
| | | this.$message.success("提交成功"); |
| | | this.getDetailInfo(); |
| | | this.goBack() |
| | | }); |
| | | }, |
| | | // 获取设备树内容 |
| | | getOptions() { |
| | |
| | | name: "", |
| | | required: "", |
| | | textValue: "", |
| | | testState:null, |
| | | testValueList: [], |
| | | unit: "" |
| | | }; |
| | |
| | | // 点击表格选择触发 |
| | | clickTableSelect(scope) { |
| | | this.centerDialogVisible = true; |
| | | this.clickSelectSaveIndex = scope.$index; |
| | | this.clickSelectDevice.index = scope.$index; |
| | | this.clickSelectDevice.rpId = scope.row.rpId; |
| | | }, |
| | | // 点击树里面的确定 |
| | | clickNodeSure() { |
| | | this.projectTable[this.clickSelectSaveIndex].deviceId = this.nodeData.id; |
| | | this.projectTable[ |
| | | this.clickSelectSaveIndex |
| | | ].deviceName = this.nodeData.name; |
| | | this.centerDialogVisible = false; |
| | | if (this.detailId == null) { |
| | | this.projectTable[ |
| | | this.clickSelectDevice.index |
| | | ].deviceId = this.nodeData.id; |
| | | this.projectTable[ |
| | | this.clickSelectDevice.index |
| | | ].deviceName = this.nodeData.name; |
| | | this.centerDialogVisible = false; |
| | | } else { |
| | | this.$axios |
| | | .post(this.$api.url.updateDevByRpId, { |
| | | rpId: this.clickSelectDevice.rpId, |
| | | devId: this.nodeData.id |
| | | }) |
| | | .then(res => { |
| | | this.getDetailInfo(); |
| | | this.centerDialogVisible = false; |
| | | }); |
| | | } |
| | | }, |
| | | // 删除检验值列 |
| | | clickDeleteInspectionColumn() { |