gaoluyang
2025-03-10 d3793edc9e3479f162c0cab6930d17c919ecacae
src/views/CNAS/resourceDemand/device/component/management.vue
@@ -34,9 +34,10 @@
         <lims-table :tableData="tableData" :column="column" :tableLoading="tableLoading" :height="'calc(100vh - 320px)'"
            :page="page" @pagination="pagination"></lims-table>
      </div>
      <el-dialog :title="isUp ? '设备详情' : '档案修订'" :visible.sync="dialogVisible" width="70%" top="5vh"
    <el-dialog :title="isUp ? '设备详情' : '档案修订'" :visible.sync="dialogVisible" width="70%"
               top="5vh"
         :before-close="handleClose">
         <el-row style="display:flex;justify-content: space-around;max-height: 75vh;overflow-y: auto;">
      <el-row style="display:flex;justify-content: space-around;">
            <!-- 左边布局 -->
            <el-col :span="7">
               <el-col>
@@ -55,14 +56,15 @@
                  </el-image>
                  <!-- 表单 -->
                  <el-form :label-position="labelPosition" :model="formData" label-width="120px">
                     <el-form-item label="仪器名称:" required prop="deviceName">
              <el-form-item label="仪器名称:" required>
                        <el-input :disabled="isUp" v-model="formData.deviceName" size="small"></el-input>
                     </el-form-item>
                     <el-form-item label="仪器名称EN:" required>
                        <el-input :disabled="isUp" v-model="formData.enDeviceName" size="small"></el-input>
                     </el-form-item>
                     <el-form-item label="规格型号:" required>
                        <el-input :disabled="isUp" v-model="formData.specificationModel" size="small"></el-input>
                <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>
@@ -74,13 +76,7 @@
            <el-col :span="7">
               <el-form :label-position="labelPosition" :model="formData" label-width="116px">
                  <el-form-item label="校准服务机构:">
                     <el-input :disabled="isUp" v-model="formData.calibrationServices" size="small"></el-input>
                  </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-input disabled v-model="formData.calibrationServices" size="small"></el-input>
                  </el-form-item>
                  <el-form-item label="出厂编号:">
                     <el-input :disabled="isUp" v-model="formData.factoryNo" size="small"></el-input>
@@ -89,20 +85,22 @@
                     <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 :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-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"
            <el-form-item label="管理人:">
              <el-select v-model="formData.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 :disabled="isUp" v-for="item in responsiblePersonList" :key="item.value"
                           :label="item.label" :value="item.value">
                        </el-option>
                     </el-select>
                  </el-form-item>
@@ -119,33 +117,37 @@
            <el-col :span="7">
               <el-form :label-position="labelPosition" :model="formData" label-width="140px" ref="ruleForm">
                  <!-- 实验室列表 -->
                  <el-form-item label="所属部门:" required>
                     <el-select :disabled="isUp" v-model="formData.subordinateDepartmentsId" placeholder="请选择" size="small"
                        style="width:100%">
                        <el-option v-for="item in subordinateDepartmentsList" :key="item.value" :label="item.label"
                           :value="item.value">
            <el-form-item label="所属部门:">
              <el-select :disabled="isUp" v-model="formData.subordinateDepartmentsId" placeholder="请选择"
                         size="small" style="width:100%">
                <el-option v-for="item in subordinateDepartmentsList" :key="item.value"
                           :label="item.label" :value="item.value">
                        </el-option>
                     </el-select>
                  </el-form-item>
                  <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-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"
                        format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss" type="date" size="small" placeholder="选择日期">
            <el-form-item label="最近校准日期:" v-if="isUp">
              <el-date-picker :disabled="isUp" style="width:100%" v-model="formData.latestTraceability"
                              format="yyyy-MM-dd" value-format="yyyy-MM-dd" type="date" size="small"
                              placeholder="选择日期">
                     </el-date-picker>
                  </el-form-item>
                  <el-form-item label="下次校准日期:">
                     <el-date-picker :disabled="isUp" 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-form-item label="下次校准日期:" v-if="isUp">
              <el-date-picker :disabled="isUp" style="width:100%" v-model="formData.latestTraceability"
                              format="yyyy-MM-dd" value-format="yyyy-MM-dd" 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 v-for="item in equipmentList" :key="item.value" :label="item.label"
                           :value="item.value">
                        </el-option>
                     </el-select>
                  </el-form-item>
@@ -155,28 +157,21 @@
                  <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 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"></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 responsiblePersonList" :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 #DCDFE6;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-upload :disabled="isUp" :action="action" :on-success="handleSuccessUpImg2"
                           :show-file-list="false" accept='image/jpg,image/jpeg,image/png' :headers="headers"
                           :on-change="beforeUpload" :on-error="onError" ref='upload'>
                           <el-button type="text" style="height:30px;padding-top:8px">上传</el-button>
                        </el-upload>
                     </div>
@@ -236,12 +231,6 @@
                  <el-form-item label="校准服务机构:">
                     <el-input v-model="formData2.calibrationServices" size="small"></el-input>
                  </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>
@@ -249,17 +238,18 @@
                     <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 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-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-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>
@@ -269,7 +259,8 @@
                     <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-input v-model="formData2.technicalIndicators" :rows="7" type="textarea"
                        size="small"></el-input>
                  </el-form-item>
               </el-form>
            </el-col>
@@ -277,31 +268,24 @@
            <el-col :span="7">
               <el-form :label-position="labelPosition" :model="formData2" label-width="120px" ref="ruleForm">
                  <!-- 实验室列表 -->
                  <el-form-item label="所属部门:" required>
                     <el-select v-model="formData2.subordinateDepartmentsId" placeholder="请选择" size="small" style="width:100%">
                        <el-option v-for="item in subordinateDepartmentsList" :key="item.value" :label="item.label"
                           :value="item.value">
            <el-form-item label="所属部门:">
              <el-select v-model="formData2.subordinateDepartmentsId" placeholder="请选择" size="small"
                         style="width:100%">
                <el-option v-for="item in subordinateDepartmentsList" :key="item.value"
                           :label="item.label" :value="item.value">
                        </el-option>
                     </el-select>
                  </el-form-item>
                  <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"
                        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 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-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-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>
@@ -309,28 +293,22 @@
                     <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-select v-model="formData2.deviceStatus" placeholder="请选择" size="small"
                         style="width:100%">
                <el-option v-for="item in deviceStatusList" :key="item.id" :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"></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 responsiblePersonList" :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 #DCDFE6;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"
                           accept='image/jpg,image/jpeg,image/png' :headers="headers" :on-change="beforeUpload"
                           :on-error="onError" ref='upload'>
                           <el-button type="text" style="height:30px;padding-top:8px">上传</el-button>
                        </el-upload>