| | |
| | | >>> .el-upload-dragger { |
| | | width: 100% !important; |
| | | } |
| | | .mb-10 { |
| | | margin-bottom: 10px; |
| | | } |
| | | </style> |
| | | |
| | | <template> |
| | |
| | | <el-button type="primary" @click="submitUpload()" :loading="uploading">上 传</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog :title="addTitle" :visible.sync="addVisible" width="50%"> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12" class="mb-10"> |
| | | <div class="search_thing"> |
| | | <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>检验项:</div> |
| | | <div class="search_input"><el-input size="small" placeholder="请输入" clearable |
| | | v-model="addForm.inspectionItem"></el-input></div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="12" class="mb-10"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">检验项EN:</div> |
| | | <div class="search_input"><el-input size="small" placeholder="请输入" clearable |
| | | v-model="addForm.inspectionItemEn"></el-input></div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="12" class="mb-10"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">检验子项:</div> |
| | | <div class="search_input"><el-input size="small" placeholder="请输入" clearable |
| | | v-model="addForm.inspectionItemSubclass"></el-input></div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="12" class="mb-10"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">检验子项EN:</div> |
| | | <div class="search_input"><el-input size="small" placeholder="请输入" clearable |
| | | v-model="addForm.inspectionItemSubclassEn"></el-input></div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="12" class="mb-10"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">检验对象:</div> |
| | | <div class="search_input"> |
| | | <el-cascader v-model="addForm.sample" :options="itemParameterData.cascaderField.sample.tree" :show-all-levels="false" |
| | | placeholder="请选择" clearable |
| | | size="small" filterable style="width: 100%;" :props="{ |
| | | value:'name', |
| | | label:'name', |
| | | checkStrictly: true, |
| | | multiple: true |
| | | }"></el-cascader> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="12" class="mb-10"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">单价(元):</div> |
| | | <div class="search_input"><el-input size="small" placeholder="请输入" clearable |
| | | v-model="addForm.price"></el-input></div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="12" class="mb-10"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">场所:</div> |
| | | <div class="search_input"> |
| | | <el-select v-model="addForm.laboratory" placeholder="请选择" size="small" style="width: 100%;"> |
| | | <el-option |
| | | v-for="item in itemParameterData.selectField.laboratory.select" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | clearable> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="12" class="mb-10"> |
| | | <div class="search_thing"> |
| | | <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>试验室:</div> |
| | | <div class="search_input"> |
| | | <el-select v-model="addForm.sonLaboratory" placeholder="请选择" size="small" style="width: 100%;"> |
| | | <el-option |
| | | v-for="item in itemParameterData.selectField.sonLaboratory.select" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | clearable> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="12" class="mb-10"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">要求描述:</div> |
| | | <div class="search_input"><el-input size="small" placeholder="请输入" clearable |
| | | v-model="addForm.askTell"></el-input></div> |
| | | </div> |
| | | </el-col><el-col :span="12" class="mb-10"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">要求值:</div> |
| | | <div class="search_input"><el-input size="small" placeholder="请输入" clearable |
| | | v-model="addForm.ask"></el-input></div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="12" class="mb-10"> |
| | | <div class="search_thing"> |
| | | <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>计量单位:</div> |
| | | <div class="search_input"> |
| | | <el-select v-model="addForm.unit" placeholder="请选择" size="small" style="width: 100%;"> |
| | | <el-option |
| | | v-for="item in itemParameterData.selectField.unit.select" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | clearable> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="12" class="mb-10"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">工时(H):</div> |
| | | <div class="search_input"><el-input size="small" placeholder="请输入" clearable |
| | | v-model="addForm.manHour"></el-input></div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="12" class="mb-10"> |
| | | <div class="search_thing"> |
| | | <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>预计时间(H):</div> |
| | | <div class="search_input"><el-input size="small" placeholder="请输入" clearable |
| | | v-model="addForm.manDay"></el-input></div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="12" class="mb-10"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">工时分组:</div> |
| | | <div class="search_input"><el-input size="small" placeholder="请输入" clearable |
| | | v-model="addForm.manHourGroup"></el-input></div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="12" class="mb-10"> |
| | | <div class="search_thing"> |
| | | <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>检验项类型:</div> |
| | | <div class="search_input"> |
| | | <el-select v-model="addForm.inspectionItemType" placeholder="请选择" size="small" style="width: 100%;"> |
| | | <el-option |
| | | v-for="item in itemParameterData.selectField.inspectionItemType.select" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | clearable> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="12" class="mb-10"> |
| | | <div class="search_thing"> |
| | | <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>检验值类型:</div> |
| | | <div class="search_input"> |
| | | <el-select v-model="addForm.inspectionValueType" placeholder="请选择" size="small" style="width: 100%;"> |
| | | <el-option |
| | | v-for="item in itemParameterData.selectField.inspectionValueType.select" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | clearable> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="12" class="mb-10"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">字典类型:</div> |
| | | <div class="search_input"> |
| | | <el-select v-model="addForm.dic" placeholder="请选择" size="small" style="width: 100%;"> |
| | | <el-option |
| | | v-for="item in itemParameterData.selectField.dic.select" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | clearable> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="12" class="mb-10"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">特殊标识:</div> |
| | | <div class="search_input"> |
| | | <el-select v-model="addForm.bsm" placeholder="请选择" size="small" style="width: 100%;"> |
| | | <el-option |
| | | v-for="item in itemParameterData.selectField.bsm.select" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | clearable> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="12" class="mb-10"> |
| | | <div class="search_thing"> |
| | | <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>原始记录模板:</div> |
| | | <div class="search_input"> |
| | | <el-select v-model="addForm.templateId" placeholder="请选择" size="small" style="width: 100%;"> |
| | | <el-option |
| | | v-for="item in itemParameterData.selectField.templateId.select" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | clearable> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="12" class="mb-10"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">检验项分类:</div> |
| | | <div class="search_input"><el-input size="small" placeholder="请输入" clearable |
| | | v-model="addForm.inspectionItemClass"></el-input></div> |
| | | </div> |
| | | </el-col><el-col :span="12" class="mb-10"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">检验项分类EN:</div> |
| | | <div class="search_input"><el-input size="small" placeholder="请输入" clearable |
| | | v-model="addForm.inspectionItemClassEn"></el-input></div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="12" class="mb-10"> |
| | | <div class="search_thing"> |
| | | <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>试验方法:</div> |
| | | <div class="search_input"> |
| | | <el-select v-model="addForm.method" placeholder="请选择" size="small" style="width: 100%;" multiple> |
| | | <el-option |
| | | v-for="item in itemParameterData.selectField.method.select" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | clearable> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-button @click="addVisible = false">取 消</el-button> |
| | | <el-button type="primary" @click="addItem" :loading="uploading">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | addVisible:false, |
| | | logining:false, |
| | | radio: '-1', |
| | | showItemParameter: true, |
| | |
| | | select: true, |
| | | row: 2, |
| | | do: [{ |
| | | id: 'update', |
| | | id: '111', |
| | | font: '编辑', |
| | | type: 'text', |
| | | method: 'doDiy', |
| | | method: 'handleEdit', |
| | | field: [] |
| | | }, { |
| | | id: 'delete', |
| | |
| | | itemParameterEntityCopy: {}, |
| | | testObjectDataEntityCopy: {}, |
| | | upIndex: 0, |
| | | addDia: false, |
| | | addPower: true, |
| | | select: 0, |
| | | laboratory: [], |
| | |
| | | fileList: [], |
| | | token: null, |
| | | uploading: false, |
| | | addForm:{ |
| | | inspectionItem:null, |
| | | inspectionItemEn:null, |
| | | inspectionItemSubclass:null, |
| | | inspectionItemSubclassEn:null, |
| | | sample:[], |
| | | price:null, |
| | | laboratory:null, |
| | | sonLaboratory:null, |
| | | askTell:null, |
| | | ask:null, |
| | | unit:null, |
| | | manHour:null, |
| | | manDay:null, |
| | | manHourGroup:null, |
| | | inspectionItemType:null, |
| | | inspectionValueType:null, |
| | | dic:null, |
| | | bsm:null, |
| | | templateId:null, |
| | | inspectionItemClass:null, |
| | | inspectionItemClassEn:null, |
| | | method:[] |
| | | }, |
| | | addTitle:'新增' |
| | | } |
| | | }, |
| | | watch: { |
| | | 'addVisible'(val){ |
| | | if(!val){ |
| | | this.addForm = { |
| | | inspectionItem:null, |
| | | inspectionItemEn:null, |
| | | inspectionItemSubclass:null, |
| | | inspectionItemSubclassEn:null, |
| | | sample:[], |
| | | price:null, |
| | | laboratory:null, |
| | | sonLaboratory:null, |
| | | askTell:null, |
| | | ask:null, |
| | | unit:null, |
| | | manHour:null, |
| | | manDay:null, |
| | | manHourGroup:null, |
| | | inspectionItemType:null, |
| | | inspectionValueType:null, |
| | | dic:null, |
| | | bsm:null, |
| | | templateId:null, |
| | | inspectionItemClass:null, |
| | | inspectionItemClassEn:null, |
| | | method:[] |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | }, |
| | | openAdd() { |
| | | if (this.radio === '0') { |
| | | this.$refs.itemParameterTable.openAddDia(this.$api.capacityScope.addItemParameter); |
| | | // this.$refs.itemParameterTable.openAddDia(this.$api.capacityScope.addItemParameter); |
| | | this.addTitle = '新增' |
| | | this.addVisible = true |
| | | } else { |
| | | this.$refs.testObjectTable.openAddDia(this.$api.capacityScope.addTestObject); |
| | | } |
| | | }, |
| | | handleEdit(row){ |
| | | this.addTitle = '编辑' |
| | | this.addForm = this.HaveJson(row) |
| | | this.addForm.sample = JSON.parse(this.addForm.sample) |
| | | this.addVisible = true |
| | | }, |
| | | addItem(){ |
| | | if(!this.addForm.inspectionItem){ |
| | | this.$message.error('请输入检验项') |
| | | return |
| | | } |
| | | if(!this.addForm.sonLaboratory){ |
| | | this.$message.error('请选择试验室') |
| | | return |
| | | } |
| | | if(!this.addForm.unit){ |
| | | this.$message.error('请选择计量单位') |
| | | return |
| | | } |
| | | if(!this.addForm.manDay){ |
| | | this.$message.error('请选择预计时间') |
| | | return |
| | | } |
| | | if(!this.addForm.inspectionItemType){ |
| | | this.$message.error('请选择检验项类型') |
| | | return |
| | | } |
| | | if(!this.addForm.inspectionValueType){ |
| | | this.$message.error('请选择检验值类型') |
| | | return |
| | | } |
| | | if(!this.addForm.templateId){ |
| | | this.$message.error('请选择原始记录模板') |
| | | return |
| | | } |
| | | if(!this.addForm.method){ |
| | | this.$message.error('请选择试验方法') |
| | | return |
| | | } |
| | | let obj = this.HaveJson(this.addForm) |
| | | obj.method = JSON.stringify(obj.method) |
| | | obj.sample = JSON.stringify(obj.sample) |
| | | this.uploading = true |
| | | if(obj.id){ |
| | | // 修改 |
| | | this.$axios.post(this.$api.capacityScope.upItemParameter, obj, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | this.uploading = false |
| | | if (res.code === 201) { |
| | | return |
| | | } |
| | | this.$message.success('修改成功') |
| | | this.addDia = false |
| | | this.refreshTable() |
| | | this.addVisible = false |
| | | }).catch(e => { |
| | | this.uploading = false |
| | | this.addVisible = false |
| | | }) |
| | | }else{ |
| | | // 新增 |
| | | this.$axios.post(this.$api.capacityScope.addItemParameter, obj, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | this.uploading = false |
| | | if (res.code === 201) { |
| | | return |
| | | } |
| | | this.$message.success('添加成功') |
| | | this.addDia = false |
| | | this.refreshTable() |
| | | this.addVisible = false |
| | | }).catch(e => { |
| | | this.uploading = false |
| | | this.addVisible = false |
| | | }) |
| | | } |
| | | }, |
| | | selectEnumByCategory() { |
| | |
| | | value: a.laboratoryName |
| | | }) |
| | | }) |
| | | this.laboratoryList = data0 |
| | | this.itemParameterData.selectField.laboratory.select = data0 |
| | | this.itemParameterData.tagField.laboratory.select = data0 |
| | | this.testObjectData.selectField.laboratoryId.select = data |
| | |
| | | }) |
| | | this.itemParameterData.selectField.method.select = data |
| | | this.itemParameterData.tagField.method.select = data |
| | | return |
| | | }) |
| | | }, |
| | | selectTestObjectByName() { |
| | |
| | | this.cascaderFieldData(a) |
| | | }) |
| | | this.itemParameterData.cascaderField.sample.tree = res.data |
| | | // this.sampleTree = res.data |
| | | // console.log(2222,res.data) |
| | | }) |
| | | }, |
| | | cascaderFieldData(val){ |