|
@@ -1,113 +1,196 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
<el-dialog
|
|
|
- :title="!id ? '新增': display ? '详情' : '修改'"
|
|
|
+ :title="!id ? '新增': '处理'"
|
|
|
width="70%"
|
|
|
:close-on-click-modal="false"
|
|
|
:visible.sync="visible">
|
|
|
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" label-width="auto">
|
|
|
<el-row class="my-row">
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="编码" prop="inspectionCode">
|
|
|
- <el-input v-model="dataForm.inspectionCode" :disabled="display || !id" placeholder="系统自动生成,无需填写"></el-input>
|
|
|
+ <el-form-item label="检验单编码" prop="inspectionCode">
|
|
|
+ <el-input v-model="dataForm.inspectionCode" :disabled="true"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8" style="padding-left: 10px">
|
|
|
- <el-form-item label="名称" prop="materialName">
|
|
|
- <el-input v-model="dataForm.materialName" :disabled="display" placeholder="名称"></el-input>
|
|
|
+ <el-form-item label="物品名称" prop="materialName">
|
|
|
+ <el-input v-model="dataForm.materialName" :disabled="true"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8" style="padding-left: 10px">
|
|
|
+ <el-form-item label="批次号" prop="batchNumber">
|
|
|
+ <el-input v-model="dataForm.batchNumber" :disabled="true"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row class="my-row">
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="规格/图号" prop="specifications">
|
|
|
+ <el-input v-model="dataForm.specifications" :disabled="true"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8" style="padding-left: 10px">
|
|
|
<el-form-item label="类别" prop="materialTypeName">
|
|
|
- <el-input v-model="dataForm.materialTypeName" :disabled="display" placeholder="类别"></el-input>
|
|
|
+ <el-input v-model="dataForm.materialTypeName" :disabled="true"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8" style="padding-left: 10px">
|
|
|
+ <el-form-item label="来源" prop="source">
|
|
|
+ <el-input v-model="dataForm.source" :disabled="true"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
-<!-- <el-row class="my-row">-->
|
|
|
-<!-- <el-col :span="8">-->
|
|
|
-<!-- <el-form-item label="制造商" prop="manufacturers">-->
|
|
|
-<!-- <el-input v-model="dataForm.manufacturers" :disabled="display" placeholder="制造商"></el-input>-->
|
|
|
-<!-- </el-form-item>-->
|
|
|
-<!-- </el-col>-->
|
|
|
-<!-- <el-col :span="8" style="padding-left: 10px">-->
|
|
|
-<!-- <el-form-item label="检定日期" prop="verificationDate">-->
|
|
|
-<!-- <el-date-picker-->
|
|
|
-<!-- :disabled="display"-->
|
|
|
-<!-- v-model="dataForm.verificationDate"-->
|
|
|
-<!-- value-format="yyyy-MM-dd"-->
|
|
|
-<!-- type="date">-->
|
|
|
-<!-- </el-date-picker>-->
|
|
|
-<!-- </el-form-item>-->
|
|
|
-<!-- </el-col>-->
|
|
|
-<!-- <el-col :span="8" style="padding-left: 10px">-->
|
|
|
-<!-- <el-form-item label="检定有效期" prop="validityDate">-->
|
|
|
-<!-- <el-date-picker-->
|
|
|
-<!-- :disabled="display"-->
|
|
|
-<!-- v-model="dataForm.validityDate"-->
|
|
|
-<!-- value-format="yyyy-MM-dd"-->
|
|
|
-<!-- type="date">-->
|
|
|
-<!-- </el-date-picker>-->
|
|
|
-<!-- </el-form-item>-->
|
|
|
-<!-- </el-col>-->
|
|
|
-<!-- </el-row>-->
|
|
|
-<!-- <el-row class="my-row">-->
|
|
|
-<!-- <el-col :span="8">-->
|
|
|
-<!-- <el-form-item label="设备责任人" prop="responsibilityUser">-->
|
|
|
-<!-- <el-input v-if="display" v-model="dataForm.responsibilityUserName" disabled></el-input>-->
|
|
|
-<!-- <user-component v-else v-model="dataForm.responsibilityUser"/>-->
|
|
|
-<!-- </el-form-item>-->
|
|
|
-<!-- </el-col>-->
|
|
|
-<!-- <el-col :span="8" style="padding-left: 20px">-->
|
|
|
-<!-- <el-form-item label="操作人" prop="userOf">-->
|
|
|
-<!-- <el-input v-if="display" v-model="dataForm.userOfName" disabled></el-input>-->
|
|
|
-<!-- <user-component v-else v-model="dataForm.userOf"/>-->
|
|
|
-<!-- </el-form-item>-->
|
|
|
-<!-- </el-col>-->
|
|
|
-<!-- </el-row>-->
|
|
|
-<!-- <el-row class="my-row">-->
|
|
|
-<!-- <upload-component :display="display" :title="'使用说明书'" :accept="'*'" :file-obj-list="fileList" @uploadSuccess="uploadSuccess"/>-->
|
|
|
-<!-- </el-row>-->
|
|
|
-<!-- <el-row class="my-row" style="margin-top: 20px">-->
|
|
|
-<!-- <el-form-item label="备注" prop="notes">-->
|
|
|
-<!-- <el-input type="textarea" v-model="dataForm.notes" :disabled="display" placeholder="备注"></el-input>-->
|
|
|
-<!-- </el-form-item>-->
|
|
|
-<!-- </el-row>-->
|
|
|
+ <el-row class="my-row">
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="来料类型" prop="inspectionType">
|
|
|
+ <el-select v-model="dataForm.inspectionType" placeholder="请选择">
|
|
|
+ <el-option
|
|
|
+ v-for="item in optionsTypes"
|
|
|
+ :key="item.code"
|
|
|
+ :label="item.value"
|
|
|
+ :value="item.code">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8" style="padding-left: 10px">
|
|
|
+ <el-form-item label="检验依据" prop="inspectionBasis">
|
|
|
+ <el-input v-model="dataForm.inspectionBasis"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8" style="padding-left: 10px">
|
|
|
+ <el-form-item label="合格证编码" prop="qualifiedCertificateCode">
|
|
|
+ <el-input v-model="dataForm.qualifiedCertificateCode"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-form-item label="检测设备" prop="detectionEquipment">
|
|
|
+ <el-input type="textarea" v-model="dataForm.detectionEquipment"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-form-item label="检验结论" prop="conclusion">
|
|
|
+ <el-input type="textarea" v-model="dataForm.conclusion"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-form-item label="备注说明" prop="notes">
|
|
|
+ <el-input type="textarea" v-model="dataForm.notes"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-row>
|
|
|
+ <div class="title"><span style="color: red">*</span> 检验项目</div>
|
|
|
+ <el-row>
|
|
|
+ <el-table
|
|
|
+ :data="checkItems"
|
|
|
+ border
|
|
|
+ style="width: 100%">
|
|
|
+ <el-table-column
|
|
|
+ label="序号"
|
|
|
+ type="index"
|
|
|
+ width="50"
|
|
|
+ align="center">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="inspectionProject"
|
|
|
+ header-align="center"
|
|
|
+ align="center"
|
|
|
+ min-width="140"
|
|
|
+ label="检验项目">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="technicalIndicators"
|
|
|
+ header-align="center"
|
|
|
+ align="center"
|
|
|
+ min-width="120"
|
|
|
+ label="技术指标">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="measuredRecords"
|
|
|
+ header-align="center"
|
|
|
+ align="center"
|
|
|
+ min-width="160"
|
|
|
+ label="实测记录">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="notes"
|
|
|
+ header-align="center"
|
|
|
+ align="center"
|
|
|
+ width="180"
|
|
|
+ :show-tooltip-when-overflow="true"
|
|
|
+ label="备注/说明">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ fixed="right"
|
|
|
+ header-align="center"
|
|
|
+ align="center"
|
|
|
+ width="150"
|
|
|
+ label="操作">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button type="text" size="small" @click="addItemHandle(scope.row)">编辑</el-button>
|
|
|
+ <el-button style="color: red" type="text" size="small" @click="deleteItemHandle(scope.row.id)">删除</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-row>
|
|
|
+ <el-row style="text-align: center; margin-top: 10px;">
|
|
|
+ <el-button type="primary" icon="el-icon-plus" @click="addItemHandle()"></el-button>
|
|
|
+ </el-row>
|
|
|
</el-form>
|
|
|
<span slot="footer" class="dialog-footer">
|
|
|
- <el-button @click="visible = false">取消</el-button>
|
|
|
- <el-button v-if="!display" type="primary" @click="dataFormSubmit()">确定</el-button>
|
|
|
- </span>
|
|
|
+ <el-button @click="visible = false">取消</el-button>
|
|
|
+ <el-button type="primary" @click="dataFormSubmit()">确定</el-button>
|
|
|
+ </span>
|
|
|
</el-dialog>
|
|
|
+ <add-item v-if="addItemVisible" ref="addItem" @addItem="addItem"/>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+ import AddItem from './ibc-check-chose'
|
|
|
import { getIncomingInspectionDetail } from '@/api/check'
|
|
|
export default {
|
|
|
name: 'ibc-add-or-update',
|
|
|
+ components: {AddItem},
|
|
|
data () {
|
|
|
return {
|
|
|
visible: false,
|
|
|
- display: false,
|
|
|
- dataList: [],
|
|
|
+ addItemVisible: false,
|
|
|
id: 0,
|
|
|
dataForm: {},
|
|
|
+ checkItems: [],
|
|
|
+ optionsTypes: [
|
|
|
+ {
|
|
|
+ code: '1', value: '原、辅材料'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ code: '2', value: '外协件'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ code: '3', value: '其他'
|
|
|
+ }
|
|
|
+ ],
|
|
|
dataRule: {
|
|
|
- // name: [{ required: true, message: '名称不能为空', trigger: 'blur' }]
|
|
|
+ inspectionType: [{ required: true, message: '来料类型不能为空', trigger: 'change' }],
|
|
|
+ inspectionBasis: [{ required: true, message: '检验依据不能为空', trigger: 'blur' }],
|
|
|
+ qualifiedCertificateCode: [{ required: true, message: '合格证编码不能为空', trigger: 'blur' }],
|
|
|
+ detectionEquipment: [{ required: true, message: '检测设备不能为空', trigger: 'blur' }],
|
|
|
+ conclusion: [{ required: true, message: '检验结论不能为空', trigger: 'blur' }]
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
- async init (id, display) {
|
|
|
+ async init (id) {
|
|
|
this.dataForm = {}
|
|
|
this.visible = true
|
|
|
this.id = id || 0
|
|
|
- this.display = display
|
|
|
if (!id) return
|
|
|
await getIncomingInspectionDetail(this.id).then(({data}) => {
|
|
|
if (data && data.code === '200') {
|
|
|
this.dataForm = data.data
|
|
|
- console.log('data = ' + JSON.stringify(data.data))
|
|
|
+ if (data.data.qualityInspectionItemsList) {
|
|
|
+ this.checkItems = data.data.qualityInspectionItemsList
|
|
|
+ }
|
|
|
}
|
|
|
})
|
|
|
},
|
|
@@ -118,8 +201,13 @@
|
|
|
dataFormSubmit () {
|
|
|
this.$refs['dataForm'].validate((valid) => {
|
|
|
if (valid) {
|
|
|
+ if (this.checkItems.length === 0) {
|
|
|
+ this.$message.warning('请选择检验项目')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ this.dataForm.qualityInspectionItemsList = this.checkItems
|
|
|
this.$http({
|
|
|
- url: !this.id ? this.$http.adornUrl(`/biz-service/equipment/save`) : this.$http.adornUrl(`/biz-service/equipment/update`),
|
|
|
+ url: !this.id ? this.$http.adornUrl(`/biz-service/incomingInspection/save`) : this.$http.adornUrl(`/biz-service/incomingInspection/update`),
|
|
|
method: 'post',
|
|
|
data: this.$http.adornData(this.dataForm)
|
|
|
}).then(({data}) => {
|
|
@@ -139,6 +227,25 @@
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
+ },
|
|
|
+ addItemHandle (row) {
|
|
|
+ this.addItemVisible = true
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.addItem.init(row)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ deleteItemHandle (id) {
|
|
|
+ this.checkItems.splice(this.checkItems.findIndex((item) => item.id === id))
|
|
|
+ console.log('items = ' + JSON.stringify(this.checkItems))
|
|
|
+ },
|
|
|
+ addItem (item) {
|
|
|
+ if (!item) return
|
|
|
+ this.addItemVisible = false
|
|
|
+ let i = this.checkItems.findIndex((item) => item.id === item.id)
|
|
|
+ if (i > -1) {
|
|
|
+ this.checkItems.splice(i)
|
|
|
+ }
|
|
|
+ this.checkItems.push(item)
|
|
|
}
|
|
|
}
|
|
|
}
|