| | |
| | | <el-button icon="el-icon-search" size="small" @click="handleQuery">查询</el-button> |
| | | <el-button icon="el-icon-refresh" size="small" @click="resetQuery">重置</el-button> |
| | | </el-form-item> |
| | | <el-popover :value="popoverValue" trigger="click" :width="500" placement="bottom"> |
| | | <span>筛选条件</span> |
| | | <el-form ref="moreQueryParamsRef" label-width="68px" label-position="right" :model="queryParams"> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="项目类型"> |
| | | <el-select v-model="queryParams.projectType" clearable placeholder="请选择" class="select-option" @change="handleQuery" |
| | | size="small"> |
| | | <el-option v-for="item in dict.type.sys_project_type" :key="item.value" :label="item.label" |
| | | :value="item.value"/> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="重点分类"> |
| | | <el-select v-model="queryParams.importanceType" clearable placeholder="请选择" class="select-option" @change="handleQuery"> |
| | | <el-option v-for="item in dict.type.sys_key_categories" :key="item.value" :label="item.label" |
| | | :value="item.value"/> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="项目标签"> |
| | | <el-select v-model="queryParams.tag" clearable placeholder="请选择" class="select-option" @change="handleQuery"> |
| | | <el-option v-for="item in dict.type.sys_project_tags" :key="item.value" :label="item.label" |
| | | :value="item.value"/> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="项目状态"> |
| | | <el-select v-model="queryParams.projectStatus" :disabled="isProjectCategory" clearable @change="handleQuery" |
| | | placeholder="请选择" class="select-option"> |
| | | <el-option v-for="item in dict.type.sys_project_status" :key="item.value" :label="item.label" |
| | | :value="item.value"/> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="项目码"> |
| | | <el-select v-model="queryParams.projectColorCode" clearable placeholder="请选择" class="select-option" @change="handleQuery"> |
| | | <el-option v-for="item in dict.type.sys_project_code" :key="item.value" :label="item.label" |
| | | :value="item.value"/> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="关联状态"> |
| | | <el-select v-model="queryParams.assignmentStatus" clearable placeholder="请选择" class="select-option" @change="handleQuery"> |
| | | <el-option v-for="item in dict.type.sys_association_status" :key="item.value" :label="item.label" |
| | | :value="item.value"/> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="资金类型"> |
| | | <el-select v-model="queryParams.investmentType" clearable placeholder="请选择" class="select-option" @change="handleQuery"> |
| | | <el-option v-for="item in dict.type.sys_funding_type" :key="item.value" :label="item.label" |
| | | :value="item.value"/> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="项目阶段"> |
| | | <el-select v-model="queryParams.projectPhase" clearable placeholder="请选择" class="select-option" @change="handleQuery"> |
| | | <el-option v-for="item in dict.type.sys_project_phases" :key="item.value" :label="item.label" |
| | | :value="item.value"/> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="投资类别"> |
| | | <el-select v-model="queryParams.investType" clearable placeholder="请选择" class="select-option" @change="handleQuery"> |
| | | <el-option v-for="item in dict.type.sys_investment_type" :key="item.value" :label="item.label" |
| | | :value="item.value"/> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="行政区划"> |
| | | <el-select v-model="queryParams.area" clearable placeholder="请选择" class="select-option" @change="handleQuery"> |
| | | <el-option v-for="item in dict.type.sys_administrative_divisions" :key="item.value" :label="item.label" |
| | | :value="item.value"/> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <el-button style="margin-right: 16px; margin-top: 1px; color: #3369ff" slot="reference" |
| | | size="small"> |
| | | 更多筛查条件 |
| | | <span style="margin-left: 5px"> |
| | | <el-icon v-if="!popoverValue" class="el-icon-arrow-down"></el-icon> |
| | | <el-icon v-else-if="popoverValue" class="el-icon-arrow-up"></el-icon> |
| | | </span> |
| | | </el-button> |
| | | </el-popover> |
| | | <!-- <el-popover :value="popoverValue" trigger="click" :width="500" placement="bottom">--> |
| | | <!-- <span>筛选条件</span>--> |
| | | <!-- <el-form ref="moreQueryParamsRef" label-width="68px" label-position="right" :model="queryParams">--> |
| | | <!-- <el-row>--> |
| | | <!-- <el-col :span="12">--> |
| | | <!-- <el-form-item label="项目类型">--> |
| | | <!-- <el-select v-model="queryParams.projectType" clearable placeholder="请选择" class="select-option"--> |
| | | <!-- @change="handleQuery"--> |
| | | <!-- size="small">--> |
| | | <!-- <el-option v-for="item in dict.type.sys_project_type" :key="item.value" :label="item.label"--> |
| | | <!-- :value="item.value"/>--> |
| | | <!-- </el-select>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- </el-col>--> |
| | | <!-- <el-col :span="12">--> |
| | | <!-- <el-form-item label="重点分类">--> |
| | | <!-- <el-select v-model="queryParams.importanceType" clearable placeholder="请选择" class="select-option"--> |
| | | <!-- @change="handleQuery">--> |
| | | <!-- <el-option v-for="item in dict.type.sys_key_categories" :key="item.value" :label="item.label"--> |
| | | <!-- :value="item.value"/>--> |
| | | <!-- </el-select>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- </el-col>--> |
| | | <!-- </el-row>--> |
| | | <!-- <el-row>--> |
| | | <!-- <el-col :span="12">--> |
| | | <!-- <el-form-item label="项目状态">--> |
| | | <!-- <el-select v-model="queryParams.projectStatus" :disabled="isProjectCategory" clearable--> |
| | | <!-- @change="handleQuery"--> |
| | | <!-- placeholder="请选择" class="select-option">--> |
| | | <!-- <el-option v-for="item in dict.type.sys_project_status" :key="item.value" :label="item.label"--> |
| | | <!-- :value="item.value"/>--> |
| | | <!-- </el-select>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- </el-col>--> |
| | | <!-- <el-col :span="12">--> |
| | | <!-- <el-form-item label="项目码">--> |
| | | <!-- <el-select v-model="queryParams.coding" clearable placeholder="请选择" class="select-option"--> |
| | | <!-- @change="handleQuery">--> |
| | | <!-- <el-option v-for="item in dict.type.sys_project_code" :key="item.value" :label="item.label"--> |
| | | <!-- :value="item.value"/>--> |
| | | <!-- </el-select>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- </el-col>--> |
| | | <!-- </el-row>--> |
| | | <!-- <el-row>--> |
| | | <!-- </el-row>--> |
| | | <!-- <el-row>--> |
| | | <!-- <el-col :span="12">--> |
| | | <!-- <el-form-item label="资金类型">--> |
| | | <!-- <el-select v-model="queryParams.fundType" clearable placeholder="请选择" class="select-option"--> |
| | | <!-- @change="handleQuery">--> |
| | | <!-- <el-option v-for="item in dict.type.sys_funding_type" :key="item.value" :label="item.label"--> |
| | | <!-- :value="item.value"/>--> |
| | | <!-- </el-select>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- </el-col>--> |
| | | <!-- <el-col :span="12">--> |
| | | <!-- <el-form-item label="项目阶段">--> |
| | | <!-- <el-select v-model="queryParams.projectPhase" clearable placeholder="请选择" class="select-option"--> |
| | | <!-- @change="handleQuery">--> |
| | | <!-- <el-option v-for="item in dict.type.sys_project_phases" :key="item.value" :label="item.label"--> |
| | | <!-- :value="item.value"/>--> |
| | | <!-- </el-select>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- </el-col>--> |
| | | <!-- </el-row>--> |
| | | <!-- <el-row>--> |
| | | <!-- <el-col :span="12">--> |
| | | <!-- <el-form-item label="投资类别">--> |
| | | <!-- <el-select v-model="queryParams.investType" clearable placeholder="请选择" class="select-option"--> |
| | | <!-- @change="handleQuery">--> |
| | | <!-- <el-option v-for="item in dict.type.sys_investment_type" :key="item.value" :label="item.label"--> |
| | | <!-- :value="item.value"/>--> |
| | | <!-- </el-select>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- </el-col>--> |
| | | <!-- <el-col :span="12">--> |
| | | <!-- <el-form-item label="行政区划">--> |
| | | <!-- <el-select v-model="queryParams.area" clearable placeholder="请选择" class="select-option"--> |
| | | <!-- @change="handleQuery">--> |
| | | <!-- <el-option v-for="item in dict.type.sys_administrative_divisions" :key="item.value"--> |
| | | <!-- :label="item.label"--> |
| | | <!-- :value="item.value"/>--> |
| | | <!-- </el-select>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- </el-col>--> |
| | | <!-- </el-row>--> |
| | | <!-- </el-form>--> |
| | | <!-- <el-button style="margin-right: 16px; margin-top: 1px; color: #3369ff" slot="reference"--> |
| | | <!-- size="small">--> |
| | | <!-- 更多筛查条件--> |
| | | <!-- <span style="margin-left: 5px">--> |
| | | <!-- <el-icon v-if="!popoverValue" class="el-icon-arrow-down"></el-icon>--> |
| | | <!-- <el-icon v-else-if="popoverValue" class="el-icon-arrow-up"></el-icon>--> |
| | | <!-- </span>--> |
| | | <!-- </el-button>--> |
| | | <!-- </el-popover>--> |
| | | </div> |
| | | <div class="right-section"> |
| | | <div> |
| | |
| | | </el-form> |
| | | |
| | | <el-table |
| | | :key="tableKey" |
| | | ref="elTable" |
| | | style="margin-top: 20px" |
| | | v-loading="loading" |
| | | :data="projectInfoList" |
| | | @selection-change="handleSelectionChange" |
| | | height="100%" |
| | | sortable="custom" |
| | | row-key="id" |
| | | border |
| | | default-expand-all |
| | | :tree-props="{children: 'children', hasChildren: 'hasChildren'}" |
| | | :show-overflow-tooltip="true"> |
| | | <el-table-column type="selection" width="55" align="center"/> |
| | | <!-- 动态列 --> |
| | | <el-table-column |
| | | v-for="item in columns" |
| | | :key="item.id" |
| | | v-if="item.visible" |
| | | :prop="item.id" |
| | | :label="item.label" |
| | | :min-width="item.minWidth" |
| | | > |
| | | <el-table-column label="项目名称" min-width="250" :show-overflow-tooltip="true" prop="projectName" /> |
| | | <el-table-column label="项目推进类型" align="center" prop="projectType"> |
| | | <template slot-scope="scope"> |
| | | <!-- 使用具名插槽 --> |
| | | <template v-if="item.slotName"> |
| | | <!-- projectStatus插槽 --> |
| | | <template v-if="item.slotName === 'projectStatus'"> |
| | | <dict-tag :options="dict.type.sys_project_status" :value="scope.row.projectStatus"/> |
| | | </template> |
| | | <!-- projectColorCode插槽 --> |
| | | <template v-if="item.slotName === 'projectColorCode' || item.slotName === 'coding'"> |
| | | <div v-if="scope.row.projectColorCode"> |
| | | <dict-tag :options="dict.type.sys_project_code" :value="scope.row.projectColorCode"/> |
| | | </div> |
| | | <div v-else> |
| | | <dict-tag :options="dict.type.sys_project_code" :value="scope.row.coding"/> |
| | | </div> |
| | | </template> |
| | | <!-- projectType插槽 --> |
| | | <template v-if="item.slotName === 'projectType'"> |
| | | <dict-tag :options="dict.type.sys_project_type" :value="scope.row.projectType"/> |
| | | </template> |
| | | <!-- investType插槽 --> |
| | | <template v-if="item.slotName === 'investType'"> |
| | | <dict-tag :options="dict.type.sys_investment_type" :value="scope.row.investType"/> |
| | | </template> |
| | | </template> |
| | | <!-- 默认显示 --> |
| | | <span v-else>{{ scope.row[item.id] }}</span> |
| | | <dict-tag :options="dict.type.sys_project_type" :value="scope.row.projectType"/> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column label="主管部门" align="center" prop="competentDepartmentName"> |
| | | </el-table-column> |
| | | <el-table-column label="业主单位" align="center" prop="projectOwnerUnitName"> |
| | | </el-table-column> |
| | | <el-table-column label="年份" align="center" prop="year"> |
| | | <template slot-scope="scope"> |
| | | {{ scope.row.year ? scope.row.year + '年' : '' }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="投资额(万)" align="center" prop="investmentAmount" /> |
| | | <el-table-column label="开工状态" align="center" prop="status"> |
| | | <template slot-scope="scope"> |
| | | <dict-tag :options="dict.type.sys_project_status" :value="scope.row.status"/> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="建设内容" align="center" prop="buildContent"/> |
| | | <!-- 操作列 --> |
| | | <el-table-column label="操作" width="140" align="center" > |
| | | <template slot-scope="scope"> |
| | |
| | | :now-process-ins-id="nowProcessInsId" |
| | | :project-info="projectRunFrom" |
| | | :process-list="processList" |
| | | :project-type="projectType" |
| | | @close="closeRunProcess"> |
| | | </RunProcess> |
| | | </div> |
| | |
| | | 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 {projectProcessCurrent, projectProcessCurrentRest} 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"; |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | projectType: '', |
| | | projectRunFrom: { |
| | | projectId: null, |
| | | projectName: '' |
| | |
| | | projectType: '', // 项目类型 |
| | | importanceType: '', // 重点分类 |
| | | projectStatus: '', // 项目状态 |
| | | projectColorCode: '', // 项目码 |
| | | coding: '', // 项目码 |
| | | investmentType: '', // 资金类型 |
| | | projectPhase: '', // 项目阶段 |
| | | investType: '', // 投资类别 |
| | |
| | | if(projectCategory){ |
| | | this.isProjectCategory = true; |
| | | } |
| | | const columns = current.map((item, index) => { |
| | | const columns = projectProcessCurrent.map((item, index) => { |
| | | item.index = index + 1; |
| | | item.key = index; |
| | | item.serialNumber = index + 1; |
| | |
| | | methods: { |
| | | // 查看详情 |
| | | lookProcessDetail(row) { |
| | | console.log(row.processDefId) |
| | | sessionStorage.removeItem("projectProDetail") |
| | | this.$router.push({ |
| | | path: '/projectFlow/detail', |
| | | query: { |
| | | projectId: row.id, |
| | | processDefId: row.processDefId |
| | | processDefId: row.processDefId, |
| | | processInsId: row.processInsId, |
| | | deployId: row.deployId, |
| | | processName: row.flowableProcessName |
| | | } |
| | | }) |
| | | }, |
| | |
| | | } |
| | | this.nowProcessDefId = ""; |
| | | this.nowProcessInsId = ""; |
| | | this.projectType = "" |
| | | 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.nowProcessDefId = row.processDefId ? row.processDefId : ''; |
| | | this.nowProcessInsId = row.processInsId ? row.processInsId : ''; |
| | | const numericPattern = /^\d+(\.\d+)?$/; |
| | | if (numericPattern.test(row.id)) { |
| | | this.projectType = "PROJECT" |
| | | } else { |
| | | this.projectType = "ENGINEERING" |
| | | } |
| | | // // 防止:id没变不触发监听 |
| | | // this.$refs.runProcess.setSelect(row.flowableProcessId); |
| | | this.projectRunFrom.projectId = row.id; |
| | | this.projectRunFrom.projectName = row.projectName; |
| | | |
| | | this.showRunProcess = true; |
| | | }); |
| | | this.showRunProcess = true; |
| | | // 拿到流程列表 TODO 根据项目类型做筛选 |
| | | // getProcessConfigInfoList().then(response => { |
| | | // this.processList = response.data; |
| | | // |
| | | // }); |
| | | }, |
| | | // 重置排序的方法 |
| | | handleResetSort() { |
| | | this.defaultColumns = currentRest.map((item, index) => { |
| | | this.defaultColumns = projectProcessCurrentRest.map((item, index) => { |
| | | item.index = index + 1; |
| | | item.key = index; |
| | | item.serialNumber = index + 1 |
| | | return item; |
| | | }); |
| | | this.columns = currentRest.map((item, index) => { |
| | | this.columns = projectProcessCurrentRest.map((item, index) => { |
| | | item.index = index + 1; |
| | | item.key = index; |
| | | item.serialNumber = index + 1 |
| | |
| | | this.loading = true; |
| | | getProjectProcess(this.queryParams).then(response => { |
| | | this.projectInfoList = response.data; |
| | | console.log(this.projectInfoList) |
| | | this.total = response.total; |
| | | this.loading = false; |
| | | }); |