招标解析
This commit is contained in:
parent
1905783af6
commit
3dc9edac42
|
|
@ -8,8 +8,14 @@
|
||||||
<el-card class="analysis-detail-card">
|
<el-card class="analysis-detail-card">
|
||||||
<template slot="header">
|
<template slot="header">
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
<img src="@/assets/enterpriseLibrary/basic-info.png" alt="项目信息">
|
<div class="card-header-left">
|
||||||
<h3>项目信息</h3>
|
<img src="@/assets/enterpriseLibrary/basic-info.png" alt="项目信息">
|
||||||
|
<h3>项目信息</h3>
|
||||||
|
</div>
|
||||||
|
<el-button type="text" v-hasPermi="['enterpriseLibrary:analysis:edit']" class="edit-btn"
|
||||||
|
@click="handleEditProject">
|
||||||
|
编辑
|
||||||
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<div class="analysis-detail-content">
|
<div class="analysis-detail-content">
|
||||||
|
|
@ -86,8 +92,12 @@
|
||||||
</TableModel>
|
</TableModel>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 标段编辑弹窗 -->
|
||||||
<BidForm v-if="showBidForm" :width="600" :rowData="rowData" :title="title"
|
<BidForm v-if="showBidForm" :width="600" :rowData="rowData" :title="title"
|
||||||
@closeDialog="showBidForm = false" @handleQuery="handleQuery" />
|
@closeDialog="showBidForm = false" @handleQuery="handleQuery" />
|
||||||
|
<!-- 项目信息编辑弹窗 -->
|
||||||
|
<ProForm v-if="showProForm" :width="600" :rowData="rowData" :title="title"
|
||||||
|
@closeDialog="showProForm = false" @handleProQuery="handleProQuery" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -97,12 +107,14 @@ import { getProDetailAPI,getBidListAPI } from '@/api/analysis/analysis'
|
||||||
import { formLabel, detailColumnsList } from '../config'
|
import { formLabel, detailColumnsList } from '../config'
|
||||||
import TableModel from '@/components/TableModel2'
|
import TableModel from '@/components/TableModel2'
|
||||||
import BidForm from './BidForm.vue'
|
import BidForm from './BidForm.vue'
|
||||||
|
import ProForm from './ProForm.vue'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'AnalysisDetail',
|
name: 'AnalysisDetail',
|
||||||
components: {
|
components: {
|
||||||
TableModel,
|
TableModel,
|
||||||
BidForm
|
BidForm,
|
||||||
|
ProForm
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
|
@ -115,6 +127,7 @@ export default {
|
||||||
proId: decryptWithSM4(this.$route.query.proId),
|
proId: decryptWithSM4(this.$route.query.proId),
|
||||||
},
|
},
|
||||||
showBidForm: false,
|
showBidForm: false,
|
||||||
|
showProForm: false,
|
||||||
title: '',
|
title: '',
|
||||||
rowData: {},
|
rowData: {},
|
||||||
}
|
}
|
||||||
|
|
@ -142,16 +155,29 @@ export default {
|
||||||
const obj = { path: "/analysis" }
|
const obj = { path: "/analysis" }
|
||||||
this.$tab.closeOpenPage(obj)
|
this.$tab.closeOpenPage(obj)
|
||||||
},
|
},
|
||||||
// 编辑
|
// 编辑标段
|
||||||
handleUpdate(data) {
|
handleUpdate(data) {
|
||||||
this.title = '编辑'
|
this.title = '编辑'
|
||||||
this.rowData = data
|
this.rowData = data
|
||||||
this.showBidForm = true
|
this.showBidForm = true
|
||||||
},
|
},
|
||||||
|
|
||||||
/* 搜索操作 */
|
/* 搜索操作 */
|
||||||
handleQuery() {
|
handleQuery() {
|
||||||
|
this.rowData = {}
|
||||||
this.$refs.detailTableRef.getTableList()
|
this.$refs.detailTableRef.getTableList()
|
||||||
},
|
},
|
||||||
|
/* 更新项目信息 */
|
||||||
|
handleProQuery(data){
|
||||||
|
this.rowData = {}
|
||||||
|
this.detailData = data
|
||||||
|
},
|
||||||
|
/* 编辑项目信息 */
|
||||||
|
handleEditProject() {
|
||||||
|
this.title = '编辑'
|
||||||
|
this.rowData = this.detailData
|
||||||
|
this.showProForm = true
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
@ -240,8 +266,15 @@ export default {
|
||||||
.card-header {
|
.card-header {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
gap: 8px;
|
gap: 8px;
|
||||||
|
|
||||||
|
.card-header-left {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
.header-icon {
|
.header-icon {
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
color: #409EFF;
|
color: #409EFF;
|
||||||
|
|
@ -253,6 +286,17 @@ export default {
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
color: #303133;
|
color: #303133;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.edit-btn {
|
||||||
|
color: #409EFF;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 500;
|
||||||
|
padding: 0;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: #66b1ff;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.analysis-detail-content {
|
.analysis-detail-content {
|
||||||
|
|
|
||||||
|
|
@ -9,8 +9,8 @@
|
||||||
maxlength="64"></el-input>
|
maxlength="64"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="项目编号" prop="项目编号">
|
<el-form-item label="项目编号" prop="项目编号">
|
||||||
<el-input v-model.trim="form.项目编号" placeholder="请输入项目编号" clearable show-word-limit
|
<el-input v-model.trim="form.proCode" placeholder="请输入项目编号" clearable show-word-limit
|
||||||
maxlength="64"></el-input>
|
maxlength="32"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="招标人" prop="tenderer">
|
<el-form-item label="招标人" prop="tenderer">
|
||||||
<el-input v-model.trim="form.tenderer" placeholder="请输入招标人" clearable show-word-limit
|
<el-input v-model.trim="form.tenderer" placeholder="请输入招标人" clearable show-word-limit
|
||||||
|
|
@ -20,8 +20,8 @@
|
||||||
<el-input v-model.trim="form.agency" placeholder="请输入代理机构" clearable show-word-limit
|
<el-input v-model.trim="form.agency" placeholder="请输入代理机构" clearable show-word-limit
|
||||||
maxlength="64"></el-input>
|
maxlength="64"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="开标时间" prop="bidOpeningTime">
|
<el-form-item label="开标时间" prop="bidOpeningTime" >
|
||||||
<el-date-picker v-model="form.bidOpeningTime" type="datetime" placeholder="请选择开标时间" value-format="yyyy-MM-dd HH:mm:ss" clearable></el-date-picker>
|
<el-date-picker class="form-item" v-model="form.bidOpeningTime" type="date" placeholder="请选择开标时间" value-format="yyyy-MM-dd HH:mm:ss" clearable></el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="开标方式" prop="bidOpeningMethod">
|
<el-form-item label="开标方式" prop="bidOpeningMethod">
|
||||||
<el-input v-model.trim="form.bidOpeningMethod" placeholder="请输入开标方式" clearable show-word-limit
|
<el-input v-model.trim="form.bidOpeningMethod" placeholder="请输入开标方式" clearable show-word-limit
|
||||||
|
|
@ -29,7 +29,7 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="项目简介" prop="proIntroduction">
|
<el-form-item label="项目简介" prop="proIntroduction">
|
||||||
<el-input type="textarea" v-model.trim="form.proIntroduction" placeholder="请输入项目简介" clearable show-word-limit
|
<el-input type="textarea" v-model.trim="form.proIntroduction" placeholder="请输入项目简介" clearable show-word-limit
|
||||||
:autosize="{ minRows: 3, maxRows: 5 }" maxlength="128"></el-input>
|
:autosize="{ minRows: 5, maxRows: 8 }" maxlength="512"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
@ -42,7 +42,7 @@
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import _ from 'lodash'
|
import _ from 'lodash'
|
||||||
import { editBidDataAPI } from '@/api/analysis/analysis'
|
import { editProDataAPI } from '@/api/analysis/analysis'
|
||||||
export default {
|
export default {
|
||||||
name: 'ProForm',
|
name: 'ProForm',
|
||||||
props: ['width', 'rowData', 'title'],
|
props: ['width', 'rowData', 'title'],
|
||||||
|
|
@ -61,7 +61,7 @@ export default {
|
||||||
trigger: 'blur',
|
trigger: 'blur',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
项目编号: [
|
proCode: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: '请输入项目编号',
|
message: '请输入项目编号',
|
||||||
|
|
@ -117,16 +117,14 @@ export default {
|
||||||
console.log(this.rowData);
|
console.log(this.rowData);
|
||||||
|
|
||||||
this.form = {
|
this.form = {
|
||||||
bidId: this.rowData.bidId || null,
|
proId: this.rowData.proId || null,
|
||||||
markName: this.rowData.markName || '',
|
proName: this.rowData.proName || '',
|
||||||
unit: this.rowData.unit || '',
|
proCode: this.rowData.proCode || '',
|
||||||
bidNumber: this.rowData.bidNumber || '',
|
tenderer: this.rowData.tenderer || '',
|
||||||
bidName: this.rowData.bidName || '',
|
agency: this.rowData.agency || '',
|
||||||
maximumBidLimit: this.rowData.maximumBidLimit || '',
|
bidOpeningTime: this.rowData.bidOpeningTime || '',
|
||||||
safetyConstFee: this.rowData.safetyConstFee || '',
|
bidOpeningMethod: this.rowData.bidOpeningMethod || '',
|
||||||
bidBond: this.rowData.bidBond || '',
|
proIntroduction: this.rowData.proIntroduction || '',
|
||||||
biddingStage: this.rowData.biddingStage || '',
|
|
||||||
duration: this.rowData.duration || '',
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -143,23 +141,22 @@ export default {
|
||||||
/**重置表单*/
|
/**重置表单*/
|
||||||
reset() {
|
reset() {
|
||||||
this.form = {
|
this.form = {
|
||||||
bidId: null,
|
proId: null,
|
||||||
markName: '',
|
proName: '',
|
||||||
unit: '',
|
proCode: '',
|
||||||
bidNumber: '',
|
tenderer: '',
|
||||||
bidName: '',
|
agency: '',
|
||||||
maximumBidLimit: '',
|
bidOpeningTime: '',
|
||||||
safetyConstFee: '',
|
bidOpeningMethod: '',
|
||||||
bidBond: '',
|
proIntroduction: '',
|
||||||
biddingStage: '',
|
|
||||||
duration: '',
|
|
||||||
}
|
}
|
||||||
this.resetForm('ruleForm')
|
this.resetForm('ruleForm')
|
||||||
},
|
},
|
||||||
handleReuslt(res) {
|
handleReuslt(res) {
|
||||||
this.$modal.msgSuccess(res.msg)
|
this.$modal.msgSuccess(res.msg)
|
||||||
|
const newData = {...this.form};
|
||||||
|
this.$emit('handleProQuery',newData)
|
||||||
this.reset()
|
this.reset()
|
||||||
this.$emit('handleQuery')
|
|
||||||
this.handleClose()
|
this.handleClose()
|
||||||
},
|
},
|
||||||
validate(formName) {
|
validate(formName) {
|
||||||
|
|
@ -177,7 +174,6 @@ export default {
|
||||||
async submitForm(formName) {
|
async submitForm(formName) {
|
||||||
try {
|
try {
|
||||||
const data = await this.validate(formName)
|
const data = await this.validate(formName)
|
||||||
console.log(data);
|
|
||||||
|
|
||||||
// 所有校验通过,组装完整数据
|
// 所有校验通过,组装完整数据
|
||||||
let formData = {
|
let formData = {
|
||||||
|
|
@ -210,7 +206,7 @@ export default {
|
||||||
async saveData(formData) {
|
async saveData(formData) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
// 修改
|
// 修改
|
||||||
editBidDataAPI(formData)
|
editProDataAPI(formData)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
resolve(res)
|
resolve(res)
|
||||||
})
|
})
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue