Browse Source

前期板块完善

dev_kxc
xzt 2 years ago
parent
commit
c8355643fe
  1. 6
      jwtech-admin-page/src/App.vue
  2. 17
      jwtech-admin-page/src/views/project/bid/options/TenderAnnouncementPage.vue
  3. 452
      jwtech-admin-page/src/views/project/bid/options/bidBasePage.vue

6
jwtech-admin-page/src/App.vue

@ -39,4 +39,10 @@ s {
background: rgba(0, 0, 0, 0.1);
transition: color 0.2s ease;
}
.el-icon-download {
color: #36b29e;
}
.el-icon-download:hover {
color: #94e7c7;
}
</style>

17
jwtech-admin-page/src/views/project/bid/options/TenderAnnouncementPage.vue

@ -459,7 +459,7 @@
</el-col>
<el-col :span="8">
<el-form-item label="工期" prop="deliveryTime">
<el-date-picker
<!-- <el-date-picker
clearable
size="small"
style="width: 100%"
@ -468,7 +468,14 @@
value-format="yyyy-MM-dd"
placeholder="选择工期"
>
</el-date-picker>
</el-date-picker> -->
<el-input
clearable
size="small"
v-model="form.deliveryTime"
placeholder="请输入工期"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
@ -543,7 +550,7 @@
size="small"
style="width: 100%"
v-model="form.gainFileStartTime"
type="date"
type="datetime"
value-format="yyyy-MM-dd"
placeholder="选择获取招标文件开始时间"
>
@ -557,7 +564,7 @@
size="small"
style="width: 100%"
v-model="form.gainFileEndTime"
type="date"
type="datetime"
value-format="yyyy-MM-dd"
placeholder="选择获取招标文件截止时间"
>
@ -571,7 +578,7 @@
size="small"
style="width: 100%"
v-model="form.deliveryEndTime"
type="date"
type="datetime"
value-format="yyyy-MM-dd"
placeholder="选择递交投标文件截止时间"
>

452
jwtech-admin-page/src/views/project/bid/options/bidBasePage.vue

@ -195,10 +195,17 @@
label="操作"
align="center"
class-name="small-padding fixed-width"
min-width="120"
min-width="180"
fixed="right"
>
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-view"
@click="viewInfo(scope.row)"
>查看</el-button
>
<el-button
size="mini"
type="text"
@ -340,9 +347,14 @@
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="baseForm.remark" placeholder="请输入备注" />
<el-input
type="textarea"
v-model="baseForm.remark"
:rows="4"
placeholder="请输入备注"
/>
</el-form-item>
</el-col>
<el-col :span="12">
@ -468,10 +480,12 @@
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="24">
<el-form-item label="项目概况" prop="projectOverview">
<el-input
v-model="detailsForm.projectOverview"
type="textarea"
:rows="4"
placeholder="请输入项目概况"
/>
</el-form-item>
@ -486,9 +500,359 @@
</el-dialog>
<!--查看 -->
<el-dialog :title="title" :visible.sync="open" width="90%" append-to-body
>666</el-dialog
<el-dialog
:title="viewTitle"
:visible.sync="viewOpen"
width="90%"
append-to-body
@close="closeView"
>
<div class="content">
<!-- 计划信息 -->
<div class="infoTitle">计划信息</div>
<div class="draLine"></div>
<table class="infoTable" border="1">
<tbody>
<tr class="ant-descriptions-row">
<th
class="ant-descriptions-item-label"
colspan="1"
style="width: 180px"
>
<span>合并招标</span>
</th>
<td
class="ant-descriptions-item-content"
colspan="1"
style="max-width: 900px"
>
<span>{{ isConsolidatedBiddingFormat(this.infoMsg) }}</span>
</td>
<th
class="ant-descriptions-item-label"
colspan="1"
style="width: 180px"
>
<span>性质</span>
</th>
<td
class="ant-descriptions-item-content"
colspan="1"
style="max-width: 900px"
>
<span>{{ this.infoMsg.bidNature }}</span>
</td>
</tr>
<tr class="ant-descriptions-row">
<th
class="ant-descriptions-item-label"
colspan="1"
style="width: 180px"
>
<span>招标计划名称</span>
</th>
<td
class="ant-descriptions-item-content"
colspan="3"
style="max-width: 900px"
>
<span>{{ this.infoMsg.bidPlanName }}</span>
</td>
</tr>
<tr class="ant-descriptions-row">
<th
class="ant-descriptions-item-label"
colspan="1"
style="width: 180px"
>
<span>招标计划发布人</span>
</th>
<td
class="ant-descriptions-item-content"
colspan="1"
style="max-width: 900px"
>
<span>{{ this.infoMsg.bidPlanPerson }}</span>
</td>
<th
class="ant-descriptions-item-label"
colspan="1"
style="width: 180px"
>
<span>发布时间</span>
</th>
<td
class="ant-descriptions-item-content"
colspan="1"
style="max-width: 900px"
>
<span>{{ this.infoMsg.reportTime }}</span>
</td>
</tr>
<tr class="ant-descriptions-row">
<th
class="ant-descriptions-item-label"
colspan="1"
style="width: 180px"
>
<span>招标人名称</span>
</th>
<td
class="ant-descriptions-item-content"
colspan="1"
style="max-width: 900px"
>
<span>{{ this.infoMsg.tendererName }}</span>
</td>
<th
class="ant-descriptions-item-label"
colspan="1"
style="width: 180px"
>
<span>招标人统一社会信用代码</span>
</th>
<td
class="ant-descriptions-item-content"
colspan="1"
style="max-width: 900px"
>
<span>{{ this.infoMsg.socialCreditCode }}</span>
</td>
</tr>
<tr class="ant-descriptions-row">
<th
class="ant-descriptions-item-label"
colspan="1"
style="width: 180px"
>
<span>备注</span>
</th>
<td
class="ant-descriptions-item-content"
colspan="3"
style="max-width: 900px"
>
<span>{{ this.infoMsg.remark }}</span>
</td>
</tr>
<tr class="ant-descriptions-row">
<th
class="ant-descriptions-item-label"
colspan="1"
style="width: 180px"
>
<span>招标计划附件</span>
</th>
<td
class="ant-descriptions-item-content"
colspan="3"
style="max-width: 900px"
>
{{ this.infoMsg.length }}
<template v-if="this.infoMsg.bidAttachment">
<div
v-for="(item, index) in JSON.parse(
this.infoMsg.bidAttachment
)"
:key="item + index"
>
{{ item.name }}
<i
class="el-icon-download"
@click="downloadFile2(item, index)"
style="cursor: pointer"
></i>
</div>
</template>
</td>
</tr>
</tbody>
</table>
<!-- 明细内容 -->
<div class="detailsTitle">明细内容</div>
<div class="draLine"></div>
<table class="detialsTable" border="1">
<tbody>
<tr class="ant-descriptions-row">
<th
class="ant-descriptions-item-label"
colspan="1"
style="width: 180px"
>
<span>招标项目名称</span>
</th>
<td
class="ant-descriptions-item-content"
colspan="3"
style="width: 420px"
>
<span>{{ this.viewTitle }}</span>
</td>
</tr>
<tr class="ant-descriptions-row">
<th
class="ant-descriptions-item-label"
colspan="1"
style="width: 180px"
>
<span>是否依法必招项目</span>
</th>
<td
class="ant-descriptions-item-content"
colspan="1"
style="width: 420px"
>
<span>{{ this.isMustProjectFormat(this.detailsMsg) }}</span>
</td>
<th
class="ant-descriptions-item-label"
colspan="1"
style="width: 180px"
>
<span>投资项目代码</span
><!---->
</th>
<td
class="ant-descriptions-item-content"
colspan="1"
style="width: 420px"
>
<span>{{ this.detailsMsg.projectCode }}</span>
</td>
</tr>
<tr class="ant-descriptions-row">
<th
class="ant-descriptions-item-label"
colspan="1"
style="width: 180px"
>
<span>招标项目类型</span
><!---->
</th>
<td
class="ant-descriptions-item-content"
colspan="1"
style="width: 420px"
>
<span>{{ this.detailsMsg.bidType }}</span>
</td>
<th
class="ant-descriptions-item-label"
colspan="1"
style="width: 180px"
>
<span>招标方式</span
><!---->
</th>
<td
class="ant-descriptions-item-content"
colspan="1"
style="width: 420px"
>
<span>{{ this.detailsMsg.bidMethod }}</span>
</td>
</tr>
<tr class="ant-descriptions-row">
<th
class="ant-descriptions-item-label"
colspan="1"
style="width: 180px"
>
<span>招标内容</span>
</th>
<td
class="ant-descriptions-item-content"
colspan="1"
style="width: 420px"
>
<span>{{ this.detailsMsg.bidContent }}</span>
</td>
<th
class="ant-descriptions-item-label"
colspan="1"
style="width: 180px"
>
<span>预估发包价</span>
</th>
<td
class="ant-descriptions-item-content"
colspan="1"
style="width: 420px"
>
<span>{{ this.detailsMsg.estimatedContractPrice }}</span>
</td>
</tr>
<tr class="ant-descriptions-row">
<th
class="ant-descriptions-item-label"
colspan="1"
style="width: 180px"
>
<span>招标项目建设地点</span>
</th>
<td
class="ant-descriptions-item-content"
colspan="1"
style="width: 420px"
>
<span>{{ this.detailsMsg.bidConstructionLocation }}</span>
</td>
<th
class="ant-descriptions-item-label"
colspan="1"
style="width: 180px"
>
<span>招标公告预计发布时间</span
><!---->
</th>
<td
class="ant-descriptions-item-content"
colspan="1"
style="width: 420px"
>
<span>{{ this.detailsMsg.bidNoticeTime }}</span>
</td>
</tr>
<tr class="ant-descriptions-row">
<th
class="ant-descriptions-item-label"
colspan="1"
style="width: 180px"
>
<span>招标监督部门</span
><!---->
</th>
<td
class="ant-descriptions-item-content"
colspan="3"
style="width: 420px"
>
<span>{{ this.detailsMsg.bidRegulator }}</span>
</td>
</tr>
<tr class="ant-descriptions-row">
<th
class="ant-descriptions-item-label"
colspan="1"
style="width: 180px"
>
<span>项目概况</span
><!---->
</th>
<td
class="ant-descriptions-item-content"
colspan="3"
style="width: 420px"
>
<!----><span>{{ this.detailsMsg.projectOverview }}</span>
</td>
</tr>
</tbody>
</table>
</div>
</el-dialog>
</div>
</template>
@ -526,8 +890,12 @@ export default {
bidInfoList: [],
//
title: "",
//
viewTitle: "",
//
open: false,
//
viewOpen: false,
//
isConsolidatedBiddingOptions: [],
//
@ -603,6 +971,9 @@ export default {
},
//
bidProjectNameOptions: [],
//
infoMsg: {},
detailsMsg: {},
};
},
created() {
@ -631,11 +1002,13 @@ export default {
listBidInfo(this.queryParams).then((response) => {
this.bidInfoList = response.records;
this.total = response.total;
this.loading = false;
setTimeout(() => {
this.loading = false;
}, 50);
});
//
listProposal({ data: { proNo: this.proNo } }).then((response) => {
console.log("response55555555555", response);
// console.log("response55555555555", response);
this.bidProjectNameOptions = response.records;
});
},
@ -646,6 +1019,9 @@ export default {
row.isConsolidatedBidding
);
},
isMustProjectFormat(row, column) {
return this.selectDictLabel(this.isMustProject, row.isMustProject);
},
projectNameFormat(row) {
return row.bidProjectName.slice(0, row.bidProjectName.indexOf("["));
},
@ -816,6 +1192,27 @@ export default {
close() {
this.reset();
},
//
viewInfo(row) {
this.viewTitle = row.bidProjectName.slice(
0,
row.bidProjectName.indexOf("[")
);
this.infoMsg = row;
console.log("infoMsg", row);
getBidInfoVO(row.id).then((response) => {
this.detailsMsg = response.data.projectBidDetails;
console.log("detailsMsg", this.detailsMsg);
});
this.viewOpen = true;
},
//
closeView() {
this.infoMsg = {};
this.detailsMsg = {};
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
@ -859,6 +1256,11 @@ export default {
let file = JSON.parse(scope.row.bidAttachment)[index];
this.handlePreview(file);
},
// ,
downloadFile2(info, index) {
console.log(info);
this.handlePreview(info);
},
//
handlePreview(file) {
// console.log(file);
@ -894,15 +1296,47 @@ export default {
::v-deep {
.el-dialog {
margin-top: 2vh !important;
height: 90%;
height: 95%;
overflow-y: auto;
}
.el-dialog__title {
font-weight: 700;
font-size: 28px;
}
.el-divider {
height: 4px;
color: #000;
}
.el-divider__text {
font-weight: 700;
font-size: 20px;
}
}
.draLine {
width: 100%;
border: 2px solid #000;
margin: 10px 0 20px 0;
}
.infoTitle,
.detailsTitle {
color: #000;
font-size: 20px;
font-weight: 700;
}
.detailsTitle {
margin-top: 30px;
}
.infoTable,
.detialsTable {
width: 100%;
border-collapse: collapse;
border-color: #ccc;
}
.infoTable th,
.infoTable tr,
.detialsTable th,
.detialsTable tr {
padding: 20px 0;
text-align: center;
}
</style>

Loading…
Cancel
Save