th.vue 3.47 KB
<template>
  <dialogBox title="退回" @submitForm="submitForm"  saveButton="确认退回" width="80%" 
     @closeDialog="closeDialog" v-model="value">
    <div class="from-clues">
      <!-- 表单部分 -->
      <div class="from-clues-header">
        <el-form ref="queryForm" label-width="120px">
        <div>
          <!-- <el-form-item label="不动产单元号:">
            <p>{{item.bdcdyh}}</p>
          </el-form-item> -->
          <lb-table :column="columns" border  :heightNum="390"  :pagination="false" heightNumSetting
          :data="tableData">
        </lb-table>
        <el-form-item label="退回意见:">
          <el-input class="textArea" type="textarea" v-model="outstepopinion"></el-input>
        </el-form-item>
        </div>
        </el-form>
      </div>
    </div>
  </dialogBox>
</template>

<script>
   import { getTaskBackNode,sendBackTask } from "@/api/fqsq.js"
export default {
  components: {
  },
  props: {
    value: { type: Boolean, default: false },
    queryForm:{type:Object},
    taskId:{type:String},
    bsmBusiness:{type:String}
  },
  data () {
    const columns=[
      // {
      //   label: '',
      //   align: 'center',
      //   render: (h, scope) => {
      //     return   <el-radio label={scope.row.taskid} v-model={this.radioVal} >{''}</el-radio>
      //   }
      // },
      {
        label: "",
        width: "36px",
        render: (h, scope) => {
          return (
            <div class="orgColumn">
              <el-radio v-model={this.radioVal} label={scope.row.taskid}  onChange={() => {this.radioClick(scope.row);
                    }}>
                {" "}
                &ensp;
              </el-radio>
            </div>
          );
        },
      },
      {
        prop: "activityName",
        label: "退回环节名称",
      },
      {
        prop: "assignee",
        label: "办理人",
      },
     
    ];
    return {
    columns,
    radioVal:"",
    outstepopinion:"",
    tableData:[],
    list:{
      bsmSlsq:"",
      backNodeList:[],
    },
    sumbitList:{},
    activityId:"",
    }
  },
  mounted(){
    if(this.$route.query.bsmSlsq){
        this.list.bsmSlsq = this.$route.query.bsmSlsq
    }
  },
  methods: {
    tablelistFn(){
      getTaskBackNode({taskId:this.taskId}).then(res => {
        if (res.code === 200) {
            this.tableData = res.result 
        }
      })
    },
    radioClick(scope){
      this.activityId = scope.activityId
      this.sumbitList = scope
    
    },
    submitForm () {
      if(this.activityId==undefined){
        this.$message.error('请至少选择一条数据');
        return
      }
      this.list.backNodeList.push({
          id:this.taskId,
          taskid:this.activityId,
          processInstanceId:this.sumbitList.processInstanceId,
          bsmBusiness:this.bsmBusiness,
          outstepopinion:this.outstepopinion
        })
      sendBackTask(this.list).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);
         
        }else{
          this.$message.error(res.message)
        }
      })
    },
    closeDialog () {
      this.$emit("input", false);
    },
  
  }
}
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
.textArea {
  /deep/.el-textarea__inner {
    min-height: 90px !important;
  }
}
</style>