Browse Source

招投标项目从初步设计来

dev_kxc
xzt 1 year ago
parent
commit
9d178b47ea
  1. 74
      jwtech-admin-page/src/views/project/bid/index.vue
  2. 14
      jwtech-admin-page/src/views/project/bid/options/PreQualificationPage.vue
  3. 68
      jwtech-admin-page/src/views/project/bid/options/TenderAnnouncementPage.vue
  4. 63
      jwtech-admin-page/src/views/project/bid/options/bidBasePage.vue
  5. 36
      jwtech-admin-page/src/views/project/bid/options/biddingFile.vue
  6. 81
      jwtech-admin-page/src/views/project/bid/options/candidatePage.vue
  7. 34
      jwtech-admin-page/src/views/project/bid/options/index.vue
  8. 50
      jwtech-admin-page/src/views/project/bid/options/projectContract.vue
  9. 32
      jwtech-admin-page/src/views/project/bid/options/winningResultPage.vue
  10. 11
      jwtech-admin-page/src/views/project/proposal/index.vue

74
jwtech-admin-page/src/views/project/bid/index.vue

@ -108,9 +108,9 @@
min-width="120"
/>
<el-table-column
label="项目编"
label="项目编"
align="center"
prop="proNo"
prop="projectCode"
min-width="180"
/>
<el-table-column
@ -207,6 +207,7 @@ import {
updateProjectinfo,
exportProjectinfo,
} from "@/api/earlyStage/projectinfo";
import { listProDesign } from "@/api/earlyStage/preDesign";
import { getAreasData } from "@/api/areas";
import { regionData, codeToText, TextToCode } from "element-china-area-data";
@ -254,6 +255,36 @@ export default {
sort: "desc",
},
},
proQueryParams: {
pageNum: 1,
pageSize: 10,
ids: null,
data: {
projectName: null,
constructionNature: null,
constructionLocation: null,
projectUnitName: null,
briefIntroduction: null,
projectLandSituation: null,
designEstimateReport: null,
relatedAttachment: null,
projectCode: null,
proNo: null,
createUid: null,
createTime: null,
updateUid: null,
updateTime: null,
owerDept: null,
},
cv: {},
//
params: {
//
orderBy: "create_time",
// descasc
sort: "desc",
},
},
//
routeList: [
{
@ -337,7 +368,13 @@ export default {
/** 查询项目前期背景信息列表 */
getList() {
this.loading = true;
listProjectinfo(this.queryParams).then((response) => {
// listProjectinfo(this.queryParams).then((response) => {
// this.projectinfoList = response.records;
// this.total = response.total;
// this.loading = false;
// });
listProDesign(this.proQueryParams).then((response) => {
console.log(111, response);
this.projectinfoList = response.records;
this.total = response.total;
this.loading = false;
@ -409,24 +446,25 @@ export default {
/** 查看招投标信息 */
handleUpdate(row) {
// this.reset();
console.log(555, row);
const id = row.id || this.ids;
getProjectinfo(id).then((response) => {
this.routeList.push({
path: "/project/bid/options",
routeName: "招标计划",
isEdit: true,
});
// getProjectinfo(id).then((response) => {
this.routeList.push({
path: "/project/bid/options",
routeName: "招标计划",
isEdit: true,
});
//
this.$store.commit("setRouteList", JSON.stringify(this.routeList));
//
// this.$store.commit("setBaseFormData", JSON.stringify(response.data));
//
this.$router.push({
// path: "/project/special/options",
path: "/project/bid/options?baseDataId=" + response.data.id,
});
//
this.$store.commit("setRouteList", JSON.stringify(this.routeList));
//
// this.$store.commit("setBaseFormData", JSON.stringify(response.data));
//
this.$router.push({
// path: "/project/special/options",
path: "/project/bid/options?baseDataId=" + id,
});
// });
},
/** 删除按钮操作 */
handleDelete(row) {

14
jwtech-admin-page/src/views/project/bid/options/PreQualificationPage.vue

@ -217,11 +217,12 @@
>
<el-form ref="form" :model="form" :rules="rules" label-width="180px">
<el-form-item label="招标项目名称" prop="bidProjectName">
<!-- <el-input
<el-input
v-model="form.bidProjectName"
placeholder="请输入招标项目名称"
/> -->
<el-select
readonly
/>
<!-- <el-select
v-model="form.bidProjectName"
placeholder="招标项目名称"
filterable
@ -236,7 +237,7 @@
:value="dict.projectName + '[' + dict.projectCode + ']'"
@click.native="chooseProject(dict)"
/>
</el-select>
</el-select> -->
</el-form-item>
<el-form-item label="资格预审文件获取开始时间" prop="fileGainTime">
<el-date-picker
@ -371,7 +372,7 @@ import { getFileStream } from "@/api/system/upload";
export default {
name: "BidPrequ",
props: ["proNo"],
props: ["proNo", "projectCode", "projectName"],
data() {
return {
//
@ -529,6 +530,8 @@ export default {
},
/** 新增按钮操作 */
handleAdd() {
this.form.bidProjectName =
this.projectName + "[" + this.projectCode + "]";
this.open = true;
this.title = "添加资格预审公告";
},
@ -569,6 +572,7 @@ export default {
});
} else {
this.form.proNo = this.proNo;
this.form.projectCode = this.projectCode;
addBidPrequ(this.form).then((response) => {
if (response.code === 200) {
this.msgSuccess("新增成功");

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

@ -388,13 +388,14 @@
>
<el-row :gutter="15">
<el-form ref="form" :model="form" :rules="rules" label-width="180px">
<el-col :span="8">
<el-col :span="24">
<el-form-item label="招标项目名称" prop="bidProjectName">
<!-- <el-input
<el-input
v-model="form.bidProjectName"
placeholder="请输入招标项目名称"
/> -->
<el-select
readonly
/>
<!-- <el-select
v-model="form.bidProjectName"
placeholder="招标项目名称"
filterable
@ -409,7 +410,7 @@
:value="dict.projectName + '[' + dict.projectCode + ']'"
@click.native="chooseProject(dict)"
/>
</el-select>
</el-select> -->
</el-form-item>
</el-col>
<el-col :span="8">
@ -979,7 +980,7 @@ import { getFileStream } from "@/api/system/upload";
export default {
name: "BidNotice",
props: ["proNo"],
props: ["proNo", "projectCode", "projectName"],
data() {
return {
//
@ -1069,29 +1070,27 @@ export default {
form: {},
//
rules: {
lotName: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
],
lotName: [{ max: 250, message: "字符长度最大为250", trigger: "blur" }],
noticeNature: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
reviewQualificationMethod: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
bidProjectLocation: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
fundingSource: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
fundingSourceConstitute: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
bidProjectName: [
{ required: true, message: "请选择招标项目名称", trigger: "blur" },
],
deliveryTime: [
{ max: 10, message: "数字范围为1-10位", trigger: "blur" },
{ max: 10, message: "数字范围为1-10位", trigger: "blur" },
{
pattern: /^[1-9]\d*$/,
message: "请输入正整数,不包含0",
@ -1132,56 +1131,54 @@ export default {
trigger: "blur",
},
],
bidScope: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
],
bidScope: [{ max: 250, message: "字符长度最大为250", trigger: "blur" }],
bidContent: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
bidCapabilityRequirements: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
gainBidFileMethod: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
bidDeliveryFileMethod: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
bidOpeningMethod: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
bidTimeLocation: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
announcementReleaseMedia: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
tendererName: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
officeAddress: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
bidderContacts: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
biddingAgency: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
agencyOfficeAddress: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
bidAgencyContacts: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
tenderingSupervisionAgency: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
releaseResponsiblePerson: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
otherLawContents: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
},
//
@ -1391,6 +1388,8 @@ export default {
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.form.bidProjectName =
this.projectName + "[" + this.projectCode + "]";
this.open = true;
this.title = "添加招标公告";
},
@ -1430,6 +1429,7 @@ export default {
});
} else {
this.form.proNo = this.proNo;
this.form.projectCode = this.projectCode;
addBidNotice(this.form).then((response) => {
if (response.code === 200) {
this.msgSuccess("新增成功");

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

@ -261,13 +261,14 @@
:rules="baseRules"
label-width="110px"
>
<el-col :span="12">
<el-col :span="24">
<el-form-item label="招标项目名称" prop="bidProjectName">
<!-- <el-input
<el-input
v-model="baseForm.bidProjectName"
placeholder="请输入招标项目名称"
/> -->
<el-select
readonly
/>
<!-- <el-select
v-model="baseForm.bidProjectName"
placeholder="招标项目名称"
filterable
@ -282,7 +283,7 @@
:value="dict.projectName + '[' + dict.projectCode + ']'"
@click.native="chooseProject(dict)"
/>
</el-select>
</el-select> -->
</el-form-item>
</el-col>
<el-col :span="12">
@ -347,7 +348,7 @@
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="24">
<el-form-item
label="招标人统一社会信用代码"
prop="socialCreditCode"
@ -1027,7 +1028,7 @@ import { getFileStream } from "@/api/system/upload";
export default {
name: "BidInfo",
props: ["proNo"],
props: ["proNo", "projectCode", "projectName"],
data() {
return {
//
@ -1128,43 +1129,41 @@ export default {
// },
//
baseRules: {
bidNature:[
{max:250,message:"字符长度最大为250",trigger:"blur"}
],
bidPlanName:[
{max:250,message:"字符长度最大为250",trigger:"blur"}
bidNature: [
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
bidPlanPerson:[
{max:250,message:"字符长度最大为250",trigger:"blur"}
bidPlanName: [
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
tendererName:[
{max:250,message:"字符长度最大为250",trigger:"blur"}
bidPlanPerson: [
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
socialCreditCode:[
{max:250,message:"字符长度最大为250",trigger:"blur"}
tendererName: [
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
remarkf:[
{max:250,message:"字符长度最大为250",trigger:"blur"}
socialCreditCode: [
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
remarkf: [{ max: 250, message: "字符长度最大为250", trigger: "blur" }],
bidProjectName: [
{ required: true, message: "请选择招标项目名称", trigger: "blur" },
],
},
detailsRules: {
bidContent:[
{max:250,message:"字符长度最大为250",trigger:"blur"}
bidContent: [
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
estimatedContractPrice:[
{max:250,message:"字符长度最大为250",trigger:"blur"}
estimatedContractPrice: [
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
bidConstructionLocation:[
{max:250,message:"字符长度最大为250",trigger:"blur"}
bidConstructionLocation: [
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
bidRegulator:[
{max:250,message:"字符长度最大为250",trigger:"blur"}
bidRegulator: [
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
projectOverview:[
{max:250,message:"字符长度最大为250",trigger:"blur"}
projectOverview: [
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
estimatedContractPrice: [
// { required: true, message: "", trigger: "blur" },
@ -1361,6 +1360,8 @@ export default {
},
/** 新增按钮操作 */
handleAdd() {
this.baseForm.bidProjectName =
this.projectName + "[" + this.projectCode + "]";
this.open = true;
this.title = "添加招标计划基本信息";
},
@ -1411,6 +1412,8 @@ export default {
} else {
this.baseForm.proNo = this.proNo;
this.detailsForm.proNo = this.proNo;
this.baseForm.projectCode = this.projectCode;
this.detailsForm.projectCode = this.projectCode;
addBidInfoVO({
specialProjectBidInfo: this.baseForm,
projectBidDetails: this.detailsForm,

36
jwtech-admin-page/src/views/project/bid/options/biddingFile.vue

@ -238,13 +238,14 @@
>
<el-row :gutter="15">
<el-form ref="form" :model="form" :rules="rules" label-width="128px">
<el-col :span="12">
<el-col :span="24">
<el-form-item label="招标项目名称" prop="bidProjectName">
<!-- <el-input
<el-input
v-model="form.bidProjectName"
placeholder="请输入招标项目名称"
/> -->
<el-select
readonly
/>
<!-- <el-select
v-model="form.bidProjectName"
placeholder="招标项目名称"
filterable
@ -259,7 +260,7 @@
:value="dict.projectName + '[' + dict.projectCode + ']'"
@click.native="chooseProject(dict)"
/>
</el-select>
</el-select> -->
</el-form-item>
</el-col>
<el-col :span="12">
@ -478,7 +479,7 @@ import { getFileStream } from "@/api/system/upload";
export default {
name: "ContractFile",
props: ["proNo"],
props: ["proNo", "projectCode", "projectName"],
data() {
return {
//
@ -536,20 +537,14 @@ export default {
form: {},
//
rules: {
loftName:[
{max:250,message:"字符长度最大为250",trigger:"blur"}
],
nature:[
{max:250,message:"字符长度最大为250",trigger:"blur"}
],
isDelay:[
{max:250,message:"字符长度最大为250",trigger:"blur"}
],
bidOpenMethod:[
{max:250,message:"字符长度最大为250",trigger:"blur"}
loftName: [{ max: 250, message: "字符长度最大为250", trigger: "blur" }],
nature: [{ max: 250, message: "字符长度最大为250", trigger: "blur" }],
isDelay: [{ max: 250, message: "字符长度最大为250", trigger: "blur" }],
bidOpenMethod: [
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
filePulish:[
{max:250,message:"字符长度最大为250",trigger:"blur"}
filePulish: [
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
bidProjectName: [
{ required: true, message: "请选择招标项目名称", trigger: "blur" },
@ -683,6 +678,8 @@ export default {
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.form.bidProjectName =
this.projectName + "[" + this.projectCode + "]";
this.open = true;
this.title = "添加招标文件";
},
@ -722,6 +719,7 @@ export default {
});
} else {
this.form.proNo = this.proNo;
this.form.proCode = this.projectCode;
addContractFile(this.form).then((response) => {
if (response.code === 200) {
this.msgSuccess("新增成功");

81
jwtech-admin-page/src/views/project/bid/options/candidatePage.vue

@ -280,7 +280,7 @@
>
<!-- 公示基本信息表 -->
<el-divider content-position="left"> 公示基本信息表 </el-divider>
<el-row :gutter="15">
<el-row :gutter="15" v-if="open">
<el-form
ref="publicityForm"
:model="publicityForm"
@ -289,11 +289,12 @@
>
<el-col :span="12">
<el-form-item label="招标项目名称" prop="bidProjectName">
<!-- <el-input
<el-input
v-model="publicityForm.bidProjectName"
placeholder="请输入招标项目名称"
/> -->
<el-select
readonly
/>
<!-- <el-select
v-model="publicityForm.bidProjectName"
placeholder="请输入招标项目名称"
filterable
@ -308,7 +309,7 @@
:value="dict.projectName + '[' + dict.projectCode + ']'"
@click.native="chooseProject(dict)"
/>
</el-select>
</el-select> -->
</el-form-item>
</el-col>
<el-col :span="12">
@ -811,7 +812,7 @@ import { Editor, Toolbar } from "@wangeditor/editor-for-vue";
export default {
name: "BidWinning",
props: ["proNo"],
props: ["proNo", "projectCode", "projectName"],
components: { Editor, Toolbar },
data() {
return {
@ -892,29 +893,27 @@ export default {
candidateForm: {},
//
rules: {
lotName:[
{max:250,message:"字符长度最大为250",trigger:"blur"}
lotName: [{ max: 250, message: "字符长度最大为250", trigger: "blur" }],
noticeName: [
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
noticeName:[
{max:250,message:"字符长度最大为250",trigger:"blur"}
evaluationSituation: [
{ max: 65500, message: "字符长度最大为65500", trigger: "blur" },
],
evaluationSituation:[
{max:250,message:"字符长度最大为250",trigger:"blur"}
tendererName: [
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
tendererName:[
{max:250,message:"字符长度最大为250",trigger:"blur"}
officeAddress: [
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
officeAddress:[
{max:250,message:"字符长度最大为250",trigger:"blur"}
bidderContacts: [
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
bidderContacts:[
{max:250,message:"字符长度最大为250",trigger:"blur"}
tenderingSupervisionDept: [
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
tenderingSupervisionDept:[
{max:250,message:"字符长度最大为250",trigger:"blur"}
],
deptAddress:[
{max:250,message:"字符长度最大为250",trigger:"blur"}
deptAddress: [
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
bidProjectName: [
{ required: true, message: "请选择招标项目名称", trigger: "blur" },
@ -937,26 +936,24 @@ export default {
],
},
candidateRules: {
winningCandidateName:[
{max:250,message:"字符长度最大为250",trigger:"blur"}
],
winningCandidateCode:[
{max:250,message:"字符长度最大为250",trigger:"blur"}
winningCandidateName: [
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
quality:[
{max:250,message:"字符长度最大为250",trigger:"blur"}
winningCandidateCode: [
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
evaluationSituation:[
{max:250,message:"字符长度最大为250",trigger:"blur"}
quality: [{ max: 250, message: "字符长度最大为250", trigger: "blur" }],
evaluationSituation: [
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
bidCapabilityConditions:[
{max:250,message:"字符长度最大为250",trigger:"blur"}
bidCapabilityConditions: [
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
projectLeaderQualification:[
{max:250,message:"字符长度最大为250",trigger:"blur"}
projectLeaderQualification: [
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
projectLeader:[
{max:250,message:"字符长度最大为250",trigger:"blur"}
projectLeader: [
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
bidQuotation: [
// { required: true, message: "", trigger: "blur" },
@ -969,7 +966,7 @@ export default {
},
],
deliveryTime: [
{ max: 10, message: "数字范围为1-10位", trigger: "blur" },
{ max: 10, message: "数字范围为1-10位", trigger: "blur" },
{
pattern: /^[1-9]\d*$/,
message: "请输入正整数,不包含0",
@ -977,7 +974,7 @@ export default {
},
],
ranking: [
{ max: 10, message: "数字范围为1-10位", trigger: "blur" },
{ max: 10, message: "数字范围为1-10位", trigger: "blur" },
{
pattern: /^[1-9]\d*$/,
message: "请输入正整数,不包含0",
@ -1177,6 +1174,8 @@ export default {
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.publicityForm.bidProjectName =
this.projectName + "[" + this.projectCode + "]";
this.open = true;
this.title = "添加中标候选人公示基本信息";
},
@ -1228,6 +1227,8 @@ export default {
} else {
this.publicityForm.proNo = this.proNo;
this.candidateForm.proNo = this.proNo;
this.publicityForm.projectCode = this.projectCode;
this.publicityForm.projectCode = this.projectCode;
addBidWinningVO({
projectBidWining: this.publicityForm,
projectBidWinner: this.candidateForm,

34
jwtech-admin-page/src/views/project/bid/options/index.vue

@ -31,6 +31,8 @@
<el-tab-pane label="招标计划" name="bidBasePage" :lazy="true">
<bidBasePage
:proNo="formData.proNo"
:projectCode="formData.projectCode"
:projectName="formData.projectName"
:formData="formData"
ref="bidBasePage"
/>
@ -41,7 +43,11 @@
:disabled="!routeList[1].isEdit"
:lazy="true"
>
<PreQualificationPage :proNo="formData.proNo" />
<PreQualificationPage
:proNo="formData.proNo"
:projectCode="formData.projectCode"
:projectName="formData.projectName"
/>
</el-tab-pane>
<el-tab-pane
label="招标公告"
@ -51,6 +57,7 @@
>
<TenderAnnouncementPage
:proNo="formData.proNo"
:projectCode="formData.projectCode"
:projectName="formData.projectName"
/>
</el-tab-pane>
@ -62,6 +69,7 @@
>
<biddingFile
:proNo="formData.proNo"
:projectCode="formData.projectCode"
:projectName="formData.projectName"
/>
</el-tab-pane>
@ -72,7 +80,11 @@
:disabled="!routeList[1].isEdit"
:lazy="true"
>
<candidatePage :proNo="formData.proNo" />
<candidatePage
:proNo="formData.proNo"
:projectCode="formData.projectCode"
:projectName="formData.projectName"
/>
</el-tab-pane>
<el-tab-pane
label="中标结果"
@ -80,7 +92,11 @@
:disabled="!routeList[1].isEdit"
:lazy="true"
>
<winningResultPage :proNo="formData.proNo" />
<winningResultPage
:proNo="formData.proNo"
:projectCode="formData.projectCode"
:projectName="formData.projectName"
/>
</el-tab-pane>
<el-tab-pane
label="项目合同"
@ -88,7 +104,11 @@
:disabled="!routeList[1].isEdit"
:lazy="true"
>
<projectContract :proNo="formData.proNo" />
<projectContract
:proNo="formData.proNo"
:projectCode="formData.projectCode"
:projectName="formData.projectName"
/>
</el-tab-pane>
</el-tabs>
</div>
@ -110,6 +130,7 @@ import {
exportBidInfo,
} from "@/api/earlyStage/bidInfo";
import { getProjectinfo } from "@/api/earlyStage/projectinfo";
import { getProDesign } from "@/api/earlyStage/preDesign";
export default {
components: {
@ -152,9 +173,10 @@ export default {
this.getList();
},
methods: {
/** 查询专题项目前期背景信息列表 */
/** 查询初步设计信息列表 */
getList() {
getProjectinfo(this.$route.query.baseDataId).then((response) => {
// getProjectinfo(this.$route.query.baseDataId).then((response) => {
getProDesign(this.$route.query.baseDataId).then((response) => {
this.formData = response.data;
// console.log(this.formData);
// listBidInfo(this.queryParams).then((response) => {

50
jwtech-admin-page/src/views/project/bid/options/projectContract.vue

@ -323,7 +323,12 @@
<el-form ref="form" :model="form" :rules="rules" label-width="150px">
<el-col :span="12">
<el-form-item label="招标项目名称" prop="bidProjectName">
<el-select
<el-input
v-model="form.bidProjectName"
placeholder="请输入招标项目名称"
readonly
/>
<!-- <el-select
v-model="form.bidProjectName"
placeholder="请输入招标项目名称"
filterable
@ -338,7 +343,7 @@
:value="dict.projectName + '[' + dict.projectCode + ']'"
@click.native="chooseProject(dict)"
/>
</el-select>
</el-select> -->
</el-form-item>
</el-col>
<el-col :span="12">
@ -717,7 +722,7 @@ import { getFileStream } from "@/api/system/upload";
export default {
name: "FulfillingNotice",
props: ["proNo"],
props: ["proNo", "projectCode", "projectName"],
data() {
return {
//
@ -784,53 +789,49 @@ export default {
form: {},
//
rules: {
loftName: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
],
nature: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
],
loftName: [{ max: 250, message: "字符长度最大为250", trigger: "blur" }],
nature: [{ max: 250, message: "字符长度最大为250", trigger: "blur" }],
filePulish: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
contractName: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
biderName: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
biderCode: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
biderWinName: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
biderWinCode: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
contractSignParty: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
contractUnitFirst: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
contractUnit: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
qualityRequirement: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
contractContent: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
otherContent: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
bidProjectName: [
{ required: true, message: "请选择招标项目名称", trigger: "blur" },
],
contractPeriod: [
{ max: 10, message: "数字范围为1-10位", trigger: "blur" },
{ max: 10, message: "数字范围为1-10位", trigger: "blur" },
{
pattern: /^[1-9]\d*$/,
message: "请输入正整数,不包含0",
@ -838,7 +839,7 @@ export default {
},
],
contractAmount: [
{ max: 10, message: "数字范围为1-10位", trigger: "blur" },
{ max: 10, message: "数字范围为1-10位", trigger: "blur" },
{
pattern:
/(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
@ -997,6 +998,8 @@ export default {
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.form.bidProjectName =
this.projectName + "[" + this.projectCode + "]";
this.open = true;
this.title = "添加项目合同及履行公示详情";
},
@ -1035,6 +1038,7 @@ export default {
});
} else {
this.form.proNo = this.proNo;
this.form.proCode = this.projectCode;
addFulfillingNotice(this.form).then((response) => {
if (response.code === 200) {
this.msgSuccess("新增成功");

32
jwtech-admin-page/src/views/project/bid/options/winningResultPage.vue

@ -256,11 +256,12 @@
<el-form ref="form" :model="form" :rules="rules" label-width="130px">
<el-col :span="24">
<el-form-item label="招标项目名称" prop="bidProjectName">
<!-- <el-input
<el-input
v-model="form.bidProjectName"
placeholder="请输入招标项目名称"
/> -->
<el-select
readonly
/>
<!-- <el-select
v-model="form.bidProjectName"
placeholder="招标项目名称"
filterable
@ -275,7 +276,7 @@
:value="dict.projectName + '[' + dict.projectCode + ']'"
@click.native="chooseProject(dict)"
/>
</el-select>
</el-select> -->
</el-form-item>
</el-col>
<el-col :span="12">
@ -532,7 +533,7 @@ import { getFileStream } from "@/api/system/upload";
export default {
name: "BidResult",
props: ["proNo"],
props: ["proNo", "projectCode", "projectName"],
data() {
return {
//
@ -601,21 +602,19 @@ export default {
form: {},
//
rules: {
lotName: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
],
lotName: [{ max: 250, message: "字符长度最大为250", trigger: "blur" }],
tendererName: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
biddingAgency: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
successfulBidder: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
bidProjectName: [
{ required: true, message: "请选择招标项目名称", trigger: "blur" },
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
bidWinningPrice: [
// { required: true, message: "", trigger: "blur" },
@ -628,7 +627,7 @@ export default {
},
],
deliveryTime: [
{ max: 10, message: "数字范围为1-10位", trigger: "blur" },
{ max: 10, message: "数字范围为1-10位", trigger: "blur" },
{
pattern: /^[1-9]\d*$/,
message: "请输入正整数,不包含0",
@ -636,7 +635,7 @@ export default {
},
],
rate: [
{ max: 10, message: "数字范围为1-10位", trigger: "blur" },
{ max: 10, message: "数字范围为1-10位", trigger: "blur" },
{
pattern:
/(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
@ -645,7 +644,7 @@ export default {
},
],
projectLeader: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
},
//
@ -796,6 +795,8 @@ export default {
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.form.bidProjectName =
this.projectName + "[" + this.projectCode + "]";
this.open = true;
this.title = "添加中标结果";
},
@ -834,6 +835,7 @@ export default {
});
} else {
this.form.proNo = this.proNo;
this.form.projectCode = this.projectCode;
addBidResult(this.form).then((response) => {
if (response.code === 200) {
this.msgSuccess("新增成功");

11
jwtech-admin-page/src/views/project/proposal/index.vue

@ -706,7 +706,7 @@ export default {
],
projectName: [
{ required: true, message: "请输入项目名称", trigger: "blur" },
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
projectInvestmentEstimate: [
{ required: true, message: "请输入投资概算", trigger: "blur" },
@ -720,19 +720,17 @@ export default {
],
projectCode: [
{ required: true, message: "请输入项目编码", trigger: "blur" },
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
approvalOpinion: [
{ required: true, message: "请输入批复意见", trigger: "blur" },
{max:250,message:"字符长度最大为250",trigger:"blur"}
{ max: 250, message: "字符长度最大为250", trigger: "blur" },
],
projectType: [
{ required: true, message: "请选择规划类型", trigger: "blur" },
],
adcd: [{ required: true, message: "请选择行政区划", trigger: "blur" }],
content: [
{max:250,message:"字符长度最大为250",trigger:"blur"}
],
content: [{ max: 250, message: "字符长度最大为250", trigger: "blur" }],
},
//
routeList: [
@ -750,6 +748,7 @@ export default {
data: {
projectName: null,
projectType: null,
getList: 1,
},
//
params: {

Loading…
Cancel
Save