fuliqi
2024-12-26 5b5a3ec32e479b6c43822fd0192cde6e2f3b31e5
src/views/flowable/task/myProcess/send/index.vue
@@ -10,7 +10,10 @@
        <el-tab-pane label="表单信息" name="1">
          <!--初始化流程加载表单信息-->
          <el-col :span="16" :offset="4" v-if="formDataList && formDataList.length > 0">
            <div v-for="(formDataObj, index) in formDataList" :key="index" class="form-warp">
            <div v-for="(formDataObj, index) in formDataList" :key="index" class="form-warp" style="position: relative">
              <div v-if="!formDataObj.current" style="position: absolute; top: 2px; right: 2px">
                <el-button type="danger" @click="openRejectTask(formDataObj.beforeNodeDefId)">驳回</el-button>
              </div>
              <div v-if="formDataObj.current" style="margin-bottom: 15px;color: #409eff">当前阶段:<span style="color: red">{{formDataObj.beforeNodeName}}</span></div>
              <div v-else style="margin-bottom: 15px;color: #409eff">前置阶段:<span style="color: #d5904b">{{formDataObj.beforeNodeName}}</span></div>
              <v-form-render  :form-data="formDataObj.formJson" :ref="'form' + index"/>
@@ -19,8 +22,8 @@
<!--            <v-form-render :form-data="formRenderData" ref="vFormRef"/>-->
            <div style="display: flex;justify-content: center; align-items: center; margin: 20px 0">
              <el-button type="primary" @click="submitForm">确认并提交</el-button>
              <el-button type="primary" @click="submitForm">协同办理</el-button>
              <el-button type="primary" @click="submitForm">转交他人办理</el-button>
              <el-button type="primary" disabled @click="submitForm">协同办理(功能开发中)</el-button>
              <el-button type="primary" disabled @click="submitForm">转交他人办理(功能开发中)</el-button>
<!--              <el-button type="primary" @click="resetForm">重 置</el-button>-->
            </div>
          </el-col>
@@ -40,6 +43,28 @@
        </span>
      </el-dialog>
    </el-card>
    <el-dialog
      :title="`驳回:` + rejectForm.projectName"
      :visible.sync="rejectShow"
      width="950px"
      :destroy-on-close="true"
      :close-on-click-modal="false"
      >
      <div>
        <el-input
          type="textarea"
          :rows="3"
          placeholder="审核建议"
          v-model="rejectForm.auditOpinion">
        </el-input>
      </div>
      <div>
        <el-button type="danger" size="small" @click="rejectTask">驳回</el-button>
      </div>
    </el-dialog>
  </div>
</template>
@@ -51,6 +76,7 @@
import {getNextFlowNodeByStart} from "@/api/flowable/todo";
import FlowUser from '@/components/flow/User'
import FlowRole from '@/components/flow/Role'
import {rejectTask} from "@/api/projectProcess/projectProcess";
export default {
  name: "Record",
@@ -62,7 +88,9 @@
  props: {},
  data() {
    return {
      formDataList: [],
      rejectShow: false,
      goBackParams: {},
      formDataList: [],  // 表单列表
      taskId: '',
      processName: '',
      // 模型xml数据
@@ -87,7 +115,12 @@
      checkValues: null, // 选中任务接收人员数据
      formData: {}, // 填写的表单数据,
      multiInstanceVars: '', // 会签节点
      formJson: {} // 表单json
      formJson: {}, // 表单json
      rejectForm: {
        auditOpinion: '', // 审核意见
        taskId: '',
        rejectedTaskDefKey: ''  // 被驳回的任务key
      }
    };
  },
  mounted() {
@@ -96,10 +129,22 @@
    this.taskId = this.$route.query && this.$route.query.taskId;
    // 初始化表单
    this.procDefId  = this.$route.query && this.$route.query.procDefId;
    this.goBackParams  = this.$route.query && this.$route.query.goBackParams;
    // this.getNextFlowNodeByStart(this.deployId);
    this.getFlowFormData(this.taskId);
  },
  methods: {
    rejectTask() {
      rejectTask(this.rejectForm).then(res => {
        this.rejectShow = false
        this.$message.success("驳回成功")
      })
    },
    openRejectTask(rejectedTaskDefKey) {
      this.rejectForm.rejectedTaskDefKey = rejectedTaskDefKey;
      this.rejectForm.taskId = this.taskId;
      this.rejectShow = true
    },
    handleClick(tab, event) {
      if (tab.name === '2'){
        flowXmlAndNode({deployId:this.deployId}).then(res => {
@@ -112,8 +157,6 @@
      const params = {taskId: taskId}
      flowTaskForm(params).then(res => {
        this.formDataList = res.data
        // this.formRenderDataList = res.data.map(item => item.formJson)
        // console.log("表单数据列表", this.formRenderDataList)
        if (this.formDataList && this.formDataList.length > 0) {
          this.$nextTick(() => {
            this.formDataList.forEach((formDataObj, index) => {
@@ -154,10 +197,13 @@
    },
    /** 返回页面 */
    goBack() {
      // // 关闭当前标签页并返回上个页面
      // const obj = { path: "/task/process", query: { t: Date.now()} };
      // this.$tab.closeOpenPage(obj);
      this.$tab.closePage()
      this.$router.push({
        path: '/projectFlow/detail',
        query: {
          projectId: this.goBackParams.projectId,
          processDefId: this.goBackParams.processDefId
        }
      })
    },
    /** 申请流程表单数据提交 */
    submitForm() {