| | |
| | | <el-col :span="12" style="text-align: right;"> |
| | | <el-button icon="el-icon-circle-plus-outline" v-show="detailId === null" @click="addNewRawInspect" |
| | | style="background-color: #004ea2; color: #ffffff;">提 交</el-button> |
| | | <el-button icon="el-icon-back" @click=" |
| | | () => { |
| | | <el-button icon="el-icon-back" @click="() => { |
| | | goBack(); |
| | | } |
| | | ">返 回</el-button> |
| | |
| | | <el-row> |
| | | <el-col :span="7"> |
| | | <el-form-item label="来料日期:"> |
| | | <el-input v-if="detailId !== null" :disabled="detailId !== null" v-model="detailInfo.formTime"></el-input> |
| | | <el-input v-if="detailId !== null" :disabled="detailId !== null" |
| | | v-model="detailInfo.formTime"></el-input> |
| | | <el-date-picker v-else type="date" value-format="yyyy-MM-dd" v-model="detailInfo.formTime" |
| | | placeholder="选择日期"> |
| | | </el-date-picker> |
| | |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <el-form-item label="原材料名称:"> |
| | | <el-input v-if="detailId !== null" :disabled="detailId !== null" v-model="detailInfo.name"></el-input> |
| | | <el-input v-else v-model="detailInfo.name" placeholder="请输入原材料名称"></el-input> </el-form-item></el-col> |
| | | <el-input v-if="detailId !== null" :disabled="detailId !== null" |
| | | v-model="detailInfo.name"></el-input> |
| | | <el-input v-else v-model="detailInfo.name" placeholder="请输入原材料名称"></el-input> |
| | | </el-form-item></el-col> |
| | | <el-col :span="7"> |
| | | <el-form-item label="原材料编码:"> |
| | | <el-input v-if="detailId !== null" :disabled="detailId !== null" v-model="detailInfo.code"></el-input> |
| | | <el-input v-else v-model="detailInfo.code" placeholder="请输入原材料编码"></el-input> |
| | | <el-input v-if="detailId !== null" :disabled="detailId !== null" |
| | | v-model="detailInfo.code"></el-input> |
| | | <el-input @blur="blurCode" v-else v-model="detailInfo.code" placeholder="请输入原材料编码"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <el-form-item label="单位:"> |
| | | <el-input v-if="detailId !== null" :disabled="detailId !== null" v-model="detailInfo.runit"></el-input> |
| | | <el-input v-else placeholder="请输入检验单位" :disabled="detailId !== null" v-model="detailInfo.unit"></el-input> |
| | | <el-input v-if="detailId !== null" :disabled="detailId !== null" |
| | | v-model="detailInfo.runit"></el-input> |
| | | <el-input v-else placeholder="请输入检验单位" :disabled="detailId !== null" |
| | | v-model="detailInfo.unit"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="7"> |
| | |
| | | <el-col :span="12" style="line-height: 32px;">检验项目</el-col> |
| | | <el-col :span="12" style="line-height: 32px; padding-top: 6px;"> |
| | | <el-button style="float: right;" @click="clickDeleteInspectionColumn()">删除检验值列</el-button> |
| | | <el-button style="float: right;margin-right: 30px;" @click="clickAddInspectionColumn()">添加检验值列</el-button> |
| | | <el-button style="float: right;margin-right: 30px;" |
| | | @click="clickAddInspectionColumn()">添加检验值列</el-button> |
| | | <el-button v-if="detailId == null" style="float: right;margin-right: 30px;" |
| | | @click="clickAddLine()">添加检验行</el-button> |
| | | </el-col> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="rpName" label="项目" width="212"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-if="detailId == null" v-model="scope.row.name" placeholder="请输入项目名称"></el-input> |
| | | <!-- <el-input v-if="detailId == null" v-model="scope.row.name" placeholder="请输入项目名称"></el-input> --> |
| | | <el-autocomplete v-if="detailId == null" class="inline-input" v-model="scope.row.name" |
| | | :fetch-suggestions="querySearch" placeholder="请输入项目名称" @select="handleSelect(scope.row)" |
| | | @blur="handleSelect(scope.row)"></el-autocomplete> |
| | | <el-input v-else v-model="scope.row.rpName" disabled></el-input> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | <el-table-column prop="name" label="物料名称"> </el-table-column> |
| | | <el-table-column v-if="detailId != null" prop="uName" label="检验员"> |
| | | <template slot-scope="scope"> |
| | | <span v-for="item in scope.row.uName" :key="item && item.uName" |
| | | :style="{ marginRight: '8px' }">{{ item }}</span> |
| | | <span v-for="item in scope.row.uName" :key="item && item.uName" :style="{ marginRight: '8px' }">{{ |
| | | item }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="testState" label="检验结论"> |
| | |
| | | </el-table-column> |
| | | <el-table-column v-if="detailId !== null" label="操作" width="120"> |
| | | <template> |
| | | <el-button type="text" size="small" @click.once="submitSave">上报</el-button> |
| | | <el-button type="text" size="small" @click="submitSave">上报</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | <div class="div_device_dialog"> |
| | | <el-input placeholder="输入关键字进行过滤" v-model="filterText" style="margin-bottom: 6px;"> |
| | | </el-input> |
| | | <el-tree class="filter-tree" :data="materialOptions" :props="defaultProps" default-expand-all highlight-current |
| | | @node-click="nodeClick" :filter-node-method="filterNode" ref="tree"> |
| | | <el-tree class="filter-tree" :data="materialOptions" :props="defaultProps" default-expand-all |
| | | highlight-current @node-click="nodeClick" :filter-node-method="filterNode" ref="tree"> |
| | | <div class="custom-tree-node" slot-scope="{ data }"> |
| | | <span><i :class=" |
| | | `node_i ${ |
| | | data.children ? 'el-icon-folder-opened' : 'el-icon-tickets' |
| | | <span><i :class="`node_i ${data.children ? 'el-icon-folder-opened' : 'el-icon-tickets' |
| | | }` |
| | | "></i> |
| | | {{ data.name }}</span> |
| | |
| | | centerDialogVisible: false, |
| | | // 详情页就是详情信息 |
| | | detailInfo: {}, |
| | | //产品信息 |
| | | ifsInfo: {}, |
| | | // 表格 |
| | | projectTable: [], |
| | | // 新建检验单参数对象 |
| | |
| | | clickSelectDevice: { |
| | | index: "", // 点击选择存储当前行索引 |
| | | rpId: "" // 点击选择存储当前行项目Id |
| | | } |
| | | }, |
| | | restaurants: [] |
| | | }; |
| | | }, |
| | | watch: { |
| | |
| | | } |
| | | }, |
| | | methods: { |
| | | blurCode() { |
| | | // this.detailId=10 |
| | | let data = { |
| | | code: this.detailInfo.code |
| | | } |
| | | console.log(data); |
| | | this.$axios.post( |
| | | this.$api.url.rawInspectChooseIFS, { |
| | | code: this.detailInfo.code |
| | | } |
| | | ).then(res => { |
| | | this.ifsInfo = res.data |
| | | console.log("ifs", this.ifsInfo); |
| | | this.$set(this.detailInfo, "formTime", this.ifsInfo.formTime) |
| | | this.detailInfo.formTime = this.ifsInfo.formTime |
| | | this.detailInfo.name = this.ifsInfo.name |
| | | this.detailInfo.supplier = this.ifsInfo.supplier |
| | | this.detailInfo.unit = this.ifsInfo.unit |
| | | this.detailInfo.userName = this.ifsInfo.userName |
| | | this.detailInfo.number = this.ifsInfo.number |
| | | this.detailInfo.specifications = this.ifsInfo.specifications |
| | | this.restaurants = JSON.parse(JSON.stringify(this.ifsInfo.rawInsProducts)) |
| | | this.restaurants.forEach(item => { |
| | | this.$set(item, "value", item.name) |
| | | }) |
| | | console.log("restaurants", this.restaurants); |
| | | }) |
| | | }, |
| | | querySearch(queryString, cb) { |
| | | var restaurants = this.restaurants; |
| | | var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants; |
| | | // 调用 callback 返回建议列表的数据 |
| | | cb(results); |
| | | }, |
| | | createFilter(queryString) { |
| | | return (restaurant) => { |
| | | return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0); |
| | | }; |
| | | }, |
| | | handleSelect(row) { |
| | | let select = this.restaurants.filter(item => { |
| | | return item.name === row.name |
| | | })[0] |
| | | if (select != undefined) { |
| | | this.$set(row, "internal", select.internal) |
| | | this.$set(row, "required", select.required) |
| | | this.$set(row, "unit", select.unit) |
| | | //检验值 |
| | | } |
| | | }, |
| | | assertTest(row) { |
| | | // let fuArr=['>', '<', '='] |
| | | // if(!fuArr.includes(row.required[0])){ |
| | |
| | | this.getDetailInfo(); //重新刷新信息数据 |
| | | } |
| | | }, |
| | | async submitSave() { |
| | | const res = await this.$axios.post( |
| | | submitSave() { |
| | | let pro = this.projectTable.filter(item => { |
| | | return item.testState === 0; |
| | | }) |
| | | if (pro.length > 0) { |
| | | this.$prompt('请输入不合格数量', '不合格数量', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | inputPattern: /^\d+$/, |
| | | inputErrorMessage: '请输入正确数字格式' |
| | | }).then(({ value }) => { |
| | | this.$axios.post( |
| | | this.$api.url.updateRawInspectsById+`${this.detailId}`, {"number": value } |
| | | ).then(res => { |
| | | this.$message.success("提交成功"); |
| | | this.getDetailInfo(); |
| | | this.goBack() |
| | | }); |
| | | }).catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '取消输入' |
| | | }); |
| | | }); |
| | | }else{ |
| | | this.$axios.post( |
| | | this.$api.url.updateRawInspectsById + `${this.detailId}` |
| | | ).then(res => { |
| | | this.$message.success("提交成功"); |
| | | this.getDetailInfo(); |
| | | this.goBack() |
| | | }); |
| | | } |
| | | }, |
| | | // 获取设备树内容 |
| | | getOptions() { |