ZhangXianQiang
2024-04-11 6817c96db53ac16f5d5eca72b73230d898f32126
src/views/system/report/index.vue
@@ -92,7 +92,7 @@
      <el-table-column label="报备人员" align="center" prop="peopleName" />
      <el-table-column label="点位" align="center" prop="pointName" />
      <el-table-column label="报备类型" align="center" prop="reportType" />
      <el-table-column label="报备内容" align="center" prop="reportContent" />
      <el-table-column label="报备内容" align="center" prop="reportContent" show-overflow-tooltip="true" />
      <el-table-column label="上报材料" align="center" prop="reportMaterials" />
      <el-table-column label="故障类型" align="center" prop="errorType" />
      <el-table-column label="审核时间" align="center" prop="auditingTime" width="180">
@@ -115,6 +115,7 @@
            icon="el-icon-edit"
            @click="handleAuditing(scope.row)"
            v-hasPermi="['system:report:audit']"
            v-if="scope.row.status === 0"
          >审核</el-button>
          <el-button
            size="mini"
@@ -149,9 +150,9 @@
            :loading="selectLoading">
            <el-option
              v-for="item in pointList"
              :key="item.value"
              :label="item.label"
              :value="item.value">
              :key="item.id"
              :label="item.value"
              :value="item.id">
            </el-option>
          </el-select>
        </el-form-item>
@@ -167,6 +168,17 @@
            <el-option label="设备故障" value="设备故障"/>
            <el-option label="设备遗失" value="设备遗失"/>
          </el-select>
        </el-form-item>
        <el-form-item label="有效时间">
          <el-date-picker
            v-model="expirTime"
            style="width: 240px"
            value-format="yyyy-MM-dd"
            type="daterange"
            range-separator="-"
            start-placeholder="生效日期"
            end-placeholder="失效日期"
          ></el-date-picker>
        </el-form-item>
        <el-form-item label="报备内容" prop="reportContent">
          <editor v-model="form.reportContent" :min-height="192"/>
@@ -200,19 +212,30 @@
        <el-form-item label="故障类型">
          <el-input v-model="auditingForm.errorType" disabled />
        </el-form-item>
        <el-form-item label="报备内容">
          <el-input v-model="auditingForm.pointName" disabled />
        <el-form-item label="生效时间">
          <el-date-picker v-model="auditingForm.beginCreateTime" disabled />
        </el-form-item>
        <el-form-item label="审核结果" prop="auditing">
          <el-radio v-model="auditingForm.auditing" label="pass">通过</el-radio>
          <el-radio v-model="auditingForm.auditing" label="reject">驳回</el-radio>
        <el-form-item label="失效时间">
          <el-date-picker v-model="auditingForm.endCreateTime" disabled />
        </el-form-item>
        <el-form-item label="报备内容">
          <el-input type="textarea" v-html="auditingForm.reportContent" disabled />
        </el-form-item>
        <el-form-item label="上报材料">
          <el-link :href="auditingForm.reportMaterials" :underline="false">{{ auditingForm.reportMaterials }}</el-link>
        </el-form-item>
        <el-form-item label="审核结果">
          <el-radio-group v-model="auditingForm.status">
            <el-radio :label="1">通过</el-radio>
            <el-radio :label="2">驳回</el-radio>
          </el-radio-group>
        </el-form-item>
        <el-form-item label="审核意见" prop="suggest">
          <el-input v-model="auditingForm.suggest"/>
          <el-input v-model="auditingForm.auditOpinion"/>
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary">确 定</el-button>
        <el-button type="primary" @click="auditingSubmit">确 定</el-button>
        <el-button @click="auditingCancel">取 消</el-button>
      </div>
    </el-dialog>
@@ -252,6 +275,7 @@
      open: false,
      // 故障类型时间范围
      daterangeCreateTime: [],
      expirTime: [],
      // 故障类型时间范围
      daterangeAuditingTime: [],
      auditingOpen: false,
@@ -265,6 +289,8 @@
        auditing: "",
        suggest: "",
        reportType: "",
        beginCreateTime: null,
        endCreateTime: null
      },
      // 查询参数
      queryParams: {
@@ -298,6 +324,12 @@
        reportType: [
          { required: true, message: "请选择报备类型", trigger: "blur" }
        ],
        errorType: [
          { required: true, message: "请选择故障类型", trigger: "blur" }
        ],
        expirTime: [
          { required: true, message: "请选择有效时间", trigger: "blur" }
        ],
      }
    };
  },
@@ -311,12 +343,16 @@
    handleAuditing(row) {
      this.auditingOpen = true;
      this.auditingForm.id =row.id
      this.auditingForm.pointId =row.pointId
      this.auditingForm.pointName =row.pointName
      this.auditingForm.unitName =row.unitName
      this.auditingForm.peopleName =row.peopleName
      this.auditingForm.errorType =row.errorType
      this.auditingForm.reportContent =row.reportContent
      this.auditingForm.reportType =row.reportType
      this.auditingForm.endCreateTime =row.endCreateTime
      this.auditingForm.beginCreateTime =row.beginCreateTime
      this.auditingForm.reportMaterials =row.reportMaterials
    },
    // 远程搜索点位
    remoteGetPoints(query) {
@@ -381,6 +417,8 @@
    resetQuery() {
      this.daterangeCreateTime = [];
      this.daterangeAuditingTime = [];
      this.queryParams["beginCreateTime"] = null;
      this.queryParams["endCreateTime"] = null;
      this.resetForm("queryForm");
      this.handleQuery();
    },
@@ -406,8 +444,24 @@
        this.title = "修改报备";
      });
    },
    /** 审核按钮操作 */
    auditingSubmit() {
      this.auditingForm.auditingTime = new Date();
      updateReport(this.auditingForm).then(response => {
        this.$modal.msgSuccess("审核成功");
        this.auditingOpen = false
        this.getList();
        this.auditingForm = {}
      });
    },
    /** 提交按钮 */
    submitForm() {
      if (null != this.expirTime && '' != this.expirTime) {
        this.form["beginCreateTime"] = this.expirTime[0];
        this.form["endCreateTime"] = this.expirTime[1];
      }
      // todo 判断是事前报备
      this.$refs["form"].validate(valid => {
@@ -440,7 +494,7 @@
    },
    /** 导出按钮操作 */
    handleExport() {
      this.download('system/report/export', {
      this.download('report/export', {
        ...this.queryParams
      }, `report_${new Date().getTime()}.xlsx`)
    }