This commit is contained in:
itcast 2025-12-11 19:17:10 +08:00
parent 3c4f1ed1a5
commit 460ffd5787
28 changed files with 173 additions and 117 deletions

View File

@ -147,7 +147,7 @@
<tbody> <tbody>
<tr v-for="(item, index) in outRecordData" :key="index"> <tr v-for="(item, index) in outRecordData" :key="index">
<td>{{ index + 1 }}</td> <td>{{ index + 1 }}</td>
<td> {{ item.type === '1' ? '工具' : (item.type === '2' ? '装备' : '未知类型') }}</td> <td> {{ item.type === '2' ? '工具' : (item.type === '1' ? '装备' : '未知类型') }}</td>
<td>{{ item.devName }}</td> <td>{{ item.devName }}</td>
<td>{{ item.devModel }}</td> <td>{{ item.devModel }}</td>
<td>{{ item.devCode }}</td> <td>{{ item.devCode }}</td>

View File

@ -1129,7 +1129,7 @@ export default {
.content-box { .content-box {
border-radius: 8px; border-radius: 8px;
height: calc(100vh - 210px); height: calc(100vh - 250px);
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden; overflow: hidden;

View File

@ -766,7 +766,7 @@ export default {
} }
.content-box { .content-box {
border-radius: 8px; border-radius: 8px;
height: calc(100vh - 210px); height: calc(100vh - 250px);
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden; overflow: hidden;

View File

@ -46,7 +46,7 @@
style="width: 100%" style="width: 100%"
border border
stripe stripe
height="546" height="750"
:loading="tableLoading" :loading="tableLoading"
> >
<el-table-column <el-table-column
@ -563,6 +563,7 @@ import {
updateProperty, updateProperty,
deleteProperty deleteProperty
} from '@/api/EquipmentConfig/property.js' } from '@/api/EquipmentConfig/property.js'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
export default { export default {
name: 'EquipmentConfig', name: 'EquipmentConfig',
@ -2409,4 +2410,32 @@ export default {
.six-level-cascader .el-cascader-menu::-webkit-scrollbar-thumb:hover { .six-level-cascader .el-cascader-menu::-webkit-scrollbar-thumb:hover {
background: #a8a8a8; background: #a8a8a8;
} }
::v-deep .el-tree .el-tree-node__expand-icon.expanded {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
::v-deep .el-tree .el-icon-caret-right:before {
content: '\e783';
font-size: 16px;
}
::v-deep .el-tree .el-tree-node__expand-icon.expanded.el-icon-caret-right:before {
content: '\e781';
font-size: 16px;
color: #1890ff;
}
::v-deep .el-tree-node__content > .el-tree-node__expand-icon {
color: #1890ff !important;
}
::v-deep .el-tree-node__expand-icon.is-leaf {
color: transparent !important;
}
::v-deep .el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content {
background-color: #8decf1;
}
</style> </style>

View File

@ -563,7 +563,7 @@ export default {
/* 内容区域布局优化 */ /* 内容区域布局优化 */
.content-box { .content-box {
height: calc(100vh - 220px); height: calc(100vh - 270px);
border-radius: 8px; border-radius: 8px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;

View File

@ -67,7 +67,7 @@
<el-table :data="tableData" style="width: 100%" height="546"> <el-table :data="tableData" style="width: 100%" height="676">
<el-table-column align="center" show-overflow-tooltip type="index" label="序号" width="50" /> <el-table-column align="center" show-overflow-tooltip type="index" label="序号" width="50" />
<el-table-column align="center" show-overflow-tooltip prop="date" label="系统名称" /> <el-table-column align="center" show-overflow-tooltip prop="date" label="系统名称" />

View File

@ -10,21 +10,29 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="使用项目" prop="proCode"> <el-form-item label="项目名称" prop="proCode">
<el-select <el-select
clearable clearable
:disabled="!routerParams.isEdit" filterable
style="width: 240px" placeholder="请选择项目名称"
placeholder="请选择使用项目"
v-model="queryParams.proCode" v-model="queryParams.proCode"
@change="onChangeProCode" style="width: 240px"
popper-class="my-select-dropdown"
> >
<el-option <el-option
:key="item.proCode" :key="item.proCode"
:label="item.proName" :label="item.proName"
:value="item.proCode" :value="item.proCode"
v-for="item in useProjectList" v-for="item in useProjectList"
/> >
<el-tooltip
effect="dark"
:content="item.proName"
placement="right"
>
<span class="option-text">{{ item.proName }}</span>
</el-tooltip>
</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -853,21 +861,23 @@ export default {
return return
} }
// const itemsToAdd = this.addList.filter(item => this.ids.includes(item.id))
const invalidItem = this.selectedRow.find(item => item.manageType === '1' && (item.num == 0 || !item.num)) const invalidItem = this.selectedRow.find(item => item.manageType === '1' && (item.num == 0 || !item.num))
if (invalidItem) { if (invalidItem) {
this.$message.error('请为数量管理的设备填写申请数量。') this.$message.error('请为数量管理的设备填写申请数量。')
return return
} }
// useTimeRange Date //
const mainTimeRange = this.queryParams.useTimeRange
const defaultTimeRange = mainTimeRange && mainTimeRange.length === 2
? [new Date(mainTimeRange[0]), new Date(mainTimeRange[1])] //
: []
//
this.selectedRow.forEach(item => { this.selectedRow.forEach(item => {
this.tableList.push({ this.tableList.push({
...item, ...item,
// useTimeRange: [...defaultTimeRange] //
useTimeRange: this.queryParams.useTime
? [new Date(this.queryParams.useTime), new Date(this.queryParams.useTime)]
: []
}) })
}) })

View File

@ -3,10 +3,10 @@
<div class="app-container"> <div class="app-container">
<el-card v-show="showSearch" style="margin-bottom: 20px"> <el-card v-show="showSearch" style="margin-bottom: 20px">
<el-form :model="queryParams" ref="queryForm" label-width="auto" inline @submit.native.prevent > <el-form :model="queryParams" ref="queryForm" label-width="auto" inline @submit.native.prevent >
<el-form-item label="工程名称" prop="proName"> <el-form-item label="项目名称" prop="proName">
<el-input <el-input
v-model="queryParams.proName" v-model="queryParams.proName"
placeholder="请输入工程名称" placeholder="请输入项目名称"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
style="width: 240px" style="width: 240px"

View File

@ -16,7 +16,10 @@
:key="item.id" :key="item.id"
:label="item.label" :label="item.label"
:value="item.id" :value="item.id"
/>
>
</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="项目名称" prop="proCode"> <el-form-item label="项目名称" prop="proCode">

View File

@ -11,20 +11,20 @@
<el-card class="search-box" > <el-card class="search-box" >
<el-row > <el-row >
<el-col :span="20" > <el-col :span="20" >
<el-form-item prop="contractName" label="合同名称"> <el-form-item prop="contractName" label="协议名称">
<el-input <el-input
v-model.trim="queryParams.contractName" v-model.trim="queryParams.contractName"
style="width: 100%" style="width: 100%"
clearable clearable
placeholder="请输入合同名称" placeholder="请输入协议名称"
/> />
</el-form-item> </el-form-item>
<el-form-item prop="contractCode" label="合同编号" style="margin-left: 10px"> <el-form-item prop="contractCode" label="协议编号" style="margin-left: 10px">
<el-input <el-input
v-model.trim="queryParams.contractCode" v-model.trim="queryParams.contractCode"
style="width: 100%" style="width: 100%"
clearable clearable
placeholder="请输入合同编号" placeholder="请输入协议编号"
/> />
</el-form-item> </el-form-item>
<el-form-item prop="createTime" label="更新时间" style="margin-left: 10px"> <el-form-item prop="createTime" label="更新时间" style="margin-left: 10px">
@ -51,7 +51,7 @@
<el-card class="content-box"> <el-card class="content-box">
<el-row> <el-row>
<el-col :span="24" style="text-align: right;"> <el-col :span="24" style="text-align: right;">
<el-button class="primary-lease" type="primary" size="mini" @click="addContract">合同新建</el-button> <el-button class="primary-lease" type="primary" size="mini" @click="addContract">协议新建</el-button>
<a :href="uploadUrlTemp" download="安徽省机械化装备共享平台-协议模板"> <a :href="uploadUrlTemp" download="安徽省机械化装备共享平台-协议模板">
<el-button <el-button
class="primary-lease" class="primary-lease"
@ -69,14 +69,14 @@
border stripe height="546" border stripe height="546"
show-overflow-tooltip show-overflow-tooltip
> >
<el-table-column align="center" label="合同编码"> <el-table-column align="center" label="协议编码">
<template scope="scope"> <template scope="scope">
<a style="color: blue"> <a style="color: blue">
{{ scope.row.contractCode }} {{ scope.row.contractCode }}
</a> </a>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" prop="contractName" label="合同名称"/> <el-table-column align="center" prop="contractName" label="协议名称"/>
<el-table-column align="center" prop="status" label="状态"> <el-table-column align="center" prop="status" label="状态">
<template scope="scope"> <template scope="scope">
<el-switch <el-switch
@ -87,7 +87,7 @@
></el-switch> ></el-switch>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="合同附件"> <el-table-column align="center" label="协议附件">
<template scope="scope"> <template scope="scope">
<a <a
:href="scope.row.bmFileInfoList.length > 0 ? scope.row.bmFileInfoList[0].fileUrl : null" :href="scope.row.bmFileInfoList.length > 0 ? scope.row.bmFileInfoList[0].fileUrl : null"
@ -140,7 +140,7 @@
> >
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="合同模板名称" prop="contractName"> <el-form-item label="协议模板名称" prop="contractName">
<el-input <el-input
autocomplete="off" autocomplete="off"
style="width: 350px" style="width: 350px"
@ -232,8 +232,8 @@ export default {
// //
addAndEditFormRules: { addAndEditFormRules: {
contractName: [{ required: true, message: '请输入合同名称', trigger: 'blur' }], contractName: [{ required: true, message: '请输入协议名称', trigger: 'blur' }],
fileInfoList: [{ required: true, message: '请上传合同附件', trigger: 'blur' }] fileInfoList: [{ required: true, message: '请上传协议附件', trigger: 'blur' }]
}, },
// //
@ -257,7 +257,7 @@ export default {
this.qualityLis = res.rows this.qualityLis = res.rows
this.total = res.total this.total = res.total
} catch (error) { } catch (error) {
console.error('获取合同列表失败:', error) console.error('获取协议列表失败:', error)
} }
}, },
@ -292,7 +292,7 @@ export default {
// //
addContract() { addContract() {
this.settleinTitle = '合同新建' this.settleinTitle = '协议新建'
this.dialogVisibleSettlein = true this.dialogVisibleSettlein = true
}, },
@ -300,7 +300,7 @@ export default {
onContract(row) { onContract(row) {
this.addAndEditForm.id = row.id this.addAndEditForm.id = row.id
this.addAndEditForm.contractName = row.contractName this.addAndEditForm.contractName = row.contractName
this.settleinTitle = '合同修改' this.settleinTitle = '协议修改'
this.dialogVisibleSettlein = true this.dialogVisibleSettlein = true
}, },
@ -356,7 +356,7 @@ export default {
this.addAndEditForm.fileInfoList = this.addAndEditForm.fileInfoTempList this.addAndEditForm.fileInfoList = this.addAndEditForm.fileInfoTempList
this.$refs.addAndEditFormRef.validate(async(valid) => { this.$refs.addAndEditFormRef.validate(async(valid) => {
if (valid) { if (valid) {
const SEN_API = this.settleinTitle === '合同修改' ? editContractApi : addContractApi const SEN_API = this.settleinTitle === '协议修改' ? editContractApi : addContractApi
this.addAndEditForm.bmFileInfoList = this.addAndEditForm.fileInfoList this.addAndEditForm.bmFileInfoList = this.addAndEditForm.fileInfoList
try { try {

View File

@ -15,7 +15,7 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="厂家名称" prop="supplierName"> <el-form-item label="厂家名称" prop="supplierName" label-width="110px">
<el-input <el-input
v-model="queryParams.supplierName" v-model="queryParams.supplierName"
placeholder="请输入厂家名称" placeholder="请输入厂家名称"
@ -26,7 +26,7 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="联系人" prop="contactPerson" label-width="55px"> <el-form-item label="联系人" prop="contactPerson" label-width="95px">
<el-input <el-input
v-model="queryParams.contactPerson" v-model="queryParams.contactPerson"
placeholder="请输入联系人" placeholder="请输入联系人"
@ -37,7 +37,7 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="联系电话" prop="contactPhone"> <el-form-item label="联系电话" prop="contactPhone" label-width="110px">
<el-input <el-input
v-model="queryParams.contactPhone" v-model="queryParams.contactPhone"
placeholder="请输入联系电话" placeholder="请输入联系电话"
@ -48,7 +48,7 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="状态" prop="status" label-width="40px"> <el-form-item label="状态" prop="status" label-width="90px">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable style="width: 200px;"> <el-select v-model="queryParams.status" placeholder="请选择状态" clearable style="width: 200px;">
<el-option label="启用" :value="1" /> <el-option label="启用" :value="1" />
<el-option label="停用" :value="0" /> <el-option label="停用" :value="0" />
@ -97,7 +97,7 @@
</div> </div>
<el-table v-loading="loading" :data="houseList" ref="multipleTable" row-key="supplierId" height="546"> <el-table v-loading="loading" :data="houseList" ref="multipleTable" row-key="supplierId" height="596">
<!-- <el-table-column type="selection" width="55" align="center" :reserve-selection="true" /> --> <!-- <el-table-column type="selection" width="55" align="center" :reserve-selection="true" /> -->
<el-table-column label="序号" align="center" width="80" type="index"> <el-table-column label="序号" align="center" width="80" type="index">
<template slot-scope="scope"> <template slot-scope="scope">
@ -105,7 +105,7 @@
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column label="厂家ID" align="center" prop="supplierId" width="100" sortable/> --> <!-- <el-table-column label="厂家ID" align="center" prop="supplierId" width="100" sortable/> -->
<el-table-column label="统一社会信用代码" align="center" prop="supplierCode" sortable/> <el-table-column label="统一社会信用代码" align="center" prop="supplierCode" sortable width="220"/>
<el-table-column label="厂家名称" align="center" prop="supplierName" sortable/> <el-table-column label="厂家名称" align="center" prop="supplierName" sortable/>
<el-table-column label="联系人" align="center" prop="contactPerson" sortable/> <el-table-column label="联系人" align="center" prop="contactPerson" sortable/>
<el-table-column label="联系电话" align="center" prop="contactPhone" sortable/> <el-table-column label="联系电话" align="center" prop="contactPhone" sortable/>
@ -790,7 +790,7 @@
handleExport() { handleExport() {
this.download('/material-mall/ma_supplier_info/export', { this.download('/material-mall/ma_supplier_info/export', {
...this.queryParams ...this.queryParams
}, `仓库管理_${new Date().getTime()}.xlsx`) }, `厂家管理_${new Date().getTime()}.xlsx`)
}, },
/** 搜索按钮操作 */ /** 搜索按钮操作 */

View File

@ -1,7 +1,7 @@
<template> <template>
<div class="equipment-table"> <div class="equipment-table">
<h2 class="title">机械化机械化施工装备配置率</h2> <h2 class="title">机械化机械化施工装备配置率</h2>
<el-card class="content-box"> <el-card class="content-box" style="height: 800px">
<div v-if="!showSecondPage"> <div v-if="!showSecondPage">
<el-table <el-table
:data="tableData" :data="tableData"
@ -10,7 +10,7 @@
show-overflow-tooltip show-overflow-tooltip
:cell-style="{ textAlign: 'center' }" :cell-style="{ textAlign: 'center' }"
class="custom-table" class="custom-table"
height="546" height="800"
> >
<el-table-column width="240" align="center"> <el-table-column width="240" align="center">
<template slot="header"> <template slot="header">

View File

@ -73,7 +73,7 @@
</el-row> --> </el-row> -->
<el-card class="content-box"> <el-card class="content-box">
<div > <div >
<el-table v-loading="loading" :data="tableData" border stripe height="546"> <el-table v-loading="loading" :data="tableData" border stripe height="700px">
<el-table-column label="序号" align="center" width="80" type="index"> <el-table-column label="序号" align="center" width="80" type="index">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span> <span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span>

View File

@ -82,7 +82,7 @@
</el-row> --> </el-row> -->
<el-card class="content-box"> <el-card class="content-box">
<div > <div >
<el-table v-loading="loading" :data="tableData" border stripe height="546"> <el-table v-loading="loading" :data="tableData" border stripe height="650">
<el-table-column label="序号" align="center" width="80" type="index"> <el-table-column label="序号" align="center" width="80" type="index">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span> <span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span>
@ -485,7 +485,7 @@ export default {
.content-box { .content-box {
border-radius: 8px; border-radius: 8px;
height: calc(100vh - 210px); height: calc(100vh - 250px);
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden; overflow: hidden;

View File

@ -51,7 +51,7 @@
</el-card> </el-card>
</el-form> </el-form>
<el-card class="content-box"> <el-card class="content-box" style="height: 750px">
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<div class="action-bar"> <div class="action-bar">
<el-col :span="1.5"> <el-col :span="1.5">
@ -89,7 +89,7 @@
row-key="deptId" row-key="deptId"
:default-expand-all="isExpandAll" :default-expand-all="isExpandAll"
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
height="546" height="676"
> >
<el-table-column <el-table-column
prop="deptName" prop="deptName"

View File

@ -114,7 +114,7 @@
</div> </div>
</el-row> </el-row>
<el-table v-loading="loading" :data="typeList" height="546" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="typeList" height="646" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="字典编号" align="center" prop="dictId" /> <el-table-column label="字典编号" align="center" prop="dictId" />
<el-table-column label="字典名称" align="center" prop="dictName" :show-overflow-tooltip="true" /> <el-table-column label="字典名称" align="center" prop="dictName" :show-overflow-tooltip="true" />

View File

@ -51,7 +51,7 @@
:data="userList" :data="userList"
@row-dblclick="handleRowDblClick" @row-dblclick="handleRowDblClick"
:row-class-name="getRowClassName" :row-class-name="getRowClassName"
height="546" height="696"
> >
<el-table-column label="类目" align="center" key="equipmentName" prop="equipmentName" <el-table-column label="类目" align="center" key="equipmentName" prop="equipmentName"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"

View File

@ -76,7 +76,7 @@
fit fit
highlight-current-row highlight-current-row
style="width: 100%" style="width: 100%"
height="546" height="596"
> >
<el-table-column label="序号" align="center" width="80" type="index"> <el-table-column label="序号" align="center" width="80" type="index">
<template scope="scope"> <template scope="scope">

View File

@ -62,7 +62,7 @@
row-key="menuId" row-key="menuId"
:default-expand-all="isExpandAll" :default-expand-all="isExpandAll"
:tree-props="{children: 'children', hasChildren: 'hasChildren'}" :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
height="546" height="676"
> >
<el-table-column prop="menuName" label="菜单名称" align="center" :show-overflow-tooltip="true" width="160"></el-table-column> <el-table-column prop="menuName" label="菜单名称" align="center" :show-overflow-tooltip="true" width="160"></el-table-column>
<el-table-column prop="icon" label="图标" align="center" min-width="100"> <el-table-column prop="icon" label="图标" align="center" min-width="100">

View File

@ -13,10 +13,10 @@
<el-row style="height: 32px"> <el-row style="height: 32px">
<!-- 关键修改使用 flex 布局实现自适应换行 --> <!-- 关键修改使用 flex 布局实现自适应换行 -->
<div style="display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 10px;"> <div style="display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 10px;">
<el-form-item prop="pro_name" label="工程名称" style="margin-bottom: 0; width: 320px"> <el-form-item prop="pro_name" label="项目名称" style="margin-bottom: 0; width: 320px">
<el-input <el-input
clearable clearable
placeholder="请输入工程名称" placeholder="请输入项目名称"
v-model="searchParams.pro_name" v-model="searchParams.pro_name"
style="width: 100%; min-width: 200px;" style="width: 100%; min-width: 200px;"
/> />
@ -40,10 +40,10 @@
<!-- />--> <!-- />-->
<!-- </el-form-item>--> <!-- </el-form-item>-->
<el-form-item prop="project_type" label="工程类型" style="margin-bottom: 0; width: 320px"> <el-form-item prop="project_type" label="项目类型" style="margin-bottom: 0; width: 320px">
<el-select <el-select
clearable clearable
placeholder="选择工程类型" placeholder="选择项目类型"
v-model="searchParams.project_type" v-model="searchParams.project_type"
style="width: 100%; min-width: 200px;" style="width: 100%; min-width: 200px;"
> >
@ -72,13 +72,21 @@
<!-- 数据列表 --> <!-- 数据列表 -->
<el-card class="content-box"> <el-card class="content-box">
<el-row style="margin-bottom: 16px; display: flex; justify-content: flex-end; align-items: center; gap: 10px;"> <el-row style="margin-bottom: 16px; display: flex; justify-content: flex-end; align-items: center; gap: 10px;">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
>导出
</el-button>
<el-button <el-button
size="mini" size="mini"
@click="handleAdd" @click="handleAdd"
type="primary" type="primary"
class="primary-lease" class="primary-lease"
> >
工程新建 项目新建
</el-button> </el-button>
<el-button <el-button
size="mini" size="mini"
@ -96,7 +104,7 @@
<el-table <el-table
:data="projectList" :data="projectList"
show-overflow-tooltip show-overflow-tooltip
border stripe height="550" border stripe height="650"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
> >
<!--复选列--> <!--复选列-->
@ -104,12 +112,12 @@
<el-table-column align="center" label="序号" type="index" width="80"/> <el-table-column align="center" label="序号" type="index" width="80"/>
<el-table-column align="center" prop="pro_name" label="工程名称"/> <el-table-column align="center" prop="pro_name" label="项目名称"/>
<el-table-column align="center" prop="pro_code" label="工程编号"> <el-table-column align="center" prop="pro_code" label="项目编号">
</el-table-column> </el-table-column>
<el-table-column align="center" prop="dict_label" label="工程类型"/> <el-table-column align="center" prop="dict_label" label="项目类型"/>
<el-table-column align="center" prop="voltage" label="电压等级"/> <el-table-column align="center" prop="voltage" label="电压等级"/>
<el-table-column align="center" prop="scale" label="规模"/> <el-table-column align="center" prop="scale" label="规模"/>
<el-table-column align="center" prop="province" label="所在省"/> <el-table-column align="center" prop="province" label="所在省"/>
@ -146,7 +154,7 @@
width="220" width="220"
icon="el-icon-info" icon="el-icon-info"
icon-color="#626AEF" icon-color="#626AEF"
title="确定删除该项工程吗?" title="确定删除该项吗?"
@confirm="handleDelete(scope.row.id)" @confirm="handleDelete(scope.row.id)"
> >
<template slot="reference"> <template slot="reference">
@ -195,10 +203,10 @@
<el-col :span="24"> <el-col :span="24">
<el-row :gutter="15"> <el-row :gutter="15">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="工程名称" prop="pro_name"> <el-form-item label="项目名称" prop="pro_name">
<el-input <el-input
v-model="addOrEditForm.pro_name" v-model="addOrEditForm.pro_name"
placeholder="请输入工程名称" placeholder="请输入项目名称"
style="width: 100%" style="width: 100%"
maxlength="50" maxlength="50"
show-word-limit show-word-limit
@ -207,10 +215,10 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="工程编号" prop="pro_code"> <el-form-item label="项目编号" prop="pro_code">
<el-input <el-input
v-model="addOrEditForm.pro_code" v-model="addOrEditForm.pro_code"
placeholder="请输入工程编号" placeholder="请输入项目编号"
style="width: 100%" style="width: 100%"
maxlength="30" maxlength="30"
show-word-limit show-word-limit
@ -249,11 +257,11 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="工程类型" prop="project_type"> <!-- 注意prop要与表单字段对齐 --> <el-form-item label="项目类型" prop="project_type"> <!-- 注意prop要与表单字段对齐 -->
<el-select <el-select
clearable clearable
style="width: 100%" style="width: 100%"
placeholder="请选择工程类型" placeholder="请选择项目类型"
v-model="addOrEditForm.project_type" v-model="addOrEditForm.project_type"
:disabled="isView" :disabled="isView"
> >
@ -436,7 +444,7 @@ export default {
provinceOptions: [], // provinceOptions: [], //
cityOptions: [], // cityOptions: [], //
districtOptions: [], // districtOptions: [], //
dialogTitle: '新增工程', dialogTitle: '新增项目',
addOrEditDialogVisible: false, addOrEditDialogVisible: false,
submitLoading: false, submitLoading: false,
isAdd: true, isAdd: true,
@ -478,10 +486,10 @@ export default {
addOrEditFormRules: { addOrEditFormRules: {
// //
pro_name: [ pro_name: [
{ required: true, message: '请输入工程名称', trigger: 'blur' } { required: true, message: '请输入项目名称', trigger: 'blur' }
], ],
pro_code: [ pro_code: [
{ required: true, message: '请输入工程编号', trigger: 'blur' } { required: true, message: '请输入项目编号', trigger: 'blur' }
], ],
voltage: [ voltage: [
{ required: true, message: '请输入电压等级', trigger: 'blur' } { required: true, message: '请输入电压等级', trigger: 'blur' }
@ -490,7 +498,7 @@ export default {
{ required: true, message: '请输入规模', trigger: 'blur' } { required: true, message: '请输入规模', trigger: 'blur' }
], ],
project_type: [ project_type: [
{ required: true, message: '请选择工程类型', trigger: 'change' } { required: true, message: '请选择项目类型', trigger: 'change' }
], ],
province: [ province: [
{ required: true, message: '请选择所在省', trigger: 'blur' } { required: true, message: '请选择所在省', trigger: 'blur' }
@ -656,10 +664,10 @@ export default {
this.projectList = res.data.rows || [] this.projectList = res.data.rows || []
this.total = res.data.total || 0 this.total = res.data.total || 0
} else { } else {
Message.error(res.message || '获取工程列表失败') Message.error(res.message || '获取项目列表失败')
} }
} catch (error) { } catch (error) {
Message.error('网络错误,获取工程列表失败') Message.error('网络错误,获取项目列表失败')
} }
}, },
@ -673,13 +681,19 @@ export default {
value: item.dict_value value: item.dict_value
})) }))
} else { } else {
Message.error('获取工程类型失败:' + (res.message || '')) Message.error('获取项目类型失败:' + (res.message || ''))
} }
} catch (error) { } catch (error) {
Message.error('加载工程类型时发生网络错误') Message.error('加载项目类型时发生网络错误')
} }
}, },
handleExport() {
this.download('/material-mall/project/export', {
...this.queryParams
}, `项目管理_${new Date().getTime()}.xlsx`)
},
// //
onReset() { onReset() {
this.searchParams = { this.searchParams = {
@ -708,7 +722,7 @@ export default {
handleAdd() { handleAdd() {
this.isAdd = true this.isAdd = true
this.isView = false this.isView = false
this.dialogTitle = '新增工程' this.dialogTitle = '新增项目'
this.addOrEditForm = { this.addOrEditForm = {
id: '', id: '',
pro_name: '', pro_name: '',
@ -732,24 +746,24 @@ export default {
// //
async handleViewDetails(row) { async handleViewDetails(row) {
this.isView = true this.isView = true
this.dialogTitle = '查看工程详情' this.dialogTitle = '查看项目详情'
try { try {
const res = await getProject(row.id) const res = await getProject(row.id)
if (res.code === 200) { if (res.code === 200) {
this.addOrEditForm = {...res.data} this.addOrEditForm = {...res.data}
this.addOrEditDialogVisible = true this.addOrEditDialogVisible = true
} else { } else {
Message.error(res.message || '获取工程详情失败') Message.error(res.message || '获取项目详情失败')
} }
} catch (error) { } catch (error) {
Message.error('网络错误,获取工程详情失败') Message.error('网络错误,获取项目详情失败')
} }
}, },
async handleEdit(row) { async handleEdit(row) {
this.isAdd = false; this.isAdd = false;
this.isView = false; this.isView = false;
this.dialogTitle = '编辑工程'; this.dialogTitle = '编辑项目';
try { try {
// 1. // 1.
@ -826,11 +840,11 @@ export default {
try { try {
let res = this.isAdd ? await addProject(this.addOrEditForm) : await updateProject(this.addOrEditForm) let res = this.isAdd ? await addProject(this.addOrEditForm) : await updateProject(this.addOrEditForm)
if (res.code === 200) { if (res.code === 200) {
Message.success(this.isAdd ? '新增工程成功' : '编辑工程成功') Message.success(this.isAdd ? '新增项目成功' : '编辑项目成功')
this.addOrEditDialogVisible = false this.addOrEditDialogVisible = false
this.getProjectListData() this.getProjectListData()
} else { } else {
Message.error(res.message || (this.isAdd ? '新增工程失败' : '编辑工程失败')) Message.error(res.message || (this.isAdd ? '新增项目失败' : '编辑项目失败'))
} }
} catch (error) { } catch (error) {
Message.error('网络错误,操作失败') Message.error('网络错误,操作失败')
@ -844,26 +858,26 @@ export default {
try { try {
const res = await delProject(id) const res = await delProject(id)
if (res.code === 200) { if (res.code === 200) {
Message.success('删除工程成功') Message.success('删除项目成功')
this.getProjectListData() this.getProjectListData()
} else { } else {
Message.error(res.message || '删除工程失败') Message.error(res.message || '删除项目失败')
} }
} catch (error) { } catch (error) {
Message.error('网络错误,删除工程失败') Message.error('网络错误,删除项目失败')
} }
}, },
// - // -
async handleBatchDelete() { async handleBatchDelete() {
if (this.selectedRows.length === 0) { if (this.selectedRows.length === 0) {
Message.warning('请选择要删除的工程') Message.warning('请选择要删除的项目')
return return
} }
try { try {
await this.$confirm( await this.$confirm(
`确定删除选中的 ${this.selectedRows.length}工程吗?`, `确定删除选中的 ${this.selectedRows.length}项目吗?`,
'提示', '提示',
{ {
type: 'warning', type: 'warning',
@ -876,7 +890,7 @@ export default {
const res = await delProjectBatch(ids) const res = await delProjectBatch(ids)
if (res.code === 200) { if (res.code === 200) {
Message.success(`成功删除 ${this.selectedRows.length}工程`) Message.success(`成功删除 ${this.selectedRows.length}项目`)
this.getProjectListData() this.getProjectListData()
this.selectedRows = [] // this.selectedRows = [] //
} else { } else {

View File

@ -108,7 +108,7 @@
</el-row> </el-row>
</div> </div>
<el-table v-loading="loading" :data="roleList" height="546" @selection-change="handleSelectionChange" :selectable="checkSelectable" :row-class-name="getRowClassName"> <el-table v-loading="loading" :data="roleList" height="676" @selection-change="handleSelectionChange" :selectable="checkSelectable" :row-class-name="getRowClassName">
<el-table-column type="selection" min-width="55" align="center"/> <el-table-column type="selection" min-width="55" align="center"/>
<el-table-column label="角色编号" prop="roleId" min-width="120" align="center"/> <el-table-column label="角色编号" prop="roleId" min-width="120" align="center"/>
<el-table-column label="角色名称" align="center" prop="roleName" :show-overflow-tooltip="true" min-width="150"/> <el-table-column label="角色名称" align="center" prop="roleName" :show-overflow-tooltip="true" min-width="150"/>

View File

@ -106,7 +106,7 @@
</el-row> </el-row>
</div> </div>
<el-table v-loading="loading" :data="userList" height="546" @selection-change="handleSelectionChange" <el-table v-loading="loading" :data="userList" height="650" @selection-change="handleSelectionChange"
:selectable="checkSelectable" :row-class-name="getRowClassName"> :selectable="checkSelectable" :row-class-name="getRowClassName">
<el-table-column type="selection" width="50" align="center"/> <el-table-column type="selection" width="50" align="center"/>
<el-table-column label="用户编号" align="center" key="userId" prop="userId" v-if="columns[0].visible"/> <el-table-column label="用户编号" align="center" key="userId" prop="userId" v-if="columns[0].visible"/>

View File

@ -811,7 +811,7 @@ export default {
} }
.content-box { .content-box {
border-radius: 8px; border-radius: 8px;
height: calc(100vh - 250px); height: calc(100vh - 290px);
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden; overflow: hidden;

View File

@ -38,9 +38,9 @@ module.exports = {
// target: `http://localhost:18080`, // target: `http://localhost:18080`,
// target: `http://192.168.0.96:28080`,//马 // target: `http://192.168.0.96:28080`,//马
// target: `http://192.168.0.110:18080`,//洪 // target: `http://192.168.0.110:18080`,//洪
// target: `http://192.168.0.41:28080`,//蒋 target: `http://127.0.0.1:28080`,//阮
// target: `http://36.33.26.201:17788/proxyApi`, //测试 // target: `http://36.33.26.201:17788/proxyApi`, //测试
target: `http://36.33.26.201:21999/prod-api`, //测试 // target: `http://192.168.0.14:19190/prod-api`, //测试
// target: `http://192.168.137.1:18080`,// // target: `http://192.168.137.1:18080`,//
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {