zc.vue 3.88 KB
<!--
 * @Description:
 * @Autor: renchao
 * @LastEditTime: 2023-10-19 16:23:02
-->
<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 v-if="this.formData.showidea">
        <div class="invalid-reson">审批意见:</div>
        <el-input
          class="opinion"
          v-model="shyj"
          placeholder="请输入审批意见"
          type="textarea"
          :rows="4"></el-input>
      </div>
      <div style="text-align:center">
        <el-button @click="cancelBack">取消转出</el-button>
        <el-button type="primary" @click="submitForm">确定转出</el-button>
      </div>
    </div>
  </div>
</template>

<script>
  import { completeTask, getNextLinkInfo } from "@/api/workFlow.js";
  import { popupCacel } from "@/utils/popup.js";
  import { mapGetters } from "vuex";
  export default {
    computed: {
    },
    props: {
      formData: {
        type: Object,
        default: {},
      },
    },

    data () {
      return {
        queryForm: {},
        shyj: "",
      };
    },
    // watch: {
    //   yjsqOptions: {
    //     handler (val) {
    //       this.add(val.opinion);
    //     },
    //     deep: true,
    //     immediate: true,
    //   },
    // },
    methods: {
      /**
       * @description: submitForm
       * @author: renchao
       */
      commonOpinion () {
        this.$popup('常用意见', "workflow/components/dialog/commonOpinion", {
          title: "常用意见",
          width: '75%', // 初始化75% 不需要改的话 可以直接不要
          formData: {}, // 父组件传给子组件的参数
          cancel: function () { }, //取消事件的回调 没有按钮可以不需要
          confirm: function () { } //确认事件的回调 没有按钮可以不需要
        })
      },
      submitForm () {
        this.queryForm = {
          bsmSlsq: this.formData.bsmSlsq,
          shyj: this.shyj,
          stepform: JSON.stringify(this.formData.tabList),
        };
        completeTask(this.queryForm).then((res) => {
          if (res.code === 200) {
            this.$message.success("转件成功");
            // setTimeout(() => {
            //   window.opener = null;
            //   window.open("about:blank", "_self");
            //   window.close();
            //   this.$emit("input", false);
            // }, 1000);
            popupCacel();
            setTimeout(() => {
              // window.opener.location.reload(); //刷新父窗口
              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);
          }
        });
      },
      // add (val) {
      //   if (val != "") {
      //     this.shyj;
      //   }
      // },

      /**
       * @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>