| | |
| | | <el-table-column prop="inspectionItemSubclass" label="检验项子项" min-width="140" |
| | | show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="sonLaboratory" label="子实验室" width="130" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="method" label="试验方法" min-width="120" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="method" label="试验方法" min-width="120" show-overflow-tooltip> |
| | | <template slot-scope="scope"> |
| | | <span>{{scope.row.method.replace('[','').replace(']','').replaceAll('"','')}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="unit" label="计量单位" width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="price" label="单价" width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="manDay" label="预计时间(天)" width="120" show-overflow-tooltip></el-table-column> |
| | |
| | | <style scoped> |
| | | .inspection { |
| | | height: 100%; |
| | | overflow-y: auto; |
| | | } |
| | | |
| | | .inspection::-webkit-scrollbar { |
| | | width: 0; |
| | | } |
| | | |
| | | .title { |
| | | height: 60px; |
| | | line-height: 60px; |
| | |
| | | |
| | | .center { |
| | | width: calc(100% - 40px); |
| | | max-height: 580px; |
| | | /* max-height: 580px; */ |
| | | background-color: #fff; |
| | | border-radius: 3px; |
| | | padding: 20px; |
| | | overflow-y: auto; |
| | | overflow: auto; |
| | | } |
| | | |
| | | .center-box { |
| | |
| | | } |
| | | </style> |
| | | <template> |
| | | <div v-loading="loading"> |
| | | <div v-loading="loading" class="inspection"> |
| | | <el-row class="title"> |
| | | <el-col :span="12" style="padding-left: 20px;">检验单详情</el-col> |
| | | <el-col :span="12" style="text-align: right;"> |
| | |
| | | @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)" /> |
| | | <el-input v-else-if="getInspectionValueType(n.i) == 2" class="table_input" type="textarea" |
| | | :autosize="{ minRows: 1}" v-model="n.v.v" :disabled="state>1" /> |
| | | <el-select v-else-if="getInspectionValueType(n.i) == 5" class="table_input" v-model="n.v.v" :disabled="state>1"> |
| | | <el-select v-else-if="getInspectionValueType(n.i) == 5" class="table_input" v-model="n.v.v" |
| | | :disabled="state>1"> |
| | | <el-option label="是" value="是"></el-option> |
| | | <el-option label="否" value="否"></el-option> |
| | | </el-select> |
| | |
| | | <span v-else :style="`font-family:${n.v.ff} !important;`">待定</span> |
| | | </template> |
| | | <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='设备'"> |
| | | <el-select v-model="n.v.v" placeholder="请选择" @visible-change="e=>getEquipOptions(e,n.i)" :disabled="state>1"> |
| | | <el-option |
| | | v-for="item in equipOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.label"> |
| | | <el-select v-model="n.v.v" placeholder="请选择" @visible-change="e=>getEquipOptions(e,n.i)" |
| | | :disabled="state>1"> |
| | | <el-option v-for="item in equipOptions" :key="item.value" :label="item.label" :value="item.label"> |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | |
| | | <div class="body" style="display: flex;" v-if="reviewDia"> |
| | | <div class="search_label" style="width: 120px;"><span class="required-span">* </span>不通过原因:</div> |
| | | <div class="search_input"> |
| | | <el-input size="small" clearable v-model="noReason" type="textarea" :autosize="{ minRows: 3, maxRows: 5}"></el-input> |
| | | <el-input size="small" clearable v-model="noReason" type="textarea" |
| | | :autosize="{ minRows: 3, maxRows: 5}"></el-input> |
| | | </div> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | |
| | | this.tableList = JSON.parse(JSON.stringify(this.currentSample.insProduct)).filter(m => { |
| | | let num0 = mySet1.size; |
| | | mySet1.add(JSON.stringify({ |
| | | inspectionItem: m.inspectionItem, |
| | | template: m.template, |
| | | templateId: m.templateId |
| | | })) |
| | | let num1 = mySet1.size; |
| | |
| | | let dels = [] |
| | | let ids = [] |
| | | a.template.forEach(b => { |
| | | if (b.v.ps != undefined && b.v.ps.value === '检验子项') { |
| | | if (b.v.ps != undefined && b.v.ps.value === '检验项') { |
| | | let count = 0 |
| | | for (let i in this.currentSample.insProduct) { |
| | | if (this.currentSample.insProduct[i].inspectionItemSubclass === b.v.v && this.currentSample |
| | | .insProduct[i].templateId === a.templateId) { |
| | | if (this.currentSample.insProduct[i].templateId === a.templateId && this.currentSample.insProduct[i].inspectionItem === b.v.v) { |
| | | let count2 = 0 |
| | | for (var c in a.template) { |
| | | if (a.template[c].r === b.r && a.template[c].v.ps != undefined && a.template[c].v.ps.value === '检验子项') { |
| | | if(this.currentSample.insProduct[i].inspectionItemSubclass === a.template[c].v.v){ |
| | | ids.push({ |
| | | r: b.r, |
| | | id: this.currentSample.insProduct[i].id, |
| | | product: this.currentSample.insProduct[i] |
| | | }) |
| | | break |
| | | } |
| | | } |
| | | count2++ |
| | | } |
| | | if (count2 < a.template.length) { |
| | | break |
| | | } |
| | | } |
| | | count++ |
| | | } |
| | |
| | | } |
| | | conclusionList.forEach((n,i)=>{ |
| | | if(n.r==b.r&&n.c==b.c){ |
| | | b.v.f = `(${this.comparisonList.find(j=>j.value==(finalList[i].c)).label}${finalList[i].r+1})` |
| | | b.v.f = |
| | | `(${this.comparisonList.find(j=>j.value==(finalList[i].c)).label}${finalList[i].r+1})` |
| | | } |
| | | }) |
| | | } |
| | |
| | | try{ |
| | | this.param[a.id].resValue.v.v = a.lastValue |
| | | this.param[a.id].insResult.v.v = a.insResult |
| | | }catch(e){ |
| | | } |
| | | } catch (e) {} |
| | | }) |
| | | this.handleExcelMethod() |
| | | }, |
| | |
| | | getEquipOptions(e,id){ |
| | | if(e){ |
| | | let category = this.currentSample.insProduct.find(m=>m.id==id).deviceGroup |
| | | this.$axios.post(this.$api.deviceScope.selectDeviceByCategory, {category}).then(res => { |
| | | this.$axios.post(this.$api.deviceScope.selectDeviceByCategory, { |
| | | category |
| | | }).then(res => { |
| | | if (res.code === 200 && res.data) { |
| | | this.equipOptions = res.data.map(m=>{ |
| | | m.value = m.id |
| | |
| | | unit: {select:[]}, |
| | | dic:{select:[]}, |
| | | }, |
| | | requiredAdd: ['sonLaboratory','inspectionItem', 'manHour', 'inspectionItemType','inspectionItemSubclass','inspectionValueType','laboratory','unit','method','price','manDay','deviceGroup','sample'], |
| | | requiredUp: ['sonLaboratory','inspectionItem', 'manHour', 'inspectionItemType','inspectionItemSubclass','inspectionValueType','laboratory','unit','method','price','manDay','deviceGroup','sample'] |
| | | requiredAdd: ['sonLaboratory','inspectionItem', 'manHour', 'inspectionItemType','inspectionValueType','laboratory','unit','method','price','manDay','deviceGroup','sample'], |
| | | requiredUp: ['sonLaboratory','inspectionItem', 'manHour', 'inspectionItemType','inspectionValueType','laboratory','unit','method','price','manDay','deviceGroup','sample'] |
| | | }, |
| | | testObjectData: { |
| | | entity: { |
| | |
| | | value: 1, |
| | | label: '是' |
| | | }] |
| | | }, |
| | | isUse: { |
| | | select: [{ |
| | | value: 0, |
| | | type: 'info', |
| | | label: '否' |
| | | }, { |
| | | value: 1, |
| | | label: '是' |
| | | }] |
| | | } |
| | | }, |
| | | selectField: { |
| | |
| | | <div class="right"> |
| | | <el-row class="title"> |
| | | <el-col :span="24" style="font-size: 14px;color: #999;">{{selectTree}}</el-col> |
| | | <!-- <el-col :span="selectTree==''?24:14" style="text-align: right;" v-if="selectTree!=''"> |
| | | <el-button size="small" type="primary" @click="addStandardDia = true" |
| | | <!-- <el-col :span="selectTree==''?24:14" style="text-align: right;" v-if="selectTree!=''"> --> |
| | | <!-- <el-button size="small" type="primary" @click="addStandardDia = true" |
| | | v-if="addStandardMethod">新增标准</el-button> |
| | | <el-button size="small" type="primary" @click="addProductDia = true" v-if="addStandardProduct">新增项目</el-button> |
| | | <el-button size="small" @click="delStandardProductByIds" v-if="delStandardProduct"> |
| | | <i class="el-icon-delete" style="color: #3A7BFA;"></i> |
| | | <span style="color: #3A7BFA;">删除</span> |
| | | </el-button> |
| | | </el-col> --> |
| | | </el-button> --> |
| | | <!-- </el-col> --> |
| | | </el-row> |
| | | <el-row class="standard_table" v-loading="tableLoad"> |
| | | <el-table class="el-table" :data="standardList" style="width: 100%;" height="220px" tooltip-effect="dark" |
| | |
| | | <span v-else>{{scope.row.ask}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="method" label="试验方法" width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="method" label="试验方法" width="200"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.methodS" size="small" placeholder="试验方法" |
| | | @change="(value)=>upStandardProductListOfMethodS(value,scope.row.id)" v-if="upStandardProduct"> |
| | | <el-option v-for="(a,i) in JSON.parse(scope.row.method)" :key="i" :label="a" :value="a"></el-option> |
| | | </el-select> |
| | | <span v-else>{{scope.row.methodS}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="unit" label="计量单位" width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="price" label="单价(元)" width="90" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="manHour" label="工时(H)" width="90" show-overflow-tooltip></el-table-column> |
| | |
| | | this.$message.success('已保存') |
| | | }) |
| | | }, |
| | | upStandardProductListOfMethodS(value, index) { |
| | | this.$axios.post(this.$api.standardTree.upStandardProductList, { |
| | | id: index, |
| | | methodS: value |
| | | }, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | if (res.code == 201) { |
| | | this.$message.error('未保存') |
| | | return |
| | | } |
| | | this.$message.success('已保存') |
| | | }) |
| | | }, |
| | | delStandardMethodByFLSSM(id) { |
| | | this.$confirm('是否删除当前数据?', "警告", { |
| | | confirmButtonText: "确定", |