zc.vue 4 KB
<!--
 * @Description:
 * @Autor: renchao
 * @LastEditTime: 2023-09-12 13:26:13
-->
<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,
      },
    },
    mounted () {
      //  this.queryForm= this.queryForm.obj
    },
    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);
          }
        });
      },
      /**
       * @description: add
       * @param {*} val
       * @author: renchao
       */
      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>