| | |
| | | </el-form> |
| | | </div> |
| | | <div> |
| | | <el-button size="small" type="primary" @click="dialogVisible2 = true">新增</el-button> |
| | | <el-button size="small" type="primary" @click="openAddDialog">新增</el-button> |
| | | <el-button size="small" type="primary" @click="handleDownOne">导出</el-button> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | <el-dialog :title="isUp ? '设备详情' : '档案修订'" v-model="dialogVisible" width="70%" top="5vh" |
| | | :before-close="handleClose"> |
| | | <el-row style="display:flex;justify-content: space-around;max-height: 75vh;overflow-y: auto;"> |
| | | <!-- 左边布局 --> |
| | | <el-col :span="7"> |
| | | <el-col> |
| | | <!-- 图片 --> |
| | | <el-image class="img" style="width:100%;height: 320px;marginBottom:16px" |
| | | :src="javaApi + '/img/' + formData.imageUpload"> |
| | | <template #error><div class="image-error" style="width: calc(100% -2px); |
| | | <div style="max-height: 75vh;overflow-y: auto;"> |
| | | <!-- 顶部:图片 + 基本信息 --> |
| | | <el-row> |
| | | <el-col :span="7" style="padding-right: 20px;"> |
| | | <!-- 图片 --> |
| | | <el-image class="img" style="width:100%;height: 320px" |
| | | :src="javaApi + '/img/' + formData.imageUpload"> |
| | | <template #error><div class="image-error" style="width: calc(100% -2px); |
| | | height: 318px; |
| | | border-radius: 16px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | border: 1px solid var(--lims-divider);"> |
| | | <lims-icon name="el-icon-picture-outline" style="font-size:60px;color:var(--lims-text-2);"></lims-icon> |
| | | </div></template> |
| | | </el-image> |
| | | <!-- 表单 --> |
| | | <el-form :label-position="labelPosition" :model="formData" label-width="120px"> |
| | | <lims-icon name="el-icon-picture-outline" style="font-size:60px;color:var(--lims-text-2);"></lims-icon> |
| | | </div></template> |
| | | </el-image> |
| | | <!-- 图片上传 --> |
| | | <div style="border: 1px solid var(--el-border-color);border-radius:4px;height:32px;lineHeight:32px;display:flex;justify-content: space-around;font-size: 13px;margin-top:12px;"> |
| | | <div v-show="formData.imageName" class="picName">{{ formData.imageName }}</div> |
| | | <el-upload :disabled="isUp" :action="action" :on-success="handleSuccessUpImg2" :show-file-list="false" |
| | | accept='image/jpg,image/jpeg,image/png' :headers="uploadHeader" :on-change="beforeUpload" |
| | | :on-error="onError" ref='upload'> |
| | | <el-button link type="primary" style="height:30px;padding-top:8px">上传</el-button> |
| | | </el-upload> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="17"> |
| | | <!-- 基本信息 --> |
| | | <div class="section-title" style="margin-top: 0;">基本信息</div> |
| | | <el-form :label-position="labelPosition" :model="formData" label-width="120px"> |
| | | <div class="form-row"> |
| | | <el-form-item label="仪器名称:" required prop="deviceName"> |
| | | <el-input :disabled="isUp" v-model="formData.deviceName" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="仪器名称EN:"> |
| | | <el-input :disabled="isUp" v-model="formData.enDeviceName" size="small"></el-input> |
| | | </el-form-item> |
| | | </div> |
| | | <div class="form-row"> |
| | | <el-form-item label="规格型号:" required> |
| | | <el-input :disabled="isUp" v-model="formData.specificationModel" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="生产厂家:"> |
| | | <el-input :disabled="isUp" v-model="formData.manufacturer" size="small"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-col> |
| | | </el-col> |
| | | <!-- 中间布局 --> |
| | | <el-col :span="7"> |
| | | <el-form :label-position="labelPosition" :model="formData" label-width="116px"> |
| | | <el-form-item label="校准服务机构:"> |
| | | <el-select :disabled="isUp" v-model="formData.calibrationServices" clearable filterable size="small" style="width: 100%"> |
| | | <el-option v-for="name in calibrationServiceOptions" :key="name" :label="name" :value="name"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="资产编码:"> |
| | | <el-input v-model="formData.assetCode" :disabled="isUp" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="产地:"> |
| | | <el-input v-model="formData.origin" :disabled="isUp" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="出厂编号:"> |
| | | <el-input :disabled="isUp" v-model="formData.factoryNo" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="管理编号:" required> |
| | | <el-input :disabled="isUp" v-model="formData.managementNumber" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="购置日期:"> |
| | | <el-date-picker :disabled="isUp" style="width:100%" v-model="formData.acquisitionDate" type="date" |
| | | format="YYYY-MM-DD" value-format="YYYY-MM-DD HH:mm:ss" size="small" placeholder="选择日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="校准有效期:" required> |
| | | <el-date-picker :disabled="isUp" style="width:100%" v-model="formData.activationDate" type="date" |
| | | format="YYYY-MM-DD" value-format="YYYY-MM-DD HH:mm:ss" size="small" placeholder="选择日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="负责人:"> |
| | | <el-select v-model="formData.equipmentManager" placeholder="请选择" size="small" :disabled="isUp" |
| | | style="width:100%"> |
| | | <el-option v-for="item in responsiblePersonList" :key="item.value" :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="存放点:"> |
| | | <el-input :disabled="isUp" v-model="formData.storagePoint" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="技术指标:"> |
| | | <el-input :disabled="isUp" v-model="formData.technicalIndicators" :rows="7" type="textarea" |
| | | size="small"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-col> |
| | | <!-- 右边布局 --> |
| | | <el-col :span="7"> |
| | | <el-form :label-position="labelPosition" :model="formData" label-width="140px" ref="ruleForm"> |
| | | <el-form-item label="检测项目:"> |
| | | <el-cascader :disabled="isUp" v-model="formData.insProductIds" :options="options" :show-all-levels="false" |
| | | :props="props" placeholder="请选择" size="small" style="width:100%;" :collapse-tags="!isUp" separator="," |
| | | filterable clearable></el-cascader> |
| | | </el-form-item> |
| | | <el-form-item label="最近校准日期:"> |
| | | <el-date-picker :disabled="isUp" style="width:100%" v-model="formData.lastCalibrationDate" @change="calcNextDate(formData)" |
| | | format="YYYY-MM-DD" value-format="YYYY-MM-DD HH:mm:ss" type="date" size="small" placeholder="选择日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="下次校准日期:"> |
| | | <el-date-picker :disabled="true" style="width:100%" v-model="formData.nextCalibrationDate" |
| | | format="YYYY-MM-DD" value-format="YYYY-MM-DD HH:mm:ss" type="date" size="small" placeholder="选择日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="设备类型:"> |
| | | <el-select :disabled="isUp" v-model="formData.largeCategory" placeholder="请选择" size="small" |
| | | style="width:100%"> |
| | | <el-option v-for="item in equipmentList" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="单价(万元):"> |
| | | <el-input :disabled="isUp" v-model="formData.unitPrice" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="当前状态:" required> |
| | | <el-select :disabled="isUp" v-model="formData.deviceStatus" placeholder="请选择" size="small" |
| | | style="width:100%"> |
| | | <el-option v-for="item in deviceStatusList" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="校准周期(月):" required> |
| | | <el-input :disabled="isUp" v-model="formData.calibrationDate" size="small" @change="calcNextDate(formData)"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="最近保养日期:"> |
| | | <el-date-picker :disabled="isUp" style="width:100%" v-model="formData.lastMaintenanceDate" @change="calcNextDate(formData)" |
| | | format="YYYY-MM-DD" value-format="YYYY-MM-DD HH:mm:ss" type="date" size="small" placeholder="选择日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="下次保养日期:"> |
| | | <el-date-picker :disabled="true" style="width:100%" v-model="formData.nextMaintenanceDate" |
| | | format="YYYY-MM-DD" value-format="YYYY-MM-DD HH:mm:ss" type="date" size="small" placeholder="选择日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="保养周期(月):"> |
| | | <el-input :disabled="isUp" v-model="formData.maintenanceCycle" size="small" @change="calcNextDate(formData)"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="最近核查日期:"> |
| | | <el-date-picker :disabled="isUp" style="width:100%" v-model="formData.lastExamineDate" @change="calcNextDate(formData)" |
| | | format="YYYY-MM-DD" value-format="YYYY-MM-DD HH:mm:ss" type="date" size="small" placeholder="选择日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="下次核查日期:"> |
| | | <el-date-picker :disabled="true" style="width:100%" v-model="formData.nextExamineDate" |
| | | format="YYYY-MM-DD" value-format="YYYY-MM-DD HH:mm:ss" type="date" size="small" placeholder="选择日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="核查周期(月):"> |
| | | <el-input :disabled="isUp" v-model="formData.examineCycle" size="small" @change="calcNextDate(formData)"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="被授权人:"> |
| | | <el-select v-model="formData.authorizedPerson" multiple :disabled="isUp" placeholder="请选择" size="small" |
| | | style="width:100%"> |
| | | <el-option v-for="item in inspectorList" :key="item.value" :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="图片:"> |
| | | <div |
| | | style="border: 1px solid var(--el-border-color);border-radius:4px;height:32px;lineHeight:32px;display:flex;justify-content: space-around;font-size: 13px;"> |
| | | <div v-show="formData.imageName" class="picName">{{ formData.imageName }}</div> |
| | | <el-upload :disabled="isUp" :action="action" :on-success="handleSuccessUpImg2" :show-file-list="false" |
| | | accept='image/jpg,image/jpeg,image/png' :headers="uploadHeader" :on-change="beforeUpload" |
| | | :on-error="onError" ref='upload'> |
| | | <el-button link type="primary" style="height:30px;padding-top:8px">上传</el-button> |
| | | </el-upload> |
| | | </div> |
| | | </el-form-item> |
| | | </div> |
| | | <div class="form-row"> |
| | | <el-form-item label="产地:"> |
| | | <el-input v-model="formData.origin" :disabled="isUp" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="出厂编号:"> |
| | | <el-input :disabled="isUp" v-model="formData.factoryNo" size="small"></el-input> |
| | | </el-form-item> |
| | | </div> |
| | | <div class="form-row"> |
| | | <el-form-item label="资产编码:"> |
| | | <el-input v-model="formData.assetCode" :disabled="isUp" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="管理编号:" required> |
| | | <el-input :disabled="isUp" v-model="formData.managementNumber" size="small"></el-input> |
| | | </el-form-item> |
| | | </div> |
| | | <div class="form-row"> |
| | | <el-form-item label="购置日期:"> |
| | | <el-date-picker :disabled="isUp" style="width:100%" v-model="formData.acquisitionDate" type="date" |
| | | format="YYYY-MM-DD" value-format="YYYY-MM-DD HH:mm:ss" size="small" placeholder="选择日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="校准有效期:" required> |
| | | <el-date-picker :disabled="isUp" style="width:100%" v-model="formData.activationDate" type="date" |
| | | format="YYYY-MM-DD" value-format="YYYY-MM-DD HH:mm:ss" size="small" placeholder="选择日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </div> |
| | | <div class="form-row"> |
| | | <el-form-item label="校准服务机构:"> |
| | | <el-select :disabled="isUp" v-model="formData.calibrationServices" clearable filterable size="small" style="width: 100%"> |
| | | <el-option v-for="name in calibrationServiceOptions" :key="name" :label="name" :value="name"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <div style="flex: 1;"></div> |
| | | </div> |
| | | </el-form> |
| | | </el-col> |
| | | </el-row> |
| | | <!-- 设备管理 --> |
| | | <div class="section-title">设备管理</div> |
| | | <el-form :label-position="labelPosition" :model="formData" label-width="120px"> |
| | | <div class="form-row"> |
| | | <el-form-item label="检测项目:"> |
| | | <el-cascader :disabled="isUp" v-model="formData.insProductIds" :options="options" :show-all-levels="false" |
| | | :props="props" placeholder="请选择" size="small" style="width:100%;" :collapse-tags="!isUp" separator="," |
| | | filterable clearable></el-cascader> |
| | | </el-form-item> |
| | | <el-form-item label="设备/计量器具:"> |
| | | <el-select :disabled="isUp" v-model="formData.largeCategory" placeholder="请选择" size="small" |
| | | style="width:100%"> |
| | | <el-option v-for="item in equipmentList" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="单价(万元):"> |
| | | <el-input :disabled="isUp" v-model="formData.unitPrice" size="small"></el-input> |
| | | </el-form-item> |
| | | </div> |
| | | <div class="form-row"> |
| | | <el-form-item label="当前状态:" required> |
| | | <el-select :disabled="isUp" v-model="formData.deviceStatus" placeholder="请选择" size="small" |
| | | style="width:100%"> |
| | | <el-option v-for="item in deviceStatusList" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="负责人:"> |
| | | <el-select v-model="formData.equipmentManager" placeholder="请选择" size="small" :disabled="isUp" |
| | | style="width:100%"> |
| | | <el-option v-for="item in responsiblePersonList" :key="item.value" :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="被授权人:"> |
| | | <el-select v-model="formData.authorizedPerson" multiple :disabled="isUp" placeholder="请选择" size="small" |
| | | style="width:100%"> |
| | | <el-option v-for="item in inspectorList" :key="item.value" :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </div> |
| | | <div class="form-row"> |
| | | <el-form-item label="存放点:"> |
| | | <el-input :disabled="isUp" v-model="formData.storagePoint" size="small"></el-input> |
| | | </el-form-item> |
| | | <div style="flex: 1;"></div> |
| | | </div> |
| | | </el-form> |
| | | <!-- 校准/保养/核查 周期信息 --> |
| | | <el-form :label-position="labelPosition" :model="formData" label-width="140px" |
| | | style="margin-top: 12px;border-top: 1px solid var(--lims-divider);padding-top: 4px;"> |
| | | <div class="cycle-row"> |
| | | <span class="cycle-title">校准信息</span> |
| | | <el-form-item label="最近校准日期:" class="cycle-item"> |
| | | <el-date-picker :disabled="isUp" style="width:100%" v-model="formData.lastCalibrationDate" @change="calcNextDate(formData)" |
| | | format="YYYY-MM-DD" value-format="YYYY-MM-DD HH:mm:ss" type="date" size="small" placeholder="选择日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="下次校准日期:" class="cycle-item"> |
| | | <el-date-picker :disabled="true" style="width:100%" v-model="formData.nextCalibrationDate" |
| | | format="YYYY-MM-DD" value-format="YYYY-MM-DD HH:mm:ss" type="date" size="small" placeholder="选择日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="校准周期(月):" class="cycle-item" required> |
| | | <el-input :disabled="isUp" v-model="formData.calibrationDate" size="small" @change="calcNextDate(formData)"></el-input> |
| | | </el-form-item> |
| | | </div> |
| | | <div class="cycle-row"> |
| | | <span class="cycle-title">保养信息</span> |
| | | <el-form-item label="最近保养日期:" class="cycle-item"> |
| | | <el-date-picker :disabled="isUp" style="width:100%" v-model="formData.lastMaintenanceDate" @change="calcNextDate(formData)" |
| | | format="YYYY-MM-DD" value-format="YYYY-MM-DD HH:mm:ss" type="date" size="small" placeholder="选择日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="下次保养日期:" class="cycle-item"> |
| | | <el-date-picker :disabled="true" style="width:100%" v-model="formData.nextMaintenanceDate" |
| | | format="YYYY-MM-DD" value-format="YYYY-MM-DD HH:mm:ss" type="date" size="small" placeholder="选择日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="保养周期(月):" class="cycle-item"> |
| | | <el-input :disabled="isUp" v-model="formData.maintenanceCycle" size="small" @change="calcNextDate(formData)"></el-input> |
| | | </el-form-item> |
| | | </div> |
| | | <div class="cycle-row"> |
| | | <span class="cycle-title">核查信息</span> |
| | | <el-form-item label="最近核查日期:" class="cycle-item"> |
| | | <el-date-picker :disabled="isUp" style="width:100%" v-model="formData.lastExamineDate" @change="calcNextDate(formData)" |
| | | format="YYYY-MM-DD" value-format="YYYY-MM-DD HH:mm:ss" type="date" size="small" placeholder="选择日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="下次核查日期:" class="cycle-item"> |
| | | <el-date-picker :disabled="true" style="width:100%" v-model="formData.nextExamineDate" |
| | | format="YYYY-MM-DD" value-format="YYYY-MM-DD HH:mm:ss" type="date" size="small" placeholder="选择日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="核查周期(月):" class="cycle-item"> |
| | | <el-input :disabled="isUp" v-model="formData.examineCycle" size="small" @change="calcNextDate(formData)"></el-input> |
| | | </el-form-item> |
| | | </div> |
| | | </el-form> |
| | | <!-- 技术指标 --> |
| | | <div class="section-title">技术指标</div> |
| | | <el-input :disabled="isUp" v-model="formData.technicalIndicators" :rows="7" type="textarea" |
| | | size="small"></el-input> |
| | | </div> |
| | | <template #footer><span class="dialog-footer"> |
| | | <el-row v-if="!isUp" justify="end"> |
| | | <el-button @click="handleClose">取 消</el-button> |
| | |
| | | </el-dialog> |
| | | <!-- 新增--> |
| | | <el-dialog title="新增设备" top="5vh" v-model="dialogVisible2" width="70%" :before-close="handleClose2"> |
| | | <el-row style="display:flex;justify-content: space-around;"> |
| | | <!-- 左边布局 --> |
| | | <el-col :span="7"> |
| | | <el-col> |
| | | <!-- 图片 --> |
| | | <el-image class="img" style="width:100%;height: 320px;margin-bottom:16px" |
| | | :src="javaApi + '/img/' + formData2.imageUpload"> |
| | | <template #error><div class="image-error" style="width: calc(100% -2px); |
| | | height: 318px; |
| | | border-radius: 16px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | border: 1px solid var(--lims-divider);"> |
| | | <lims-icon name="el-icon-picture-outline" style="font-size:60px;color:var(--lims-text-2);"></lims-icon> |
| | | </div></template> |
| | | </el-image> |
| | | <!-- 表单 --> |
| | | <el-form :label-position="labelPosition" :model="formData2" label-width="120px"> |
| | | <div style="max-height: 75vh;overflow-y: auto;"> |
| | | <!-- 顶部:图片 + 基本信息 --> |
| | | <el-row> |
| | | <el-col :span="7" style="padding-right: 20px;"> |
| | | <!-- 图片 --> |
| | | <el-image class="img" style="width:100%;height: 320px" |
| | | :src="javaApi + '/img/' + formData2.imageUpload"> |
| | | <template #error><div class="image-error" style="width: calc(100% -2px); |
| | | height: 318px; |
| | | border-radius: 16px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | border: 1px solid var(--lims-divider);"> |
| | | <lims-icon name="el-icon-picture-outline" style="font-size:60px;color:var(--lims-text-2);"></lims-icon> |
| | | </div></template> |
| | | </el-image> |
| | | <!-- 图片上传 --> |
| | | <div style="border: 1px solid var(--el-border-color);border-radius:4px;height:32px;line-height:32px;display:flex;justify-content: space-around;font-size: 13px;margin-top:12px;"> |
| | | <div v-show="formData2.imageName" class="picName">{{ formData2.imageName }}</div> |
| | | <el-upload :action="action" :on-success="handleSuccessUpImg2" :show-file-list="false" |
| | | accept='image/jpg,image/jpeg,image/png' :headers="uploadHeader" :on-change="beforeUpload" |
| | | :on-error="onError" ref='upload'> |
| | | <el-button link type="primary" style="height:30px;padding-top:8px">上传</el-button> |
| | | </el-upload> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="17"> |
| | | <!-- 基本信息 --> |
| | | <div class="section-title" style="margin-top: 0;">基本信息</div> |
| | | <el-form :label-position="labelPosition" :model="formData2" label-width="120px"> |
| | | <div class="form-row"> |
| | | <el-form-item label="仪器名称:" required> |
| | | <el-input v-model="formData2.deviceName" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="仪器名称EN:"> |
| | | <el-input v-model="formData2.enDeviceName" size="small"></el-input> |
| | | </el-form-item> |
| | | </div> |
| | | <div class="form-row"> |
| | | <el-form-item label="规格型号:" required> |
| | | <el-input v-model="formData2.specificationModel" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="生产厂家:"> |
| | | <el-input v-model="formData2.manufacturer" size="small"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-col> |
| | | </el-col> |
| | | <!-- 中间布局 --> |
| | | <el-col :span="7"> |
| | | <el-form :label-position="labelPosition" :model="formData2" label-width="110px"> |
| | | <!-- <el-form-item label="生产厂家EN:"> |
| | | <el-input v-model="formData2.factoryNo" size="small"></el-input> |
| | | </el-form-item> --> |
| | | <el-form-item label="校准服务机构:"> |
| | | <el-select v-model="formData2.calibrationServices" clearable filterable size="small" style="width: 100%"> |
| | | <el-option v-for="name in calibrationServiceOptions2" :key="name" :label="name" :value="name"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="资产编码:"> |
| | | <el-input v-model="formData2.assetCode" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="产地:"> |
| | | <el-input v-model="formData2.origin" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="出厂编号:"> |
| | | <el-input v-model="formData2.factoryNo" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="管理编号:" required> |
| | | <el-input v-model="formData2.managementNumber" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="购置日期:"> |
| | | <el-date-picker style="width:100%" v-model="formData2.acquisitionDate" type="date" format="YYYY-MM-DD" |
| | | value-format="YYYY-MM-DD HH:mm:ss" size="small" placeholder="选择日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="校准有效期:" required> |
| | | <el-date-picker style="width:100%" v-model="formData2.activationDate" type="date" format="YYYY-MM-DD" |
| | | value-format="YYYY-MM-DD HH:mm:ss" size="small" placeholder="选择日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="负责人:"> |
| | | <el-select v-model="formData2.equipmentManager" placeholder="请选择" size="small" style="width:100%"> |
| | | <el-option v-for="item in responsiblePersonList" :key="item.value" :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="存放点:"> |
| | | <el-input v-model="formData2.storagePoint" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="技术指标:"> |
| | | <el-input v-model="formData2.technicalIndicators" :rows="7" type="textarea" size="small"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-col> |
| | | <!-- 右边布局 --> |
| | | <el-col :span="7"> |
| | | <el-form :label-position="labelPosition" :model="formData2" label-width="120px" ref="ruleForm"> |
| | | <el-form-item label="检测项目:"> |
| | | <el-cascader v-model="formData2.insProductIds" :options="options" :show-all-levels="false" :props="props" |
| | | placeholder="请选择" size="small" style="width:100%" collapse-tags separator="," filterable |
| | | clearable></el-cascader> |
| | | </el-form-item> |
| | | <el-form-item label="最近校准日期:"> |
| | | <el-date-picker style="width:100%" v-model="formData2.lastCalibrationDate" format="YYYY-MM-DD" @change="calcNextDate(formData2)" |
| | | value-format="YYYY-MM-DD HH:mm:ss" type="date" size="small" placeholder="选择日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="下次校准日期:"> |
| | | <el-date-picker :disabled="true" style="width:100%" v-model="formData2.nextCalibrationDate" format="YYYY-MM-DD" |
| | | value-format="YYYY-MM-DD HH:mm:ss" type="date" size="small" placeholder="选择日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="设备类型:"> |
| | | <el-select v-model="formData2.largeCategory" placeholder="请选择" size="small" style="width:100%"> |
| | | <el-option v-for="item in equipmentList" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="单价(万元):"> |
| | | <el-input v-model="formData2.unitPrice" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="当前状态:" required> |
| | | <el-select v-model="formData2.deviceStatus" placeholder="请选择" size="small" style="width:100%"> |
| | | <el-option v-for="item in deviceStatusList" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="校准周期(月):" required> |
| | | <el-input v-model="formData2.calibrationDate" size="small" @change="calcNextDate(formData2)"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="被授权人:"> |
| | | <el-select v-model="formData2.authorizedPerson" multiple placeholder="请选择" size="small" |
| | | style="width:100%"> |
| | | <el-option v-for="item in inspectorList" :key="item.value" :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="图片:"> |
| | | <div |
| | | style="border: 1px solid var(--el-border-color);border-radius:4px;height:32px;line-height:32px;display:flex;justify-content: space-around;font-size: 13px;"> |
| | | <div v-show="formData2.imageName" class="picName">{{ formData2.imageName }}</div> |
| | | <el-upload :action="action" :on-success="handleSuccessUpImg2" :show-file-list="false" |
| | | accept='image/jpg,image/jpeg,image/png' :headers="uploadHeader" :on-change="beforeUpload" |
| | | :on-error="onError" ref='upload'> |
| | | <el-button link type="primary" style="height:30px;padding-top:8px">上传</el-button> |
| | | </el-upload> |
| | | </div> |
| | | </el-form-item> |
| | | </div> |
| | | <div class="form-row"> |
| | | <el-form-item label="产地:"> |
| | | <el-input v-model="formData2.origin" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="出厂编号:"> |
| | | <el-input v-model="formData2.factoryNo" size="small"></el-input> |
| | | </el-form-item> |
| | | </div> |
| | | <div class="form-row"> |
| | | <el-form-item label="资产编码:"> |
| | | <el-input v-model="formData2.assetCode" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="管理编号:" required> |
| | | <el-input v-model="formData2.managementNumber" size="small"></el-input> |
| | | </el-form-item> |
| | | </div> |
| | | <div class="form-row"> |
| | | <el-form-item label="购置日期:"> |
| | | <el-date-picker style="width:100%" v-model="formData2.acquisitionDate" type="date" format="YYYY-MM-DD" |
| | | value-format="YYYY-MM-DD HH:mm:ss" size="small" placeholder="选择日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="校准有效期:" required> |
| | | <el-date-picker style="width:100%" v-model="formData2.activationDate" type="date" format="YYYY-MM-DD" |
| | | value-format="YYYY-MM-DD HH:mm:ss" size="small" placeholder="选择日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </div> |
| | | <div class="form-row"> |
| | | <el-form-item label="校准服务机构:"> |
| | | <el-select v-model="formData2.calibrationServices" clearable filterable size="small" style="width: 100%"> |
| | | <el-option v-for="name in calibrationServiceOptions2" :key="name" :label="name" :value="name"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <div style="flex: 1;"></div> |
| | | </div> |
| | | </el-form> |
| | | </el-col> |
| | | </el-row> |
| | | <!-- 设备管理 --> |
| | | <div class="section-title">设备管理</div> |
| | | <el-form :label-position="labelPosition" :model="formData2" label-width="120px"> |
| | | <div class="form-row"> |
| | | <el-form-item label="检测项目:"> |
| | | <el-cascader v-model="formData2.insProductIds" :options="options" :show-all-levels="false" :props="props" |
| | | placeholder="请选择" size="small" style="width:100%" collapse-tags separator="," filterable |
| | | clearable></el-cascader> |
| | | </el-form-item> |
| | | <el-form-item label="设备/计量器具:"> |
| | | <el-select v-model="formData2.largeCategory" placeholder="请选择" size="small" style="width:100%"> |
| | | <el-option v-for="item in equipmentList" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="单价(万元):"> |
| | | <el-input v-model="formData2.unitPrice" size="small"></el-input> |
| | | </el-form-item> |
| | | </div> |
| | | <div class="form-row"> |
| | | <el-form-item label="当前状态:" required> |
| | | <el-select v-model="formData2.deviceStatus" placeholder="请选择" size="small" style="width:100%"> |
| | | <el-option v-for="item in deviceStatusList" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="负责人:"> |
| | | <el-select v-model="formData2.equipmentManager" placeholder="请选择" size="small" style="width:100%"> |
| | | <el-option v-for="item in responsiblePersonList" :key="item.value" :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="被授权人:"> |
| | | <el-select v-model="formData2.authorizedPerson" multiple placeholder="请选择" size="small" |
| | | style="width:100%"> |
| | | <el-option v-for="item in inspectorList" :key="item.value" :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </div> |
| | | <div class="form-row"> |
| | | <el-form-item label="存放点:"> |
| | | <el-input v-model="formData2.storagePoint" size="small"></el-input> |
| | | </el-form-item> |
| | | <div style="flex: 1;"></div> |
| | | </div> |
| | | </el-form> |
| | | <!-- 校准信息 --> |
| | | <el-form :label-position="labelPosition" :model="formData2" label-width="140px" |
| | | style="margin-top: 12px;border-top: 1px solid var(--lims-divider);padding-top: 4px;"> |
| | | <div class="cycle-row"> |
| | | <span class="cycle-title">校准信息</span> |
| | | <el-form-item label="最近校准日期:" class="cycle-item"> |
| | | <el-date-picker style="width:100%" v-model="formData2.lastCalibrationDate" format="YYYY-MM-DD" @change="calcNextDate(formData2)" |
| | | value-format="YYYY-MM-DD HH:mm:ss" type="date" size="small" placeholder="选择日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="下次校准日期:" class="cycle-item"> |
| | | <el-date-picker :disabled="true" style="width:100%" v-model="formData2.nextCalibrationDate" format="YYYY-MM-DD" |
| | | value-format="YYYY-MM-DD HH:mm:ss" type="date" size="small" placeholder="选择日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="校准周期(月):" class="cycle-item" required> |
| | | <el-input v-model="formData2.calibrationDate" size="small" @change="calcNextDate(formData2)"></el-input> |
| | | </el-form-item> |
| | | </div> |
| | | </el-form> |
| | | <!-- 技术指标 --> |
| | | <div class="section-title">技术指标</div> |
| | | <el-input v-model="formData2.technicalIndicators" :rows="7" type="textarea" |
| | | size="small"></el-input> |
| | | </div> |
| | | <template #footer><span class="dialog-footer"> |
| | | <el-row justify="end"> |
| | | <el-button @click="handleClose2">取 消</el-button> |
| | | <el-button type="primary" @click="submitForm2" :loading="upLoad2">确 定</el-button> |
| | | </el-row> |
| | | </span></template> |
| | | </el-dialog> |
| | | <el-dialog title="数采配置" v-model="dialogVisible3" width="400px"> |
| | | <div class="search_thing" style="margin-bottom: 14px;"> |
| | | <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>IP:</div> |
| | | <el-input size="small" placeholder="请输入" clearable v-model="configForm.ip"></el-input> |
| | | </div> |
| | | <div class="search_thing" style="margin-bottom: 14px;"> |
| | | <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>采集地址:</div> |
| | | <el-input size="small" placeholder="请输入" clearable v-model="configForm.collectUrl"></el-input> |
| | | </div> |
| | | <div class="search_thing" style="margin-bottom: 14px;"> |
| | | <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>储存地址:</div> |
| | | <el-input size="small" placeholder="请输入" clearable v-model="configForm.storageUrl"></el-input> |
| | | </div> |
| | | <div class="search_thing" style="margin-bottom: 14px;"> |
| | | <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>参照:</div> |
| | | <el-input size="small" placeholder="请输入" clearable v-model="configForm.refer"></el-input> |
| | | </div> |
| | | <div class="search_thing" style="margin-bottom: 14px;"> |
| | | <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>X:</div> |
| | | <el-input size="small" placeholder="请输入" clearable v-model="configForm.x"></el-input> |
| | | </div> |
| | | <div class="search_thing" style="margin-bottom: 14px;"> |
| | | <div class="search_label"><span style="color:red;margin-right: 4px;">*</span>Y:</div> |
| | | <el-input size="small" placeholder="请输入" clearable v-model="configForm.y"></el-input> |
| | | </div> |
| | | <div class="search_thing"> |
| | | <div class="search_label">公式:</div> |
| | | <el-input size="small" placeholder="请输入" clearable v-model="configForm.formula"></el-input> |
| | | </div> |
| | | <template #footer><span class="dialog-footer"> |
| | | <el-row justify="end"> |
| | | <el-button @click="dialogVisible3 = false">取 消</el-button> |
| | | <el-button type="primary" @click="submitForm3" :loading="upLoad3">确 定</el-button> |
| | | </el-row> |
| | | </span></template> |
| | | </el-dialog> |
| | |
| | | getInsProduction, |
| | | upDeviceParameter, |
| | | addDeviceParameter, |
| | | numberCollect, |
| | | getDeviceParameter, |
| | | delDeviceParameter, |
| | | } from '@/api/cnas/resourceDemand/device.js' |
| | | import { selectUserCondition } from "@/api/business/inspectionTask"; |
| | | import dayjs from 'dayjs' |
| | | import { formatListDate } from './dateFormat' |
| | | import { selectQualifiedSupplierManagementPage } from '@/api/cnas/externalService/supplierManage/supplierManage' |
| | | import { saveBlobOrShowError } from '@/utils/saveBlob' |
| | | export default { |
| | | props: { |
| | | clickNodeVal: { |
| | |
| | | showData: false, // 数采配置页面 |
| | | tableList: [], |
| | | addDia: true, |
| | | //设备类型列表 |
| | | equipmentList: [], |
| | | //设备类型列表:与左侧树“设备/计量器具”分类保持一致 |
| | | equipmentList: [ |
| | | { label: '设备', value: '设备' }, |
| | | { label: '计量器具', value: '计量器具' } |
| | | ], |
| | | // 负责人列表 |
| | | responsiblePersonList: [], |
| | | // 授权人列表 |
| | |
| | | deviceStatusList: [], |
| | | upLoad: false, |
| | | upLoad2: false, |
| | | dialogVisible3: false, |
| | | upLoad3: false, |
| | | configForm: {}, |
| | | queryParams: {}, |
| | | tableData: [], |
| | | column: [ |
| | |
| | | { label: "出厂编号", prop: "factoryNo" }, |
| | | { label: "管理编号", prop: "managementNumber" }, |
| | | { label: "技术指标", prop: "technicalIndicators" }, |
| | | { label: "购置日期", prop: "acquisitionDate" }, |
| | | { label: "校准有效期", prop: "activationDate" }, |
| | | { label: "购置日期", prop: "acquisitionDate", formatData: (params) => formatListDate(params) }, |
| | | { label: "校准有效期", prop: "activationDate", formatData: (params) => formatListDate(params) }, |
| | | { label: "管理人", prop: "equipmentManagerUser" }, |
| | | { label: "存放点", prop: "storagePoint" }, |
| | | { label: "检验项目", prop: "insProductItem" }, |
| | | { label: "校准服务机构", prop: "calibrationServices" }, |
| | | { label: "最近校准日期", prop: "lastCalibrationDateTwo" }, |
| | | { label: "最近核查日期", prop: "lastExamineDate" }, |
| | | { label: "下次校准日期", prop: "nextCalibrationDateTwo" }, |
| | | { label: "下次核查日期", prop: "nextExamineDate" }, |
| | | { label: "最近保养日期", prop: "lastMaintenanceDate" }, |
| | | { label: "下次保养日期", prop: "nextMaintenanceDate" }, |
| | | { label: "最近校准日期", prop: "lastCalibrationDateTwo", formatData: (params) => formatListDate(params) }, |
| | | { label: "最近核查日期", prop: "lastExamineDate", formatData: (params) => formatListDate(params) }, |
| | | { label: "下次校准日期", prop: "nextCalibrationDateTwo", formatData: (params) => formatListDate(params) }, |
| | | { label: "下次核查日期", prop: "nextExamineDate", formatData: (params) => formatListDate(params) }, |
| | | { label: "最近保养日期", prop: "lastMaintenanceDate", formatData: (params) => formatListDate(params) }, |
| | | { label: "下次保养日期", prop: "nextMaintenanceDate", formatData: (params) => formatListDate(params) }, |
| | | { |
| | | label: "设备分类", prop: "largeCategory", dataType: "tag", |
| | | formatData: (params) => { |
| | |
| | | handleNotification(cate) { |
| | | this.queryParams.largeCategory = cate |
| | | }, |
| | | // 被授权人历史值可能是被反复转义的多层 JSON 字符串,逐层解析还原成数组 |
| | | normalizeAuthorizedPerson(val) { |
| | | let v = val |
| | | for (let i = 0; i < 10; i++) { |
| | | if (typeof v !== 'string') break |
| | | if (v === '') { |
| | | v = [] |
| | | break |
| | | } |
| | | try { |
| | | v = JSON.parse(v) |
| | | } catch (e) { |
| | | v = [] |
| | | break |
| | | } |
| | | } |
| | | if (!Array.isArray(v)) { |
| | | v = v === '' || v === null || v === undefined ? [] : [v] |
| | | } |
| | | return v.filter(x => x !== '' && x !== null && x !== undefined) |
| | | }, |
| | | getList() { |
| | | this.tableLoading = true; |
| | | let param = { ...this.queryParams, ...this.page }; |
| | |
| | | // 导出 |
| | | handleDownOne() { |
| | | this.outLoading = true |
| | | exportEquipmentDetails().then(res => { |
| | | exportEquipmentDetails({ ...this.queryParams }).then(res => { |
| | | this.outLoading = false |
| | | const blob = new Blob([res], { type: 'application/octet-stream' }); |
| | | this.$download.saveAs(blob, '设备仪器一览表.doc') |
| | | saveBlobOrShowError(res, '设备仪器一览表.doc', 'application/msword') |
| | | }).catch(() => { |
| | | this.outLoading = false |
| | | }) |
| | | }, |
| | | // 获取字典 |
| | |
| | | // 设备状态 |
| | | this.getDicts("device_status").then((response) => { |
| | | this.deviceStatusList = this.dictToValue(response.data); |
| | | }); |
| | | // 设备分类 |
| | | this.getDicts("device_type").then((response) => { |
| | | this.equipmentList = this.dictToValue(response.data); |
| | | }); |
| | | }, |
| | | // 获取负责人列表 |
| | |
| | | //row = 点击对应行值 |
| | | //复制给formData |
| | | this.formData = this.HaveJson(row); |
| | | this.formData.authorizedPerson = this.normalizeAuthorizedPerson(row.authorizedPerson); |
| | | console.log(row.insProductIds + 'valll'); |
| | | this.formData.insProductIds = row.insProductIds ? row.insProductIds.split(',') : []; |
| | | }, |
| | |
| | | //row = 点击对应行值一行值 |
| | | //复制给formData |
| | | this.formData = this.HaveJson(row); |
| | | this.formData.authorizedPerson = this.normalizeAuthorizedPerson(row.authorizedPerson); |
| | | // 设备类型为空时,默认取左侧树当前所在分类 |
| | | const treeCategory = this.clickNodeVal && this.clickNodeVal.label |
| | | if (!this.formData.largeCategory && (treeCategory === '设备' || treeCategory === '计量器具')) { |
| | | this.formData.largeCategory = treeCategory |
| | | } |
| | | if (typeof (row.insProductIds) === 'number') { |
| | | row.insProductIds = row.insProductIds + '' |
| | | } |
| | |
| | | delete this.formData.updateUser |
| | | const formData = this.HaveJson(this.formData) |
| | | formData.insProductIds = formData.insProductIds ? formData.insProductIds.join() : '' |
| | | if (formData.authorizedPerson && formData.authorizedPerson.length === 0) { |
| | | formData.authorizedPerson = '' |
| | | } else { |
| | | formData.authorizedPerson = JSON.stringify(formData.authorizedPerson) |
| | | } |
| | | formData.authorizedPerson = Array.isArray(formData.authorizedPerson) && formData.authorizedPerson.length |
| | | ? JSON.stringify(formData.authorizedPerson) |
| | | : '' |
| | | this.upLoad = true; |
| | | upDeviceParameter(formData).then(res => { |
| | | this.$message.success('修改成功') |
| | | this.upLoad = false |
| | | this.refreshTable('page') |
| | | // 类型可能变更,刷新左侧树让设备归到新的分类下 |
| | | this.$emit('refresh-tree') |
| | | this.dialogVisible = false |
| | | }).catch(e => { |
| | | this.$message.error('修改失败') |
| | |
| | | this.$message.error('未输入管理编号') |
| | | return |
| | | } |
| | | if (!this.formData2.largeCategory) { |
| | | this.$message.error('请选择设备/计量器具') |
| | | return |
| | | } |
| | | if (!this.formData2.activationDate) { |
| | | this.$message.error('未输入校准有效期') |
| | | return |
| | |
| | | } |
| | | const formData = this.HaveJson(this.formData2) |
| | | formData.insProductIds = formData.insProductIds ? formData.insProductIds.join() : '' |
| | | if (formData.authorizedPerson.length === 0) { |
| | | formData.authorizedPerson = '' |
| | | } else { |
| | | formData.authorizedPerson = JSON.stringify(formData.authorizedPerson) |
| | | } |
| | | formData.authorizedPerson = Array.isArray(formData.authorizedPerson) && formData.authorizedPerson.length |
| | | ? JSON.stringify(formData.authorizedPerson) |
| | | : '' |
| | | this.upLoad2 = true; |
| | | addDeviceParameter(formData).then(res => { |
| | | this.$message.success('提交成功') |
| | | this.upLoad2 = false |
| | | this.refreshTable('page') |
| | | this.$emit('refresh-tree') |
| | | this.dialogVisible2 = false |
| | | this.formData2 = { |
| | | imageUpload: '', |
| | |
| | | this.clickSidebar(this.clickNodeVal) |
| | | this.showData = false |
| | | }, |
| | | submitForm3() { |
| | | if (!this.configForm.ip) { |
| | | this.$message.error('请填写IP'); |
| | | return |
| | | } |
| | | if (!this.configForm.collectUrl) { |
| | | this.$message.error('请填写采集地址'); |
| | | return |
| | | } |
| | | if (!this.configForm.storageUrl) { |
| | | this.$message.error('请填写储存地址'); |
| | | return |
| | | } |
| | | if (!this.configForm.refer) { |
| | | this.$message.error('请填写参照'); |
| | | return |
| | | } |
| | | if (!this.configForm.x) { |
| | | this.$message.error('请填写X'); |
| | | return |
| | | } |
| | | if (!this.configForm.y) { |
| | | this.$message.error('请填写Y'); |
| | | return |
| | | } |
| | | |
| | | this.upLoad3 = true |
| | | numberCollect(this.configForm).then(res => { |
| | | this.upLoad3 = false |
| | | this.$message.success('操作成功') |
| | | this.refreshTable('page') |
| | | this.dialogVisible3 = false |
| | | }).catch(e => { |
| | | this.$message.error('操作失败') |
| | | this.dialogVisible3 = false |
| | | this.upLoad3 = false |
| | | }) |
| | | }, |
| | | // 点击侧边栏刷新 |
| | | clickSidebar(clickNodeVal) { |
| | | // 存在value代表选中了设备,由设备详情展示处理 |
| | |
| | | this.refreshTable('page') |
| | | } |
| | | }, |
| | | // 新增设备:默认取左侧树当前所在分类 |
| | | openAddDialog() { |
| | | const treeCategory = this.clickNodeVal && this.clickNodeVal.label |
| | | if (!this.formData2.largeCategory && (treeCategory === '设备' || treeCategory === '计量器具')) { |
| | | this.formData2.largeCategory = treeCategory |
| | | } |
| | | this.dialogVisible2 = true |
| | | }, |
| | | handleDelete(row) { |
| | | this.$confirm("是否删除该条数据?", "提示", { |
| | | confirmButtonText: "确定", |
| | |
| | | .then(() => { |
| | | delDeviceParameter({ id: row.id }).then((res) => { |
| | | this.$message.success("删除成功"); |
| | | this.refresh(); |
| | | this.refreshTable() |
| | | // 已删除的设备要从左侧树同步移除 |
| | | this.$emit('refresh-tree') |
| | | }); |
| | | }) |
| | | .catch(() => { }); |
| | |
| | | .form-item :deep(.el-form-item__content) { |
| | | width: 120px; |
| | | } |
| | | .cycle-row { |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .cycle-title { |
| | | width: 68px; |
| | | flex-shrink: 0; |
| | | font-size: 13px; |
| | | color: var(--lims-text-2, #909399); |
| | | } |
| | | |
| | | .cycle-item { |
| | | flex: 1; |
| | | margin-bottom: 6px; |
| | | margin-right: 10px; |
| | | } |
| | | |
| | | .cycle-item:last-child { |
| | | margin-right: 0; |
| | | } |
| | | |
| | | .form-row { |
| | | display: flex; |
| | | gap: 16px; |
| | | } |
| | | |
| | | .form-row > .el-form-item { |
| | | flex: 1; |
| | | } |
| | | |
| | | .section-title { |
| | | position: relative; |
| | | padding-left: 10px; |
| | | margin: 14px 0 12px; |
| | | font-size: 13px; |
| | | font-weight: 600; |
| | | color: var(--lims-text-1, #303133); |
| | | } |
| | | |
| | | .section-title::before { |
| | | content: ""; |
| | | position: absolute; |
| | | left: 0; |
| | | top: 3px; |
| | | bottom: 3px; |
| | | width: 3px; |
| | | border-radius: 2px; |
| | | background: var(--el-color-primary, #409eff); |
| | | } |
| | | </style> |