| | |
| | | <el-col class="search_thing" :span="6"> |
| | | <div class="search_label" style="width: 175px;">是否涉及配套样品:</div> |
| | | <div class="search_input" style="width: calc(100% - 175px);"> |
| | | <el-radio-group v-model="addObj.mating" @change="$refs.sampleTable.doLayout()"> |
| | | <el-radio-group v-model="addObj.mating" @change="$refs.sampleTable.doLayout()" :disabled="active>1"> |
| | | <el-radio :label="1">是</el-radio> |
| | | <el-radio :label="0">否</el-radio> |
| | | </el-radio-group> |
| | |
| | | <div class="search_input"> |
| | | <el-date-picker |
| | | v-model="addObj.appointed" |
| | | :disabled="active>1" |
| | | type="date" |
| | | placeholder="选择日期" |
| | | size="small" format="yyyy-MM-dd" value-format="yyyy-MM-dd"> |
| | |
| | | <div class="search_input"> |
| | | <el-date-picker |
| | | v-model="addObj.issueTime" |
| | | :disabled="active>1" |
| | | type="date" |
| | | placeholder="选择日期" |
| | | size="small" format="yyyy-MM-dd" value-format="yyyy-MM-dd"> |
| | | </el-date-picker> |
| | | </div> |
| | | </el-col> |
| | | <el-col class="search_thing upload" :span="4" style="align-items: flex-start;height: auto" v-if="active==1"> |
| | | <el-upload |
| | | style="margin: 8px 0 0px 50px;" |
| | | action="#" |
| | | :auto-upload="false" |
| | | accept='.jpg,.jpeg,.png,.gif,.docx,.xls,.xlsx,.pdf,.zip,.rar,.csv' :on-change="handleChangeUpload"> |
| | | <el-button size="small" type="primary">上传附件</el-button> |
| | | </el-upload> |
| | | </el-col> |
| | | <el-col class="search_thing" :span="8"> |
| | | <div class="search_input" style="width: 100%;margin-left: 40px;"> |
| | | <el-radio-group v-model="ruleInfo.rule" @change="$refs.sampleTable.doLayout()" :disabled="active>1"> |
| | | <el-radio :label="1">不考虑不确定度</el-radio> |
| | | <el-radio :label="2">考虑不确定度<el-input placeholder="" v-model="ruleInfo.num" style="width: 100px;margin-left: 10px;" size="mini" :disabled="active>1"> |
| | | <template slot="append">%</template> |
| | | </el-input></el-radio> |
| | | </el-radio-group> |
| | | </div> |
| | | </el-col> |
| | | <el-col class="search_thing" :span="6" style="align-items: flex-start;margin: 8px 0;"> |
| | |
| | | <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 2}" size="small" clearable :placeholder="active>1 ? '' : '请输入'" |
| | | v-model="addObj.remark" :readonly="active>1"></el-input> |
| | | </div> |
| | | </el-col> |
| | | <el-col class="search_thing upload" :span="4" style="align-items: flex-start;margin: 8px 0 0 50px;height: auto" v-if="active==1"> |
| | | <el-upload |
| | | action="#" |
| | | :auto-upload="false" |
| | | accept='.jpg,.jpeg,.png,.gif,.docx,.xls,.xlsx,.pdf,.zip,.rar,.csv' :on-change="handleChangeUpload"> |
| | | <el-button size="small" type="primary">上传附件</el-button> |
| | | </el-upload> |
| | | </el-col> |
| | | <!-- <el-col class="search_thing" :span="6" v-if="active==1"> |
| | | <div class="search_label">RTS:</div> |
| | |
| | | @clear="methodChange(scope.row.standardMethodListId, scope.row)"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="testRequirements" label="试验标准" align="center" min-width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.testRequirements" :disabled="scope.row.model==null||active>1" |
| | | placeholder="试验标准" size="small" :readonly="active>1" style="width: 100%;" clearable> |
| | | <el-option v-for="item in standard" :key="item.id" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="standardMethodListId" label="检验标准" align="center" min-width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.standardMethodListId" :disabled="scope.row.model==null||active>1" |
| | | placeholder="检验标准" size="small" :loading="methodLoad" @change="(value)=>methodChange(value, scope.row)" |
| | | @focus="methodFocus" :readonly="active>1" style="width: 100%;" clearable @clear="productList = []" multiple> |
| | | <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="testRequirements" label="试验标准" align="center" min-width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.testRequirements" :disabled="scope.row.model==null||active>1" |
| | | placeholder="试验标准" size="small" :readonly="active>1" style="width: 100%;" clearable> |
| | | <el-option v-for="item in standard" :key="item.id" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | |
| | | :delUrl="$api.insOrderPlan.delfile" style="height: 100%;margin-top: 16px;" v-show="currentPage==1"/> |
| | | </div> |
| | | </div> |
| | | <p style="font-size: 12px;color: red;margin-top: 20px;margin-bottom: 20px;">双方承诺:<br/> |
| | | 1、委托方承诺提供的信息与样品的真实性;<br/> |
| | | 2、委托送样检验结果仅适用于收到的样品;<br/> |
| | | 3、试验过程导致的样品损坏、配件损坏、损耗,本测试场不承担赔偿责任;<br/> |
| | | 4、实验室承诺公正开展检测活动,并承诺保守在检测活动过程中所获知的保密信息。</p> |
| | | <el-dialog title="选择单位" :visible.sync="selectUserDia" width="70%"> |
| | | <div class="body" style="height: 60vh;" v-if="selectUserDia"> |
| | | <ValueTable ref="ValueTable2" :url="$api.user.selectCustomPageList" :componentData="componentData2" /> |
| | |
| | | <el-button type="primary" @click="spliceTemperatureTest">保存</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <!-- 功率容量--填写端口 --> |
| | | <el-dialog title="填写端口" :visible.sync="powerShow" |
| | | :close-on-click-modal="false" :close-on-press-escape="false" |
| | | width="50%"> |
| | | <el-table |
| | | :data="powerTable" |
| | | border |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | fixed |
| | | prop="sample" |
| | | label="样品" |
| | | min-width="150"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="model" |
| | | label="型号" |
| | | min-width="120"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="inspectionItem" |
| | | label="检验项" |
| | | min-width="120"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="ask" |
| | | label="端口" |
| | | min-width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-input-number v-model="scope.row.ask" :min="1" :max="100" label="端口" size="small"></el-input-number> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="powerShow=false">取消</el-button> |
| | | <el-button type="primary" @click="savePowerTest">保存</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog |
| | | title="文件预览" |
| | | :visible.sync="lookFileVisible" |
| | |
| | | requiredAdd: [], |
| | | requiredUp: [] |
| | | }, |
| | | ruleInfo:{ |
| | | rule:null, |
| | | num:null, |
| | | }, |
| | | powerShow:false, |
| | | powerTable:[] |
| | | } |
| | | }, |
| | | watch: { |
| | |
| | | this.addObj = { |
| | | ...res.data.insOrder |
| | | }; |
| | | if(this.addObj.rule){ |
| | | if(this.addObj.rule=='不考虑不确定度'){ |
| | | this.ruleInfo.rule = 1 |
| | | }else{ |
| | | this.ruleInfo.rule = 2 |
| | | this.ruleInfo.num = this.addObj.rule.split('-')[1] |
| | | } |
| | | } |
| | | this.addObj.type = String(this.addObj.type) |
| | | this.sampleList = this.HaveJson(res.data.sampleProduct) |
| | | this.sampleList.forEach(m=>{ |
| | |
| | | return |
| | | } |
| | | this.spliceTemperatureTest() |
| | | }, |
| | | savePowerTest(){ |
| | | if(!this.powerTable.every(m=>m.ask)) |
| | | { |
| | | this.$message.error('请填写完整数据') |
| | | } |
| | | let num = 0; |
| | | let sampleList = this.HaveJson(this.sampleList) |
| | | sampleList.forEach(item=>{ |
| | | item.insProduct.forEach(m=>{ |
| | | if(m.inspectionItem.includes('功率试验')&&m.state==1){ |
| | | m.ask = '端口数:'+this.powerTable[num].ask |
| | | num++ |
| | | } |
| | | }) |
| | | }) |
| | | this.saveMethod(sampleList) |
| | | this.powerShow = false; |
| | | }, |
| | | cleanTemperatureTest () { |
| | | this.temperatureTest = [] |
| | |
| | | // } |
| | | // } |
| | | let sampleList = this.HaveJson(this.sampleList) |
| | | for (let i = 0; i < sampleList.length; i++) { |
| | | if (sampleList[i].insProduct.length > 0) { |
| | | let set = new Set() |
| | | for (let j = 0; j < sampleList[i].insProduct.length; j++) { |
| | | if(sampleList[i].insProduct[j].state == 1){ |
| | | let num0 = set.size |
| | | set.add(sampleList[i].insProduct[j].inspectionItem+'-'+sampleList[i].insProduct[j].inspectionItemSubclass) |
| | | let num1 = set.size |
| | | if(num0==num1){ |
| | | this.$message.error(sampleList[i].insProduct[j].inspectionItem+'-'+sampleList[i].insProduct[j].inspectionItemSubclass+'重复') |
| | | return |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | let projectNum = this.totalArr.filter(a => a.state == 1).length |
| | | if(projectNum==0){ |
| | | this.$confirm('检验项目为空,是否确认提交?', "提示", { |
| | |
| | | this.saveMethod(sampleList) |
| | | }).catch(() => {}) |
| | | }else{ |
| | | let isRTS = this.totalArr.find(a => a.ask != null && this.symbolList.find(b=>a.ask.includes(b)) && a.state == 1) |
| | | let isRTS = this.totalArr.find(a => a.ask != null && this.symbolList.find(b=>a.ask&&a.ask.includes(b)) && a.state == 1) |
| | | if (isRTS&&this.PROJECT=='检测中心') { |
| | | this.editTable = this.handleData(sampleList,this.containsValue, 0) |
| | | this.editTable.forEach(item => { |
| | | item.value = item.modelNum |
| | | }) |
| | | this.bsm3Dia = true; |
| | | return |
| | | } |
| | | let isPower = this.totalArr.find(a => a.inspectionItem.includes('功率试验')&&a.state==1) |
| | | if (isPower) { |
| | | this.powerTable = this.totalArr.filter(a => a.inspectionItem.includes('功率试验')&&a.state==1) |
| | | this.powerTable.forEach(a => { |
| | | a.ask = null |
| | | }) |
| | | this.powerShow = true; |
| | | return |
| | | } |
| | | this.saveMethod(sampleList) |
| | |
| | | let arr = this.editTable.filter(b => b.sampleId == item.id) |
| | | for (var i=0;i<arr.length;i++){ |
| | | if(a.ask){ |
| | | if(a.ask.includes(arr[i].symbolItem)){ |
| | | if(a.ask&&a.ask.includes(arr[i].symbolItem)){ |
| | | let ask = calBack(a.ask, arr[i].symbolItem,arr[i].value) |
| | | if (ask) { |
| | | a.ask = ask |
| | |
| | | message: '请填写要求描述后再提交' |
| | | }) |
| | | return false; |
| | | } |
| | | if(this.ruleInfo.rule==1){ |
| | | this.addObj.rule = '不考虑不确定度' |
| | | }else if(this.ruleInfo.rule==2){ |
| | | if(this.ruleInfo.rule==2&&(!this.ruleInfo.num||this.ruleInfo.num<0||this.ruleInfo.num==0)){ |
| | | this.$message({ |
| | | type: 'error', |
| | | message: '请输入不确定度' |
| | | }) |
| | | return; |
| | | } |
| | | this.addObj.rule = '考虑不确定度'+'-'+this.ruleInfo.num |
| | | } |
| | | this.saveLoad = true |
| | | let fd = new FormData(); |
| | |
| | | let selectTreeList = this.selectTree.split(" - ") |
| | | this.addObj.model&&(selectTreeList[selectTreeList.length - 1] = this.addObj.model) |
| | | this.$axios.post(this.$api.standardTree.selectStandardProductList, { |
| | | model: (this.addObj.model?this.addObj.model:row.model) + '-' + row.modelNum, |
| | | model: (this.addObj.model?this.addObj.model:row.model) + '-' + row.modelNum+';'+row.testRequirements, |
| | | standardMethodListId: val.join(','), |
| | | factory: selectTreeList.join(" - "), |
| | | }, { |