xiangpei
2024-12-25 0088d05b69bea0f7877a8ca1f1a0d850b20ee097
src/views/projectProcess/index.vue
@@ -185,7 +185,7 @@
      v-loading="loading"
      :data="projectInfoList"
      @selection-change="handleSelectionChange"
      height="60vh"
      height="100%"
      sortable="custom"
      :show-overflow-tooltip="true">
      <el-table-column type="selection" width="55" align="center"/>
@@ -203,23 +203,19 @@
          <template v-if="item.slotName">
            <!-- projectStatus插槽 -->
            <template v-if="item.slotName === 'projectStatus'">
              <div class="mx-1">{{ '自定义样式' }}</div>
              <dict-tag :options="dict.type.sys_project_status" :value="scope.row.projectStatus"/>
            </template>
            <!-- projectColorCode插槽 -->
            <template v-if="item.slotName === 'projectColorCode'">
              <div class="mx-1 has-dot">{{ '自定义样式' }}<span class="dot" style="margin-left: 5px"></span></div>
              <dict-tag :options="dict.type.sys_project_code" :value="scope.row.projectColorCode"/>
            </template>
            <!-- projectType插槽 -->
            <template v-if="item.slotName === 'projectType'">
              <div class="mx-1">{{ '自定义样式' }}</div>
              <dict-tag :options="dict.type.sys_project_type" :value="scope.row.projectType"/>
            </template>
            <!-- investType插槽 -->
            <template v-if="item.slotName === 'investType'">
              <div class="mx-1">{{ '自定义样式' }}</div>
            </template>
            <!-- planStartTime插槽 -->
            <template v-if="item.slotName === 'planStartTime'">
              {{ '自定义样式' }}
              <dict-tag :options="dict.type.sys_investment_type" :value="scope.row.investType"/>
            </template>
          </template>
          <!-- 默认显示 -->
@@ -230,29 +226,32 @@
      <!-- 操作列 -->
      <el-table-column label="操作" width="140" align="center" >
        <template slot-scope="scope">
          <el-button
            size="medium"
            type="text"
            icon="el-icon-view"
            @click="handleDetail(scope.row)"
          >
          </el-button>
          <el-button
            v-if="isReserve"
            size="medium"
            type="text"
            icon="el-icon-edit"
            @click="handleUpdate(scope.row)"
          >
          </el-button>
          <el-button
            v-if="isReserve"
            size="medium"
            type="text"
            icon="el-icon-delete"
            @click="handleDelete(scope.row)"
          >
          </el-button>
                    <el-button
                      size="medium"
                      type="text"
                      icon="el-icon-view"
                      v-if="scope.row.processInsId"
                      @click="lookProcessDetail(scope.row)"
                    >
                    </el-button>
          <!--          <el-button-->
          <!--            v-if="isReserve"-->
          <!--            size="medium"-->
          <!--            type="text"-->
          <!--            icon="el-icon-edit"-->
          <!--            @click="handleUpdate(scope.row)"-->
          <!--          >-->
          <!--          </el-button>-->
          <el-tooltip content="流程" placement="top" effect="light" :enterable="false">
            <el-button
              v-if="isReserve"
              size="medium"
              type="text"
              icon="el-icon-s-operation"
              @click="openOpProcess(scope.row)"
            >
            </el-button>
          </el-tooltip>
        </template>
      </el-table-column>
    </el-table>
@@ -271,13 +270,25 @@
      @fileDialogCancel="fileDialogCancel"
      :currentColumns="columns"
    />
    <RunProcess ref="runProcess" :show="showRunProcess"
                :now-process-def-id="nowProcessDefId"
                :now-process-ins-id="nowProcessInsId"
                :project-info="projectRunFrom"
                :process-list="processList"
                @close="closeRunProcess">
    </RunProcess>
  </div>
</template>
<script>
import {listInfo, getInfo, delInfo, addInfo, updateInfo} from "@/api/projectInfo";
import { listDefinition } from "@/api/flowable/definition";
import {listInfo, getInfo, delInfo, addInfo, updateInfo} from "@/api/projectEngineering/projectInfo";
import { getProjectProcess } from "@/api/projectProcess/projectProcess"
import {current, currentRest} from '@/views/projectEngineering/projectLibrary/list';
import FileDialog from '@/views/projectEngineering/projectLibrary/component/FileDialog';
import RunProcess from "@/views/projectProcess/components/RunProcess";
import {getProcessConfigInfoList} from "@/api/projectProcess/processConfigInfo";
export default {
  dicts: ['sys_administrative_divisions', 'sys_investment_type', 'sys_project_phases',
@@ -285,10 +296,18 @@
    'sys_project_tags', 'sys_key_categories', 'sys_project_type'],
  name: "projectInfo",
  components: {
    FileDialog
    FileDialog, RunProcess
  },
  data() {
    return {
      projectRunFrom: {
        projectId: null,
        projectName: ''
      },
      processList: [],
      showRunProcess: false,
      nowProcessDefId: '',
      nowProcessInsId: '',
      isImportOrExport: false,
      fileDialogVisible: false,
      //是否需要新增按钮(储蓄项目需要)
@@ -371,6 +390,42 @@
    this.getList();
  },
  methods: {
    // 查看详情
    lookProcessDetail(row) {
      console.log(row.processDefId)
      this.$router.push({
        path: '/projectFlow/detail',
        query: {
          projectId: row.id,
          processDefId: row.processDefId
        }
      })
    },
    closeRunProcess() {
      this.projectRunFrom = {
        projectId: null,
        projectName: ''
      }
      this.nowProcessDefId = "";
      this.nowProcessInsId = "";
      this.showRunProcess = false
      this.getList()
    },
    // 打开流程页面
    openOpProcess(row) {
      // 拿到流程列表 TODO 根据项目类型做筛选
      getProcessConfigInfoList().then(response => {
        this.processList = response.data;
        this.nowProcessDefId = row.processDefId ? row.processDefId : '';
        this.nowProcessInsId = row.processInsId ? row.processInsId : '';
        // // 防止:id没变不触发监听
        // this.$refs.runProcess.setSelect(row.flowableProcessId);
        this.projectRunFrom.projectId = row.id;
        this.projectRunFrom.projectName = row.projectName;
        this.showRunProcess = true;
      });
    },
    // 重置排序的方法
    handleResetSort() {
      this.defaultColumns = currentRest.map((item, index) => {
@@ -426,11 +481,11 @@
    /** 查询项目管理基础信息列表 */
    getList() {
      this.loading = true;
      listInfo(this.queryParams).then(response => {
      getProjectProcess(this.queryParams).then(response => {
        this.projectInfoList = response.data;
        this.total = response.total;
        this.loading = false;
      });
      this.loading = false;
    },
    // 取消按钮
    cancel() {