feat:投标单位查询、投标澄清查询

This commit is contained in:
zhaofei06 2023-12-15 14:33:51 +08:00
parent 6a09aadf93
commit 4f3efed995
3 changed files with 405 additions and 1 deletions

View File

@ -68,6 +68,10 @@ public class HhHydraulicBidClarify extends GodEntity {
@Excel(name = "所属页面") @Excel(name = "所属页面")
private String sysName; private String sysName;
private String fileId;
private String fileName;
public void setClarifyId(String clarifyId) { public void setClarifyId(String clarifyId) {
this.clarifyId = clarifyId; this.clarifyId = clarifyId;
} }
@ -140,6 +144,22 @@ public class HhHydraulicBidClarify extends GodEntity {
return sysName; return sysName;
} }
public String getFileId() {
return fileId;
}
public void setFileId(String fileId) {
this.fileId = fileId;
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
@Override @Override
public String toString() { public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)

View File

@ -16,10 +16,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="createTime" column="create_time" /> <result property="createTime" column="create_time" />
<result property="isUse" column="is_use" /> <result property="isUse" column="is_use" />
<result property="sysName" column="sys_name" /> <result property="sysName" column="sys_name" />
<result property="fileId" column="file_id"/>
<result property="fileName" column="file_name"/>
</resultMap> </resultMap>
<sql id="selectHhHydraulicBidClarifyVo"> <sql id="selectHhHydraulicBidClarifyVo">
select clarify_id, project_name, bid_unit, clarify_time, clarify_location, clarify_person, clarify_content, create_by, create_time, is_use, sys_name from hh_hydraulic_bid_clarify select clarify_id, project_name, bid_unit, clarify_time, clarify_location, clarify_person, clarify_content, create_by, create_time, is_use, sys_name, file_id, file_name from hh_hydraulic_bid_clarify
</sql> </sql>
<select id="selectHhHydraulicBidClarifyList" parameterType="HhHydraulicBidClarify" resultMap="HhHydraulicBidClarifyResult"> <select id="selectHhHydraulicBidClarifyList" parameterType="HhHydraulicBidClarify" resultMap="HhHydraulicBidClarifyResult">
@ -58,6 +60,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="createTime != null">create_time,</if> <if test="createTime != null">create_time,</if>
<if test="isUse != null">is_use,</if> <if test="isUse != null">is_use,</if>
<if test="sysName != null">sys_name,</if> <if test="sysName != null">sys_name,</if>
<if test="fileId != null">file_id,</if>
<if test="fileName != null">file_name,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="clarifyId != null">#{clarifyId},</if> <if test="clarifyId != null">#{clarifyId},</if>
@ -71,6 +75,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="createTime != null">#{createTime},</if> <if test="createTime != null">#{createTime},</if>
<if test="isUse != null">#{isUse},</if> <if test="isUse != null">#{isUse},</if>
<if test="sysName != null">#{sysName},</if> <if test="sysName != null">#{sysName},</if>
<if test="fileId != null">#{fileId},</if>
<if test="fileName != null">#{fileName},</if>
</trim> </trim>
</insert> </insert>
@ -87,6 +93,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="createTime != null">create_time = #{createTime},</if> <if test="createTime != null">create_time = #{createTime},</if>
<if test="isUse != null">is_use = #{isUse},</if> <if test="isUse != null">is_use = #{isUse},</if>
<if test="sysName != null">sys_name = #{sysName},</if> <if test="sysName != null">sys_name = #{sysName},</if>
<if test="fileId != null">file_id = #{fileId},</if>
<if test="fileName != null">file_name = #{fileName},</if>
</trim> </trim>
where clarify_id = #{clarifyId} where clarify_id = #{clarifyId}
</update> </update>

View File

@ -0,0 +1,376 @@
<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="bidUnit">
<el-input
v-model="queryParams.bidUnit"
placeholder="请输入投标单位"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="创建日期">-->
<!-- <el-date-picker-->
<!-- v-model="dateRange"-->
<!-- style="width: 300px"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- type="daterange"-->
<!-- range-separator="-"-->
<!-- start-placeholder="开始日期"-->
<!-- end-placeholder="结束日期"-->
<!-- ></el-date-picker>-->
<!-- </el-form-item>-->
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</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="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
>修改
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
>删除
</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="bidClarifyList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column label="序号" align="center" width="80">
<template v-slot="scope">
<span>{{ scope.$index + (queryParams.pageNum - 1) * (queryParams.pageSize) + 1 }}</span>
</template>
</el-table-column>
<el-table-column label="项目名称" align="center" prop="projectName"/>
<el-table-column label="投标单位" align="center" prop="bidUnit"/>
<el-table-column label="澄清时间" align="center" prop="clarifyTime"/>
<el-table-column label="澄清地点" align="center" prop="clarifyLocation"/>
<el-table-column label="参与人员" align="center" prop="clarifyPerson"/>
<el-table-column label="澄清纪要" align="center" prop="fileName">
<template v-slot="scope">
<span style="color: #1890ff;cursor: pointer" @click="handleDownload(scope.row)">{{ scope.row.fileName }}</span>
</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-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="650px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item label="项目名称" prop="projectName">
<el-input v-model="form.projectName" placeholder="请输入项目名称"/>
</el-form-item>
<el-form-item label="投标单位" prop="bidUnit">
<el-input v-model="form.bidUnit" placeholder="请输入投标单位"/>
</el-form-item>
<el-form-item label="澄清时间" prop="clarifyTime">
<el-input v-model="form.clarifyTime" placeholder="请输入澄清时间"/>
</el-form-item>
<el-form-item label="澄清地点" prop="clarifyLocation">
<el-input v-model="form.clarifyLocation" placeholder="请输入澄清地点"/>
</el-form-item>
<el-form-item label="参与人员" prop="clarifyPerson">
<el-input v-model="form.clarifyPerson" placeholder="请输入参与人员"/>
</el-form-item>
<el-form-item label="澄清纪要" prop="fileName">
<file-upload-minio
v-model="form.fileName"
ref="docFileUploadMinio"
:fileType="[
'doc',
'docx',
'pdf',
]"
:limit="1"
:isShowTip="false"
@input="handleAttachmentList"
>
<a
slot="append"
style="display: inline-block; margin-left: 16px"
>{{ fileInfo.fileName }}</a
>
</file-upload-minio>
</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 {
listBidClarify,
getBidClarify,
delBidClarify,
addBidClarify,
updateBidClarify
} from "@/api/hydraulic/bidClarify";
import FileUploadMinio from '@/components/FileUpload/minio.vue'
import { download } from '@/utils/request'
export default {
name: "BidClarify",
components: {FileUploadMinio},
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
bidClarifyList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
projectName: null,
bidUnit: null,
sysName: "clarify"
},
//
form: {},
//
rules: {
projectName: [
{required: true, message: "项目名称不能为空", trigger: "blur"}
],
bidUnit: [
{required: true, message: "投标单位不能为空", trigger: "blur"}
],
clarifyTime: [
{required: true, message: "澄清时间不能为空", trigger: "blur"}
],
clarifyLocation: [
{required: true, message: "澄清地点不能为空", trigger: "blur"}
],
clarifyPerson: [
{required: true, message: "参与人员不能为空", trigger: "blur"}
],
clarifyContent: [
{required: true, message: "澄清纪要不能为空", trigger: "blur"}
],
},
//
dateRange: [],
fileInfo: {
id: '',
url: '',
fileName: '',
newFileName: '',
originalFilename: ''
},
};
},
created() {
this.getList();
},
methods: {
/** 查询投标澄清查询列表 */
getList() {
this.loading = true;
listBidClarify(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
this.bidClarifyList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
clarifyId: null,
projectName: null,
bidUnit: null,
clarifyTime: null,
clarifyLocation: null,
clarifyPerson: null,
clarifyContent: null,
createBy: null,
createTime: null,
isUse: null,
sysName: "clarify"
};
this.fileInfo = {
id: '',
url: '',
fileName: '',
newFileName: '',
originalFilename: ''
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.dateRange = []
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.clarifyId)
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加投标澄清查询";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const clarifyId = row.clarifyId || this.ids
getBidClarify(clarifyId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改投标澄清查询";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.clarifyId != null) {
updateBidClarify(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addBidClarify(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const clarifyIds = row.clarifyId || this.ids;
this.$modal.confirm('是否确认删除投标澄清查询编号为"' + clarifyIds + '"的数据项?').then(function () {
return delBidClarify(clarifyIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {
});
},
/** 导出按钮操作 */
handleExport() {
this.download('hydraulic/bidClarify/export', {
...this.queryParams
}, `bidClarify_${new Date().getTime()}.xlsx`)
},
handleAttachmentList(attachmentList) {
if (attachmentList.length > 0) {
// this.uploadForm.contractContent = attachmentList[0].fileName;
this.form.fileId = attachmentList[0].id
this.form.fileName = attachmentList[0].fileName
this.fileInfo.url = attachmentList[0].url
this.fileInfo.fileName = attachmentList[0].fileName
}
console.log('handleAttachmentList', attachmentList)
},
handleDownload(row) {
const fileId = row.fileId
const fileName = row.fileName
this.$modal.confirm('是否下载此文件?').then(() => {
download('/common/minio/download', { id: fileId }, fileName).catch(
() => {
this.$modal.msgError('文件下载失败')
}
)
})
},
}
};
</script>