xiangpei
2025-06-06 31d78dd4e988cfce8f0a16678f2041849cc0dce3
src/views/projectProcess/components/RunProcess.vue
@@ -3,7 +3,7 @@
    <el-dialog
      :title="`流程启动:` + projectInfo.projectName"
      :visible.sync="show"
      width="950px"
      width="1050px"
      :destroy-on-close="true"
      :close-on-click-modal="false"
      :before-close="handleClose">
@@ -14,7 +14,17 @@
          <div v-else>未绑定流程</div>
        </div>
      </div>
      <div style="margin-top: 20px">
      <div style="margin-top: 10px">
        <el-form :inline="true" :model="queryParams" size="small">
          <el-form-item label="流程名称">
            <el-input placeholder="流程名称搜索" clearable @clear="search" v-model="queryParams.name"></el-input>
          </el-form-item>
          <el-form-item>
            <el-button type="primary" @click="search">搜索</el-button>
          </el-form-item>
        </el-form>
      </div>
      <div style="margin-top: 0px">
        <el-table
          ref="myTable"
          :data="processList"
@@ -27,6 +37,8 @@
          </el-table-column>
          <el-table-column
            prop="name"
            :show-overflow-tooltip="true"
            min-width="200"
            label="流程名称"
          >
          </el-table-column>
@@ -77,10 +89,18 @@
            </template>
          </el-table-column>
        </el-table>
        <pagination
          v-show="total>0"
          :total="total"
          :page.sync="queryParams.currentPage"
          :limit.sync="queryParams.pageSize"
          :page-sizes="[8]"
          @pagination="getList"
        />
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button type="danger" @click="startProcess" :disabled="(nowProcessInsId !== '') || (selectProcessDefId === '')">启动流程</el-button>
        <el-button type="primary" @click="changeProcess" :disabled="((nowProcessDefId === selectProcessDefId) && nowProcessInsId !== '') || selectProcessDefId === '' || nowProcessInsId === ''">流程变更</el-button>
        <el-button type="danger" v-loading="startLoading" @click="startProcess" :disabled="(nowProcessInsId !== '') || (selectProcessDefId === '')">启动流程</el-button>
        <el-button type="primary" v-loading="setLoading" @click="changeProcess" :disabled="((nowProcessDefId === selectProcessDefId) && nowProcessInsId !== '') || selectProcessDefId === '' || nowProcessInsId === ''">流程变更</el-button>
      </span>
    </el-dialog>
  </div>
@@ -88,6 +108,7 @@
<script>
import {projectSetProcess, startProcess} from "@/api/projectProcess/projectProcess";
import {getProcessConfigInfoPage} from "@/api/projectProcess/processConfigInfo";
export default {
  dicts: ['sys_project_type', 'sys_funding_type', 'sys_investment_type', 'sys_key_categories'],
@@ -101,10 +122,6 @@
      required: true,  // 项目id、名称
      type: Object
    },
    processList: {  // 流程列表
      required: true,
      type: Array
    },
    nowProcessDefId: {  // 当前项目绑定的定义id
      required: true,
      type: String
@@ -113,6 +130,10 @@
      required: true,
      type: String
    },
    projectType: {
      required: true,
      type: String
    }
  },
  watch: {
    // 监听回显值
@@ -122,18 +143,44 @@
        this.setSelect(this.nowProcessDefId)
      },
      deep: true
    },
    processList: {
      handler(newVal, oldVal) {
        this.setSelect(this.nowProcessDefId)
      },
      deep: true
    }
  },
  data() {
    return {
      startLoading: false,
      setLoading: false,
      processList: [],
      total:0,
      queryParams: {
        pageSize: 8,
        currentPage: 1,
        name: ""
      },
      selectProcessDefId: '',  // 组件内部选中的流程id
      selectProcessName: '',  // 组件内部选中的流程id
    }
  },
  created() {
    this.getList()
    console.log(this.nowProcessInsId, typeof this.nowProcessInsId, "wwwww")
  },
  methods: {
    search() {
      this.queryParams.currentPage = 1
      this.getList()
    },
    getList() {
      getProcessConfigInfoPage(this.queryParams).then(res => {
        this.processList = res.data;
        this.total = res.total
      });
    },
    setSelect(value) {
      console.log("调用值:", value)
      this.processList.forEach((item,index) => {
@@ -160,8 +207,15 @@
    },
    // 启动流程
    startProcess() {
      startProcess(this.projectInfo.projectId, this.selectProcessDefId).then(res => {
      this.startLoading = true
      const data = {
        projectId: this.projectInfo.projectId,
        processDefId: this.selectProcessDefId,
        projectType: this.projectType
      }
      startProcess(data).then(res => {
        this.$message.success(res.msg);
        this.startLoading = false
        this.handleClose()
      })
    },
@@ -173,10 +227,13 @@
      }
      const data = {
        projectId: this.projectInfo.projectId,
        processDefId: this.selectProcessDefId
        processDefId: this.selectProcessDefId,
        projectType: this.projectType
      }
      this.setLoading = true
      projectSetProcess(data).then(res => {
        this.$message.success("变更成功")
        this.setLoading = false
        this.handleClose()
      })
    },