| | |
| | | </el-row> |
| | | </el-form> |
| | | </div> |
| | | |
| | | |
| | | |
| | | <div class="rawMaterial-detail"> |
| | | <el-row style="width:100%;z-index: 10;height:50px;"> |
| | | <el-col :span="19">检验项目</el-col> |
| | | <el-col :span="5"> |
| | | <div style="width:100%;text-align: right;"> |
| | | <el-button v-if="dataForm.id==null" size="small" @click="clickAddLine">添加检验行</el-button> |
| | | <el-col :span="12" > |
| | | <el-button v-if="dataForm.id==null" icon="el-icon-plus" type="primary" size="small" @click="increase">添加检验项目</el-button> |
| | | </el-col> |
| | | <!-- <el-button v-if="dataForm.id==null" size="small" @click="clickAddLine">添加检验行</el-button> --> |
| | | <el-button v-if="resultVal==null || dataForm.id==null" size="small" @click="addTeatValueColumn()">添加检测值列</el-button> |
| | | <el-button v-if="resultVal==null || dataForm.id==null" size="small" @click="delTeatValueColumn()">删除检测值列</el-button> |
| | | </div> |
| | |
| | | </el-row> |
| | | <el-row style="width:100%;"> |
| | | <el-col :span="24"> |
| | | <el-table :header-cell-style="{textAlign:'center',color:'black',backgroundColor:'#fafafa'}" |
| | | :cell-style="{textAlign:'center'}" ref="table" |
| | | :data="list" border style="width: 100%;" height="400"> |
| | | <el-table |
| | | :header-cell-style="{textAlign:'center',color:'black',backgroundColor:'#fafafa'}" |
| | | :cell-style="{textAlign:'center'}" |
| | | ref="table" |
| | | :data="list" |
| | | border |
| | | style="width: 100%;" |
| | | height="400" |
| | | row-key="iid" |
| | | default-expand-all |
| | | :tree-props="{children: 'children', hasChildren: 'hasChildren'}"> |
| | | <el-table-column type="index" label="序号" width="60"> |
| | | </el-table-column> |
| | | <el-table-column prop="father" label="检验项目" width="260"> |
| | | <template slot-scope="scope"> |
| | | <el-input :disabled="dataForm.id != null" v-model="scope.row.father" placeholder="请输入检验项目"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="note" label="检验描述" width="260"> |
| | | <template slot-scope="scope"> |
| | | <el-input :disabled="dataForm.id != null" v-model="scope.row.note" placeholder="检验描述"></el-input> |
| | | <el-input v-if="scope.row.children" :disabled="dataForm.id != null" v-model="scope.row.father" placeholder="请输入检验项目"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="项目" width="260"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-if="projectList.length > 0" :disabled="dataForm.id != null" class="inline-input" v-model="scope.row.name" |
| | | <div v-if="!scope.row.children"> |
| | | <!-- <el-select v-if="projectList.length > 0" :disabled="dataForm.id != null" class="inline-input" v-model="scope.row.name" |
| | | filterable allow-create placeholder="请输入或选择项目名称" style="width:100%" @change="changeName(scope.$index,scope.row)"> |
| | | <el-option v-for="(item,index) in projectList" :key="index" :label="item.name" :value="item.name"/> |
| | | </el-select> |
| | | <el-input v-else :disabled="dataForm.id != null" class="inline-input" v-model="scope.row.name" |
| | | </el-select> --> |
| | | <el-input class="inline-input" v-model="scope.row.name" |
| | | placeholder="请输入项目名称"></el-input> |
| | | </template> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column prop="unit" label="单位" width="260"> |
| | | <template slot-scope="scope"> |
| | | <div v-if="!scope.row.children"> |
| | | <el-input :disabled="dataForm.id != null" v-model="scope.row.unit" placeholder="请输入单位"></el-input> |
| | | </div> |
| | | </template> |
| | | |
| | | </el-table-column> |
| | | <el-table-column prop="required" label="标准值" width="260"> |
| | | <template slot-scope="scope"> |
| | | <div v-if="!scope.row.children"> |
| | | <el-input :disabled="dataForm.id != null" v-model="scope.row.required" |
| | | placeholder="请输入标准值"></el-input> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column prop="testValue" label="检测值" min-width="260" v-for="(item, index) in empiricalValueAdd" |
| | | :key="index"> |
| | | <el-table-column prop="testValue" label="检测值" min-width="260" > |
| | | <template slot-scope="scope"> |
| | | <div v-if="!scope.row.children"> |
| | | <el-tooltip :disabled="scope.row.deviceId != null" class="item" effect="dark" content="请先选择设备!" |
| | | placement="top-start"> |
| | | <!-- <el-input :disabled="dataForm.id != null" |
| | | v-model="scope.row.testValueList" |
| | | placeholder="请输入检测值"></el-input> --> |
| | | |
| | | <!-- <el-input :disabled="scope.row.equipmentId == null || (dataForm.id!=null&&resultVal!=null)" v-model="scope.row.testValueList[index]" |
| | | @blur="updateTestValue(scope.row,index)" placeholder="请输入检测值"></el-input> --> |
| | | |
| | | <el-autocomplete |
| | | style="width:100%" |
| | | :disabled="scope.row.deviceId == null || (dataForm.id!=null&&resultVal!=null)" |
| | | class="inline-input" |
| | | v-model="scope.row.testValueList[index]" |
| | | :fetch-suggestions="querySearch" |
| | | placeholder="请输入检测值" |
| | | @select="handleSelect" |
| | | ></el-autocomplete> |
| | | |
| | | <!-- <el-autocomplete style="width:100%" :disabled="scope.row.deviceId == null || (dataForm.id!=null&&resultVal!=null)" class="inline-input" v-model="scope.row.testValueList[index]" |
| | | :fetch-suggestions="querySearch" placeholder="请输入检测值" @select="handleSelect" |
| | | ></el-autocomplete> --> |
| | | <el-col v-if="scope.row.itype === '1'"> |
| | | <el-input :disabled="scope.row.deviceId == null || (dataForm.id!=null&&resultVal!=null)" |
| | | v-model="scope.row.testValueList" |
| | | placeholder="请输入检测值"></el-input> |
| | | </el-col> |
| | | <el-col v-else> |
| | | <el-select style="width: 100%;" |
| | | :disabled="scope.row.deviceId == null || (dataForm.id!=null&&resultVal!=null)" |
| | | v-model="scope.row.testValueList" |
| | | placeholder="请选择"> |
| | | <el-option v-for="item in dataVal" :key="item.value" :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-col> |
| | | </el-tooltip> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column prop="deviceName" label="试验设备" min-width="260"> |
| | | <template slot-scope="scope"> |
| | | <div v-if="!scope.row.children"> |
| | | <el-select :disabled="resultVal!=null && dataForm.id!=null" style="width:100%" |
| | | v-model="scope.row.deviceId" filterable @change="updateDevice(scope.row,scope.$index)"> |
| | | <el-option v-for="(item,index) in deviceList" |
| | | :key="index" :value="item.id" :label="item.code +'-'+ item.name"></el-option> |
| | | </el-select> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column prop="note" label="检验描述" width="260" > |
| | | <template slot-scope="scope"> |
| | | <div v-if="!scope.row.children"> |
| | | <el-input :disabled="scope.row.deviceId == null || (dataForm.id!=null&&resultVal!=null)" v-model="scope.row.note" placeholder="检验描述"></el-input> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column fixed="right" v-if="dataForm.id != null" prop="testState" label="结论" min-width="150"> |
| | | <template slot-scope="scope"> |
| | | <span v-if="scope.row.testState == 0" style="color:#F56C6C">不合格</span> |
| | |
| | | </el-table-column> |
| | | <el-table-column fixed="right" style="background-color: white;" v-if="dataForm.id == null" label="操作" width="150"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" @click="clickDeleteline(scope)">取消</el-button> |
| | | <div v-if="!scope.row.children"> |
| | | <el-button type="text" @click="addwaydata(scope)">新增</el-button> |
| | | <el-button type="text" @click="clickDeleteline(scope)">取消</el-button> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | |
| | | |
| | | <div class="rawMaterial-result"> |
| | | <el-row> |
| | | <el-col :span="24">检验结论</el-col> |
| | |
| | | }, |
| | | data(){ |
| | | return{ |
| | | dataVal: [{ |
| | | label: '是', |
| | | value: '是' |
| | | }, { |
| | | label: '否', |
| | | value: '否' |
| | | }], |
| | | // componentData:{}, |
| | | userdata:[], |
| | | currentRow:[], |
| | | userlist:[], |
| | | unqualifiedNum: null, |
| | |
| | | supplier: '', |
| | | rawInsProducts: [{ |
| | | deviceId: 0, |
| | | father:'', |
| | | name: '', |
| | | required: '', |
| | | testValue: '', |
| | |
| | | this.restaurants = this.loadAll(); |
| | | |
| | | console.log(this.dataForm); |
| | | |
| | | }, |
| | | watch:{ |
| | | dialogVisible(newVal){ |
| | |
| | | |
| | | }, |
| | | methods:{ |
| | | increase(){ |
| | | |
| | | }, |
| | | querySearch(queryString, cb) { |
| | | var restaurants = this.restaurants; |
| | | var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants; |
| | | |
| | | cb(results); |
| | | }, |
| | | createFilter(queryString) { |
| | | return (restaurant) => { |
| | | return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0); |
| | | }; |
| | | }, |
| | | loadAll(){ |
| | | return [ |
| | | {"value":"是"}, |
| | | {"value":"否"} |
| | | ];}, |
| | | handleSelect(item) { |
| | | console.log(item); |
| | | }, |
| | | // createFilter(queryString) { |
| | | // return (restaurant) => { |
| | | // return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0); |
| | | // }; |
| | | // }, |
| | | // loadAll(){ |
| | | // return [ |
| | | // {"value":"是"}, |
| | | // {"value":"否"} |
| | | // ];}, |
| | | // handleSelect(item) { |
| | | // console.log(item); |
| | | // }, |
| | | changeName(index,row){ |
| | | this.projectList.forEach(item=>{ |
| | | if(row.name == item.name){ |
| | |
| | | }, |
| | | // 确认回调 |
| | | selectPart(param, nodePart, index) { |
| | | console.log(param) |
| | | if (typeof param !== 'undefined') { |
| | | this.dataForm.code = param.code |
| | | this.dataForm.name = param.name |
| | |
| | | this.dataForm.message = param.message |
| | | this.dataForm.projectName = param.projectName |
| | | this.projectList = param.rawInsProducts == null ? [] : param.rawInsProducts |
| | | console.log(param.rawInsProducts); |
| | | param.rawInsProducts.forEach(item =>{ |
| | | item.iid = Math.random() |
| | | console.log(item); |
| | | }) |
| | | // param.rawInsProducts.forEach(item => { |
| | | // item.iid = Math.random() |
| | | // if (item.children != undefined) { |
| | | // item.children.forEach(obj => { |
| | | // let arr = [] |
| | | // if (obj.userName) { |
| | | // userNameList.push(obj.userName) |
| | | // } |
| | | // if (obj.inspectionValue) { |
| | | // arr = obj.inspectionValue.split(",") |
| | | // } |
| | | // obj.empiricalValueAddss = arr |
| | | // if (arr.length > this.empiricalValueAdd) { |
| | | // this.empiricalValueAdd = arr.length |
| | | // } |
| | | // }) |
| | | // } |
| | | // }) |
| | | // this.list.push( param.rawInsProducts) |
| | | param.rawInsProducts.forEach(o=>{ |
| | | this.clickAddLine(o) |
| | | }) |
| | | } |
| | | |
| | | }, |
| | | queryCode(){ |
| | | this.paramObj = { |
| | |
| | | }, |
| | | // 添加行 |
| | | clickAddLine(row) { |
| | | console.log(row); |
| | | // console.log(row.children[0]); |
| | | // this.componentData = row; |
| | | |
| | | let obj = { |
| | | deviceId: null, |
| | | name: "", |
| | | required: "", |
| | | testValue: "", |
| | | unit: "", |
| | | testState: null, |
| | | father:null, |
| | | // componentData.deviceId: null, |
| | | // name: "", |
| | | // required: "", |
| | | // testValue: "", |
| | | // unit: "", |
| | | // testState: null, |
| | | children:[], |
| | | testValueList: [], |
| | | }; |
| | | if(row!=undefined){ |
| | | obj.name = row.name |
| | | obj.unit = row.unit |
| | | obj.required = row.required |
| | | } |
| | | this.list.push(obj); |
| | | }, |
| | | // 删除行 |
| | | clickDeleteline(scope) { |
| | | this.list.splice(scope.$index, 1); |
| | | let userNameList = [] |
| | | row.children.forEach(item => { |
| | | item.iid = Math.random() |
| | | if (item.children != undefined) { |
| | | item.children.forEach(obj => { |
| | | let arr = [] |
| | | if (obj.userName) { |
| | | userNameList.push(obj.userName) |
| | | } |
| | | if (obj.inspectionValue) { |
| | | arr = obj.inspectionValue.split(",") |
| | | } |
| | | obj.empiricalValueAddss = arr |
| | | if (arr.length > this.empiricalValueAdd) { |
| | | this.empiricalValueAdd = arr.length |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | |
| | | console.log(this.list); |
| | | |
| | | // this.list = row.children |
| | | this.list.push(row) |
| | | // console.log(this.list); |
| | | // if(row!=undef.list){ |
| | | // obj.name = row.children.name |
| | | // obj.unit = row.children.unit |
| | | // obj.required = row.children.required |
| | | // } |
| | | // this.list.push(obj) |
| | | }, |
| | | delTeatValueColumn(){ |
| | | if (this.empiricalValueAdd - 1 === 0) { } else { |
| | |
| | | init(){ |
| | | if(this.dataForm.id){ |
| | | getObj(this.dataForm.id).then(res=>{ |
| | | |
| | | console.log(res); |
| | | let data = res.data.data |
| | | this.dataForm.name = data.name |
| | | this.dataForm.formTime = data.formTime |
| | |
| | | this.dataForm.createUser = data.createUser |
| | | let userNameList = [] |
| | | this.list = [] |
| | | data.children.forEach(item=>{ |
| | | userNameList.push(item.userName) |
| | | let arr = [] |
| | | if(item.testValue != undefined ){ |
| | | arr = item.testValue.split(",") |
| | | if(arr.length > this.empiricalValueAdd){ |
| | | this.empiricalValueAdd = arr.length |
| | | } |
| | | } |
| | | this.list.push({ |
| | | deviceId: item.deviceId, |
| | | deviceName: item.deviceName, |
| | | name: item.rpName, |
| | | required: item.required, |
| | | testValue: item.testValue, |
| | | unit: item.rpUnit, |
| | | testState: item.testState, |
| | | rpId: item.rpId, |
| | | testValueList: arr |
| | | }) |
| | | }) |
| | | this.conclusionTable = [{ |
| | | code: data.code, |
| | | name: data.name, |
| | | userName: Array.from(new Set(userNameList)).join(','), |
| | | testState: this.resultVal==null?null:this.resultVal |
| | | }] |
| | | // data.children.forEach(item=>{ |
| | | // userNameList.push(item.userName) |
| | | // let arr = [] |
| | | // if(item.testValue != undefined ){ |
| | | // arr = item.testValue.split(",") |
| | | // if(arr.length > this.empiricalValueAdd){ |
| | | // this.empiricalValueAdd = arr.length |
| | | // } |
| | | // } |
| | | // this.userdata = item.children[0]; |
| | | // console.log(this.userdata); |
| | | // this.list.push({ |
| | | // father: item.rpFather, |
| | | // note: this.userdata.note, |
| | | // deviceId: this.userdata.deviceId, |
| | | // deviceName: this.userdata.deviceName, |
| | | // name: this.userdata.rpName, |
| | | // required: this.userdata.required, |
| | | // testValue: this.userdata.testValue, |
| | | // unit: this.userdata.rpUnit, |
| | | // testState: this.userdata.testState, |
| | | // rpId: this.userdata.rpId, |
| | | // testValueList: arr |
| | | // }) |
| | | // }) |
| | | console.log("======================="); |
| | | console.log(data.children); |
| | | // data.children.forEach(item => { |
| | | // item.iid = Math.random() |
| | | // if (item.children != undefined) { |
| | | // item.children.forEach(obj => { |
| | | // console.log(obj); |
| | | // obj.ild = Math.random() |
| | | // // let arr = [] |
| | | // // if (obj.userName) { |
| | | // // userNameList.push(obj.userName) |
| | | // // } |
| | | // // if (obj.inspectionValue) { |
| | | // // arr = obj.inspectionValue.split(",") |
| | | // // } |
| | | // // obj.empiricalValueAddss = arr |
| | | // // if (arr.length > this.empiricalValueAdd) { |
| | | // // this.empiricalValueAdd = arr.length |
| | | // // } |
| | | // }) |
| | | // } |
| | | // }) |
| | | console.log(data.children); |
| | | // this.userdata = data.children |
| | | |
| | | // this.list.push({ |
| | | // father: item.rpFather, |
| | | // note: this.userdata.note, |
| | | // deviceId: this.userdata.deviceId, |
| | | // deviceName: this.userdata.deviceName, |
| | | // name: this.userdata.rpName, |
| | | // required: this.userdata.required, |
| | | // testValue: this.userdata.testValue, |
| | | // unit: this.userdata.rpUnit, |
| | | // testState: this.userdata.testState, |
| | | // rpId: this.userdata.rpId, |
| | | // testValueList: arr |
| | | // }) |
| | | // }) |
| | | // console.log(this.list); |
| | | // this.userdata = data.children |
| | | this.list.push(data.children ) |
| | | console.log( this.list); |
| | | this.conclusionTable = [{ |
| | | code: data.code, |
| | | name: data.name, |
| | | userName: Array.from(new Set(userNameList)).join(','), |
| | | testState: this.resultVal==null?null:this.resultVal |
| | | }] |
| | | }).catch(error=>{ |
| | | this.$message.error("获取失败",error) |
| | | }) |
| | |
| | | this.conclusionTable = [] |
| | | } |
| | | }, |
| | | save(){ |
| | | let data = this.dataForm |
| | | data.rawInsProducts = this.list |
| | | data.rawInsProducts.forEach(item=>{ |
| | | let val = item.testValueList.join(",") |
| | | item.testValue = val |
| | | // 删除行 |
| | | clickDeleteline(scope) { |
| | | // console.log(55555); |
| | | console.log(scope); |
| | | let index = this.list.findIndex(el =>{ |
| | | return el.children.find(ele => ele.iid == scope.row.iid) |
| | | }) |
| | | |
| | | let childrenIndex = this.list[index].children.findIndex(el => { |
| | | return el.iid == scope.row.iid |
| | | }) |
| | | // console.log(this.list); |
| | | console.log(index); |
| | | console.log(childrenIndex); |
| | | |
| | | this.list[index].children.splice(childrenIndex , 1); |
| | | if(childrenIndex == 0){ |
| | | this.list.splice(scope.row,1) |
| | | } |
| | | }, |
| | | increase(){ |
| | | let obj = { |
| | | iid:Math.random(), |
| | | father:'', |
| | | children:[ |
| | | { |
| | | iid:Math.random(), |
| | | name:'', |
| | | required:'', |
| | | unit:'' |
| | | } |
| | | ] |
| | | } |
| | | this.list.push(obj) |
| | | }, |
| | | addwaydata(row){ |
| | | console.log(row.row); |
| | | let index = this.list.findIndex(el =>{ |
| | | return el.children.find(ele => ele.iid == row.row.iid) |
| | | }) |
| | | console.log(index); |
| | | let obj = { |
| | | iid:Math.random(), |
| | | name:'', |
| | | required:'', |
| | | unit:'' |
| | | } |
| | | this.list[index].children.push(obj) |
| | | }, |
| | | save(){ |
| | | console.log(this.dataForm); |
| | | let data = this.dataForm |
| | | console.log(data); |
| | | console.log(this.list); |
| | | data.rawInsProducts = this.list |
| | | // console.log(data.rawInsProducts); |
| | | // data.rawInsProducts.forEach(item=>{ |
| | | // console.log(item); |
| | | // let val = item.testValueList.join(",") |
| | | // item.testValue = val |
| | | // console.log(item.testValue); |
| | | // }) |
| | | // console.log(data); |
| | | console.log('=====>'); |
| | | addRawInspects(data).then(res=>{ |
| | | this.$message.success("保存成功") |
| | | // this.$message.success("保存成功") |
| | | this.$router.go(-1) |
| | | }).catch(error=>{ |
| | | this.$message.error(error) |
| | | // this.$message.error(error||'error') |
| | | }) |
| | | }, |
| | | getDeviceList(){ |