ZhangXianQiang
2024-03-13 b892a82ced94d0ba6b7986917bbd049c118b4012
src/views/system/work-order/index.vue
@@ -59,7 +59,6 @@
          size="mini"
          :disabled="multiple"
          @click="handleDelete"
          v-hasPermi="['x:work-order:remove']"
        >删除</el-button>
      </el-col>
      <el-col :span="1.5">
@@ -83,9 +82,11 @@
      <el-table-column label="运维单位" align="center" prop="unitName" width="150"/>
      <el-table-column label="运维人员" align="center" prop="ywPeopleName" />
      <el-table-column label="运维处理时间" align="center" prop="ywHandleTime" width="180"/>
      <el-table-column label="处理结束时间" align="center" prop="ywHandleTime" width="180"/>
      <el-table-column label="运维结果" align="center" prop="ywResult" />
      <el-table-column label="运维情况" align="center" prop="ywCondition" width="150"/>
      <el-table-column label="运维检测结果" align="center" prop="ywCheckResult" width="230"/>
      <el-table-column label="运维检测结果" align="center" prop="ywCheckResult" width="200"/>
      <el-table-column label="审核通过时间" align="center" prop="ywHandleTime" width="200"/>
      <el-table-column label="创建时间" align="center" prop="createTime" width="180"/>
      <el-table-column label="操作" fixed="right" width="150"  align="center" class-name="small-padding fixed-width">
@@ -101,26 +102,27 @@
            size="mini"
            type="text"
            @click="handleAuditing(scope.row)"
            v-hasPermi="['x:work-order:remove']"
          >审核</el-button>
          <el-button
            size="mini"
            type="text"
            @click="handleYwCondition(scope.row)"
            v-hasPermi="['x:work-order:remove']"
          >运维情况</el-button>
          <el-button
            size="mini"
            type="text"
            @click="handleYwResult(scope.row)"
            v-hasPermi="['x:work-order:remove']"
          >运维结果</el-button>
          <el-button
            size="mini"
            type="text"
            @click="handleCheckResult(scope.row)"
            v-hasPermi="['x:work-order:remove']"
          >检测结果</el-button>
          <el-button
            size="mini"
            type="text"
            @click="handleFlow(scope.row)"
          >过程图</el-button>
        </template>
      </el-table-column>
    </el-table>
@@ -168,6 +170,34 @@
        </el-form-item>
        <el-form-item label="运维人员" prop="ywPeopleName">
          <el-input v-model="ywConditionForm.ywPeopleName" disabled />
        </el-form-item>
        <el-form-item label="现场图片" prop="picture">
          <el-upload
            class="avatar-uploader"
            action="/dev-api/common/upload"
            name="file"
            :headers="{'Authorization': 'Bearer ' + getToken()}"
            :on-success="pictureUploadSuccess"
            :on-remove="pictureRemove"
            :file-list="pictureList"
            list-type="picture">
            <el-button size="small" type="primary">点击上传</el-button>
            <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
          </el-upload>
        </el-form-item>
        <el-form-item label="佐证材料" prop="certificates">
          <el-upload
            class="avatar-uploader"
            action="/dev-api/common/upload"
            name="file"
            :headers="{'Authorization': 'Bearer ' + getToken()}"
            :on-success="certificateUploadSuccess"
            :on-remove="certificateRemove"
            :file-list="certificateList"
            list-type="picture">
            <el-button size="small" type="primary">点击上传</el-button>
            <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
          </el-upload>
        </el-form-item>
        <el-form-item label="运维情况" prop="ywCondition">
          <el-input v-model="ywConditionForm.ywCondition" type="textarea" maxlength="150" show-word-limit/>
@@ -248,16 +278,152 @@
        <el-button @click="cancel">取 消</el-button>
      </div>
    </el-dialog>
    <!-- 过程图 -->
    <el-dialog title="过程图" :visible.sync="flowOpen" width="1200px" :close-on-click-modal="false" append-to-body>
      <div>
        <el-steps :active="2" :space="500">
          <el-step title="产生工单">
            <template slot="description">
              <div>
                <div class="flow-item-x">
                  工单来源:<el-tag type="danger" size="small">{{flowForm.source}}</el-tag>
                </div>
                <div class="flow-item-x">
                  故障类型:{{flowForm.errorType}}
                </div>
                <div class="flow-item-x">
                  运维单位:{{flowForm.unitName}}
                </div>
                <div class="flow-item-x">
                  创建时间:{{flowForm.createTime}}
                </div>
                <div class="flow-item-x">
                  处理期限:<el-tag type="danger" size="small">12小时</el-tag>
                </div>
              </div>
            </template>
          </el-step>
          <el-step title="运维处理">
            <template slot="description">
              <div class="y-item">
                <div class="y-item-1">
                  <div class="flow-item-x">
                    运维状态:<el-tag type="danger" size="small">结果上报</el-tag>
                  </div>
                  <div class="flow-item-x">
                    运维人员:<el-tag type="danger" size="small">{{flowForm.ywPeopleName}}</el-tag>
                  </div>
                </div>
                <div class="y-item-2">
                  <div >
                    {{flowForm.ywHandleTime}}
                  </div>
                  <div >
                    第几次:1
                  </div>
                </div>
              </div>
              <div class="y-item">
                <div class="y-item-1">
                  <div class="flow-item-x">
                    运维状态:<el-tag type="danger" size="small">结果上报</el-tag>
                  </div>
                  <div class="flow-item-x">
                    运维人员:<el-tag type="danger" size="small">{{flowForm.ywPeopleName}}</el-tag>
                  </div>
                </div>
                <div class="y-item-2">
                  <div >
                    {{flowForm.ywHandleTime}}
                  </div>
                  <div >
                    第几次:2
                  </div>
                </div>
              </div>
            </template>
          </el-step>
          <el-step title="结果审核">
            <template slot="description">
              <div class="y-item">
                <div class="y-item-1">
                  <div class="flow-item-x">
                    审核结果:<el-tag type="danger" size="small">驳回</el-tag>
                  </div>
                  <div class="flow-item-x">
                    审核说明:<el-tag type="danger" size="small">未成功处理</el-tag>
                  </div>
                </div>
                <div class="y-item-2">
                  <div >
                    {{flowForm.ywHandleTime}}
                  </div>
                  <div >
                    第几次:1
                  </div>
                </div>
              </div>
              <div class="y-item">
                <div class="y-item-1">
                  <div class="flow-item-x">
                    审核状态:<el-tag type="info" size="small">审核中</el-tag>
                  </div>
                  <div class="flow-item-x">
                    审核说明:
                  </div>
                </div>
                <div class="y-item-2">
                  <div >
                    {{flowForm.ywHandleTime}}
                  </div>
                  <div >
                    第几次:2
                  </div>
                </div>
              </div>
            </template>
          </el-step>
        </el-steps>
      </div>
    </el-dialog>
  </div>
</template>
<style scoped>
.flow-item-x {
  margin: 5px 0;
}
.y-item {
  margin-bottom: 8px;
  padding: 0 3px;
  background-color: #d9d9d9;
  display: flex;
  flex-direction: row;
  align-items: center
}
.y-item-2 {
  flex: 1;
}
.y-item-1 {
  flex: 2;
}
</style>
<script>
import { listWorkOrder, getWorkOrder, delWorkOrder, addWorkOrder, updateWorkOrder,auditing, ywCondition } from "@/api/platform/work-order";
export default {
  name: "Work-order",
  components: {
  },
  data() {
    return {
      // 过程图
      flowOpen: false,
      flowForm: {},
      certificateList:[],
      pictureList: [],
      // 遮罩层
      loading: true,
      // 选中数组
@@ -357,6 +523,11 @@
      this.checkResultForm = row;
      this.checkResultOpen = true;
    },
    // 过程图查看
    handleFlow(row) {
      this.flowOpen = true;
      this.flowForm = row;
    },
    // 提交审核
    submitAuditing() {
      this.$refs["auditingForm"].validate(valid => {
@@ -372,6 +543,32 @@
    cancelAuditing() {
      this.auditingForm = {};
      this.auditingOpen = false;
    },
    pictureRemove(file, fileList) {
      this.form.picture = null,
        this.pictureList = this.pictureList.filter(item => item.name !== file.name)
    },
    certificateRemove(file, fileList) {
      this.form.certificate = null,
        this.certificateList = this.certificateList.filter(item => item.name !== file.name)
    },
    pictureUploadSuccess(response, file, fileList) {
      this.form.picture = response.fileName,
        this.pictureList.push({
          name: response.originalFilename,
          url: response.url,
          fileName: response.fileName
        })
    },
    certificateUploadSuccess(response, file, fileList) {
      this.form.certificate = response.fileName,
        this.certificateList.push({
          name: response.originalFilename,
          url: response.url,
          fileName: response.fileName
        })
    },
    // 提交运维情况
    submitYwCondition() {
@@ -471,6 +668,20 @@
        this.form = response.data;
        this.open = true;
        this.title = "修改运维工单";
        this.pictureList = JSON.parse(response.data.picture).map(item => {
          return {
            name: item,
            url: process.env.VUE_APP_FILE_API + '/' + item,
            fileName: item
          }
        })
        this.certificateList = JSON.parse(row.certificate).map(item => {
          return {
            name: item,
            url: process.env.VUE_APP_FILE_API + '/' + item,
            fileName: item
          }
        })
      });
    },
    /** 提交按钮 */