| | |
| | | <template> |
| | | <el-dialog :close-on-press-escape="false" |
| | | :visible.sync="isShow" |
| | | custom-class="unPassCheck" |
| | | title="不合格复测" |
| | | width="90%" |
| | | <el-dialog :close-on-press-escape="false" :visible.sync="isShow" custom-class="unPassCheck" title="不合格复测" width="90%" |
| | | @close="$emit('closeUnPassCheckDialog')"> |
| | | <div v-loading="loading" class="inspection"> |
| | | <!-- <el-row class="title">--> |
| | |
| | | <div style="display: flex;align-items: center;"> |
| | | <span v-if="tableList.length>0">检验模板:</span> |
| | | <el-radio-group v-model="currentTable" size="small"> |
| | | <el-radio-button v-for="(item,index) in tableLists" :key="index" :label="item.templateId" |
| | | size="small">{{ item.templateName }}</el-radio-button> |
| | | <el-radio-button v-for="(item, index) in tableLists" :key="index" :label="item.templateId" size="small">{{ |
| | | item.templateName }}</el-radio-button> |
| | | </el-radio-group> |
| | | </div> |
| | | <div style="display: flex;align-items: center;"> |
| | | <span v-if="typeSource == '1'"> 复测次数:</span> |
| | | <el-select v-if="typeSource == '1'" v-model="retestTag" |
| | | placeholder="请选择" |
| | | size="small" @change="m=>handleChangeCableTag(currentSample.id,4, 'cableTag', m)"> |
| | | <el-option |
| | | v-for="item in unPassNumList" |
| | | :key="item.retestTag" |
| | | :label="item.retestTag" |
| | | <el-select v-if="typeSource == '1'" v-model="retestTag" placeholder="请选择" size="small" |
| | | @change="m => handleChangeCableTag(currentSample.id, 4, 'cableTag', m)"> |
| | | <el-option v-for="item in unPassNumList" :key="item.retestTag" :label="item.retestTag" |
| | | :value="item.retestTag"> |
| | | </el-option> |
| | | </el-select> |
| | |
| | | </div> |
| | | <!-- 常规检验原始记录 --> |
| | | <div id="tableBox" v-loading="tableLoading" class="center-box"> |
| | | <table v-for="(item,index) in tableList" :key="index+currentTable+currentSample.id" border="1" cellpadding="10" class="tables"> |
| | | <table v-for="(item, index) in tableList" :key="index + currentTable + currentSample.id" border="1" |
| | | cellpadding="10" class="tables"> |
| | | <tbody> |
| | | <tr v-for="(m,i) in item.arr" :key="i"> |
| | | <td v-for="(n,j) in m" v-if="n.v.mc==undefined || Object.keys(n.v.mc).length === 4" :id='item.templateId+"-"+n.i+"-"+n.r+"-"+n.c' |
| | | :key="j" :colspan="n.v.mc&&n.v.mc.cs?n.v.mc.cs:1" |
| | | <td v-for="(n, j) in m" v-if="n.v.mc == undefined || Object.keys(n.v.mc).length === 4" |
| | | :id='item.templateId + "-" + n.i + "-" + n.r + "-" + n.c' :key="j" :colspan="n.v.mc && n.v.mc.cs ? n.v.mc.cs : 1" |
| | | :rowspan="n.v.mc&&n.v.mc.rs?n.v.mc.rs:1" |
| | | :style="`background:${n.v.bg?n.v.bg:''};color:${n.v.fc};font-size:${n.v.fs}px;width:${handleWidth(n)}px !important;height:${item.style.rowlen[n.r]}px;font-wight:${n.v.bl?'bold':''};`"> |
| | | <div :class="`content-h-${n.v.ht} content-v-${n.v.vt}`" :style="`width:${handleWidth(n)}px !important;min-height:${item.style.rowlen[n.r]}px;`" |
| | | <div :class="`content-h-${n.v.ht} content-v-${n.v.vt}`" |
| | | :style="`width:${handleWidth(n)}px !important;min-height:${item.style.rowlen[n.r]}px;`" |
| | | class="content"> |
| | | <template v-if="n.v.ps!=undefined && typeof n.v.ps.value ==='string'&& n.v.ps.value.includes('检验值') && state==1"> |
| | | <el-input v-if="getInspectionValueType(n.i) == 1" :key="'abc-'+'000'+index+'000'+i+'000'+j" v-model="n.v.v" |
| | | <template |
| | | v-if="n.v.ps != undefined && typeof n.v.ps.value === 'string' && n.v.ps.value.includes('检验值') && state == 1"> |
| | | <el-input v-if="getInspectionValueType(n.i) == 1" :key="'abc-' + '000' + index + '000' + i + '000' + j" |
| | | v-model="n.v.v" |
| | | :disabled="(getInspectionItemType(n.i) == 1 && !dataAcquisitionEidtAble )|| (n.u != userId && n.u != undefined && n.u != '')" |
| | | class="table_input" |
| | | @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`, n,'getDataType')" @input="handleInput(n)" @mousewheel.native.prevent |
| | | @change="m => changeInput(m, `${item.templateId}-${n.r}-${n.c}-${n.i}`, n, 'getDataType')" |
| | | @input="handleInput(n)" @mousewheel.native.prevent |
| | | @keydown.enter="changeInput('',`${item.templateId}-${n.r}-${n.c}-${n.i}`, n, 'getDataType')"> |
| | | </el-input> |
| | | <el-input v-else-if="getInspectionValueType(n.i) == 2" v-model="n.v.v" :disabled="getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')" |
| | | class="table_input" |
| | | type="textarea" |
| | | <el-input v-else-if="getInspectionValueType(n.i) == 2" v-model="n.v.v" |
| | | :disabled="getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')" |
| | | class="table_input" type="textarea" |
| | | @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`,n,'getDataType')" /> |
| | | <!-- <el-select v-else-if="getInspectionValueType(n.i) == 5" v-model="n.v.v" :disabled="state>1||getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')"--> |
| | | <!-- class="table_input" @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`,n,'getDataType')"--> |
| | |
| | | :style="`font-family:${n.v.ff} !important;`">/</span> |
| | | </template> |
| | | <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='结论'"> |
| | | <el-select v-if="(getInspectionValueType(n.i) == 2 || getInspectionValueType(n.i) == 5) && state==1&&PROJECT=='装备电缆'" |
| | | v-model="n.v.v" class="table_input" @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`, n,'getDataType')"> |
| | | <el-select |
| | | v-if="(getInspectionValueType(n.i) == 2 || getInspectionValueType(n.i) == 5) && state == 1 && PROJECT == '装备电缆'" |
| | | v-model="n.v.v" class="table_input" |
| | | @change="m => changeInput(m, `${item.templateId}-${n.r}-${n.c}-${n.i}`, n, 'getDataType')"> |
| | | <el-option :value="1" label="合格"></el-option> |
| | | <el-option :value="0" label="不合格"></el-option> |
| | | <el-option :value="3" label="不判定"></el-option> |
| | |
| | | <template v-if="state > 1"> |
| | | <span v-if="n.v.v===1" :style="`font-family:${n.v.ff} !important;color: green;`">合格</span> |
| | | <span v-else-if="n.v.v===0" :style="`font-family:${n.v.ff} !important;color: red;`">不合格</span> |
| | | <span v-else-if="n.v.v===3" :style="`font-family:${n.v.ff} !important;color: #3A7BFA;`">不判定</span> |
| | | <span v-else-if="n.v.v === 3" |
| | | :style="`font-family:${n.v.ff} !important;color: #3A7BFA;`">不判定</span> |
| | | <span v-else :style="`font-family:${n.v.ff} !important;`">待定</span> |
| | | </template> |
| | | <template v-if="getInspectionValueType(n.i) != 2 && state==1"> |
| | | <span v-if="n.v.v===1" :style="`font-family:${n.v.ff} !important;color: green;`">合格</span> |
| | | <span v-else-if="n.v.v===0" :style="`font-family:${n.v.ff} !important;color: red;`">不合格</span> |
| | | <span v-else-if="n.v.v===3" :style="`font-family:${n.v.ff} !important;color: #3A7BFA;`">不判定</span> |
| | | <span v-else-if="n.v.v === 3" |
| | | :style="`font-family:${n.v.ff} !important;color: #3A7BFA;`">不判定</span> |
| | | <span v-else :style="`font-family:${n.v.ff} !important;`">待定</span> |
| | | </template> |
| | | </template> |
| | |
| | | <span>{{ n.v.v }}</span> |
| | | </template> |
| | | <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='设备名称'"> |
| | | <el-select v-model="n.v.v" :disabled="state>1" |
| | | class="table_input" filterable |
| | | multiple |
| | | <el-select v-model="n.v.v" :disabled="state > 1" class="table_input" filterable multiple |
| | | placeholder="设备" remote @change="(val)=>changeEquip(val, n)" |
| | | @visible-change="e=>getEquipOptions(e,n.i)"> |
| | | <el-option v-for="item in equipOptions" :key="item.value" :label="item.label" :value="item.value"> |
| | | <el-option v-for="item in equipOptions" :key="item.value" :label="item.label" |
| | | :value="item.value"> |
| | | {{item.label + '--' +item.value}} |
| | | </el-option> |
| | | </el-select> |
| | |
| | | <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='要求值' && state==1"> |
| | | <span :style="`font-family:${n.v.ff} !important;`">{{getTell(n.i)}}</span> |
| | | </template> |
| | | <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='计算值' && state==1"><span :style="`font-family:${n.v.ff} !important;`">{{ toFixed(n.v.v,n.v.ct) }}</span></template> |
| | | <template v-else-if="n.v.ps != undefined && n.v.ps.value === '计算值' && state == 1"><span |
| | | :style="`font-family:${n.v.ff} !important;`">{{ toFixed(n.v.v, n.v.ct) }}</span></template> |
| | | <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='最终值' && state==1"> |
| | | <span :style="`font-family:${n.v.ff} !important;`">{{ toFixed(n.v.v,n.v.ct) }}</span> |
| | | </template> |
| | | <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='样品编号'"> |
| | | <div :title="currentSample.sampleCode" style="display: flex;flex-wrap: nowrap;align-items: center;width: 100%"> |
| | | <i v-if="!currentFiberOpticTape&&!currentFiberOptic" class="el-icon-caret-left table_caret" style="width: 16px;" @click="caretSample(-1)"></i> |
| | | <div :style="`font-family:${n.v.ff} !important;overflow: hidden;white-space: nowrap;width: calc(100% - 32px);`">{{currentSample.sampleCode}}</div> |
| | | <div :title="currentSample.sampleCode" |
| | | style="display: flex;flex-wrap: nowrap;align-items: center;width: 100%"> |
| | | <i v-if="!currentFiberOpticTape && !currentFiberOptic" class="el-icon-caret-left table_caret" |
| | | style="width: 16px;" @click="caretSample(-1)"></i> |
| | | <div |
| | | :style="`font-family:${n.v.ff} !important;overflow: hidden;white-space: nowrap;width: calc(100% - 32px);`"> |
| | | {{ currentSample.sampleCode }}</div> |
| | | <i v-if="!currentFiberOpticTape&&!currentFiberOptic" class="el-icon-caret-right table_caret" |
| | | style="width: 16px;" @click="caretSample(1)"></i> |
| | | </div> |
| | | </template> |
| | | <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='样品型号'"> |
| | | <div v-if="currentSample.model!==undefined&¤tSample.model!==null" :style="`font-family:${n.v.ff} !important;`">{{currentSample.model}}</div> |
| | | <div v-if="currentSample.model !== undefined && currentSample.model !== null" |
| | | :style="`font-family:${n.v.ff} !important;`">{{ currentSample.model }}</div> |
| | | </template> |
| | | <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='套管'"> |
| | | <div style="display: flex;flex-wrap: nowrap;align-items: center;"> |
| | | <div :style="`font-family:${n.v.ff} !important;`">{{currentBushing?currentBushing.color:''}}</div> |
| | | <div :style="`font-family:${n.v.ff} !important;`">{{ currentBushing ? currentBushing.color : '' }} |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='光纤带'"> |
| | | <div style="display: flex;flex-wrap: nowrap;align-items: center;"> |
| | | <i v-if="currentFiberOpticTape" class="el-icon-caret-left table_caret" @click="caretTape(-1) |
| | | "></i> |
| | | <div :style="`font-family:${n.v.ff} !important;`">{{currentFiberOpticTape?currentFiberOpticTape.code:''}}</div> |
| | | <i v-if="currentFiberOpticTape" |
| | | class="el-icon-caret-right table_caret" |
| | | <div :style="`font-family:${n.v.ff} !important;`"> |
| | | {{ currentFiberOpticTape ? currentFiberOpticTape.code : '' }}</div> |
| | | <i v-if="currentFiberOpticTape" class="el-icon-caret-right table_caret" |
| | | @click="caretTape(1)"></i> |
| | | </div> |
| | | </template> |
| | | <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='光纤'"> |
| | | <div style="display: flex;flex-wrap: nowrap;align-items: center;"> |
| | | <i v-if="currentFiberOptic" class="el-icon-caret-left table_caret" |
| | | @click="caretOptic(-1)"></i> |
| | | <div :style="`font-family:${n.v.ff} !important;`">{{currentFiberOptic?currentFiberOptic.color:''}} |
| | | <i v-if="currentFiberOptic" class="el-icon-caret-left table_caret" @click="caretOptic(-1)"></i> |
| | | <div :style="`font-family:${n.v.ff} !important;`"> |
| | | {{ currentFiberOptic ? currentFiberOptic.color : '' }} |
| | | </div> |
| | | <i |
| | | v-if="currentFiberOptic" class="el-icon-caret-right table_caret" @click="caretOptic(1)"></i> |
| | | <i v-if="currentFiberOptic" class="el-icon-caret-right table_caret" @click="caretOptic(1)"></i> |
| | | </div> |
| | | </template> |
| | | <span v-else :style="`font-family:${n.v.ff} !important;`" v-html="getValue(n.v)" ></span> |
| | |
| | | <el-button :loading="submitLoading" type="primary" @click="submit()">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false" :visible.sync="dataGetDia" custom-class="custom-dialog" title="数据采集"> |
| | | <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false" |
| | | :visible.sync="dataGetDia" custom-class="custom-dialog" title="数据采集"> |
| | | <div> |
| | | <table border="1" cellpadding="10" class="thermal-table"> |
| | | <tr> |
| | |
| | | <td :rowspan="item.child.length">{{item.faName}}</td> |
| | | <td>{{ item.child[0].name }}</td> |
| | | <td style="text-align: left;"> |
| | | <el-checkbox-group |
| | | v-model="getDataIndex" :max="item.child[0].maxNum"> |
| | | <el-checkbox-group v-model="getDataIndex" :max="item.child[0].maxNum"> |
| | | <el-checkbox v-for="(n,j) in item.child[0].arr" :key="j" :label="j">{{n}}</el-checkbox> |
| | | </el-checkbox-group> |
| | | </td> |
| | |
| | | <tr v-for="(m,i) in item.child" v-show="i>0" :key="i+'bbbbbbbbbbbbbb'"> |
| | | <td>{{ m.name }}</td> |
| | | <td style="text-align: left;"> |
| | | <el-checkbox-group |
| | | v-model="getDataIndex" :max="m.maxNum"> |
| | | <el-checkbox-group v-model="getDataIndex" :max="m.maxNum"> |
| | | <el-checkbox v-for="(n,j) in m.arr" :key="j" :label="j">{{n}}</el-checkbox> |
| | | </el-checkbox-group> |
| | | </td> |
| | |
| | | <el-button :loading="getDataIndexLoading" type="primary" @click="submitDataGet()">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <UnPassDialog v-if="unPassDialog" ref="unPassDialog" |
| | | :orderId="orderId" |
| | | :unPassDialog="unPassDialog" |
| | | <UnPassDialog v-if="unPassDialog" ref="unPassDialog" :orderId="orderId" :unPassDialog="unPassDialog" |
| | | @resetForm="resetForm"></UnPassDialog> |
| | | <el-dialog :close-on-click-modal="false" :visible.sync="addCheck" |
| | | title="指定报告审核人员" |
| | | width="400px" |
| | | <el-dialog :close-on-click-modal="false" :visible.sync="addCheck" title="指定报告审核人员" width="400px" |
| | | @close="closeAddVerifyDia"> |
| | | <div class="body" style="display: flex;padding: 10px;align-items: center;"> |
| | | <div class="search_label" style="width: 150px;"><span class="required-span">*</span>审核人:</div> |
| | |
| | | font: '删除', |
| | | type: 'text', |
| | | method: 'doDiy', |
| | | disabFun: (row, index) => { |
| | | disabled: (row, index) => { |
| | | return this.state!=1 |
| | | } |
| | | } |
| | |
| | | </script> |
| | | <style scoped> |
| | | .custom-table .el-table__header-wrapper th { |
| | | background-color: #87CEEB; /* 只对带有my-custom-table类的表格生效 */ |
| | | background-color: #87CEEB; |
| | | /* 只对带有my-custom-table类的表格生效 */ |
| | | color: #fff; |
| | | } |
| | | |
| | | .container { |
| | | overflow: auto; /* 确保容器能包裹浮动元素 */ |
| | | overflow: auto; |
| | | /* 确保容器能包裹浮动元素 */ |
| | | margin-bottom: 10px; |
| | | } |
| | | |
| | | .right-button { |
| | | float: right; |
| | | } |
| | | |
| | | .inspection { |
| | | height: 100%; |
| | | overflow-y: auto; |
| | |
| | | word-wrap: break-word; |
| | | white-space: normal; |
| | | } |
| | | |
| | | .thermal-table{ |
| | | min-width: calc(100% - 10px); |
| | | margin: 5px 5px 0; |
| | | table-layout: fixed; |
| | | } |
| | | |
| | | .thermal-table td { |
| | | min-width: 70px; |
| | | text-align: center; |
| | |
| | | white-space: normal; |
| | | padding: 5px; |
| | | } |
| | | |
| | | .table-container { |
| | | overflow-x: auto; /* 使容器支持横向滚动 */ |
| | | max-width: 100%; /* 限制容器的最大宽度 */ |
| | | overflow-x: auto; |
| | | /* 使容器支持横向滚动 */ |
| | | max-width: 100%; |
| | | /* 限制容器的最大宽度 */ |
| | | margin-bottom: 16px; |
| | | } |
| | | |
| | |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | |
| | | .table_input >>>.el-input__inner{ |
| | | border-color: rgba(0, 0, 0, 0.5) !important; |
| | | } |
| | |
| | | .collection:active { |
| | | opacity: .7; |
| | | } |
| | | |
| | | .table_caret{ |
| | | font-size: 16px; |
| | | margin: 0 5px; |
| | | color: rgba(0, 0, 0, 0.5); |
| | | } |
| | | |
| | | .table_caret:hover{ |
| | | color: #409eff; |
| | | cursor: pointer; |
| | |
| | | .table_caret:active{ |
| | | opacity: .8; |
| | | } |
| | | |
| | | >>>input::-webkit-inner-spin-button { |
| | | -webkit-appearance: none !important; /* 隐藏微调按钮 */ |
| | | margin: 0 !important; /* 移除微调按钮的边距 */ |
| | | -webkit-appearance: none !important; |
| | | /* 隐藏微调按钮 */ |
| | | margin: 0 !important; |
| | | /* 移除微调按钮的边距 */ |
| | | } |
| | | |
| | | >>>input[type=number] { |
| | | -moz-appearance: textfield !important; /* 针对 Firefox */ |
| | | -moz-appearance: textfield !important; |
| | | /* 针对 Firefox */ |
| | | } |
| | | |
| | | >>>.el-form-item__content{ |
| | | display: inline-flex; |
| | | align-items: center; |
| | |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .thermal-table .el-input{ |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .custom-dialog .el-dialog__body { |
| | | max-width: 1000px; /* 设置最大宽度 */ |
| | | max-width: 1000px; |
| | | /* 设置最大宽度 */ |
| | | } |
| | | |
| | | .unPassCheck .el-dialog__body { |
| | | overflow: auto; |
| | | max-height: 800px; /* 设置最大宽度 */ |
| | | max-height: 800px; |
| | | /* 设置最大宽度 */ |
| | | } |
| | | </style> |