zc.vue 3.55 KB
<!--
 * @Description:
 * @Autor: renchao
 * @LastEditTime: 2024-01-19 16:43:43
-->
<template>
  <div class="from-clues">
    <!-- 表单部分 -->
    <div class="from-clues-header">
      <el-form ref="queryForm" label-width="180px" v-if="this.formData.obj">
        <el-form-item label="下一环节名称:">
          {{ this.formData.obj.taskName }}
        </el-form-item>
        <el-form-item label="下一环节办理人:">
          {{ this.formData.obj.usernames.join(",") }}
        </el-form-item>
      </el-form>
      <el-form ref="queryForm" label-width="180px" v-else>
        <el-form-item label="">
          此环节为流程最后环节,转出后流程将结束
        </el-form-item>
      </el-form>
      <div class="invalid-reson">审批意见:</div>
      <el-input
        class="opinion"
        v-model="shyj"
        placeholder="请输入审批意见"
        type="textarea"
        :rows="4"></el-input>
      <!-- <el-button
        class="opinion_btn"
        @click="commonOpinion"
        >常用意见</el-button
      > -->
      <el-button style="float: right" @click="cancelBack">取消转出</el-button>
      <el-button type="primary" @click="submitForm" :loading="loading" style="float: right">确定转出</el-button>
    </div>
  </div>
</template>

<script>
  import { completeTask, getNextLinkInfo } from "@/api/workFlow.js";
  import { popupCacel } from "@/utils/popup.js";
  import { mapGetters } from 'vuex'
  export default {
    components: {},

    props: {
      formData: {
        type: Object,
        default: {},
      },
    },
    computed: {
      ...mapGetters(['yjsqOptions'])
    },
    data () {
      return {
        loading: false,
        queryForm: {},
        shyj: "",
      };
    },

    watch: {
      // yjsqOptions: {
      //   handler (val) {
      //      if(val){
      //          this.shyj = val
      //      }

      //   },
      // },
    },
    mounted () {
      //  this.queryForm= this.queryForm.obj
    },
    methods: {
      /**
       * @description: submitForm
       * @author: renchao
       */
      commonOpinion () {
        this.$popupDialog(
          "常用意见",
          "workflow/components/dialog/commonOpinion",
          {},
          "70%",
          true
        );
      },
      submitForm () {
        this.loading = true
        this.queryForm = {
          bsmSlsq: this.formData.bsmSlsq,
          shyj: this.shyj,
          stepform: JSON.stringify(this.formData.tabList),
        };
        completeTask(this.queryForm).then((res) => {
          this.loading = false
          if (res.code === 200) {
            this.$message.success("转件成功");
            popupCacel();
            setTimeout(() => {
              if (window.opener && window.opener.getBpageList) {
                window.opener.getBpageList();
              } else {
                window.opener.frames[0].getBpageList();
              }
              window.close();
              this.$emit("input", false);
            }, 1000);
          } else {
            this.$message.error(res.message);
          }
        }).catch(() => {
          this.loading = false
        })
      },

      /**
       * @description: closeDialog
       * @author: renchao
       */
      cancelBack () {
        popupCacel();
      },
    },
  };
</script>
<style scoped lang="scss">
  @import "~@/styles/mixin.scss";
  .el-button {
    margin-top: 20px;
    margin-right: 10px;
  }

  .opinion {
    position: relative;
    font-size: 14px;
  }

  .opinion_btn {
    position: absolute;
    right: 35px;
    bottom: 80px;
  }
</style>