riku
2024-11-19 71030e1f80635b7332136a488bc2cc8bd36fc04c
src/views/fysp/check/components/CompProblemCard.vue
@@ -1,6 +1,11 @@
<template>
  <el-card class="layout" shadow="hover">
    <el-steps :active="proStatus.index" finish-status="success" style="" align-center>
    <el-steps
      :active="proStatus.index"
      finish-status="success"
      style=""
      align-center
    >
      <el-step v-for="(s, i) in getSteps" :key="i" :title="s" />
    </el-steps>
@@ -30,12 +35,20 @@
    </el-descriptions>
    <el-scrollbar>
      <el-descriptions title=" " :column="2" direction="vertical" size="small" border>
      <el-descriptions
        title=" "
        :column="2"
        direction="vertical"
        size="small"
        border
      >
        <template v-for="(pic, t) in pics" :key="t">
          <template v-if="pic.path.length > 0">
            <el-descriptions-item
              :label="pic.title"
              :label-class-name="t == 0 ? 'descriptions-label-1' : 'descriptions-label-2'"
              :label-class-name="
                t == 0 ? 'descriptions-label-1' : 'descriptions-label-2'
              "
            >
              <el-space>
                <el-image
@@ -59,20 +72,45 @@
    <el-row v-if="true" style="margin-top: 16px">
      <el-col :span="12">
        <el-row justify="start" class="btn-group">
          <el-button type="success" size="small" @click="updatePro" plain>问题更正</el-button>
          <el-button type="primary" size="small" @click="updateChange" plain>整改检验</el-button>
          <el-button type="info" size="small" @click="currProRecent" plain>问题复现</el-button>
          <el-button type="success" size="small" @click="updatePro" plain
            >问题更正</el-button
          >
          <el-button type="primary" size="small" @click="updateChange" plain
            >整改检验</el-button
          >
          <el-button type="info" size="small" @click="currProRecent" plain
            >问题复现</el-button
          >
        </el-row>
      </el-col>
      <el-col :span="12">
        <el-row justify="end" class="btn-group">
          <el-button type="danger" size="small" @click="deletePro" :disabled="!proStatus.deletable"
          <el-button
            type="danger"
            size="small"
            @click="deletePro"
            :disabled="!proStatus.deletable"
            >删除</el-button
          >
          <el-button type="warning" size="small" @click="rejectPro" :disabled="!proStatus.checkable"
          <el-button
            type="danger"
            size="small"
            @click="beforePro"
            :disabled="proStatus.checkable"
            >撤销</el-button
          >
          <el-button
            type="warning"
            size="small"
            @click="rejectPro"
            :disabled="!proStatus.checkable"
            >驳回</el-button
          >
          <el-button type="success" size="small" @click="passPro" :disabled="!proStatus.checkable"
          <el-button
            type="success"
            size="small"
            @click="passPro"
            :disabled="!proStatus.checkable"
            >通过</el-button
          >
        </el-row>
@@ -82,7 +120,7 @@
  <div class="dialog-wrapper">
    <el-dialog
      title="问题更正"
      width="80%"
      width="50%"
      v-model="proAddOrUpdDialogVisible"
      :before-close="proAddOrUpdDialogClose"
    >
@@ -107,7 +145,7 @@
    />
  </el-dialog>
  <el-dialog
    width="80%"
    width="50%"
    title="整改检验"
    v-model="changeEditDialogVisible"
    :before-close="changeEditDialogClose"
@@ -124,7 +162,7 @@
  </el-dialog>
  <!-- 问题复现 -->
  <el-dialog
    width="80%"
    width="50%"
    title="问题复现"
    v-model="proRecentDialogVisible"
    :before-close="proRecentDialogClose"
@@ -289,7 +327,7 @@
            })
            .then((res) => {
              if (res.success) {
                this.$emit('submit')
                this.$emit('submit');
              }
            });
        }
@@ -301,6 +339,33 @@
    passPro() {
      this.checkPro(true);
    },
    beforePro() {
      const pro = this.problem;
      let status = this.proStatus;
      let doneMsg;
      if (status.index <= 2) {
        doneMsg = '问题未审核';
      } else if (status.index <= 3) {
        doneMsg = '整改未审核';
      }
      useMessageBoxTip({
        confirmMsg: `确认撤回到${doneMsg}?`,
        confirmTitle: '审核撤回',
        onConfirm: () => {
          const { status, action } = ProCheckProxy.proBeforeStatus(
            pro.extension3
          );
          return problemApi
            .checkProblem({ pId: pro.guid, action: action })
            .then((res) => {
              if (res.success) {
                pro.extension3 = status;
                this.$emit('submit', false);
              }
            });
        }
      });
    },
    checkPro(pass) {
      const pro = this.problem;
      let doneMsg = pass ? '通过' : '驳回';
@@ -308,13 +373,18 @@
        confirmMsg: `确认是否${doneMsg}该问题?`,
        confirmTitle: '问题审核',
        onConfirm: () => {
          const { status, action } = ProCheckProxy.proNextStatus(pro.extension3, pass);
          return problemApi.checkProblem({ pId: pro.guid, action: action }).then((res) => {
            if (res.success) {
              pro.extension3 = status;
              this.$emit('submit');
            }
          });
          const { status, action } = ProCheckProxy.proNextStatus(
            pro.extension3,
            pass
          );
          return problemApi
            .checkProblem({ pId: pro.guid, action: action })
            .then((res) => {
              if (res.success) {
                pro.extension3 = status;
                this.$emit('submit', false);
              }
            });
        }
      });
    },