马宇豪
2024-04-02 d91fd1557ebed3e9bcb8c051c71b9d41c0e36eef
src/views/dataUpload/saftyBaseInfo/equipInfo/components/addReport.vue
@@ -24,7 +24,7 @@
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
            <el-form-item label="出厂时间">
            <el-form-item label="出厂时间" prop="productionTime">
              <el-date-picker v-model="form.productionTime" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择出厂时间" style="width: 100%" />
            </el-form-item>
          </el-col>
@@ -50,7 +50,7 @@
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
            <el-form-item label="设备状况">
            <el-form-item label="设备状况" prop="status">
              <el-select v-model="form.status" placeholder="请选择设备状况">
                <el-option :key="1" label="1" :value="1"/>
                <el-option :key="2" label="2" :value="2"/>
@@ -87,9 +87,17 @@
              <el-upload accept=".pdf" :action="uploadUrl" :headers="header" method="post" :on-exceed="showTip" :on-success="handleAvatarSuccess" :limit='1' v-model:file-list="fileList" :before-upload="picSize" :on-remove="handleRemove" :before-remove="beforeRemove">
                <el-button type="primary">点击上传</el-button>
                <template #tip>
                  <div class="el-upload__tip">仅支持上传pdf文件,尺寸小于2M,最多可上传1张</div>
                  <div class="el-upload__tip">仅支持上传pdf文件,尺寸小于5M,最多可上传1张</div>
                </template>
              </el-upload>
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" v-if="title == '新增上报'? false : true">
            <el-form-item label="删除状态" prop="deleted">
              <el-radio-group v-model="form.deleted">
                <el-radio label="0">未删除</el-radio>
                <el-radio label="1">已删除</el-radio>
              </el-radio-group>
            </el-form-item>
          </el-col>
        </el-row>
@@ -131,7 +139,8 @@
    checkStatus: number | null
    nextCheckTime: string
    lastCheckTime: string
    files: string
    files: string,
    deleted: string
  }
  rules:{}
  fileList: [],
@@ -161,14 +170,17 @@
        checkStatus: null,
        nextCheckTime: '',
        lastCheckTime: '',
        files: ''
        files: '',
        deleted: '0'
      },
      rules:{
        no: [{ required: true, message: '请填写编号', trigger: 'blur' }],
        status: [{ required: true, message: '请选择设备状况', trigger: 'blur' }],
        name: [{ required: true, message: '请填写设备名称', trigger: 'blur' }],
        cateName: [{ required: true, message: '请填写分类名称', trigger: 'blur' }],
        model: [{ required: true, message: '请填写型号', trigger: 'blur' }],
        registerNo: [{ required: true, message: '请填写注册登记编号', trigger: 'blur' }]
        registerNo: [{ required: true, message: '请填写注册登记编号', trigger: 'blur' }],
        productionTime: [{ required: true, message: '请选择出场时间', trigger: 'blur' }]
      },
      fileList: [],
      uploadUrl: import.meta.env.VITE_API_URL + '/account/file/upload',
@@ -202,29 +214,45 @@
          checkStatus: null,
          nextCheckTime: '',
          lastCheckTime: '',
          files: ''
          files: '',
          deleted: '0'
        }
        state.fileList = []
      }else{
        state.title = '重新上报';
        state.form = {
          uuid: data.uuid,
          no: '',
          name: '',
          cateName: '',
          model: '',
          productionTime: '',
          isSpecial: null,
          isRegister: null,
          registerNo: '',
          status: null,
          registerTable: '',
          checkStatus: null,
          nextCheckTime: '',
          lastCheckTime: '',
          files: ''
        Object.keys(state.form).forEach(key => {
          if (Object.prototype.hasOwnProperty.call(data,key)) {
            state.form[key] = JSON.parse(JSON.stringify(data))[key];
          }
        })
        if(data.files !== ''){
          state.fileList = state.form.files.split(',').map((i,index) => {
            return {
              url:  i,
              name: '文件' + (index+1)
            }
          })
        }else{
          state.fileList = []
        }
        // state.form = {
        //   uuid: data.uuid,
        //   no: '',
        //   name: '',
        //   cateName: '',
        //   model: '',
        //   productionTime: '',
        //   isSpecial: null,
        //   isRegister: null,
        //   registerNo: '',
        //   status: null,
        //   registerTable: '',
        //   checkStatus: null,
        //   nextCheckTime: '',
        //   lastCheckTime: '',
        //   files: ''
        // }
      }
      state.fileList = []
    };
    // 新增修改
@@ -264,10 +292,10 @@
    }
    const picSize = async(rawFile: any) => {
      if(rawFile.size / 1024 / 1024 > 2){
      if(rawFile.size / 1024 / 1024 > 5){
        ElMessage({
          type: 'warning',
          message: '文件大小不能超过2M'
          message: '文件大小不能超过5M'
        });
        return false
      }