<template>
|
<div
|
style="height: 100%"
|
:class="{ cantEdit: reportInfo.reportState === '汇报已提交' }"
|
>
|
<div class="page-header">
|
<el-button @click="$router.go(-1)" type="primary">返 回</el-button>
|
</div>
|
<div class="page-main">
|
<div class="body">
|
<div class="form-productInfo">
|
<el-row>
|
<el-col :span="4">
|
<div class="l">汇报编号:</div>
|
<div class="r">{{ reportInfo.reportNo }}</div>
|
</el-col>
|
<el-col :span="4">
|
<div class="l">汇报类型:</div>
|
<div class="r">{{ applyTypeMap[reportInfo.applyType] }}</div>
|
</el-col>
|
<el-col :span="16" style="justify-content: flex-end;">
|
<el-button
|
@click="goSubmit"
|
type="primary"
|
plain
|
:disabled="reportInfo.reportState === '汇报已提交'"
|
>
|
提交
|
</el-button>
|
<el-button
|
@click="goRevert"
|
:disabled="reportInfo.reportState === '汇报未提交'"
|
>
|
撤回
|
</el-button>
|
</el-col>
|
</el-row>
|
</div>
|
<el-divider content-position="center" class="divider">
|
产品信息
|
</el-divider>
|
<div class="form-productInfo">
|
<el-row>
|
<el-col :span="4">
|
<div class="l">销售订单号:</div>
|
<div class="r">{{ reportInfo.customerOrderNo }}</div>
|
<!-- 无 -->
|
</el-col>
|
<el-col :span="8">
|
<div class="l">客户名称:</div>
|
<div class="r">{{ reportInfo.customerName }}</div>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="4">
|
<div class="l">零件号:</div>
|
<div class="r">{{ reportInfo.partNo }}</div>
|
</el-col>
|
<el-col :span="4">
|
<div class="l">零件名称:</div>
|
<div class="r">{{ reportInfo.partDesc }}</div>
|
</el-col>
|
<el-col :span="4">
|
<div class="l">产品名称:</div>
|
<div class="r">{{ reportInfo.prodName }}</div>
|
</el-col>
|
<el-col :span="4">
|
<div class="l">规格:</div>
|
<div class="r">{{ reportInfo.specs }}</div>
|
</el-col>
|
<el-col :span="4">
|
<div class="l">型号:</div>
|
<div class="r">{{ reportInfo.partModel }}</div>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="4">
|
<div class="l">SN号:</div>
|
<div class="r">{{ reportInfo.lotBatchNo }}</div>
|
<!-- outBatchNo? -->
|
</el-col>
|
<el-col :span="4">
|
<div class="l">生产机台:</div>
|
<div class="r">{{ reportInfo.workstationName }}</div>
|
</el-col>
|
<el-col :span="4">
|
<div class="l">生产长度:</div>
|
<div class="r">{{ reportInfo.totalLength }}</div>
|
<!-- 无 -->
|
</el-col>
|
<el-col :span="4">
|
<div class="l">载具编号:</div>
|
<div class="r">{{ reportInfo.reelNumber }}</div>
|
</el-col>
|
<el-col :span="4">
|
<div class="l">生产人员:</div>
|
<div class="r">{{ reportInfo.produceUser }}</div>
|
</el-col>
|
<el-col :span="4">
|
<div class="l">生产时间:</div>
|
<div class="r">{{ reportInfo.produceTime }}</div>
|
</el-col>
|
</el-row>
|
</div>
|
<el-divider content-position="center" class="divider">
|
检测信息
|
</el-divider>
|
<div class="btns-detectInfo">
|
<el-button
|
:disabled="reportInfo.reportState === '汇报已提交'"
|
@click="saveDetectInfo"
|
type="success"
|
plain
|
>
|
保存
|
</el-button>
|
<el-dropdown @command="handleCommand" style="margin: 0 10px">
|
<el-button
|
:disabled="reportInfo.reportState === '汇报已提交'"
|
type="primary"
|
plain
|
>
|
检测结果标记
|
<i class="el-icon-arrow-down el-icon--right" />
|
</el-button>
|
<el-dropdown-menu slot="dropdown">
|
<el-dropdown-item command="qualifiedTrue">合格</el-dropdown-item>
|
<el-dropdown-item command="qualifiedFalse">
|
不合格
|
</el-dropdown-item>
|
</el-dropdown-menu>
|
</el-dropdown>
|
<el-button @click="unqualifiedReview" type="primary" plain>
|
不合格处理
|
</el-button>
|
</div>
|
<el-form
|
:disabled="reportInfo.reportState === '汇报已提交'"
|
:inline="true"
|
:model="dataForm"
|
:rules="dataRule"
|
ref="dataForm"
|
class="form-detectInfo l-mes"
|
>
|
<el-row>
|
<el-col :span="14">
|
<el-row>
|
<el-col :span="8">
|
<el-form-item prop="replacePartNo" label="替代零件号">
|
<el-input v-model="dataForm.replacePartNo" readonly>
|
<el-button
|
v-if="dataForm.replacePartNo"
|
slot="append"
|
icon="el-icon-close"
|
@click="clearReplacePart()"
|
/>
|
<el-button
|
slot="append"
|
icon="el-icon-search"
|
@click="openPart()"
|
/>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item prop="replacePartName" label="替代零件名称">
|
<el-input v-model="dataForm.replacePartName" disabled />
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item prop="examiner" label="检验员">
|
<!-- <el-input v-model="dataForm.examiner" readonly>
|
<el-button
|
slot="append"
|
icon="el-icon-search"
|
@click="openTestMan()"
|
/>
|
</el-input> -->
|
<el-select
|
v-model="dataForm.examiner"
|
filterable
|
@change="selectTestMan"
|
>
|
<el-option
|
v-for="item in options['检验员']"
|
:key="item.id"
|
:label="`${item.partNoAfter} - ${item.examinerAfter}`"
|
:value="item.examinerAfter"
|
/>
|
<el-option
|
:label="Dialog_testMan.examinerAfter"
|
:value="Dialog_testMan.id"
|
hidden
|
/>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<!-- <el-col :span="8">
|
<el-form-item label="起止米标" class="flexItem">
|
<el-input v-model="dataForm.startMeterMark" />
|
<span>~</span>
|
<el-input v-model="dataForm.endMeterMark" />
|
</el-form-item>
|
</el-col> -->
|
<el-col :span="8">
|
<el-form-item prop="checkLength" label="入库长度">
|
<el-input v-model="dataForm.checkLength" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item prop="scrapArrived" label="报废长度">
|
<el-input v-model="dataForm.scrapArrived" readonly />
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item prop="sampleCheckLength" label="检测长度">
|
<el-input v-model="dataForm.sampleCheckLength" />
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item
|
prop="testStandardId"
|
label="检测标准"
|
class="flexItem"
|
>
|
<el-select
|
v-model="dataForm.testStandardId"
|
filterable
|
@change="testStandardSelectChange"
|
>
|
<el-option
|
v-for="item in options['检测标准']"
|
:key="item.id"
|
:label="item.standardNo"
|
:value="item.id"
|
/>
|
<el-option
|
:label="Dialog_testStandard.standardNo"
|
:value="Dialog_testStandard.id"
|
hidden
|
/>
|
</el-select>
|
<div
|
class="search"
|
@click="
|
if (reportInfo.reportState === '汇报未提交') {
|
visible['检测标准'] = true
|
}
|
"
|
>
|
<i class="el-icon-search" />
|
</div>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item prop="measuringInstrument" label="测量器具">
|
<el-select
|
v-model="dataForm.measuringInstrument"
|
filterable
|
clearable
|
>
|
<el-option
|
v-for="item in options['测量器具']"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item prop="temperature" label="温度">
|
<el-input v-model="dataForm.temperature" />
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item prop="checkTime" label="检测时间">
|
<el-date-picker
|
v-model="dataForm.checkTime"
|
type="datetime"
|
value-format="yyyy-MM-dd HH:mm:ss"
|
/>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item prop="isQualified" label="检测结论">
|
<span
|
v-if="dataForm.isQualified === false"
|
style="font-weight: bold;color: red;font-size: 16px;"
|
>
|
不合格
|
</span>
|
<span v-else-if="dataForm.isQualified === true">合格</span>
|
<span v-else>-</span>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-col>
|
<el-col :span="8" style="padding-left: 5%;">
|
<el-form-item prop="remark" label="备注">
|
<el-input
|
type="textarea"
|
:rows="2"
|
placeholder="请输入内容"
|
v-model="dataForm.remark"
|
/>
|
</el-form-item>
|
<el-form-item label="附件">
|
<el-upload
|
drag
|
ref="upload"
|
action="/mes/qualityapplypartfile/upload"
|
:headers="headers"
|
:auto-upload="true"
|
:before-upload="submitUpload"
|
:on-success="uploadSuccess"
|
:data="paramData"
|
:file-list="fileList"
|
list-type="text"
|
:on-preview="handlePreview"
|
:with-credentials="true"
|
>
|
<i class="el-icon-upload"></i>
|
<div class="el-upload__text">
|
将文件拖到此处,或<em>点击上传</em>
|
</div>
|
<div slot="file" slot-scope="{ file }">
|
<span class="el-upload-list__item-actions">
|
<span>{{ file.name }}</span>
|
<span
|
style="position: absolute;right: 54px;font-size: 16px;color: #67c23a;cursor: pointer;"
|
>
|
<el-image
|
style="width: 16px; height: 16px;vertical-align:middle;"
|
src="/img/zoom.png"
|
:preview-src-list="[file.url]"
|
>
|
</el-image>
|
</span>
|
<span
|
style="position: absolute;right: 32px;font-size: 16px;color: #409eff;cursor: pointer;"
|
@click="handleDownload(file)"
|
>
|
<i
|
class="el-icon-download"
|
style="line-height:28px;"
|
></i>
|
</span>
|
<span
|
style="position: absolute;right: 10px;font-size: 16px;color: #f56c6c;cursor: pointer;"
|
@click="handleDelete(file)"
|
>
|
<i class="el-icon-delete" style="line-height:28px;"></i>
|
</span>
|
</span>
|
</div>
|
</el-upload>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-form>
|
<el-divider
|
content-position="center"
|
class="divider"
|
@dblclick="dbclick"
|
>
|
检测明细
|
</el-divider>
|
<div :class="{ full: isFull }" @dblclick="dbclick">
|
<div class="btns-detectDetail">
|
<el-button
|
:disabled="reportInfo.reportState === '汇报已提交'"
|
@click="judgmentQuality()"
|
type="primary"
|
plain
|
>
|
合格判定
|
</el-button>
|
<el-button
|
v-if="!detailEditFlag"
|
:disabled="reportInfo.reportState === '汇报已提交'"
|
@click="goEditDetail"
|
type="primary"
|
plain
|
>
|
编辑
|
</el-button>
|
<el-button v-if="detailEditFlag" @click="EditDetailCancel" plain>
|
取消
|
</el-button>
|
<el-button
|
v-if="detailEditFlag"
|
@click="EditDetailSave"
|
type="primary"
|
plain
|
>
|
保存
|
</el-button>
|
<!-- <el-button type="primary" plain>
|
采集
|
</el-button> -->
|
<span style="margin-left:10px">
|
判定结果:{{
|
reportSample.isQualified == null
|
? '-'
|
: reportSample.isQualified
|
? '合格'
|
: '不合格'
|
}}
|
</span>
|
</div>
|
<div class="form-detectDetail">
|
<div class="l">
|
<div class="t">测量项</div>
|
<el-table
|
border
|
stripe
|
ref="dataList_l"
|
:data="dataList['测量项']"
|
:height="isFull ? fullHeight : '500px'"
|
:row-style="{ height: '26px' }"
|
:cell-style="{ padding: '0' }"
|
>
|
<el-table-column
|
min-width="100px"
|
prop="itemCode"
|
label="编号"
|
/>
|
<el-table-column
|
prop="isCheck"
|
label="抽检"
|
:formatter="isCheckFormatter"
|
/>
|
<el-table-column prop="wireCore" label="线芯" />
|
<el-table-column
|
min-width="110px"
|
prop="itemName"
|
label="检测项目"
|
/>
|
<el-table-column
|
min-width="120px"
|
prop="itemReference"
|
label="要求范围"
|
/>
|
<el-table-column prop="unit" label="单位" />
|
<!-- <el-table-column prop="acqItemValue" label="采集值" /> -->
|
<!--<el-table-column prop="calItemValue" label="计算值" />-->
|
<el-table-column min-width="100px" prop="itemValue" label="值">
|
<template slot-scope="{ $index, row }">
|
<el-input
|
:id="'idReport_left_' + +$index"
|
:ref="'reference_left_' + $index"
|
v-if="detailEditFlag && row.itemType != 2"
|
v-model="row.itemValue"
|
placeholder="测试值"
|
@keyup.enter.native="nextFocus($index, '测量项')"
|
@blur="checkItemValue(row)"
|
></el-input>
|
<el-select
|
v-if="detailEditFlag && row.itemType == 2"
|
:id="'idReport_left_' + +$index"
|
:ref="'reference_left_' + $index"
|
v-model="row.itemValue"
|
style="width:100%"
|
@change="nextFocus($index, '测量项')"
|
>
|
<el-option
|
v-for="item in row.sysDictItemList"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value"
|
/>
|
</el-select>
|
<div v-if="!detailEditFlag && row.itemType != 2">
|
<span>{{ row.itemValue }}</span>
|
</div>
|
<div v-if="!detailEditFlag && row.itemType == 2">
|
<span>{{
|
row.sysDictItemList.find((el) => {
|
return el.value == row.itemValue
|
})
|
? row.sysDictItemList.find((el) => {
|
return el.value == row.itemValue
|
}).label
|
: ''
|
}}</span>
|
</div>
|
</template>
|
</el-table-column>
|
<el-table-column
|
min-width="80px"
|
prop="isQualified"
|
label="合格"
|
>
|
<template slot-scope="{ row }">
|
<el-select
|
v-if="detailEditFlag"
|
v-model="row.isQualified"
|
:class="[
|
row.isQualified != null && !row.isQualified
|
? 'redSelectBackGround'
|
: ''
|
]"
|
>
|
<el-option label="是" :value="true" />
|
<el-option label="否" :value="false" />
|
</el-select>
|
<div
|
v-else
|
:class="[
|
row.isQualified != null && !row.isQualified
|
? 'redDivBackGround'
|
: ''
|
]"
|
>
|
<span>
|
{{
|
row.isQualified == false
|
? '否'
|
: row.isQualified
|
? '是'
|
: ''
|
}}
|
</span>
|
</div>
|
</template>
|
</el-table-column>
|
<!--<el-table-column prop="aisle" label="通道" />-->
|
<!--<el-table-column prop="position" label="部位" />-->
|
<el-table-column min-width="150px" prop="remark" label="备注">
|
<template slot-scope="{ row }">
|
<el-input v-if="detailEditFlag" v-model="row.remark" />
|
<template v-else>{{ row.remark }}</template>
|
</template>
|
</el-table-column>
|
</el-table>
|
</div>
|
<div class="r">
|
<div style="display: flex;justify-content:space-between;">
|
<div class="t">采集项</div>
|
<div class="t" style="padding-right:10px;">
|
<el-button
|
v-if="
|
detailEditFlag && permissions.quality_report_big_table_new
|
"
|
type="text"
|
class="commonButton"
|
@click="gatherSampleItem()"
|
>
|
AESA大表
|
</el-button>
|
<el-button
|
v-if="
|
detailEditFlag &&
|
permissions.quality_report_network_analyzer_new
|
"
|
type="text"
|
class="commonButton"
|
@click="gatherNetworkAnalyzerSampleItem()"
|
>
|
网分仪
|
</el-button>
|
</div>
|
</div>
|
<el-table
|
border
|
stripe
|
ref="dataList_r"
|
:data="dataList['采集项']"
|
:height="isFull ? fullHeight : '500px'"
|
:row-style="{ height: '26px' }"
|
:cell-style="{ padding: '0' }"
|
>
|
<el-table-column
|
min-width="100px"
|
prop="itemCode"
|
label="编号"
|
/>
|
<el-table-column
|
prop="isCheck"
|
label="抽检"
|
:formatter="isCheckFormatter"
|
/>
|
<el-table-column prop="wireCore" label="线芯" />
|
<el-table-column
|
min-width="110px"
|
prop="itemName"
|
label="检测项目"
|
/>
|
<el-table-column
|
min-width="120px"
|
prop="itemReference"
|
label="要求范围"
|
/>
|
<el-table-column prop="unit" label="单位" />
|
<el-table-column prop="acqItemValue" label="测试值" />
|
<el-table-column prop="calItemValue" label="计算值" />
|
<el-table-column min-width="100px" prop="itemValue" label="值">
|
<template slot-scope="{ $index, row }">
|
<el-input
|
:id="'idReport_right_' + +$index"
|
:ref="'reference_right_' + $index"
|
v-if="detailEditFlag && row.itemType != 2"
|
v-model="row.itemValue"
|
placeholder="测试值"
|
@keyup.enter.native="nextFocus($index, '采集项')"
|
@blur="checkItemValue(row)"
|
></el-input>
|
<el-select
|
v-if="detailEditFlag && row.itemType == 2"
|
:id="'idReport_right_' + +$index"
|
:ref="'reference_right_' + $index"
|
v-model="row.itemValue"
|
style="width:100%"
|
@change="nextFocus($index, '采集项')"
|
>
|
<el-option
|
v-for="item in row.sysDictItemList"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value"
|
/>
|
</el-select>
|
<div v-if="!detailEditFlag && row.itemType != 2">
|
<span>{{ row.itemValue }}</span>
|
</div>
|
<div v-if="!detailEditFlag && row.itemType == 2">
|
<span>{{
|
row.sysDictItemList.find((el) => {
|
return el.value == row.itemValue
|
})
|
? row.sysDictItemList.find((el) => {
|
return el.value == row.itemValue
|
}).label
|
: ''
|
}}</span>
|
</div>
|
</template>
|
</el-table-column>
|
<el-table-column
|
min-width="80px"
|
prop="isQualified"
|
label="合格"
|
>
|
<template slot-scope="{ row }">
|
<el-select
|
v-if="detailEditFlag"
|
v-model="row.isQualified"
|
:class="[
|
row.isQualified != null && !row.isQualified
|
? 'redSelectBackGround'
|
: ''
|
]"
|
>
|
<el-option label="是" :value="true" />
|
<el-option label="否" :value="false" />
|
</el-select>
|
<div
|
v-else
|
:class="[
|
row.isQualified != null && !row.isQualified
|
? 'redDivBackGround'
|
: ''
|
]"
|
>
|
<span>
|
{{
|
row.isQualified == false
|
? '否'
|
: row.isQualified
|
? '是'
|
: ''
|
}}
|
</span>
|
</div>
|
</template>
|
</el-table-column>
|
<el-table-column prop="aisle" label="通道" />
|
<el-table-column prop="position" label="部位" />
|
<el-table-column min-width="150px" prop="remark" label="备注">
|
<template slot-scope="{ row }">
|
<el-input v-if="detailEditFlag" v-model="row.remark" />
|
<template v-else>{{ row.remark }}</template>
|
</template>
|
</el-table-column>
|
</el-table>
|
</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
<PartDialog
|
:currshowlist.sync="visible['替代零件号']"
|
@listenToPartEvent="selectPart"
|
/>
|
<TestManDialog
|
:paramObj="{
|
partNo: reportInfo.partNo
|
}"
|
:currshowlist.sync="visible['检验员']"
|
@listenToPartEvent="selectTestMan"
|
/>
|
<TestStandardDialog
|
:currshowlist.sync="visible['检测标准']"
|
@listenToSelectTestStandardEvent="testStandardDialogChange"
|
/>
|
|
<!-- 弹窗, 检测结果标记-不合格数量 -->
|
<arrivedEditDialog
|
:currshowlist.sync="visible['不合格数量']"
|
:reportPartList="[this.reportInfo]"
|
@refreshReportPart="init()"
|
/>
|
<!-- 弹窗, 不合格处理 -->
|
<unqualifiedProcessForm
|
v-if="visible['不合格处理']"
|
ref="unqualifiedProcess"
|
@refreshDataList="init()"
|
:applyPartList="[this.reportInfo]"
|
:reportInfoP="reportInfo"
|
:dataFormP="dataForm"
|
/>
|
<Kuwei v-if="visible['库位']" ref="Kuwei" @submitFinished="init()" />
|
</div>
|
</template>
|
<script>
|
import {
|
createReport,
|
// addReport,
|
getReport,
|
// putReport,
|
getMoTestStandardList,
|
putReportSubmit,
|
putReportCancelSubmit,
|
putReportSampleV2,
|
getFiles,
|
getFilesPage,
|
removeFile,
|
batchUpdateApplyPartV2
|
} from '@/api/quality/newReport'
|
import {
|
getSampleItemsById,
|
putReportSampleItem,
|
autoJudgmentSample,
|
autoJudgmentSampleSingle,
|
dataAcquisition,
|
judgmentSampleCheck
|
} from '@/api/quality/report'
|
import { fetchList as getExaminerList } from '@/api/certificate/examiner'
|
import { remote } from '@/api/admin/dict'
|
import { mapGetters } from 'vuex'
|
import { getStore, setStore } from '@/util/store.js'
|
|
import PartDialog from '@/views/common/part.vue'
|
import TestManDialog from './TestMan.vue'
|
import TestStandardDialog from '@/views/common/teststandardradio'
|
import arrivedEditDialog from './arrivededit'
|
import unqualifiedProcessForm from './unqualifiedprocessform'
|
import Kuwei from './Kuwei'
|
const dataFormDefault = () => {
|
return {
|
replacePartNo: null,
|
replacePartName: null,
|
examiner: null,
|
checkLength: null,
|
sampleCheckLength: null,
|
scrapArrived: null,
|
testStandardId: null,
|
temperature: null,
|
checkTime: null,
|
isQualified: null,
|
remark: null
|
}
|
}
|
export default {
|
components: {
|
PartDialog,
|
TestManDialog,
|
TestStandardDialog,
|
arrivedEditDialog,
|
unqualifiedProcessForm,
|
Kuwei
|
},
|
data() {
|
return {
|
headers: {
|
Authorization: 'Bearer ' + getStore({ name: 'access_token' })
|
},
|
paramData: {
|
applyPartId: null
|
},
|
fileList: [],
|
currentRow: null,
|
reportInfo: {},
|
loading: true,
|
options: {
|
检测标准: [],
|
测量器具: [],
|
检验员: []
|
},
|
dataForm: dataFormDefault(),
|
dataRule: {},
|
dataList: {
|
测量项: [],
|
采集项: []
|
},
|
detailEditFlag: false,
|
applyTypeMap: {},
|
visible: {
|
替代零件号: false,
|
检测标准: false,
|
不合格数量: false,
|
不合格处理: false,
|
检验员: false,
|
库位: false
|
},
|
Dialog_testStandard: {},
|
Dialog_testMan: {},
|
fullHeight: document.body.clientHeight - 116 + 'px',
|
isFull: false
|
}
|
},
|
computed: {
|
...mapGetters(['userInfo']),
|
...mapGetters(['permissions']),
|
reportSample() {
|
if (this.reportInfo.reportSampleList) {
|
return this.reportInfo.reportSampleList[0]
|
} else {
|
return {}
|
}
|
},
|
scrapArrived() {
|
const t = +this.reportInfo.totalLength
|
const c = +this.dataForm.checkLength
|
if (!isNaN(t) && !isNaN(c)) {
|
return parseFloat((t - c).toFixed(8))
|
} else {
|
return null
|
}
|
}
|
},
|
watch: {
|
scrapArrived: {
|
immediate: true,
|
handler(newVal) {
|
this.dataForm.scrapArrived = newVal
|
}
|
}
|
},
|
mounted() {
|
window.addEventListener(
|
'hashchange',
|
() => {
|
const currentPath = window.location.hash.slice(1)
|
if (this.$route.path !== currentPath) {
|
this.$router.push(currentPath)
|
}
|
},
|
false
|
)
|
},
|
async created() {
|
remote('apply_report_type').then((response) => {
|
if (response.data.code === 0) {
|
response.data.data.forEach((e) => {
|
this.applyTypeMap[e.value] = e.label
|
})
|
}
|
})
|
remote('measuring_instrument').then((response) => {
|
if (response.data.code === 0) {
|
this.options['测量器具'] = response.data.data
|
}
|
})
|
this.currentRow = JSON.parse(sessionStorage.getItem('ztt-newReportRow'))
|
await this.initCreate()
|
// 获取检测标准
|
this.getMoTeStLs()
|
// 获取检测项
|
this.getSampleItems()
|
// 获取附件
|
this.getFileList()
|
// 获取检验员下拉列表
|
this.getExaminerOpt()
|
},
|
methods: {
|
dbclick() {
|
this.isFull = !this.isFull
|
this.$refs.dataList_l.doLayout()
|
this.$refs.dataList_r.doLayout()
|
},
|
async initCreate() {
|
this.loading = true
|
const type = this.$route.query.type
|
if (type === 'add') {
|
await createReport({
|
applyPartId: this.currentRow.id,
|
reportType: this.currentRow.applyType,
|
reportPerson: this.userInfo.staffName
|
}).then((res) => {
|
this.reportInfo = res.data.data
|
Object.assign(this.dataForm, this.reportInfo)
|
this.dataForm.checkLength = this.reportInfo.totalLength
|
this.dataForm.checkTime = new Date().format('yyyy-MM-dd hh:mm:ss')
|
this.dataForm.temperature = getStore({
|
name: 'NewReportForm-temperature'
|
})
|
})
|
} else {
|
await getReport(this.currentRow.id).then((res) => {
|
if (res.data.data.checkLength === null) {
|
res.data.data.checkLength = res.data.data.totalLength
|
}
|
this.reportInfo = res.data.data
|
Object.assign(this.dataForm, this.reportInfo)
|
})
|
}
|
// 检测标准
|
const sam = this.reportInfo.reportSampleList[0]
|
if (sam.isMoTestStandard) {
|
this.dataForm.testStandardId = sam.testStandardId
|
} else {
|
this.dataForm.testStandardId = sam.testStandardId
|
this.Dialog_testStandard = {
|
id: sam.testStandardId,
|
standardNo: sam.testStandardNo
|
}
|
}
|
this.loading = false
|
},
|
init() {
|
getReport(this.reportInfo.id).then((res) => {
|
if (res.data.data.checkLength === null) {
|
res.data.data.checkLength = res.data.data.totalLength
|
}
|
this.reportInfo = res.data.data
|
this.dataForm = JSON.parse(JSON.stringify(this.reportInfo))
|
const sam = this.reportInfo.reportSampleList[0]
|
if (sam.isMoTestStandard) {
|
this.dataForm.testStandardId = sam.testStandardId
|
this.Dialog_testStandard = {}
|
} else {
|
this.dataForm.testStandardId = sam.testStandardId
|
this.Dialog_testStandard = {
|
id: sam.testStandardId,
|
standardNo: sam.testStandardNo
|
}
|
}
|
})
|
},
|
getMoTeStLs() {
|
getMoTestStandardList({
|
inspectionType: this.reportInfo.applyType,
|
moId: this.reportInfo.moId,
|
moRoutingOperationId: this.reportInfo.moRoutingOperationId
|
}).then((res) => {
|
this.options['检测标准'] = res.data.data
|
})
|
},
|
openPart() {
|
this.visible['替代零件号'] = true
|
if (this.reportInfo.operationStockStatus) {
|
this.$message.warning('工序库存,禁用替代零件号。')
|
} else {
|
this.visible['替代零件号'] = true
|
}
|
},
|
// 替代零件号选择后
|
selectPart(param) {
|
// 替代零件号】作为【入库零件号】查零件降级配置表,取【入库检验员】作为当前检测汇报的【检验员】,若查不到,则检测汇报的【检验员】字段为空。
|
if (param) {
|
this.dataForm.replacePartId = param.id
|
this.dataForm.replacePartNo = param.partNo
|
this.dataForm.replacePartName = param.partName
|
this.dataForm.examiner = null
|
getExaminerList({
|
partNoAfter: param.partNo
|
}).then((res) => {
|
const r = res.data.data.records
|
if (r.length) {
|
this.Dialog_testMan = r[0]
|
this.dataForm.examiner = r[0].examinerAfter
|
}
|
})
|
}
|
},
|
clearReplacePart() {
|
this.dataForm.replacePartId = null
|
this.dataForm.replacePartNo = null
|
this.dataForm.replacePartName = null
|
this.dataForm.examiner = null
|
},
|
openTestMan() {
|
if (this.reportInfo.operationStockStatus) {
|
this.$message.error('工序库存,禁用替代零件号。')
|
} else {
|
this.visible['检验员'] = true
|
}
|
},
|
getExaminerOpt() {
|
getExaminerList({
|
partNo: this.reportInfo.partNo,
|
current: 1,
|
size: 999
|
}).then((res) => {
|
this.options['检验员'] = res.data.data.records
|
})
|
},
|
selectTestMan() {
|
const theOne = this.options['检验员'].find(
|
(e) => e.examinerAfter === this.dataForm.examiner
|
)
|
this.dataForm.replacePartId = theOne.partIdAfter
|
this.dataForm.replacePartNo = theOne.partNoAfter
|
this.dataForm.replacePartName = theOne.partNameAfter
|
this.dataForm.examiner = theOne.examinerAfter
|
},
|
// 检测标准--从下拉框选择后
|
testStandardSelectChange() {
|
if (this.dataForm.testStandardId) {
|
this.dataForm.isMoTestStandard = true
|
const ass = {
|
isMoTestStandard: true,
|
testStandardId: this.dataForm.testStandardId,
|
testStandardNo: this.options['检测标准'].find(
|
(e) => e.id == this.dataForm.testStandardId
|
).standardNo
|
}
|
Object.assign(this.dataForm.reportSampleList[0], ass)
|
putReportSampleV2(this.dataForm.reportSampleList[0]).then((res) => {
|
Object.assign(this.reportInfo.reportSampleList[0], ass)
|
this.getSampleItems()
|
})
|
}
|
},
|
// 检测标准--从弹框选择后
|
testStandardDialogChange(param) {
|
if (param) {
|
this.Dialog_testStandard = param
|
this.dataForm.isMoTestStandard = false
|
this.dataForm.testStandardId = param.id
|
const ass = {
|
isMoTestStandard: false,
|
testStandardId: param.id,
|
testStandardNo: param.standardNo
|
}
|
Object.assign(this.dataForm.reportSampleList[0], ass)
|
putReportSampleV2(this.dataForm.reportSampleList[0]).then((res) => {
|
Object.assign(this.reportInfo.reportSampleList[0], ass)
|
this.getSampleItems()
|
})
|
}
|
},
|
// 检测结果标记
|
async handleCommand(event) {
|
await this.saveData()
|
if (event === 'qualifiedTrue') {
|
this.batchUpdate(true, '合格')
|
} else if (event === 'qualifiedFalse') {
|
this.batchUpdate(false, '不合格')
|
}
|
},
|
// 检测结果标记
|
async batchUpdate(isQualified, msg) {
|
// 判断选中的汇报零件中,是否已存在检测的,若存在,则不可进行检测结果标记 isQualified
|
let remindInfo = ''
|
let checkFlag = true
|
if (this.reportInfo.isQualified != null) {
|
checkFlag = false
|
remindInfo = '系统编号:' + this.reportInfo.systemNo + ',已检测! '
|
}
|
if (checkFlag) {
|
await this.$confirm('是否标记' + msg, '提示', {
|
confirmButtonText: '确定',
|
cancelButtonText: '取消',
|
closeOnClickModal: false,
|
type: 'warning'
|
})
|
if (this.reportInfo.isNotOutCheck) {
|
this.visible['库位'] = true
|
this.$nextTick(() => {
|
this.$refs.Kuwei.init(this.reportInfo, isQualified)
|
})
|
} else {
|
batchUpdateApplyPartV2(
|
[
|
{
|
id: this.reportInfo.id,
|
isQualified: isQualified,
|
systemNo: this.reportInfo.systemNo,
|
lotBatchNo: this.reportInfo.lotBatchNo
|
}
|
],
|
1
|
).then((data) => {
|
// debugger;
|
this.$message.success('标记成功 ' + data.data.msg)
|
this.init()
|
})
|
}
|
} else {
|
this.$message.error(remindInfo)
|
}
|
},
|
// 不合格处理
|
unqualifiedReview() {
|
if (this.reportInfo.reportState === '汇报未提交') {
|
this.$message.warning('检测汇报尚未提交')
|
return
|
}
|
this.visible['不合格处理'] = true
|
this.$nextTick(() => {
|
this.$refs.unqualifiedProcess.init()
|
})
|
},
|
// 附件上传下载
|
submitUpload() {
|
if (!this.reportInfo.id) {
|
return false
|
} else {
|
this.paramData.applyPartId = this.reportInfo.id
|
}
|
},
|
getFileList() {
|
this.fileList = []
|
// getFiles(this.reportInfo.id).then((response) => {
|
// var attachments = response.data.data
|
// // 渲染附件
|
// if (attachments != null && attachments.length > 0) {
|
// var attachment
|
// var fileEl
|
// for (var i = 0; i < attachments.length; i++) {
|
// attachment = attachments[i]
|
// fileEl = {}
|
// fileEl.name = attachment.original
|
// fileEl.url = attachment.path
|
// fileEl.id = attachment.id
|
// fileEl.fileName = attachment.fileName
|
// this.fileList.push(fileEl)
|
// }
|
// }
|
// })
|
getFilesPage({
|
applyPartId: this.reportInfo.id,
|
current: 1,
|
size: 20
|
}).then((response) => {
|
var attachments = response.data.data.records
|
// 渲染附件
|
if (attachments != null && attachments.length > 0) {
|
var attachment
|
var fileEl
|
for (var i = 0; i < attachments.length; i++) {
|
attachment = attachments[i]
|
fileEl = {}
|
fileEl.name = attachment.original
|
fileEl.url = attachment.path
|
fileEl.id = attachment.id
|
fileEl.fileName = attachment.fileName
|
this.fileList.push(fileEl)
|
}
|
}
|
})
|
},
|
// 上传成功给newFileList
|
uploadSuccess(response, file, fileList) {
|
this.getFileList()
|
},
|
handleRemove(file, fileList) {
|
removeFile(file.id).then((response) => {})
|
},
|
handlePreview(file) {
|
window.open(file.url)
|
},
|
// 附件下载
|
handleDownload(file) {
|
window.open(file.url)
|
},
|
// 删除附件
|
handleDelete(file) {
|
removeFile(file.id).then((response) => {
|
this.getFileList()
|
})
|
},
|
async goSubmit() {
|
await this.saveData()
|
putReportSubmit({}, this.reportInfo.reportId).then((response) => {
|
const resData = response.data
|
if (resData.code === 0) {
|
this.init()
|
this.$message.success('检测汇报提交成功!')
|
} else {
|
this.$message.error('检测汇报提交失败!')
|
}
|
})
|
},
|
goRevert() {
|
putReportCancelSubmit({}, this.reportInfo.reportId).then((response) => {
|
const resData = response.data
|
if (resData.code === 0) {
|
this.init()
|
this.$message.success('检测汇报撤销成功!')
|
} else {
|
this.$message.error('检测汇报撤销失败!')
|
}
|
})
|
},
|
// 保存
|
saveDetectInfo() {
|
this.saveData().then(() => {
|
this.$message.success('保存成功')
|
this.init()
|
})
|
},
|
saveData() {
|
return new Promise((resolve, reject) => {
|
if (+this.dataForm.scrapArrived < 0) {
|
this.$message.warning('入库长度大于生产长度')
|
reject(new Error('入库长度大于生产长度'))
|
} else {
|
setStore({
|
name: 'NewReportForm-temperature',
|
content: this.dataForm.temperature
|
})
|
batchUpdateApplyPartV2([this.dataForm], 0).then((data) => {
|
resolve()
|
})
|
}
|
})
|
},
|
// 获取检测项
|
getSampleItems() {
|
getSampleItemsById(this.reportInfo.reportSampleList[0]).then(
|
(response) => {
|
if (response.data.code === 0) {
|
this.dataList['测量项'] = response.data.data.filter(
|
(e) => e.paramType === '非采集项'
|
)
|
this.dataList['采集项'] = response.data.data.filter(
|
(e) => e.paramType !== '非采集项'
|
)
|
// 给检测长度赋值
|
const checkCoefficient = this.dataList['采集项'].find((item) => {
|
return item.itemCode == 'ZHRF-00000'
|
})
|
if (checkCoefficient) {
|
if (
|
checkCoefficient.itemValue != null &&
|
checkCoefficient.itemValue != ''
|
) {
|
if (
|
this.dataForm.sampleCheckLength != null &&
|
this.dataForm.sampleCheckLength != ''
|
) {
|
this.dataForm.sampleCheckLength =
|
Number(checkCoefficient.itemValue) *
|
Number(this.reportInfo.totalLength)
|
}
|
}
|
}
|
} else {
|
this.dataList['测量项'] = []
|
this.dataList['采集项'] = []
|
}
|
}
|
)
|
},
|
goEditDetail() {
|
this.detailEditFlag = true
|
},
|
EditDetailCancel() {
|
this.detailEditFlag = false
|
this.getSampleItems()
|
},
|
EditDetailSave() {
|
putReportSampleItem([
|
...this.dataList['测量项'],
|
...this.dataList['采集项']
|
]).then((response) => {
|
this.$message.success('检测明细保存成功')
|
// this.judgmentSample()
|
this.detailEditFlag = false
|
})
|
},
|
// 输入enter键,下一行自动聚焦
|
nextFocus(index, type) {
|
let nextRef = `idReport_${type === '测量项' ? 'left_' : 'right_'}`
|
if (index + 1 >= this.dataList[type].length) {
|
nextRef += '0'
|
} else {
|
nextRef += index + 1
|
}
|
document.getElementById(nextRef).focus()
|
},
|
// 合格判定
|
judgmentQuality() {
|
judgmentSampleCheck(this.reportInfo.reportSampleList[0]).then(
|
(response) => {
|
console.log('response', response)
|
const checkResult = response.data.data.success
|
const checkMessage = response.data.data.message
|
if (checkResult) {
|
this.judgmentSample()
|
} else {
|
this.$confirm(checkMessage, '提示', {
|
confirmButtonText: '确定',
|
cancelButtonText: '取消',
|
type: 'warning'
|
})
|
.then(() => {
|
this.judgmentSample()
|
})
|
.catch(() => {
|
this.$message({
|
type: 'info',
|
message: '已取消判定'
|
})
|
})
|
}
|
}
|
)
|
},
|
//
|
judgmentSample() {
|
autoJudgmentSample(this.reportInfo.reportSampleList[0]).then(
|
(response) => {
|
this.reportInfo.reportSampleList[0].isQualified =
|
response.data.data.isQualified
|
// 刷新检测项
|
this.getSampleItems()
|
this.$message.success('判定完成')
|
}
|
)
|
},
|
// 检验检测值是否合格
|
checkItemValue(row) {
|
autoJudgmentSampleSingle(row).then((response) => {
|
const resData = response.data.data
|
const resCode = response.data.code
|
if (resCode === 0) {
|
row.isQualified = resData.isQualified
|
}
|
})
|
},
|
isCheckFormatter(row) {
|
let isCheckStr = ''
|
if (row.isCheck != null) {
|
if (row.isCheck) {
|
isCheckStr = '是'
|
} else {
|
isCheckStr = '否'
|
}
|
}
|
return isCheckStr
|
},
|
// 大表
|
gatherSampleItem() {
|
if (this.reportInfo.reportSampleList.length > 0) {
|
const currentSample = this.reportInfo.reportSampleList[0]
|
dataAcquisition({
|
id: currentSample.id,
|
sn: this.reportInfo.lotBatchNo
|
}).then((response) => {
|
const resData = response.data.data
|
this.dataList['采集项'].forEach((item) => {
|
const exsitData = resData.find((ele) => {
|
return ele.itemCode == item.itemCode
|
})
|
if (exsitData) {
|
item.itemValue = exsitData.itemValue
|
item.isQualified = exsitData.isQualified
|
}
|
})
|
})
|
} else {
|
this.$message.error('无检测汇报样品信息')
|
}
|
},
|
// 网分仪
|
gatherNetworkAnalyzerSampleItem() {
|
// 传参数
|
// 生成请求信息
|
//
|
const preStr =
|
'<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><CalValue xmlns="zhrf_CollectData"><dataGridView>'
|
const ednStr = '</dataGridView></CalValue></soap:Body></soap:Envelope>'
|
let requireData = ''
|
if (this.dataList['采集项'].length > 0) {
|
const electricItem = this.dataList['测量项'].find((ele) => {
|
return ele.itemName == '电容标准'
|
})
|
const dataArr = []
|
let dataItem
|
let flag = true
|
let flagMsg = ''
|
const temperature =
|
this.dataForm.temperature == null ? null : this.dataForm.temperature
|
const cd =
|
this.dataForm.sampleCheckLength == null
|
? null
|
: this.dataForm.sampleCheckLength
|
console.log('cd', cd)
|
if (cd && cd != null) {
|
if (temperature && temperature != null) {
|
this.dataList['采集项'].forEach((item) => {
|
if (
|
item.itemName.indexOf('衰减') > -1 &&
|
(item.paramType != null && item.paramType == '采集项')
|
) {
|
dataItem = {
|
Column1: item.itemName,
|
TD: item.aisle == null ? '0' : item.aisle,
|
BW: item.position == null ? '0' : item.position,
|
temperture: temperature,
|
cd: cd
|
}
|
dataArr.push(dataItem)
|
// 判断是否有部位、通道
|
if (item.aisle == null || item.aisle == '') {
|
flag = false
|
flagMsg = flagMsg + item.itemName + ',通道值为空;'
|
}
|
if (item.position == null || item.position == '') {
|
flag = false
|
flagMsg = flagMsg + item.itemName + ',部位值为空;'
|
}
|
} else if (
|
item.itemName.indexOf('驻波比') > -1 &&
|
(item.paramType != null && item.paramType == '采集项')
|
) {
|
dataItem = {
|
Column1: item.itemName,
|
TD: item.aisle == null ? '0' : item.aisle,
|
BW: item.position == null ? '0' : item.position
|
}
|
dataArr.push(dataItem)
|
// 判断是否有部位、通道
|
if (item.aisle == null || item.aisle == '') {
|
flag = false
|
flagMsg = flagMsg + item.itemName + ',通道值为空;'
|
}
|
if (item.position == null || item.position == '') {
|
flag = false
|
flagMsg = flagMsg + item.itemName + ',部位值为空;'
|
}
|
} else if (
|
item.itemName.indexOf('相位差') > -1 &&
|
(item.paramType != null && item.paramType == '采集项')
|
) {
|
dataItem = {
|
Column1: item.itemName,
|
Column2: item.itemReference,
|
TD: item.aisle == null ? '0' : item.aisle,
|
BW: item.position == null ? '0' : item.position
|
}
|
dataArr.push(dataItem)
|
// 判断是否有部位、通道
|
if (item.aisle == null || item.aisle == '') {
|
flag = false
|
flagMsg = flagMsg + item.itemName + ',通道值为空;'
|
}
|
if (item.position == null || item.position == '') {
|
flag = false
|
flagMsg = flagMsg + item.itemName + ',部位值为空;'
|
}
|
} else if (
|
item.itemName.indexOf('特性阻抗') > -1 &&
|
(item.paramType != null && item.paramType == '采集项')
|
) {
|
dataItem = {
|
Column1: item.itemName,
|
TD: item.aisle == null ? '0' : item.aisle,
|
BW: item.position == null ? '0' : item.position,
|
DR: electricItem ? electricItem.itemValue : '0'
|
}
|
dataArr.push(dataItem)
|
// 判断是否有部位、通道
|
if (item.aisle == null || item.aisle == '') {
|
flag = false
|
flagMsg = flagMsg + item.itemName + ',通道值为空;'
|
}
|
if (item.position == null || item.position == '') {
|
flag = false
|
flagMsg = flagMsg + item.itemName + ',部位值为空;'
|
}
|
}
|
})
|
const _that = this
|
if (dataArr.length > 0) {
|
// if (true) {
|
const dataArrStr = JSON.stringify(dataArr)
|
requireData = preStr + dataArrStr + ednStr
|
$.ajax({
|
type: 'post',
|
url: 'http://127.0.0.1:8089/zhrf_CollectData.asmx?op=CalValue',
|
headers: {
|
'Content-Type': 'text/xml;charset=utf-8'
|
},
|
data: requireData,
|
success: function(response) {
|
console.log('response', response)
|
const resJson = JSON.parse(
|
response
|
.replace(/\r/g, '')
|
.replace(/\n/g, '')
|
.replace(/\s*/g, '')
|
)
|
console.log('resJson', resJson)
|
// TODO
|
if (resJson.message) {
|
const resData = resJson.data
|
if (resData.length > 0) {
|
resData.forEach((resDataEle) => {
|
const paramItem = _that.dataList['采集项'].find(
|
(ele) => {
|
return ele.itemName == resDataEle.Column1
|
}
|
)
|
if (paramItem) {
|
paramItem.acqItemValue = resDataEle.Column3
|
paramItem.calItemValue = resDataEle.Column4
|
paramItem.itemValue = resDataEle.Column5
|
}
|
})
|
}
|
} else {
|
console.log('获取网分仪数据失败')
|
}
|
}
|
})
|
// } else {
|
// this.$message.error(flagMsg)
|
// }
|
} else {
|
this.$message.error('无检测项目需进行采集')
|
}
|
} else {
|
this.$message.error('温度不能为空')
|
}
|
} else {
|
this.$message.error('检测长度不能为空')
|
}
|
} else {
|
this.$message.error('无采集检测项目')
|
}
|
}
|
}
|
}
|
</script>
|
<style>
|
.redSelectBackGround .el-input__inner {
|
background-color: #f56c6c;
|
color: white;
|
}
|
.redDivBackGround {
|
background-color: #f56c6c;
|
color: white;
|
}
|
</style>
|
<style scoped lang="scss">
|
.cantEdit /deep/ .el-upload {
|
display: none;
|
}
|
/deep/ .el-upload {
|
margin-top: 5px;
|
}
|
/deep/ .el-upload-dragger {
|
height: 135px;
|
}
|
/deep/ .el-icon-upload {
|
margin: 20px 0 15px;
|
}
|
.body {
|
overflow: hidden;
|
width: 100%;
|
padding: 10px 10px;
|
border: 1px solid #ddd;
|
background-color: #fff;
|
box-sizing: border-box;
|
}
|
.divider {
|
margin-bottom: 12px;
|
margin-top: 12px;
|
.el-divider__text {
|
font-weight: bold;
|
color: green;
|
}
|
}
|
.form-productInfo {
|
padding: 8px 10px 8px 20px;
|
font-size: 12px;
|
.el-col {
|
display: flex;
|
padding: 2px 0;
|
}
|
.l {
|
white-space: nowrap;
|
min-width: 75px;
|
text-align: right;
|
}
|
.r {
|
flex: 1;
|
padding: 0 10px 0 0;
|
word-break: break-all;
|
}
|
}
|
.btns-detectInfo {
|
padding: 10px 0 5px 15px;
|
}
|
.form-detectInfo {
|
padding: 8px 10px 8px 15px;
|
.el-col {
|
padding: 2px 0;
|
margin: 0;
|
}
|
.el-form-item {
|
display: flex;
|
margin: 0;
|
/deep/ .el-form-item__label {
|
min-width: 80px;
|
}
|
/deep/ .el-form-item__content {
|
flex: 1;
|
padding-right: 20px;
|
> {
|
.el-select,
|
.el-input {
|
width: 100%;
|
}
|
}
|
}
|
}
|
.flexItem {
|
/deep/ .el-form-item__content {
|
display: flex;
|
.el-select,
|
.el-input {
|
flex: 1;
|
}
|
.search {
|
border-bottom: 1px solid #ddd;
|
padding: 0 5px;
|
cursor: pointer;
|
color: #c0c4cc;
|
}
|
}
|
}
|
}
|
|
.btns-detectDetail {
|
padding: 10px 0 5px 15px;
|
}
|
.full {
|
position: fixed;
|
top: 0;
|
left: 0;
|
width: 100%;
|
height: 100%;
|
background: white;
|
z-index: 2000;
|
box-sizing: border-box;
|
}
|
.form-detectDetail {
|
display: flex;
|
padding: 8px 15px 8px 15px;
|
.t {
|
padding-bottom: 5px;
|
}
|
.l,
|
.r {
|
width: calc(50% - 10px);
|
border: 1px solid #ddd;
|
padding: 10px;
|
box-sizing: border-box;
|
}
|
.l {
|
margin-right: 10px;
|
}
|
.r {
|
margin-left: 10px;
|
}
|
}
|
</style>
|