src/api/project/plan/index.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/api/projectInfo.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/assets/styles/sidebar.scss | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/Pagination/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/layout/components/Sidebar/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/layout/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/router/index.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/project/plan/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/projectEngineering/projectLibrary/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/api/project/plan/index.js
New file @@ -0,0 +1,44 @@ import request from '@/utils/request' // 查询项目计划记录列表 export function getList(query) { return request({ url: '/api/plan/page', method: 'get', params: query }) } // 查询项目计划记录详细 export function getRecord(id) { return request({ url: '/plan/record/' + id, method: 'get' }) } // 新增项目计划记录 export function addRecord(data) { return request({ url: '/plan/record', method: 'post', data: data }) } // 修改项目计划记录 export function updateRecord(data) { return request({ url: '/plan/record', method: 'put', data: data }) } // 删除项目计划记录 export function delRecord(id) { return request({ url: '/plan/record/' + id, method: 'delete' }) } src/api/projectInfo.js
@@ -3,7 +3,7 @@ // 查询项目管理基础信息列表 export function listInfo(query) { return request({ url: '/code/info/list', url: '/project/info/page', method: 'get', params: query }) @@ -12,7 +12,7 @@ // 查询项目管理基础信息详细 export function getInfo(id) { return request({ url: '/code/info/' + id, url: '/project/info/' + id, method: 'get' }) } @@ -20,7 +20,7 @@ // 新增项目管理基础信息 export function addInfo(data) { return request({ url: '/code/info', url: '/project/info', method: 'post', data: data }) @@ -29,7 +29,7 @@ // 修改项目管理基础信息 export function updateInfo(data) { return request({ url: '/code/info', url: '/project/info', method: 'put', data: data }) @@ -38,7 +38,7 @@ // 删除项目管理基础信息 export function delInfo(id) { return request({ url: '/code/info/' + id, url: '/project/info/' + id, method: 'delete' }) } src/assets/styles/sidebar.scss
@@ -81,33 +81,33 @@ } // menu hover .theme-dark .sub-menu-title-noDropdown, .theme-dark .el-sub-menu__title { .theme-dark .submenu-title-noDropdown, .theme-dark .el-submenu__title { &:hover { background-color: $base-sub-menu-title-hover !important; } } .sub-menu-title-noDropdown, .el-sub-menu__title { .submenu-title-noDropdown, .el-submenu__title { &:hover { background-color: rgba(0, 0, 0, 0.05) !important; } } & .theme-dark .is-active > .el-sub-menu__title { & .theme-dark .is-active > .el-submenu__title { color: $base-menu-color-active !important; } & .nest-menu .el-sub-menu > .el-sub-menu__title, & .el-sub-menu .el-menu-item { & .nest-menu .el-submenu > .el-submenu__title, & .el-submenu .el-menu-item { min-width: $base-sidebar-width !important; &:hover { background-color: rgba(0, 0, 0, 0.1) !important; } } & .theme-dark .nest-menu .el-sub-menu > .el-sub-menu__title, & .theme-dark .el-sub-menu .el-menu-item { & .theme-dark .nest-menu .el-submenu > .el-submenu__title, & .theme-dark .el-submenu .el-menu-item { background-color: $base-sub-menu-background !important; &:hover { @@ -115,17 +115,17 @@ } } & .theme-dark .nest-menu .el-sub-menu > .el-sub-menu__title, & .theme-dark .nest-menu .el-submenu > .el-submenu__title, & .theme-dark .el-menu-item { &:hover { // you can use $sub-menuHover // you can use $submenuHover background-color: $base-menu-hover !important; } } & .nest-menu .el-sub-menu > .el-sub-menu__title, & .nest-menu .el-submenu > .el-submenu__title, & .el-menu-item { &:hover { // you can use $sub-menuHover // you can use $submenuHover background-color: rgba(0, 0, 0, 0.04) !important; } } @@ -140,7 +140,7 @@ padding-left: 54px; } .sub-menu-title-noDropdown { .submenu-title-noDropdown { padding: 0 !important; position: relative; @@ -153,10 +153,11 @@ } } .el-sub-menu { .el-submenu { background: red; overflow: hidden; & > .el-sub-menu__title { & > .el-submenu__title { padding: 0 !important; .svg-icon { @@ -166,8 +167,8 @@ } .el-menu--collapse { .el-sub-menu { & > .el-sub-menu__title { .el-submenu { & > .el-submenu__title { & > span { height: 0; width: 0; @@ -187,7 +188,7 @@ } } .el-menu--collapse .el-menu .el-sub-menu { .el-menu--collapse .el-menu .el-submenu { min-width: $base-sidebar-width !important; } src/components/Pagination/index.vue
@@ -46,7 +46,7 @@ }, layout: { type: String, default: 'total, sizes, prev, pager, next, jumper' default: '->,total, sizes, prev, pager, next, jumper' }, background: { type: Boolean, @@ -105,7 +105,7 @@ <style scoped> .pagination-container { background: #fff; background: #F3F7FC; padding: 32px 16px; } .pagination-container.hidden { src/layout/components/Sidebar/index.vue
@@ -1,8 +1,5 @@ <template> <div :class="{ 'has-logo': showLogo }" :style="{ backgroundColor: variables.menuLightBackground }" > <div :class="{ 'has-logo': showLogo }"> <!-- <logo v-if="showLogo" :collapse="isCollapse" /> --> <div class="hamburger-container"> <div class="border"> @@ -22,7 +19,7 @@ <el-menu :default-active="activeMenu" :collapse="isCollapse" :background-color="variables.menuLightBackground" background-color="#F3F7FC" :text-color="variables.menuLightColor" :unique-opened="true" :active-text-color="settings.theme" src/layout/index.vue
@@ -80,6 +80,7 @@ }, handleClickOutside() { this.$store.dispatch('app/closeSideBar', { withoutAnimation: false }) } } } src/router/index.js
@@ -100,8 +100,20 @@ meta: { title: '处理待办' } } ] }, { path: '/project', component: Layout, children: [ { path: '/plan/index', component: () => import('@/views/project/plan/index'), name: 'Index', meta: { title: '项目计划' } } ] }, ] // 动态路由,基于用户权限动态去加载 export const dynamicRoutes = [ src/views/project/plan/index.vue
New file @@ -0,0 +1,391 @@ <template> <div class="app-container"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form-item label="项目名称" prop="projectName"> <el-input v-model="queryParams.projectName" placeholder="支持模糊查询" clearable @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="项目代码" prop="projectCode"> <el-input v-model="queryParams.projectCode" placeholder="支持模糊查询" clearable @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="上报状态" prop="reportStatus"> <el-select v-model="queryParams.reportStatus" @change="handleQuery" placeholder="请选择状态" clearable> <el-option label="已上报" value="0"></el-option> <el-option label="未上报" value="1"></el-option> </el-select> </el-form-item> <el-form-item label="审批状态" prop="reportStatus"> <el-select placeholder="请选择状态" clearable> <el-option label="已审批" value="0"></el-option> <el-option label="未审批" value="1"></el-option> </el-select> </el-form-item> <el-form-item label="项目年限" prop="reportStatus"> <el-select placeholder="下拉选择" clearable> <el-option label="2024" value="2024"></el-option> <el-option label="2025" value="2025"></el-option> </el-select> </el-form-item> <el-form-item label="项目月度" prop="reportStatus"> <el-select placeholder="下拉选择" clearable> <el-option label="1月度" value="1"></el-option> <el-option label="2月度" value="2"></el-option> </el-select> </el-form-item> <el-form-item label="项目季度" prop="reportStatus"> <el-select placeholder="下拉选择" clearable> <el-option label="1季度" value="1"></el-option> <el-option label="2季度" value="2"></el-option> <el-option label="3季度" value="3"></el-option> <el-option label="4季度" value="4"></el-option> </el-select> </el-form-item> </el-form> <el-row :gutter="10" class="mb8"> <el-col :span="1.5"> <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" >新增</el-button> </el-col> <el-col :span="1.5"> <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleQuery" >查询</el-button> </el-col> <el-col :span="1.5"> <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleReset" >重置</el-button> </el-col> <!-- <el-col :span="1.5">--> <!-- <el-button--> <!-- type="success"--> <!-- plain--> <!-- icon="el-icon-edit"--> <!-- size="mini"--> <!-- :disabled="single"--> <!-- @click="handleUpdate"--> <!-- v-hasPermi="['plan:record:edit']"--> <!-- >修改</el-button>--> <!-- </el-col>--> <!-- <el-col :span="1.5">--> <!-- <el-button--> <!-- type="danger"--> <!-- plain--> <!-- icon="el-icon-delete"--> <!-- size="mini"--> <!-- :disabled="multiple"--> <!-- @click="handleDelete"--> <!-- v-hasPermi="['plan:record:remove']"--> <!-- >删除</el-button>--> <!-- </el-col>--> <!-- <el-col :span="1.5">--> <!-- <el-button--> <!-- type="warning"--> <!-- plain--> <!-- icon="el-icon-download"--> <!-- size="mini"--> <!-- @click="handleExport"--> <!-- v-hasPermi="['plan:record:export']"--> <!-- >导出</el-button>--> <!-- </el-col>--> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> </el-row> <el-table v-loading="loading" :data="recordList" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55" align="center" /> <el-table-column label="ID" align="center" prop="id" /> <el-table-column label="项目名称" align="center" prop="projectName" /> <el-table-column label="上报状态" align="center" prop="reportStatus" > <template slot-scope="scope"> {{ scope.row.reportStatus === 0 ? '已上报' : '未上报' }} </template> </el-table-column> <el-table-column label="项目码" align="center" prop="" /> <el-table-column label="项目代码" align="center" prop="projectCode" /> <el-table-column label="项目类型" align="center" prop="projectType" > <template slot-scope="scope"> {{ scope.row.projectType === 0 ? '房屋建筑' : scope.row.projectType === 1 ? '城市基础设施' : scope.row.projectType === 2 ? '交通运输' : scope.row.projectType === 3 ? '水利' : scope.row.projectType === 4 ? '能源' : scope.row.projectType === 5 ? '非煤矿山' : scope.row.projectType === 6 ? '其他' : '未知' }} </template> </el-table-column> <el-table-column label="项目阶段" align="center" prop="projectPhase" > <template slot-scope="scope"> {{ scope.row.projectPhase === 0 ? '储备规划阶段' : scope.row.projectPhase === 1 ? '项目前期阶段' : scope.row.projectPhase === 2 ? '实施阶段' : scope.row.projectPhase === 3 ? '竣工投用阶段' : '未知' }} </template> </el-table-column> <el-table-column label="月度" align="center" prop="monthStatus" > <template slot-scope="scope"> {{ scope.row.monthStatus === 0 ? '已上报' : '未上报' }} </template> </el-table-column> <el-table-column label="季度" align="center" prop="seasonStatus" > <template slot-scope="scope"> {{ scope.row.seasonStatus === 0 ? '已上报' : '未上报' }} </template> </el-table-column> <el-table-column label="年度" align="center" prop="yearStatus" > <template slot-scope="scope"> {{ scope.row.yearStatus === 0 ? '已上报' : '未上报' }} </template> </el-table-column> <el-table-column label="项目状态" align="center" prop="projectStatus" > <template slot-scope="scope"> {{ scope.row.projectStatus === 0 ? '未开工' : scope.row.projectStatus === 1 ? '已开工' : scope.row.projectStatus === 2 ? '已竣工' : scope.row.projectStatus === 3 ? '暂停' : '未知状态' }} </template> </el-table-column> <el-table-column label="投资类别" align="center" prop="investType" > <template slot-scope="scope"> {{ scope.row.investType === 0 ? '企业投资' : scope.row.investType === 1 ? '政府投资' : scope.row.investType === 2 ? '外商投资' : scope.row.investType === 3 ? '境外投资' : '未知类型' }} </template> </el-table-column> <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <template slot-scope="scope"> <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" >查看</el-button> <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" >修改</el-button> <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" >删除</el-button> </template> </el-table-column> </el-table> <pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" /> <!-- <!– 添加或修改项目计划记录对话框 –>--> <!-- <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>--> <!-- <el-form ref="form" :model="form" :rules="rules" label-width="80px">--> <!-- <el-form-item label="项目信息id" prop="projectInfoId">--> <!-- <el-input v-model="form.projectInfoId" placeholder="请输入项目信息id" />--> <!-- </el-form-item>--> <!-- <el-form-item label="项目计划id" prop="planId">--> <!-- <el-input v-model="form.planId" placeholder="请输入项目计划id" />--> <!-- </el-form-item>--> <!-- <el-form-item label="工程id" prop="engineeringInfoId">--> <!-- <el-input v-model="form.engineeringInfoId" placeholder="请输入工程id" />--> <!-- </el-form-item>--> <!-- <el-form-item label="计划期" prop="planTime">--> <!-- <el-input v-model="form.planTime" placeholder="请输入计划期" />--> <!-- </el-form-item>--> <!-- <el-form-item label="月度/季度/年度 0/1/2" prop="planTimeFlag">--> <!-- <el-input v-model="form.planTimeFlag" placeholder="请输入月度/季度/年度 0/1/2" />--> <!-- </el-form-item>--> <!-- <el-form-item label="投资" prop="actualInvest">--> <!-- <el-input v-model="form.actualInvest" placeholder="请输入投资" />--> <!-- </el-form-item>--> <!-- </el-form>--> <!-- <div slot="footer" class="dialog-footer">--> <!-- <el-button type="primary" @click="submitForm">确 定</el-button>--> <!-- <el-button @click="cancel">取 消</el-button>--> <!-- </div>--> <!-- </el-dialog>--> </div> </template> <script> import { getList, getRecord, delRecord, addRecord, updateRecord } from "@/api/project/plan/index"; export default { name: "Record", data() { return { // 遮罩层 loading: true, // 选中数组 ids: [], // 非单个禁用 single: true, // 非多个禁用 multiple: true, // 显示搜索条件 showSearch: true, // 总条数 total: 0, // 项目计划记录表格数据 recordList: [], // 弹出层标题 title: "", // 是否显示弹出层 open: false, // 查询参数 queryParams: { pageNum: 1, pageSize: 10, }, // 表单参数 form: {}, // 表单校验 rules: { } }; }, created() { this.getList(); }, methods: { /** 查询项目计划记录列表 */ getList() { this.loading = true; getList(this.queryParams).then(response => { this.recordList = response.data; this.total = response.total; this.loading = false; }); }, // 取消按钮 cancel() { this.open = false; this.reset(); }, // 表单重置 reset() { this.form = { id: null, projectInfoId: null, planId: null, engineeringInfoId: null, planTime: null, planTimeFlag: null, createTime: null, reportStatus: null, actualInvest: null }; this.resetForm("form"); }, /** 搜索按钮操作 */ handleQuery() { this.queryParams.pageNum = 1; this.getList(); }, /** 重置按钮操作 */ resetQuery() { this.resetForm("queryForm"); this.handleQuery(); }, // 多选框选中数据 handleSelectionChange(selection) { this.ids = selection.map(item => item.id) this.single = selection.length!==1 this.multiple = !selection.length }, /** 新增按钮操作 */ handleAdd() { this.reset(); this.open = true; this.title = "添加项目计划记录"; }, /** 修改按钮操作 */ handleUpdate(row) { this.reset(); const id = row.id || this.ids getRecord(id).then(response => { this.form = response.data; this.open = true; this.title = "修改项目计划记录"; }); }, /** 提交按钮 */ submitForm() { this.$refs["form"].validate(valid => { if (valid) { if (this.form.id != null) { updateRecord(this.form).then(response => { this.$modal.msgSuccess("修改成功"); this.open = false; this.getList(); }); } else { addRecord(this.form).then(response => { this.$modal.msgSuccess("新增成功"); this.open = false; this.getList(); }); } } }); }, /** 删除按钮操作 */ handleDelete(row) { const ids = row.id || this.ids; this.$modal.confirm('是否确认删除项目计划记录编号为"' + ids + '"的数据项?').then(function() { return delRecord(ids); }).then(() => { this.getList(); this.$modal.msgSuccess("删除成功"); }).catch(() => {}); }, /** 导出按钮操作 */ handleExport() { this.download('plan/record/export', { ...this.queryParams }, `record_${new Date().getTime()}.xlsx`) } } }; </script> src/views/projectEngineering/projectLibrary/index.vue
@@ -1,6 +1,7 @@ <template> <div class="app-container"> <el-form :model="queryParams" ref="queryParamsRef" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryParamsRef" size="small" :inline="true" v-show="showSearch" label-width="68px"> <div class="slot"> <div class="left-section"> <el-form-item label="项目名称" prop="projectName"> @@ -45,7 +46,8 @@ </el-form-item> <el-popover :visible="popoverValue" :width="500" placement="bottom"> <template #reference> <el-button style="margin-right: 16px; margin-top: 1px; color: #3369ff" @click="handlePopover" size="small"> <el-button style="margin-right: 16px; margin-top: 1px; color: #3369ff" @click="handlePopover" size="small"> 更多筛查条件 <span style="margin-left: 5px"> <el-icon v-if="!popoverValue" class="el-icon-arrow-down"></el-icon> @@ -54,19 +56,22 @@ </el-button> </template> <span>筛选条件</span> <el-form ref="moreQueryParamsRef" label-width="68px" label-position="right" :model="moreQueryParams"> <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="moreQueryParams.projectType" clearable placeholder="请选择" class="select-option" size="small"> <el-option v-for="items in sys_project_type" :key="items.value" :label="items.label" :value="items.value" /> <el-select v-model="queryParams.projectType" clearable placeholder="请选择" class="select-option" size="small"> <el-option v-for="items in sys_project_type" :key="items.value" :label="items.label" :value="items.value"/> </el-select> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="重点分类"> <el-select v-model="moreQueryParams.importanceType" clearable placeholder="请选择" class="select-option"> <el-option v-for="items in sys_key_categories" :key="items.value" :label="items.label" :value="items.value" /> <el-select v-model="queryParams.importanceType" clearable placeholder="请选择" class="select-option"> <el-option v-for="items in sys_key_categories" :key="items.value" :label="items.label" :value="items.value"/> </el-select> </el-form-item> </el-col> @@ -74,15 +79,18 @@ <el-row> <el-col :span="12"> <el-form-item label="项目标签"> <el-select v-model="moreQueryParams.tag" clearable placeholder="请选择" class="select-option"> <el-option v-for="items in sys_project_tags" :key="items.value" :label="items.label" :value="items.value" /> <el-select v-model="queryParams.tag" clearable placeholder="请选择" class="select-option"> <el-option v-for="items in sys_project_tags" :key="items.value" :label="items.label" :value="items.value"/> </el-select> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="项目状态"> <el-select v-model="moreQueryParams.projectStatus" :disabled="isProjectCategory" clearable placeholder="请选择" class="select-option"> <el-option v-for="items in sys_project_status" :key="items.value" :label="items.label" :value="items.value" /> <el-select v-model="queryParams.projectStatus" :disabled="isProjectCategory" clearable placeholder="请选择" class="select-option"> <el-option v-for="items in sys_project_status" :key="items.value" :label="items.label" :value="items.value"/> </el-select> </el-form-item> </el-col> @@ -90,15 +98,17 @@ <el-row> <el-col :span="12"> <el-form-item label="项目码"> <el-select v-model="moreQueryParams.projectColorCode" clearable placeholder="请选择" class="select-option"> <el-option v-for="items in sys_project_code" :key="items.value" :label="items.label" :value="items.value" /> <el-select v-model="queryParams.projectColorCode" clearable placeholder="请选择" class="select-option"> <el-option v-for="items in sys_project_code" :key="items.value" :label="items.label" :value="items.value"/> </el-select> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="关联状态"> <el-select v-model="moreQueryParams.assignmentStatus" clearable placeholder="请选择" class="select-option"> <el-option v-for="items in sys_association_status" :key="items.value" :label="items.label" :value="items.value" /> <el-select v-model="queryParams.assignmentStatus" clearable placeholder="请选择" class="select-option"> <el-option v-for="items in sys_association_status" :key="items.value" :label="items.label" :value="items.value"/> </el-select> </el-form-item> </el-col> @@ -106,15 +116,17 @@ <el-row> <el-col :span="12"> <el-form-item label="资金类型"> <el-select v-model="moreQueryParams.investmentType" clearable placeholder="请选择" class="select-option"> <el-option v-for="items in sys_funding_type" :key="items.value" :label="items.label" :value="items.value" /> <el-select v-model="queryParams.investmentType" clearable placeholder="请选择" class="select-option"> <el-option v-for="items in sys_funding_type" :key="items.value" :label="items.label" :value="items.value"/> </el-select> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="项目阶段"> <el-select v-model="moreQueryParams.projectPhase" clearable placeholder="请选择" class="select-option"> <el-option v-for="items in sys_project_phases" :key="items.value" :label="items.label" :value="items.value" /> <el-select v-model="queryParams.projectPhase" clearable placeholder="请选择" class="select-option"> <el-option v-for="items in sys_project_phases" :key="items.value" :label="items.label" :value="items.value"/> </el-select> </el-form-item> </el-col> @@ -122,15 +134,17 @@ <el-row> <el-col :span="12"> <el-form-item label="投资类别"> <el-select v-model="moreQueryParams.investType" clearable placeholder="请选择" class="select-option"> <el-option v-for="items in sys_investment_type" :key="items.value" :label="items.label" :value="items.value" /> <el-select v-model="queryParams.investType" clearable placeholder="请选择" class="select-option"> <el-option v-for="items in sys_investment_type" :key="items.value" :label="items.label" :value="items.value"/> </el-select> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="行政区划"> <el-select v-model="moreQueryParams.area" clearable placeholder="请选择" class="select-option"> <el-option v-for="items in sys_administrative_divisions" :key="items.value" :label="items.label" :value="items.value" /> <el-select v-model="queryParams.area" clearable placeholder="请选择" class="select-option"> <el-option v-for="items in sys_administrative_divisions" :key="items.value" :label="items.label" :value="items.value"/> </el-select> </el-form-item> </el-col> @@ -138,7 +152,7 @@ <el-row style="text-align: center"> <el-col :span="24"> <el-form-item label-width="0"> <el-button type="primary" @click="handleQueryFrom">确 认</el-button> <el-button type="primary" @click="handleQuery">确 认</el-button> <el-button @click="closePopover">取 消</el-button> </el-form-item> </el-col> @@ -177,11 +191,13 @@ <el-table style="margin-top: 20px" v-loading="loading" :data="infoList" :data="projectInfoList" @selection-change="handleSelectionChange" height="60vh" :show-overflow-tooltip = "true"> <el-table-column type="selection" width="55" align="center" /> <!-- 动态列 --> <template v-for="item in columns"> <el-table-column v-if="item.visible" @@ -190,45 +206,62 @@ v-bind="item" :min-width="item.minWidth" > <template slot-scope="scope" v-if="item.slotName"> <slot :name="item.slotName" :scope="scope"></slot> <template slot-scope="scope"> <!-- 使用具名插槽 --> <template v-if="item.slotName"> <!-- projectStatus插槽 --> <template v-if="item.slotName === 'projectStatus'"> <el-text class="mx-1">{{ '自定义样式' }}</el-text> </template> <!-- projectColorCode插槽 --> <template v-if="item.slotName === 'projectColorCode'"> <el-text class="mx-1 has-dot">{{ '自定义样式' }}<span class="dot" style="margin-left: 5px"></span></el-text> </template> <!-- projectType插槽 --> <template v-if="item.slotName === 'projectType'"> <el-text class="mx-1">{{ '自定义样式' }}</el-text> </template> <!-- investType插槽 --> <template v-if="item.slotName === 'investType'"> <el-text class="mx-1">{{ '自定义样式' }}</el-text> </template> <!-- planStartTime插槽 --> <template v-if="item.slotName === 'planStartTime'"> {{ '自定义样式' }} </template> </template> <!-- 默认显示 --> <span v-else>{{ scope.row[item.id] }}</span> </template> </el-table-column> </template> <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <!-- 操作列 --> <el-table-column label="操作" width="140" align="center" > <template slot-scope="scope"> <el-button size="mini" size="medium" type="text" icon="el-icon-view" @click="handleDetail(scope.row)" > </el-button> <el-button size="medium" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['code:info:edit']" >修改</el-button> > </el-button> <el-button size="mini" size="medium" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['code:info:remove']" >删除</el-button> > </el-button> </template> </el-table-column> <template #projectStatus="{ scope }"> <el-text class="mx-1">{{ getProjectStatus(scope.row) }}</el-text> </template> <template #projectColorCode="{ scope }"> <el-text class="mx-1 has-dot">{{ '绿' }}<span class="dot" style="margin-left: 5px"></span></el-text> </template> <template #projectType="{ scope }"> <el-text class="mx-1">{{ getProjectType(scope.row) }}</el-text> </template> <template #investType="{ scope }"> <el-text class="mx-1">{{ getInvesType(scope.row) }}</el-text> </template> <template #planStartTime="{ scope }"> {{ scope.row.planStartTime ? scope.row.planStartTime.split('-')[0] + '年' : '' }} </template> </el-table> <pagination @@ -252,6 +285,7 @@ import { listInfo, getInfo, delInfo, addInfo, updateInfo } from "@/api/projectInfo"; import { current } from './list'; import FileDialog from '../component/FileDialog'; export default { name: "projectInfo", components: { @@ -280,7 +314,7 @@ // 总条数 total: 0, // 项目管理基础信息表格数据 infoList: [], projectInfoList: [], // 弹出层标题 title: "", // 是否显示弹出层 @@ -338,14 +372,18 @@ handlePopover() { this.popoverValue.value = !this.popoverValue.value; }, closePopover() { this.popoverValue.value = false; }, /** 查询项目管理基础信息列表 */ getList() { this.loading = true; console.log("查询") // listInfo(this.queryParams).then(response => { // this.infoList = response.rows; // this.total = response.total; // }); listInfo(this.queryParams).then(response => { this.projectInfoList = response.data; this.total = response.total; }); this.loading = false; }, // 取消按钮 @@ -454,7 +492,8 @@ }).then(() => { this.getList(); this.$modal.msgSuccess("删除成功"); }).catch(() => {}); }).catch(() => { }); }, /** 导入按钮操作 */ handleImport() { @@ -474,6 +513,7 @@ .select-option { width: 140px; } .slot { display: flex; } @@ -485,6 +525,7 @@ .right-section { display: flex; margin-left: auto; .add-btn { margin: 0 10px; }