Browse Source

前期项目字段校验

dev_kxc
xzt 1 year ago
parent
commit
d60aef7a23
  1. 2
      jwtech-admin-page/src/views/build/ eval/index.vue
  2. 26
      jwtech-admin-page/src/views/building/contract/options/acceptancePage.vue
  3. 13
      jwtech-admin-page/src/views/building/contract/options/alterPage.vue
  4. 381
      jwtech-admin-page/src/views/building/contract/options/evaluatePage.vue
  5. 6
      jwtech-admin-page/src/views/building/contract/options/examinePage.vue
  6. 456
      jwtech-admin-page/src/views/building/contract/options/honourAnAgreementPage.vue
  7. 20
      jwtech-admin-page/src/views/building/contract/options/subcontractPage.vue
  8. 9
      jwtech-admin-page/src/views/building/firmInfo/index.vue
  9. 1344
      jwtech-admin-page/src/views/building/projectInfo/index copy.vue
  10. 148
      jwtech-admin-page/src/views/building/projectInfo/index.vue
  11. 3
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/baseMsg.vue
  12. 143
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/index.vue
  13. 2
      jwtech-admin-page/src/views/project/bid/index.vue
  14. 6
      jwtech-admin-page/src/views/project/bid/options/PreQualificationPage.vue
  15. 8
      jwtech-admin-page/src/views/project/bid/options/TenderAnnouncementPage.vue
  16. 8
      jwtech-admin-page/src/views/project/bid/options/bidBasePage.vue
  17. 8
      jwtech-admin-page/src/views/project/bid/options/candidatePage.vue
  18. 12
      jwtech-admin-page/src/views/project/bid/options/index.vue
  19. 8
      jwtech-admin-page/src/views/project/bid/options/winningResultPage.vue
  20. 20
      jwtech-admin-page/src/views/project/plan/index.vue
  21. 121
      jwtech-admin-page/src/views/project/plan/options/ApprovalPage.vue
  22. 117
      jwtech-admin-page/src/views/project/plan/options/EvaluationPage.vue
  23. 61
      jwtech-admin-page/src/views/project/plan/options/ImplementationPage.vue
  24. 41
      jwtech-admin-page/src/views/project/plan/options/SubmitApprovalPage.vue
  25. 13
      jwtech-admin-page/src/views/project/plan/options/index.vue
  26. 179
      jwtech-admin-page/src/views/project/plan/options/planBasePage.vue
  27. 19
      jwtech-admin-page/src/views/project/preDesign/index.vue
  28. 54
      jwtech-admin-page/src/views/project/proposal/index.vue
  29. 8
      jwtech-admin-page/src/views/project/report/index.vue
  30. 39
      jwtech-admin-page/src/views/project/special/index.vue
  31. 36
      jwtech-admin-page/src/views/project/special/options/ContractPage.vue
  32. 296
      jwtech-admin-page/src/views/project/special/options/ImplementationPage.vue
  33. 67
      jwtech-admin-page/src/views/project/special/options/basePage.vue
  34. 28
      jwtech-admin-page/src/views/project/special/options/documentPage.vue
  35. 41
      jwtech-admin-page/src/views/project/special/options/resultsPage.vue
  36. 57
      jwtech-admin-page/src/views/project/special/options/taskPage.vue

2
jwtech-admin-page/src/views/build/ eval/index.vue

@ -333,7 +333,7 @@ import {
} from "@/api/build/eval";
export default {
name: " eval",
name: "eval",
data() {
return {
//

26
jwtech-admin-page/src/views/building/contract/options/acceptancePage.vue

@ -111,8 +111,14 @@
:data="accList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="序号" type="index" width="50" align="center" />
<el-table-column type="selection" width="55" align="center" fixed />
<el-table-column
label="序号"
type="index"
width="50"
align="center"
fixed
/>
<el-table-column
label="验收时间"
@ -146,7 +152,8 @@
label="操作"
align="center"
class-name="small-padding fixed-width"
min-width="180"
width="180"
fixed="right"
>
<template slot-scope="scope">
<el-button
@ -234,13 +241,13 @@
append-to-body
@close="closeView"
>
<!-- 分包合同信息 -->
<div class="infoTitle">分包合同信息</div>
<!-- 合同验收 -->
<div class="infoTitle">合同验收</div>
<div class="draLine"></div>
<div class="content">
<el-descriptions
class="margin-top"
:column="2"
:column="1"
border
:labelStyle="{
'text-align': 'left',
@ -323,6 +330,13 @@ export default {
updateTime: null,
owerDept: null,
},
//
params: {
//
orderBy: "create_time",
// descasc
sort: "desc",
},
},
//
form: {},

13
jwtech-admin-page/src/views/building/contract/options/alterPage.vue

@ -256,13 +256,13 @@
append-to-body
@close="closeView"
>
<!-- 分包合同信息 -->
<div class="infoTitle">分包合同信息</div>
<!-- 合同变更信息 -->
<div class="infoTitle">合同变更信息</div>
<div class="draLine"></div>
<div class="content">
<el-descriptions
class="margin-top"
:column="2"
:column="1"
border
:labelStyle="{
'text-align': 'left',
@ -365,6 +365,13 @@ export default {
updateTime: null,
owerDept: null,
},
//
params: {
//
orderBy: "create_time",
// descasc
sort: "desc",
},
},
//
form: {},

381
jwtech-admin-page/src/views/building/contract/options/evaluatePage.vue

@ -8,51 +8,6 @@
v-show="showSearch"
label-width="68px"
>
<el-form-item label="合同编号" prop="contractNumber">
<el-input
v-model="queryParams.data.contractNumber"
placeholder="请输入合同编号"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="问题序号" prop="questionNumber">
<el-input
v-model="queryParams.data.questionNumber"
placeholder="请输入问题序号"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="问题概述" prop="problemSummary">
<el-input
v-model="queryParams.data.problemSummary"
placeholder="请输入问题概述"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="问题内容" prop="questionContent">
<el-input
v-model="queryParams.data.questionContent"
placeholder="请输入问题内容"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="分值" prop="score">
<el-input
v-model="queryParams.data.score"
placeholder="请输入分值"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="问题分类" prop="questionClassification">
<el-input
v-model="queryParams.data.questionClassification"
@ -60,103 +15,23 @@
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="扣分值" prop="deductionValue">
<el-input
v-model="queryParams.data.deductionValue"
placeholder="请输入扣分值"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="总分" prop="totalScore">
<el-input
v-model="queryParams.data.totalScore"
placeholder="请输入总分"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="项目编码" prop="proCode">
<el-input
v-model="queryParams.data.proCode"
placeholder="请输入项目编码"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="PRO_NO" prop="proNo">
<el-input
v-model="queryParams.data.proNo"
placeholder="请输入PRO_NO"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建人" prop="createUid">
<el-input
v-model="queryParams.data.createUid"
placeholder="请输入创建人"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
<el-date-picker
clearable
size="small"
style="width: 200px"
v-model="queryParams.createTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择创建时间"
>
</el-date-picker>
</el-form-item>
<el-form-item label="更新人" prop="updateUid">
<el-input
v-model="queryParams.data.updateUid"
placeholder="请输入更新人"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="更新人" prop="updateTime">
<el-date-picker
clearable
size="small"
style="width: 200px"
v-model="queryParams.updateTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择更新人"
>
</el-date-picker>
</el-form-item>
<el-form-item label="数源部门" prop="owerDept">
<el-input
v-model="queryParams.data.owerDept"
placeholder="请输入数源部门"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
><el-button
type="primary"
slot="append"
icon="el-icon-search"
size="small"
@click="handleQuery"
></el-button>
</el-input>
</el-form-item>
<el-form-item>
<el-button
<!-- <el-button
type="cyan"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
> -->
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
@ -196,16 +71,6 @@
>删除</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['build:issues:export']"
>导出</el-button
>
</el-col>
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
@ -217,52 +82,71 @@
:data="issuesList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="序号" type="index" width="50" align="center" />
<el-table-column label="合同编号" align="center" prop="contractNumber" />
<el-table-column label="问题序号" align="center" prop="questionNumber" />
<el-table-column label="问题概述" align="center" prop="problemSummary" />
<el-table-column label="问题内容" align="center" prop="questionContent" />
<el-table-column label="分值" align="center" prop="score" />
<el-table-column type="selection" width="55" align="center" fixed />
<el-table-column
label="序号"
type="index"
width="50"
align="center"
fixed
/>
<el-table-column
label="问题序号"
align="center"
prop="questionNumber"
min-width="120"
/>
<el-table-column
label="问题概述"
align="center"
prop="problemSummary"
min-width="120"
/>
<el-table-column
label="问题内容"
align="center"
prop="questionContent"
min-width="120"
/>
<el-table-column
label="分值"
align="center"
prop="score"
min-width="120"
/>
<el-table-column
label="问题分类"
align="center"
prop="questionClassification"
min-width="120"
/>
<el-table-column label="扣分值" align="center" prop="deductionValue" />
<el-table-column label="总分" align="center" prop="totalScore" />
<el-table-column label="项目编码" align="center" prop="proCode" />
<el-table-column label="PRO_NO" align="center" prop="proNo" />
<el-table-column label="创建人" align="center" prop="createUid" />
<el-table-column
label="创建时间"
label="扣分值"
align="center"
prop="createTime"
width="180"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<el-table-column label="更新人" align="center" prop="updateUid" />
prop="deductionValue"
min-width="120"
/>
<el-table-column
label="更新人"
label="总分"
align="center"
prop="updateTime"
width="180"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.updateTime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<el-table-column label="数源部门" align="center" prop="owerDept" />
prop="totalScore"
min-width="120"
/>
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
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"
@ -292,14 +176,13 @@
/>
<!-- 添加或修改合同评价问题对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-dialog
:title="title"
:visible.sync="open"
width="1200px"
append-to-body
>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="合同编号" prop="contractNumber">
<el-input
v-model="form.contractNumber"
placeholder="请输入合同编号"
/>
</el-form-item>
<el-form-item label="问题序号" prop="questionNumber">
<el-input
v-model="form.questionNumber"
@ -333,27 +216,67 @@
<el-form-item label="总分" prop="totalScore">
<el-input v-model="form.totalScore" placeholder="请输入总分" />
</el-form-item>
<el-form-item label="项目编码" prop="proCode">
<el-input v-model="form.proCode" placeholder="请输入项目编码" />
</el-form-item>
<el-form-item label="PRO_NO" prop="proNo">
<el-input v-model="form.proNo" placeholder="请输入PRO_NO" />
</el-form-item>
<el-form-item label="创建人" prop="createUid">
<el-input v-model="form.createUid" placeholder="请输入创建人" />
</el-form-item>
<el-form-item label="更新人" prop="updateUid">
<el-input v-model="form.updateUid" placeholder="请输入更新人" />
</el-form-item>
<el-form-item label="数源部门" prop="owerDept">
<el-input v-model="form.owerDept" placeholder="请输入数源部门" />
</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>
<!--查看 -->
<el-dialog
:title="viewTitle"
:visible.sync="viewOpen"
width="1200px"
append-to-body
@close="closeView"
>
<!-- 合同评价问题 -->
<div class="infoTitle">合同评价问题</div>
<div class="draLine"></div>
<div class="content">
<el-descriptions
class="margin-top"
:column="1"
border
:labelStyle="{
'text-align': 'left',
width: '180px',
height: '50px',
}"
:contentStyle="{}"
>
<el-descriptions-item>
<template slot="label"> 问题序号 </template>
{{ this.evaluateMsg.questionNumber }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 问题概述 </template>
{{ this.evaluateMsg.problemSummary }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 问题内容 </template>
{{ this.evaluateMsg.questionContent }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 分值 </template>
{{ this.evaluateMsg.score }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 问题分类 </template>
{{ this.evaluateMsg.questionClassification }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 扣分值 </template>
{{ this.evaluateMsg.deductionValue }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 总分 </template>
{{ this.evaluateMsg.totalScore }}
</el-descriptions-item>
</el-descriptions>
</div>
</el-dialog>
</div>
</template>
@ -387,8 +310,10 @@ export default {
issuesList: [],
//
title: "",
viewTitle: "",
//
open: false,
viewOpen: false,
//
queryParams: {
pageNum: 1,
@ -411,11 +336,19 @@ export default {
updateTime: null,
owerDept: null,
},
//
params: {
//
orderBy: "create_time",
// descasc
sort: "desc",
},
},
//
form: {},
//
rules: {},
evaluateMsg: {},
};
},
created() {
@ -516,6 +449,17 @@ export default {
this.title = "修改合同评价问题";
});
},
//
viewInfo(row) {
this.viewTitle = "查看同评价问题";
this.evaluateMsg = row;
console.log("evaluateMsg", row);
this.viewOpen = true;
},
//
closeView() {
this.evaluateMsg = {};
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate((valid) => {
@ -564,3 +508,44 @@ export default {
},
};
</script>
<style lang="scss" scoped>
::v-deep {
.el-dialog {
// margin-top: 2vh !important;
height: 600px;
overflow-y: auto;
.content {
display: flex;
flex-direction: column;
align-items: center;
.margin-top {
width: 95%;
border-left: 1px solid #f0f0f0;
border-right: 1px solid #f0f0f0;
}
}
}
.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 {
color: #000;
font-size: 20px;
font-weight: 700;
}
</style>

6
jwtech-admin-page/src/views/building/contract/options/examinePage.vue

@ -247,13 +247,13 @@
append-to-body
@close="closeView"
>
<!-- 分包合同信息 -->
<div class="infoTitle">分包合同信息</div>
<!-- 合同审批信息 -->
<div class="infoTitle">合同审批信息</div>
<div class="draLine"></div>
<div class="content">
<el-descriptions
class="margin-top"
:column="2"
:column="1"
border
:labelStyle="{
'text-align': 'left',

456
jwtech-admin-page/src/views/building/contract/options/honourAnAgreementPage.vue

@ -8,25 +8,27 @@
v-show="showSearch"
label-width="68px"
>
<el-form-item label="阶段性交付成果" prop="phasedPaymentResults">
<el-form-item
label="阶段性交付成果"
prop="phasedPaymentResults"
label-width="110px"
>
<el-input
v-model="queryParams.data.phasedPaymentResults"
placeholder="请输入阶段性交付成果"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="合同编号" prop="contractNumber">
<el-input
v-model="queryParams.data.contractNumber"
placeholder="请输入合同编号"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
><el-button
type="primary"
slot="append"
icon="el-icon-search"
size="small"
@click="handleQuery"
></el-button>
</el-input>
</el-form-item>
<el-form-item label="评价描述" prop="evaluationDescription">
<!-- <el-form-item label="评价描述" prop="evaluationDescription">
<el-input
v-model="queryParams.data.evaluationDescription"
placeholder="请输入评价描述"
@ -34,8 +36,12 @@
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="当前季度评价状态" prop="evaluationStatus">
</el-form-item> -->
<el-form-item
label="当前季度评价状态"
prop="evaluationStatus"
label-width="124px"
>
<el-select
v-model="queryParams.data.evaluationStatus"
placeholder="请选择当前季度评价状态"
@ -45,83 +51,8 @@
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item label="项目编码" prop="proCode">
<el-input
v-model="queryParams.data.proCode"
placeholder="请输入项目编码"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="项目编号" prop="proNo">
<el-input
v-model="queryParams.data.proNo"
placeholder="请输入项目编号"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建人" prop="createUid">
<el-input
v-model="queryParams.data.createUid"
placeholder="请输入创建人"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
<el-date-picker
clearable
size="small"
style="width: 200px"
v-model="queryParams.createTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择创建时间"
>
</el-date-picker>
</el-form-item>
<el-form-item label="UPDATE_UID" prop="updateUid">
<el-input
v-model="queryParams.data.updateUid"
placeholder="请输入UPDATE_UID"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="UPDATE_UID" prop="updateTime">
<el-date-picker
clearable
size="small"
style="width: 200px"
v-model="queryParams.updateTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择UPDATE_UID"
>
</el-date-picker>
</el-form-item>
<el-form-item label="数源部门" prop="owerDept">
<el-input
v-model="queryParams.data.owerDept"
placeholder="请输入数源部门"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
type="cyan"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
@ -161,16 +92,6 @@
>删除</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['build: eval:export']"
>导出</el-button
>
</el-col>
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
@ -182,61 +103,59 @@
:data="evalList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="序号" type="index" width="50" align="center" />
<el-table-column type="selection" width="55" align="center" fixed />
<el-table-column
label="序号"
type="index"
width="50"
align="center"
fixed
/>
<el-table-column
label="阶段性交付成果"
align="center"
prop="phasedPaymentResults"
min-width="150"
/>
<el-table-column
label="交付成果附件"
align="center"
prop="deliverablesAttachment"
/>
<el-table-column label="合同编号" align="center" prop="contractNumber" />
<el-table-column
label="评价描述"
align="center"
prop="evaluationDescription"
/>
<el-table-column
label="当前季度评价状态"
align="center"
prop="evaluationStatus"
/>
<el-table-column label="项目编码" align="center" prop="proCode" />
<el-table-column label="项目编号" align="center" prop="proNo" />
<el-table-column label="创建人" align="center" prop="createUid" />
<el-table-column
label="创建时间"
align="center"
prop="createTime"
width="180"
min-width="150"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<el-table-column label="UPDATE_UID" align="center" prop="updateUid" />
<el-table-column
label="UPDATE_UID"
align="center"
prop="updateTime"
width="180"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.updateTime, "{y}-{m}-{d}") }}</span>
<div
v-for="(item, index) in JSON.parse(
scope.row.deliverablesAttachment
)"
:key="item + index"
>
<i class="el-icon-document"></i>
{{ item.name }}
<i
class="el-icon-download"
@click="downloadFile(scope, index)"
style="cursor: pointer"
></i>
</div>
</template>
</el-table-column>
<el-table-column label="数源部门" align="center" prop="owerDept" />
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
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"
@ -266,8 +185,13 @@
/>
<!-- 添加或修改合同履约评价对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-dialog
:title="title"
:visible.sync="open"
width="1200px"
append-to-body
>
<el-form ref="form" :model="form" :rules="rules" label-width="130px">
<el-form-item label="阶段性交付成果" prop="phasedPaymentResults">
<el-input
v-model="form.phasedPaymentResults"
@ -275,17 +199,31 @@
/>
</el-form-item>
<el-form-item label="交付成果附件" prop="deliverablesAttachment">
<el-input
<!-- <el-input
v-model="form.deliverablesAttachment"
type="textarea"
placeholder="请输入内容"
/>
</el-form-item>
<el-form-item label="合同编号" prop="contractNumber">
<el-input
v-model="form.contractNumber"
placeholder="请输入合同编号"
/>
/> -->
<el-upload
class="upload-demo"
action="thinking/common/upload"
:headers="headers"
:on-preview="handlePreview"
:on-remove="handleRemove"
:before-remove="beforeRemove"
multiple
:on-exceed="handleExceed"
:on-success="submitUpload"
:file-list="honourFileList"
>
<el-button size="small" type="primary" plain>
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
<div slot="tip" class="el-upload__tip">
支持jpg/png/pdf/word/excel文件等不超过100M
</div>
</el-upload>
</el-form-item>
<el-form-item label="评价描述" prop="evaluationDescription">
<el-input
@ -298,27 +236,69 @@
<el-radio label="1">请选择字典生成</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="项目编码" prop="proCode">
<el-input v-model="form.proCode" placeholder="请输入项目编码" />
</el-form-item>
<el-form-item label="项目编号" prop="proNo">
<el-input v-model="form.proNo" placeholder="请输入项目编号" />
</el-form-item>
<el-form-item label="创建人" prop="createUid">
<el-input v-model="form.createUid" placeholder="请输入创建人" />
</el-form-item>
<el-form-item label="UPDATE_UID" prop="updateUid">
<el-input v-model="form.updateUid" placeholder="请输入UPDATE_UID" />
</el-form-item>
<el-form-item label="数源部门" prop="owerDept">
<el-input v-model="form.owerDept" placeholder="请输入数源部门" />
</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>
<!--查看 -->
<el-dialog
:title="viewTitle"
:visible.sync="viewOpen"
width="1200px"
append-to-body
@close="closeView"
>
<!-- 合同履约评价表 -->
<div class="infoTitle">合同履约评价表</div>
<div class="draLine"></div>
<div class="content">
<el-descriptions
class="margin-top"
:column="1"
border
:labelStyle="{
'text-align': 'left',
width: '180px',
height: '50px',
}"
:contentStyle="{}"
>
<el-descriptions-item>
<template slot="label"> 阶段性交付成果 </template>
{{ this.honourMsg.phasedPaymentResults }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 交付成果附件 </template>
<template v-if="this.honourMsg.deliverablesAttachment">
<div
v-for="(item, index) in JSON.parse(
this.honourMsg.deliverablesAttachment
)"
:key="item + index"
>
{{ item.name }}
<i
class="el-icon-download"
@click="downloadFile2(item, index)"
style="cursor: pointer"
></i>
</div>
</template>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 评价描述 </template>
{{ this.honourMsg.evaluationDescription }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 当前季度评价状态 </template>
{{ this.honourMsg.evaluationStatus }}
</el-descriptions-item>
</el-descriptions>
</div>
</el-dialog>
</div>
</template>
@ -331,9 +311,11 @@ import {
updateeval,
exporteval,
} from "@/api/build/eval";
import { getToken } from "@/utils/auth";
import { getFileStream } from "@/api/system/upload";
export default {
name: " eval",
name: "eval",
data() {
return {
//
@ -352,8 +334,10 @@ export default {
evalList: [],
//
title: "",
viewTitle: "",
//
open: false,
viewOpen: false,
//
queryParams: {
pageNum: 1,
@ -373,11 +357,24 @@ export default {
updateTime: null,
owerDept: null,
},
//
params: {
//
orderBy: "create_time",
// descasc
sort: "desc",
},
},
//
form: {},
//
rules: {},
honourMsg: {},
honourFileList: [],
//
headers: {
jianwei: "jwtech " + getToken(),
},
};
},
created() {
@ -468,13 +465,32 @@ export default {
const id = row.id || this.ids;
geteval(id).then((response) => {
this.form = response.data;
//
if (response.data.deliverablesAttachment) {
this.honourFileList = JSON.parse(
response.data.deliverablesAttachment
);
}
this.open = true;
this.title = "修改合同履约评价";
});
},
//
viewInfo(row) {
this.viewTitle = "查看合同履约评价";
this.honourMsg = row;
console.log("honourMsg", row);
this.viewOpen = true;
},
//
closeView() {
this.honourMsg = {};
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate((valid) => {
//
this.form.deliverablesAttachment = JSON.stringify(this.honourFileList);
if (valid) {
if (this.form.id != null) {
updateeval(this.form).then((response) => {
@ -517,28 +533,104 @@ export default {
this.$message.warning("请选择要删除的数据!!");
}
},
/** 导出按钮操作 */
handleExport() {
const queryParams = this.queryParams;
let message = "是否确认导出所有的数据项?";
if (this.ids) {
message = "是否确认导出选中的数据项?";
queryParams.ids = this.ids;
}
this.$confirm(message, "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(function () {
return exporteval(queryParams);
})
.then((response) => {
this.downloadFile(response, true, response.msg);
// this.download(response.msg);
})
.catch(function () {});
submitUpload(_, fileList) {
console.log("fileList", fileList);
this.honourFileList.push({
name: fileList.name,
fileName: fileList.response.fileName,
url: fileList.response.url,
uid: fileList.uid,
});
},
handleRemove(file, fileList) {
// console.log(file, fileList);
let index = this.honourFileList.findIndex(
(item) => item.uid === file.uid
);
//
this.honourFileList.splice(index, 1);
},
//
downloadFile(scope, index) {
console.log(scope);
let file = JSON.parse(scope.row.deliverablesAttachment)[index];
this.handlePreview(file);
},
// ,
downloadFile2(info, index) {
console.log(info);
this.handlePreview(info);
},
//
handlePreview(file) {
// console.log(file);
getFileStream({ fileName: file.fileName }).then((res) => {
const blob = new Blob([res], {
// type
// application/xlsx application/zip
type: "application/xlsx",
}); //excel,pdf
const href = URL.createObjectURL(blob); //URLblob
const a = document.createElement("a"); //a
a.style.display = "none";
a.href = href; //
a.download = file.name; //
a.click(); //
URL.revokeObjectURL(a.href); //URL
});
},
handleExceed(files, fileList) {
this.$message.warning(
`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${
files.length + fileList.length
} 个文件`
);
},
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${file.name}`);
},
},
};
</script>
<style lang="scss" scoped>
::v-deep {
.el-dialog {
// margin-top: 2vh !important;
height: 550px;
overflow-y: auto;
.content {
display: flex;
flex-direction: column;
align-items: center;
.margin-top {
width: 95%;
border-left: 1px solid #f0f0f0;
border-right: 1px solid #f0f0f0;
}
}
}
.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 {
color: #000;
font-size: 20px;
font-weight: 700;
}
</style>

20
jwtech-admin-page/src/views/building/contract/options/subcontractPage.vue

@ -206,7 +206,7 @@
>
<el-row>
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
<el-col :span="12">
<el-col :span="24">
<el-form-item label="分包约定" prop="subcontractingAgreement">
<el-input
v-model="form.subcontractingAgreement"
@ -214,7 +214,7 @@
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="24">
<el-form-item label="分包合同名称" prop="subcontractName">
<el-input
v-model="form.subcontractName"
@ -222,7 +222,7 @@
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="24">
<el-form-item label="分包类型" prop="subcontractingType">
<el-select
v-model="form.subcontractingType"
@ -233,7 +233,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="24">
<el-form-item label="分包金额" prop="subcontractingAmount">
<el-input
v-model="form.subcontractingAmount"
@ -243,7 +243,7 @@
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="24">
<el-form-item label="承包公司" prop="contractingCompany">
<el-input
v-model="form.contractingCompany"
@ -251,7 +251,7 @@
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="24">
<el-form-item label="分包时间" prop="subcontractingTime">
<!-- <el-input
v-model="form.subcontractingTime"
@ -269,12 +269,12 @@
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="24">
<el-form-item label="工作内容" prop="work">
<el-input v-model="form.work" placeholder="请输入工作内容" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="24">
<el-form-item label="工作内容详情" prop="jobDetails">
<el-input
v-model="form.jobDetails"
@ -304,7 +304,7 @@
<div class="content">
<el-descriptions
class="margin-top"
:column="2"
:column="1"
border
:labelStyle="{
'text-align': 'left',
@ -604,7 +604,7 @@ export default {
::v-deep {
.el-dialog {
// margin-top: 2vh !important;
height: 420px;
height: 700px;
overflow-y: auto;
.content {
display: flex;

9
jwtech-admin-page/src/views/building/firmInfo/index.vue

@ -293,7 +293,12 @@
/>
<!-- 添加或修改企业信息管理对话框 -->
<el-dialog :title="title" :visible.sync="open" width="90%" append-to-body>
<el-dialog
:title="title"
:visible.sync="open"
width="1200px"
append-to-body
>
<el-row :gutter="15">
<el-form ref="form" :model="form" :rules="rules" label-width="150px">
<el-col :span="12">
@ -482,7 +487,7 @@
<el-dialog
:title="viewTitle"
:visible.sync="viewOpen"
width="90%"
width="1200px"
append-to-body
@close="closeView"
>

1344
jwtech-admin-page/src/views/building/projectInfo/index copy.vue

File diff suppressed because it is too large

148
jwtech-admin-page/src/views/building/projectInfo/index.vue

@ -100,7 +100,6 @@
label="项目名称"
align="center"
prop="projectName"
:formatter="projectNameFormat"
min-width="120"
/>
<el-table-column
@ -272,7 +271,7 @@
>
<el-row :gutter="15">
<el-form ref="form" :model="form" :rules="rules" label-width="180px">
<el-col :span="12">
<el-col :span="24">
<el-form-item label="项目名称" prop="projectName">
<!-- <el-input
v-model="form.projectName"
@ -320,6 +319,58 @@
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="项目类型" prop="projectType">
<div style="margin-bottom: 10px">
<el-radio v-model="radio" label="zd" @input="changeisMajor()"
>重大项目</el-radio
>
<el-radio v-model="radio" label="ms" @input="changeisMajor()"
>面上项目</el-radio
>
</div>
<div>
<el-radio
v-model="form.projectType"
v-for="dict in radio == 'zd'
? zd_projectTypeOptions
: ms_projectTypeOptions"
:label="dict.dictValue"
:key="dict.dictLabel + dict.id"
>
{{ dict.dictLabel }}
</el-radio>
</div>
<!-- <el-select
v-model="form.projectType"
placeholder="请选择项目类型"
style="width: 100%"
>
<div style="margin-bottom: 10px">
<el-radio v-model="radio" label="zd">重大项目</el-radio>
<el-radio v-model="radio" label="ms">面上项目</el-radio>
</div>
重大项目选项
<template v-if="radio == 'zd'">
<el-option
v-for="dict in zd_projectTypeOptions"
:key="dict.dictLabel + dict.id"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</template>
面上项目选项
<template v-if="radio == 'ms'">
<el-option
v-for="dict in ms_projectTypeOptions"
:key="dict.dictLabel + dict.id"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</template>
</el-select> -->
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="单位负责人电话" prop="projectLegalPhone">
<el-input
@ -469,38 +520,7 @@
<el-input v-model="form.basin" placeholder="请输入所属流域" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="项目类型" prop="projectType">
<el-select
v-model="form.projectType"
placeholder="请选择项目类型"
style="width: 100%"
>
<div style="margin-bottom: 10px">
<el-radio v-model="radio" label="zd">重大项目</el-radio>
<el-radio v-model="radio" label="ms">面上项目</el-radio>
</div>
<!-- 重大项目选项 -->
<template v-if="radio == 'zd'">
<el-option
v-for="dict in zd_projectTypeOptions"
:key="dict.dictLabel + dict.id"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</template>
<!-- 面上项目选项 -->
<template v-if="radio == 'ms'">
<el-option
v-for="dict in ms_projectTypeOptions"
:key="dict.dictLabel + dict.id"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</template>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="中央资金" prop="centralArrangedFunds">
<el-input
@ -645,7 +665,7 @@
<el-dialog
:title="viewTitle"
:visible.sync="viewOpen"
width="90%"
width="1200px"
append-to-body
@close="closeView"
>
@ -885,6 +905,7 @@ export default {
},
//
form: {},
copyForm: {},
//
rules: {
projectLegalPerson: [
@ -952,6 +973,14 @@ export default {
});
},
methods: {
//
changeisMajor() {
if (this.radio == this.copyForm.isMajor) {
this.form.projectType = this.copyForm.projectType;
} else {
this.form.projectType = "";
}
},
//
engineeringGradeFormat(row, column) {
return this.selectDictLabel(
@ -1173,21 +1202,39 @@ export default {
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids;
getInfo(id).then((response) => {
this.form = response.data;
if (this.form)
listProposal(this.queryParams).then((response) => {
this.projectNameOptions = response.records;
});
//
this.radio = this.form.isMajor;
this.form.projectName =
this.form.projectName + "[" + this.form.proCode + "]";
this.open = true;
this.title = "修改项目基本信息管理";
// const id = row.id || this.ids;
this.routeList[0].routeName = row.projectName;
this.routeList.push({
path: "/building/projectInfo/projectProcess",
routeName: row.proCode,
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: "/building/projectInfo/projectProcess?baseDataId=" + row.id,
});
// this.reset();
// const id = row.id || this.ids;
// getInfo(id).then((response) => {
// this.form = response.data;
// if (this.form)
// listProposal(this.queryParams).then((response) => {
// this.projectNameOptions = response.records;
// });
// //
// this.radio = this.form.isMajor;
// this.form.projectName =
// this.form.projectName + "[" + this.form.proCode + "]";
// this.copyForm = { ...this.form };
// this.open = true;
// this.title = "";
// });
},
/** 提交按钮 */
submitForm() {
@ -1209,6 +1256,7 @@ export default {
this.form.projectName.indexOf("[")
);
}
console.log(this.form);
// console.log("this.form.isMajor", this.form.isMajor);
if (this.form.id != null) {
updateInfo(this.form).then((response) => {
@ -1280,7 +1328,7 @@ export default {
::v-deep {
.el-dialog {
margin-top: 2vh !important;
height: 95%;
height: 1200px;
overflow-y: auto;
.content {
display: flex;

3
jwtech-admin-page/src/views/building/projectInfo/projectProcess/baseMsg.vue

@ -0,0 +1,3 @@
<template>
<div>666</div>
</template>

143
jwtech-admin-page/src/views/building/projectInfo/projectProcess/index.vue

@ -0,0 +1,143 @@
<template>
<div class="app-container">
<!-- 面包屑 -->
<el-breadcrumb separator="/" style="margin-bottom: 20px">
<el-breadcrumb-item
v-for="(item, index) in routeList"
:key="item + index"
:to="routeList.length !== index + 1 ? { path: item.path } : undefined"
>{{ item.routeName }}</el-breadcrumb-item
>
</el-breadcrumb>
<!-- <el-breadcrumb separator="/" style="margin-bottom: 20px">
<el-breadcrumb-item
v-for="(item, index) in routeList"
:key="item + index"
>{{ item.routeName }}</el-breadcrumb-item
>
</el-breadcrumb> -->
<el-page-header
@back="goBack"
:content="routeList[0].routeName"
style="margin-bottom: 15px"
>
</el-page-header>
<el-tabs
v-model="activeName"
@tab-click="handleClick"
style="height: 750px; margin-bottom: 20px"
>
<el-tab-pane label="项目基本信息" name="bidBasePage">
<baseMsg
:proNo="formData.proNo"
:formData="formData"
ref="bidBasePage"
/>
</el-tab-pane>
<el-tab-pane
label="资格预审公告"
name="PreQualificationPage"
:disabled="!routeList[1].isEdit"
>
111
<!-- <PreQualificationPage :proNo="formData.proNo" /> -->
</el-tab-pane>
<el-tab-pane
label="招标公告"
name="TenderAnnouncementPage"
:disabled="!routeList[1].isEdit"
>
22
<!-- <TenderAnnouncementPage
:proNo="formData.proNo"
:projectName="formData.projectName"
/> -->
</el-tab-pane>
<el-tab-pane
label="中标候选人公示"
name="candidatePage"
:disabled="!routeList[1].isEdit"
>
333
<!-- <candidatePage :proNo="formData.proNo" /> -->
</el-tab-pane>
<el-tab-pane
label="中标结果"
name="winningResultPage"
:disabled="!routeList[1].isEdit"
>
<!-- <winningResultPage :proNo="formData.proNo" /> -->
444
</el-tab-pane>
</el-tabs>
</div>
</template>
<script>
import baseMsg from "./baseMsg.vue";
import {
listInfo,
getInfo,
delInfo,
addInfo,
updateInfo,
exportInfo,
} from "@/api/build/projectInfo";
import { getProjectinfo } from "@/api/earlyStage/projectinfo";
export default {
components: {
baseMsg,
},
data() {
return {
activeName: "bidBasePage",
routeList: [],
formData: {},
//
isConsolidatedBiddingOptions: [],
//
queryParams: {
pageNum: 1,
pageSize: 10,
ids: null,
data: {
isConsolidatedBidding: null,
bidPlanName: null,
},
//
params: {
//
orderBy: "create_time",
// descasc
sort: "desc",
},
},
};
},
created() {
this.routeList = JSON.parse(this.$store.state.basePageData.routeList);
this.getList();
},
methods: {
/** 查询专题项目前期背景信息列表 */
getList() {
getInfo(this.$route.query.baseDataId).then((response) => {
this.formData = response.data;
// console.log(this.formData);
// listBidInfo(this.queryParams).then((response) => {
// console.log(response);
// // this.formData = response.records[0];
// });
});
},
//
// handleClick(tab, event) {
// this.routeList[1].routeName = tab.label;
// },
goBack() {
this.$router.back();
},
},
};
</script>

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

@ -304,7 +304,7 @@ export default {
getProjectinfo(id).then((response) => {
this.routeList.push({
path: "/project/bid/options",
routeName: "招标基本信息",
routeName: "招标计划",
isEdit: true,
});

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

@ -143,7 +143,7 @@
<span>{{ parseTime(scope.row.reportTime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<el-table-column
<!-- <el-table-column
label="公告内容附件"
align="center"
prop="noticeAtttachment"
@ -163,7 +163,7 @@
></i>
</div>
</template>
</el-table-column>
</el-table-column> -->
<el-table-column
label="操作"
align="center"
@ -214,6 +214,7 @@
width="1200px"
append-to-body
@close="close"
:close-on-click-modal="false"
>
<el-form ref="form" :model="form" :rules="rules" label-width="180px">
<el-form-item label="招标项目名称" prop="bidProjectName">
@ -301,6 +302,7 @@
width="1200px"
append-to-body
@close="closeView"
:close-on-click-modal="false"
>
<!-- 资格预审公告信息 -->
<div class="infoTitle">资格预审公告信息</div>

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

@ -136,7 +136,7 @@
prop="fundingSourceConstitute"
min-width="150"
/>
<el-table-column
<!-- <el-table-column
label="招标范围及规模"
align="center"
prop="bidScope"
@ -333,7 +333,7 @@
></i>
</div>
</template>
</el-table-column>
</el-table-column> -->
<el-table-column
label="操作"
@ -385,6 +385,7 @@
width="1500px"
append-to-body
@close="close"
:close-on-click-modal="false"
>
<el-row :gutter="15">
<el-form ref="form" :model="form" :rules="rules" label-width="180px">
@ -788,6 +789,7 @@
width="90%"
append-to-body
@close="closeView"
:close-on-click-modal="false"
>
<!-- 招标公告信息 -->
<div class="infoTitle">招标公告信息</div>
@ -1408,7 +1410,7 @@ export default {
::v-deep {
.el-dialog {
margin-top: 2vh !important;
height: 90%;
height: 1350px;
overflow-y: auto;
.content {
display: flex;

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

@ -170,7 +170,7 @@
min-width="180"
/>
<el-table-column
<!-- <el-table-column
label="附件"
align="center"
prop="bidAttachment"
@ -190,7 +190,7 @@
></i>
</div>
</template>
</el-table-column>
</el-table-column> -->
<el-table-column
label="创建时间"
align="center"
@ -251,6 +251,7 @@
width="90%"
append-to-body
@close="close"
:close-on-click-modal="false"
>
<!-- 招标计划基本信息 -->
<el-divider content-position="left"> 招标计划基本信息 </el-divider>
@ -518,6 +519,7 @@
width="90%"
append-to-body
@close="closeView"
:close-on-click-modal="false"
>
<!-- 计划信息 -->
<div class="infoTitle">计划信息</div>
@ -1442,7 +1444,7 @@ export default {
::v-deep {
.el-dialog {
margin-top: 2vh !important;
height: 95%;
height: 1100px;
overflow-y: auto;
.content {
display: flex;

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

@ -253,6 +253,7 @@
width="90%"
append-to-body
@close="close"
:close-on-click-modal="false"
>
<!-- 公示基本信息表 -->
<el-divider content-position="left"> 公示基本信息表 </el-divider>
@ -411,14 +412,14 @@
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<!-- <el-col :span="12">
<el-form-item label="项目编码" prop="projectCode">
<el-input
v-model="publicityForm.projectCode"
placeholder="请输入项目编码"
/>
</el-form-item>
</el-col>
</el-col> -->
<el-col :span="12">
<el-form-item label="附件地址" prop="attachmentAddress">
<el-input
@ -557,6 +558,7 @@
width="90%"
append-to-body
@close="closeView"
:close-on-click-modal="false"
>
<!-- 公示基本信息表 -->
<div class="infoTitle">公示基本信息表</div>
@ -1073,7 +1075,7 @@ export default {
::v-deep {
.el-dialog {
margin-top: 2vh !important;
height: 90%;
height: 1150px;
overflow-y: auto;
.content {
display: flex;

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

@ -28,7 +28,7 @@
@tab-click="handleClick"
style="height: 750px; margin-bottom: 20px"
>
<el-tab-pane label="招标基本信息" name="bidBasePage">
<el-tab-pane label="招标计划" name="bidBasePage">
<bidBasePage
:proNo="formData.proNo"
:formData="formData"
@ -52,6 +52,13 @@
:projectName="formData.projectName"
/>
</el-tab-pane>
<el-tab-pane
label="招标文件"
name="TenderFilePage"
:disabled="!routeList[1].isEdit"
>
招标文件
</el-tab-pane>
<el-tab-pane
label="中标候选人公示"
name="candidatePage"
@ -66,6 +73,9 @@
>
<winningResultPage :proNo="formData.proNo" />
</el-tab-pane>
<el-tab-pane label="项目合同" name="con" :disabled="!routeList[1].isEdit">
项目合同
</el-tab-pane>
</el-tabs>
</div>
</template>

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

@ -233,6 +233,7 @@
:visible.sync="open"
width="1200px"
append-to-body
:close-on-click-modal="false"
>
<el-row :gutter="15">
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
@ -357,14 +358,14 @@
/>
</el-form-item>
</el-col>
<el-col :span="12">
<!-- <el-col :span="12">
<el-form-item label="项目编码" prop="projectCode">
<el-input
v-model="form.projectCode"
placeholder="请输入项目编码"
/>
</el-form-item>
</el-col>
</el-col> -->
</el-form>
</el-row>
<div slot="footer" class="dialog-footer">
@ -379,6 +380,7 @@
width="1200px"
append-to-body
@close="closeView"
:close-on-click-modal="false"
>
<!-- 计划信息 -->
<div class="infoTitle">资格预审公告信息</div>
@ -762,7 +764,7 @@ export default {
::v-deep {
.el-dialog {
// margin-top: 2vh !important;
height: 630px;
height: 550px;
overflow-y: auto;
.content {
display: flex;

20
jwtech-admin-page/src/views/project/plan/index.vue

@ -126,6 +126,18 @@
prop="planName"
min-width="150"
/>
<el-table-column
label="计划关联的项目信息"
align="center"
prop="relatedProjects"
min-width="150"
/>
<el-table-column
label="项目编号"
align="center"
prop="proNo"
min-width="180"
/>
<el-table-column
label="计划类型"
align="center"
@ -151,12 +163,7 @@
prop="content"
min-width="150"
/>
<el-table-column
label="计划关联的项目信息"
align="center"
prop="relatedProjects"
min-width="150"
/>
<el-table-column
label="创建时间"
align="center"
@ -222,6 +229,7 @@ import {
updatePlanInfo,
exportPlanInfo,
} from "@/api/earlyStage/PlanInfo";
import { listProjectinfo } from "@/api/earlyStage/projectinfo";
export default {
name: "PlanInfo",

121
jwtech-admin-page/src/views/project/plan/options/ApprovalPage.vue

@ -1,54 +1,67 @@
<template>
<div class="app-container">
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
<el-form-item label="计划的审批时间" prop="approvalTime">
<el-date-picker
clearable
size="small"
style="width: 200px"
v-model="form.approvalTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择计划的审批时间"
>
</el-date-picker>
</el-form-item>
<el-form-item label="审批人信息" prop="approvalPerson">
<el-input
v-model="form.approvalPerson"
placeholder="请输入审批人信息"
/>
</el-form-item>
<el-form-item label="审批意见" prop="approvalOpinion">
<el-input v-model="form.approvalOpinion" placeholder="请输入审批意见" />
</el-form-item>
<el-form-item label="意见附件" prop="opinionAttachment">
<!-- <el-input
<el-row :gutter="15">
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
<el-col :span="24">
<el-form-item label="计划审批时间" prop="approvalTime">
<el-date-picker
clearable
size="small"
style="width: 100%"
v-model="form.approvalTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择计划审批时间"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="审批人信息" prop="approvalPerson">
<el-input
v-model="form.approvalPerson"
placeholder="请输入审批人信息"
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="审批意见" prop="approvalOpinion">
<el-input
v-model="form.approvalOpinion"
placeholder="请输入审批意见"
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="意见附件" prop="opinionAttachment">
<!-- <el-input
v-model="form.opinionAttachment"
placeholder="请输入意见附件"
/> -->
<el-upload
class="upload-demo"
action="thinking/common/upload"
:headers="headers"
:on-preview="handlePreview"
:on-remove="handleRemove"
:before-remove="beforeRemove"
multiple
:on-exceed="handleExceed"
:on-success="submitOpinionUpload"
:file-list="opinionFileList"
>
<el-button size="small" type="primary" plain>
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
<div slot="tip" class="el-upload__tip">
支持jpg/png/pdf/word/excel文件等不超过100M
</div>
</el-upload>
</el-form-item>
</el-form>
<el-upload
class="upload-demo"
action="thinking/common/upload"
:headers="headers"
:on-preview="handlePreview"
:on-remove="handleRemove"
:before-remove="beforeRemove"
multiple
:on-exceed="handleExceed"
:on-success="submitOpinionUpload"
:file-list="opinionFileList"
>
<el-button size="small" type="primary" plain>
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
<div slot="tip" class="el-upload__tip">
支持jpg/png/pdf/word/excel文件等不超过100M
</div>
</el-upload>
</el-form-item>
</el-col>
</el-form>
</el-row>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">保存</el-button>
<el-button @click="cancel">取消</el-button>
@ -98,7 +111,21 @@ export default {
//
form: {},
//
rules: {},
rules: {
approvalTime: [
{ required: true, message: "选择计划审批时间", trigger: "blur" },
],
approvalPerson: [
{
required: true,
message: "请输入审批人信息",
trigger: "blur",
},
],
approvalOpinion: [
{ required: true, message: "请输入审批意见", trigger: "blur" },
],
},
//
opinionFileList: [],
//

117
jwtech-admin-page/src/views/project/plan/options/EvaluationPage.vue

@ -1,63 +1,78 @@
<template>
<div class="app-container">
<el-form ref="form" :model="form" :rules="rules" label-width="130px">
<el-form-item label="评价人" prop="evaluator">
<el-input v-model="form.evaluator" placeholder="请输入评价人" />
</el-form-item>
<el-form-item label="评价时间" prop="evaluationTime">
<el-date-picker
clearable
size="small"
style="width: 200px"
v-model="form.evaluationTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择评价时间"
>
</el-date-picker>
</el-form-item>
<el-form-item label="评价计划名称" prop="planName">
<el-input v-model="form.planName" placeholder="请输入评价计划名称" />
</el-form-item>
<el-form-item label="完成进度对比数据" prop="finishProgress">
<el-row>
<el-form ref="form" :model="form" :rules="rules" label-width="96px">
<el-col :span="24">
<el-form-item label="评价人" prop="evaluator">
<el-input v-model="form.evaluator" placeholder="请输入评价人" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="评价时间" prop="evaluationTime">
<el-date-picker
clearable
size="small"
style="width: 100%"
v-model="form.evaluationTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择评价时间"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="评价计划名称" prop="planName">
<el-input
v-model="form.planName"
placeholder="请输入评价计划名称"
/>
</el-form-item>
</el-col>
<!-- <el-form-item label="完成进度对比数据" prop="finishProgress">
<el-input
v-model="form.finishProgress"
placeholder="请输入完成进度对比数据"
/>
</el-form-item>
<el-form-item label="评价内容" prop="evaluationContent">
<el-input
v-model="form.evaluationContent"
placeholder="请输入评价内容"
/>
</el-form-item>
<el-form-item label="相关文件附件" prop="documentAttachment">
<!-- <el-input
</el-form-item> -->
<el-col :span="24">
<el-form-item label="评价内容" prop="evaluationContent">
<el-input
v-model="form.evaluationContent"
placeholder="请输入评价内容"
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="相关文件附件" prop="documentAttachment">
<!-- <el-input
v-model="form.documentAttachment"
placeholder="请输入相关文件附件"
/> -->
<el-upload
class="upload-demo"
action="thinking/common/upload"
:headers="headers"
:on-preview="handlePreview"
:on-remove="handleRemove"
:before-remove="beforeRemove"
multiple
:on-exceed="handleExceed"
:on-success="submitDocumentUpload"
:file-list="documentFileList"
>
<el-button size="small" type="primary" plain>
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
<div slot="tip" class="el-upload__tip">
支持jpg/png/pdf/word/excel文件等不超过100M
</div>
</el-upload>
</el-form-item>
</el-form>
<el-upload
class="upload-demo"
action="thinking/common/upload"
:headers="headers"
:on-preview="handlePreview"
:on-remove="handleRemove"
:before-remove="beforeRemove"
multiple
:on-exceed="handleExceed"
:on-success="submitDocumentUpload"
:file-list="documentFileList"
>
<el-button size="small" type="primary" plain>
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
<div slot="tip" class="el-upload__tip">
支持jpg/png/pdf/word/excel文件等不超过100M
</div>
</el-upload>
</el-form-item>
</el-col>
</el-form>
</el-row>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>

61
jwtech-admin-page/src/views/project/plan/options/ImplementationPage.vue

@ -92,7 +92,7 @@
align="center"
fixed
/>
<!--
<el-table-column
label="项目名称"
align="center"
@ -120,19 +120,19 @@
<template slot-scope="scope">
<span>{{ parseTime(scope.row.projectEndTime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
</el-table-column> -->
<el-table-column
label="项目负责人"
align="center"
prop="projectLeader"
min-width="150"
/>
<el-table-column
<!-- <el-table-column
label="项目进度安排"
align="center"
prop="projectProgressArrange"
min-width="150"
/>
/> -->
<el-table-column
label="计划名称"
align="center"
@ -149,7 +149,7 @@
<span>{{ parseTime(scope.row.planningTime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<el-table-column
<!-- <el-table-column
label="计划资金进度安排"
align="center"
prop="planningFundProgressArrange"
@ -173,7 +173,7 @@
align="center"
prop="completedPlanningUnit"
min-width="150"
/>
/> -->
<el-table-column
label="完成计划开始时间"
align="center"
@ -194,7 +194,7 @@
<span>{{ parseTime(scope.row.endTime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<el-table-column
<!-- <el-table-column
label="完成计划投资使用进度安排"
align="center"
prop="investmentProgressArrange"
@ -206,7 +206,7 @@
prop="isCompletedPlanning"
:formatter="isCompletedPlanningFormat"
min-width="150"
/>
/> -->
<el-table-column
label="操作"
@ -257,6 +257,8 @@
:visible.sync="open"
width="1200px"
append-to-body
@close="clear()"
:close-on-click-modal="false"
>
<el-row :gutter="15">
<el-form ref="form" :model="form" :rules="rules" label-width="150px">
@ -265,6 +267,7 @@
<el-input
v-model="form.projectName"
placeholder="请输入项目名称"
readonly
/>
</el-form-item>
</el-col>
@ -281,7 +284,7 @@
<el-date-picker
clearable
size="small"
style="width: 200px"
style="width: 100%"
v-model="form.projectStartTime"
type="date"
value-format="yyyy-MM-dd"
@ -295,7 +298,7 @@
<el-date-picker
clearable
size="small"
style="width: 200px"
style="width: 100%"
v-model="form.projectEndTime"
type="date"
value-format="yyyy-MM-dd"
@ -317,6 +320,7 @@
<el-input
v-model="form.planningName"
placeholder="请输入计划名称"
readonly
/>
</el-form-item>
</el-col>
@ -325,7 +329,7 @@
<el-date-picker
clearable
size="small"
style="width: 200px"
style="width: 100%"
v-model="form.planningTime"
type="date"
value-format="yyyy-MM-dd"
@ -358,7 +362,11 @@
</el-col>
<el-col :span="12">
<el-form-item label="是否到位" prop="isInPlace">
<el-select v-model="form.isInPlace" placeholder="请选择是否到位">
<el-select
v-model="form.isInPlace"
placeholder="请选择是否到位"
style="width: 100%"
>
<el-option
v-for="dict in isInPlaceOptions"
:key="dict.dictValue"
@ -381,7 +389,7 @@
<el-date-picker
clearable
size="small"
style="width: 200px"
style="width: 100%"
v-model="form.startTime"
type="date"
value-format="yyyy-MM-dd"
@ -395,7 +403,7 @@
<el-date-picker
clearable
size="small"
style="width: 200px"
style="width: 100%"
v-model="form.endTime"
type="date"
value-format="yyyy-MM-dd"
@ -420,6 +428,7 @@
<el-select
v-model="form.isCompletedPlanning"
placeholder="请选择是否完成计划"
style="width: 100%"
>
<el-option
v-for="dict in isCompletedPlanningOptions"
@ -445,6 +454,7 @@
width="1200px"
append-to-body
@close="closeView"
:close-on-click-modal="false"
>
<!-- 计划信息 -->
<div class="infoTitle">计划实施信息</div>
@ -463,7 +473,7 @@
>
<el-descriptions-item span="2">
<template slot="label"> 项目名称 </template>
{{ this.viewTitle }}
{{ this.impMsg.projectName }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 项目负责人 </template>
@ -539,7 +549,7 @@ import {
export default {
name: "PlanImpleInfo",
props: ["proNo", "planId"],
props: ["proNo", "planId", "relatedProjects", "planName"],
data() {
return {
//
@ -612,7 +622,11 @@ export default {
//
form: {},
//
rules: {},
rules: {
projectLeader: [
{ required: true, message: "请输入项目负责人", trigger: "blur" },
],
},
viewTitle: "",
impMsg: {},
};
@ -636,8 +650,19 @@ export default {
this.planId = n;
this.getList();
},
relatedProjects: function (n, o) {
this.relatedProjects = n;
this.getList();
},
planName: function (n, o) {
this.planName = n;
this.getList();
},
},
methods: {
clear() {
this.$refs.form.clearValidate();
},
/** 查询计划实施信息列表 */
getList() {
this.loading = true;
@ -757,6 +782,8 @@ export default {
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.form.projectName = this.relatedProjects;
this.form.planningName = this.planName;
this.open = true;
this.title = "添加计划实施信息";
},

41
jwtech-admin-page/src/views/project/plan/options/SubmitApprovalPage.vue

@ -3,30 +3,35 @@
<el-row :gutter="15">
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
<el-col :span="12">
<el-form-item label="计划上报时间" prop="reportTime">
<el-form-item label="计划上报时间" prop="reportTime">
<el-date-picker
clearable
size="small"
style="width: 200px"
style="width: 100%"
v-model="form.reportTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择计划上报时间"
placeholder="选择计划上报时间"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="计划名称" prop="planningName">
<el-form-item label="计划名称" prop="planningName">
<el-input
v-model="form.planningName"
placeholder="请输入计划的名称"
placeholder="请输入计划名称"
readonly
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="所属类别" prop="category">
<el-select v-model="form.category" placeholder="请选择所属类别">
<el-select
v-model="form.category"
placeholder="请选择所属类别"
style="width: 100%"
>
<el-option
v-for="dict in categoryOptions"
:key="dict.dictValue"
@ -50,7 +55,7 @@
<el-date-picker
clearable
size="small"
style="width: 200px"
style="width: 100%"
v-model="form.replyTime"
type="date"
value-format="yyyy-MM-dd"
@ -72,7 +77,7 @@
<el-input
v-model="form.replyOpinion"
type="textarea"
placeholder="请输入内容"
placeholder="请输入批复意见"
/>
</el-form-item>
</el-col>
@ -155,7 +160,7 @@ import { getFileStream } from "@/api/system/upload";
export default {
name: "PlanRepInfo",
props: ["proNo", "planId"],
props: ["proNo", "planId", "planName"],
data() {
return {
//
@ -198,7 +203,18 @@ export default {
//
form: {},
//
rules: {},
rules: {
reportTime: [
{ required: true, message: "选择计划上报时间", trigger: "blur" },
],
replyOpinion: [
{
required: true,
message: "请输入批复意见",
trigger: "blur",
},
],
},
//
planningFileList: [],
//
@ -225,6 +241,10 @@ export default {
this.planId = n;
this.getList();
},
planName: function (n, o) {
this.planName = n;
this.getList();
},
},
methods: {
/** 查询计划报批信息列表 */
@ -237,6 +257,7 @@ export default {
//
if (response.records[0]) {
this.form = response.records[0];
this.form.planningName = this.planName;
// console.log("response.records[0]", response.records[0]);
if (response.records[0].planningAttachment) {
this.planningFileList = JSON.parse(

13
jwtech-admin-page/src/views/project/plan/options/index.vue

@ -38,14 +38,23 @@
name="SubmitApprovalPage"
:disabled="!routeList[1].isEdit"
>
<SubmitApprovalPage :proNo="formData.proNo" :planId="formData.id" />
<SubmitApprovalPage
:proNo="formData.proNo"
:planId="formData.id"
:planName="formData.planName"
/>
</el-tab-pane>
<el-tab-pane
label="计划实施信息"
name="ImplementationPage"
:disabled="!routeList[1].isEdit"
>
<ImplementationPage :proNo="formData.proNo" :planId="formData.id" />
<ImplementationPage
:proNo="formData.proNo"
:planId="formData.id"
:relatedProjects="formData.relatedProjects"
:planName="formData.planName"
/>
</el-tab-pane>
<el-tab-pane
label="计划评价信息"

179
jwtech-admin-page/src/views/project/plan/options/planBasePage.vue

@ -1,84 +1,92 @@
<template>
<div class="app-container">
<!-- <el-row :gutter="15"> -->
<el-form
ref="form"
:model="baseMsg"
:rules="rules"
label-width="110px"
label-position="left"
>
<!-- <el-col :span="12"> -->
<el-form-item label="计划名称" prop="planName">
<el-input
v-model="baseMsg.planName"
placeholder="请输入计划名称"
style="width: 700px"
/>
</el-form-item>
<!-- </el-col> -->
<el-form-item label="计划类型" prop="planType">
<el-select
v-model="baseMsg.planType"
placeholder="请选择计划类型"
style="width: 700px"
>
<el-option
v-for="dict in planTypeOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="归属业务部门" prop="department">
<el-input
v-model="baseMsg.department"
placeholder="请输入归属业务部门"
style="width: 700px"
/>
</el-form-item>
<el-form-item label="投资计划" prop="investment">
<el-input
v-model="baseMsg.investment"
placeholder="请输入投资计划(数字)"
style="width: 700px"
oninput="value=value.replace(/[^\d]/g,'')"
/>
</el-form-item>
<el-form-item label="主要内容" prop="content">
<el-input
v-model="baseMsg.content"
placeholder="请输入主要内容"
style="width: 700px"
/>
</el-form-item>
<el-form-item
label="计划关联的项目"
prop="relatedProjects"
style="width: 700px"
<el-row :gutter="15">
<el-form
ref="form"
:model="baseMsg"
:rules="rules"
label-width="110px"
label-position="left"
>
<!-- <el-input
<el-col :span="24">
<el-form-item label="计划名称" prop="planName">
<el-input v-model="baseMsg.planName" placeholder="请输入计划名称" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item
label="计划关联项目"
prop="relatedProjects"
style="width: 100%"
>
<!-- <el-input
v-model="baseMsg.relatedProjects"
placeholder="请输入计划关联的项目信息"
/> -->
<el-select
v-model="baseMsg.relatedProjects"
filterable
placeholder="请搜索项目名称"
style="width: 100%"
>
<el-option
v-for="item in projectNameOptions"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-form>
<!-- </el-row> -->
<el-select
v-model="baseMsg.relatedProjects"
filterable
placeholder="请搜索计划关联项目名称"
style="width: 100%"
>
<el-option
v-for="item in projectNameOptions"
:key="item.value"
:label="item.label"
:value="item.value"
@click.native="linkProject(item.proNo)"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="计划类型" prop="planType">
<el-select
v-model="baseMsg.planType"
placeholder="请选择计划类型"
style="width: 100%"
>
<el-option
v-for="dict in planTypeOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="归属业务部门" prop="department">
<el-input
v-model="baseMsg.department"
placeholder="请输入归属业务部门"
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="投资计划" prop="investment">
<el-input
v-model="baseMsg.investment"
placeholder="请输入投资计划(数字)"
oninput="value=value.replace(/[^\d]/g,'')"
>
<template slot="append">万元</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="主要内容" prop="content">
<el-input
v-model="baseMsg.content"
placeholder="请输入主要内容"
type="textarea"
:rows="3"
/>
</el-form-item>
</el-col>
</el-form>
</el-row>
<el-button type="primary" @click="onSubmit">保存</el-button>
<el-button @click="cancel">取消</el-button>
</div>
@ -119,9 +127,19 @@ export default {
},
//
rules: {
// investment:[
// { message: '', trigger: 'blur' },
// ]
planName: [
{ required: true, message: "请输入计划名称", trigger: "blur" },
],
relatedProjects: [
{
required: true,
message: "请选择计划关联项目名称",
trigger: "blur",
},
],
planType: [
{ required: true, message: "请选择计划类型", trigger: "blur" },
],
},
// ========================
// 1
@ -154,6 +172,7 @@ export default {
return {
value: item.projectName,
label: item.projectName,
proNo: item.proNo,
};
});
// console.log("this.list", this.list);
@ -195,6 +214,9 @@ export default {
// // console.log("value", value);
// this.baseMsg.proNo = value;
// },
linkProject(proNo) {
this.baseMsg.proNo = proNo;
},
//
cancel() {
this.$router.push("/project/plan");
@ -204,7 +226,6 @@ export default {
this.$refs.form.validate((valid) => {
if (valid) {
if (this.baseMsg.id != null) {
console.log(55555555555);
updatePlanInfo(this.baseMsg).then((response) => {
if (response.code === 200) {
this.msgSuccess("修改成功");

19
jwtech-admin-page/src/views/project/preDesign/index.vue

@ -112,6 +112,12 @@
prop="projectName"
min-width="150"
/>
<el-table-column
label="项目编码"
align="center"
prop="projectCode"
min-width="180"
/>
<el-table-column
label="建设性质"
align="center"
@ -135,7 +141,7 @@
label="简介"
align="center"
prop="briefIntroduction"
min-width="150"
min-width="180"
/>
<el-table-column
label="项目用地情况"
@ -236,6 +242,7 @@
width="1200px"
append-to-body
@close="close"
:close-on-click-modal="false"
>
<el-form ref="form" :model="form" :rules="rules" label-width="130px">
<el-form-item label="项目名称" prop="projectName">
@ -364,6 +371,7 @@
width="1200px"
append-to-body
@close="closeView"
:close-on-click-modal="false"
>
<!-- 初步设计管理信息 -->
<div class="infoTitle">初步设计管理信息</div>
@ -533,7 +541,14 @@ export default {
//
form: {},
//
rules: {},
rules: {
projectName: [
{ required: true, message: "请输入项目名称", trigger: "blur" },
],
projectUnitName: [
{ required: true, message: "请输入项目单位名称", trigger: "blur" },
],
},
//
designFileList: [],
//

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

@ -125,6 +125,12 @@
prop="projectName"
min-width="150"
/>
<el-table-column
label="项目编码"
align="center"
prop="projectCode"
min-width="180"
/>
<el-table-column
label="项目类型"
align="center"
@ -132,6 +138,12 @@
:formatter="projectTypeFormat"
min-width="150"
/>
<el-table-column
label="投资概算"
align="center"
prop="projectInvestmentEstimate"
min-width="120"
/>
<el-table-column
label="是否属于规划内"
align="center"
@ -146,6 +158,12 @@
min-width="150"
/>
<el-table-column
label="批复意见"
align="center"
prop="approvalOpinion"
min-width="150"
/>
<!-- <el-table-column
label="项目建议书相关附件"
align="center"
prop="projectProposalAttachment"
@ -190,7 +208,7 @@
></i>
</div>
</template>
</el-table-column>
</el-table-column> -->
<el-table-column
label="创建时间"
@ -252,9 +270,10 @@
append-to-body
style="margin-top: 0"
@close="clear"
:close-on-click-modal="false"
>
<el-row :gutter="15">
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
<el-form ref="form" :model="form" :rules="rules" label-width="130px">
<el-col :span="12">
<el-form-item label="是否属于规划内" prop="isBelongPlanning">
<el-select
@ -281,7 +300,7 @@
>
<el-input
v-model="form.projectName"
placeholder="输入项目名称"
placeholder="输入项目名称"
size="small"
></el-input>
</el-form-item>
@ -315,7 +334,7 @@
<el-col :span="12">
<el-form-item label="投资概算" prop="projectInvestmentEstimate">
<el-input
v-model="form.projectInvestmentEstimate"
v-model.number="form.projectInvestmentEstimate"
placeholder="请输入投资概算"
>
<template slot="append">万元</template>
@ -361,7 +380,7 @@
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="批复意见" prop="replyOpinion">
<el-form-item label="批复意见" prop="approvalOpinion">
<el-input
v-model="form.approvalOpinion"
placeholder="请输入批复意见"
@ -452,6 +471,7 @@
width="1200px"
append-to-body
@close="closeView"
:close-on-click-modal="false"
>
<!-- 初步设计管理信息 -->
<div class="infoTitle">项目建议书</div>
@ -587,7 +607,28 @@ export default {
//
projectinfoList: [],
//
rules: {},
rules: {
isBelongPlanning: [
{
required: true,
message: "请选择是否属于规划内",
trigger: "blur",
},
],
projectName: [
{ required: true, message: "请输入项目名称", trigger: "blur" },
],
projectInvestmentEstimate: [
{ required: true, message: "请输入投资概算", trigger: "blur" },
{ type: "number", message: "请输入数字", trigger: "blur" },
],
projectCode: [
{ required: true, message: "请输入项目编码", trigger: "blur" },
],
approvalOpinion: [
{ required: true, message: "请输入批复意见", trigger: "blur" },
],
},
//
routeList: [
{
@ -648,6 +689,7 @@ export default {
clear() {
this.projectFileList = [];
this.opinionFileList = [];
this.$refs.form.clearValidate();
},
getId(res) {
// console.log(res)

8
jwtech-admin-page/src/views/project/report/index.vue

@ -124,6 +124,12 @@
prop="projectName"
min-width="150"
/>
<el-table-column
label="项目编码"
align="center"
prop="projectCode"
min-width="180"
/>
<el-table-column
label="项目类型"
align="center"
@ -239,6 +245,7 @@
append-to-body
style="margin-top: 0"
@close="clear"
:close-on-click-modal="false"
>
<el-row :gutter="15">
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
@ -451,6 +458,7 @@
width="1200px"
append-to-body
@close="closeView"
:close-on-click-modal="false"
>
<div class="infoTitle">可行性报告</div>
<div class="draLine"></div>

39
jwtech-admin-page/src/views/project/special/index.vue

@ -128,26 +128,55 @@
fixed="left"
/>
<el-table-column label="专题项目名称" align="center" prop="projectName" />
<el-table-column
label="专题项目名称"
align="center"
prop="projectName"
min-width="180"
/>
<el-table-column
label="项目编号"
align="center"
prop="proNo"
min-width="180"
/>
<!-- <el-table-column label="项目编码" align="center" prop="projectName" /> -->
<el-table-column
label="规划类型"
align="center"
prop="projectType"
:formatter="projectTypeFormat"
min-width="120"
/>
<el-table-column
label="规划编制单位"
align="center"
prop="compilingUnit"
min-width="120"
/>
<el-table-column
label="规划水平年"
align="center"
prop="startYear"
min-width="120"
/>
<el-table-column
label="规划目标年"
align="center"
prop="endYear"
min-width="120"
/>
<el-table-column
label="规划金额(万元)"
align="center"
prop="amount"
min-width="150"
/>
<el-table-column label="规划水平年" align="center" prop="startYear" />
<el-table-column label="规划目标年" align="center" prop="endYear" />
<el-table-column label="规划金额(万元)" align="center" prop="amount" />
<el-table-column
label="创建时间"
align="center"
prop="createTime"
width="180"
width="120"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span>

36
jwtech-admin-page/src/views/project/special/options/ContractPage.vue

@ -107,22 +107,36 @@
fixed
/>
<el-table-column label="合同名称" align="center" prop="contractName" />
<el-table-column
label="合同名称"
align="center"
prop="contractName"
min-width="120"
/>
<el-table-column
label="合同金额(万元)"
align="center"
prop="contractAmount"
min-width="120"
/>
<el-table-column
label="项目编号"
align="center"
prop="proNo"
min-width="180"
/>
<el-table-column
label="合同类型"
align="center"
prop="contractType"
:formatter="contractTypeFormat"
min-width="120"
/>
<el-table-column
label="规划合同附件"
align="center"
prop="contractAttachment"
min-width="180"
>
<template slot-scope="scope">
<div
@ -189,6 +203,7 @@
@close="close"
width="1200px"
append-to-body
:close-on-click-modal="false"
>
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item label="合同名称" prop="contractName">
@ -200,7 +215,11 @@
</el-input>
</el-form-item>
<el-form-item label="合同类型" prop="contractType">
<el-select v-model="form.contractType" placeholder="请选择合同类型">
<el-select
v-model="form.contractType"
placeholder="请选择合同类型"
style="width: 100%"
>
<el-option
v-for="dict in contractTypeOptions"
:key="dict.dictValue"
@ -249,6 +268,7 @@
width="1200px"
append-to-body
@close="closeView"
:close-on-click-modal="false"
>
<div class="infoTitle">专题合同管理</div>
<div class="draLine"></div>
@ -378,7 +398,17 @@ export default {
//
form: {},
//
rules: {},
rules: {
contractName: [
{ required: true, message: "请输入合同名称", trigger: "blur" },
],
contractAmount: [
{ required: true, message: "请输入合同金额", trigger: "blur" },
],
contractType: [
{ required: true, message: "请选择合同类型", trigger: "blur" },
],
},
//
contractFileList: [],
//

296
jwtech-admin-page/src/views/project/special/options/ImplementationPage.vue

@ -106,12 +106,23 @@
fixed="left"
/>
<el-table-column label="项目名称" align="center" prop="projectName" />
<el-table-column
label="规划名称"
align="center"
prop="projectName"
min-width="180"
/>
<el-table-column
label="项目编号"
align="center"
prop="proNo"
min-width="180"
/>
<el-table-column
label="项目开始时间"
align="center"
prop="projectStartTime"
width="180"
min-width="120"
>
<template slot-scope="scope">
<span>{{
@ -123,7 +134,7 @@
label="项目结束时间"
align="center"
prop="projectEndTime"
width="180"
min-width="120"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.projectEndTime, "{y}-{m}-{d}") }}</span>
@ -133,25 +144,25 @@
label="项目负责人"
align="center"
prop="projectLeader"
width="180"
min-width="120"
/>
<el-table-column
<!-- <el-table-column
label="项目进度安排"
align="center"
prop="projectProgressArrange"
width="180"
/>
<el-table-column
min-width="150"
/> -->
<!-- <el-table-column
label="计划名称"
align="center"
prop="planningName"
width="180"
/>
min-width="180"
/> -->
<el-table-column
label="计划时间"
align="center"
prop="planningTime"
width="180"
min-width="120"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.planningTime, "{y}-{m}-{d}") }}</span>
@ -161,60 +172,60 @@
label="计划资金进度安排"
align="center"
prop="planningFundProgressArrange"
width="180"
min-width="180"
/>
<el-table-column
label="计划资金下达进度"
align="center"
prop="planningFundIssuedProgress"
width="180"
min-width="180"
/>
<el-table-column
label="是否到位"
align="center"
prop="isInPlace"
:formatter="isInPlaceFormatter"
width="180"
min-width="120"
/>
<el-table-column
<!-- <el-table-column
label="完成计划单位"
align="center"
prop="completedPlanningUnit"
width="180"
/>
<el-table-column
min-width="120"
/> -->
<!-- <el-table-column
label="完成计划开始时间"
align="center"
prop="startTime"
width="180"
min-width="150"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.startTime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<el-table-column
</el-table-column> -->
<!-- <el-table-column
label="完成计划结束时间"
align="center"
prop="endTime"
width="180"
min-width="150"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.endTime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<el-table-column
</el-table-column> -->
<!-- <el-table-column
label="完成计划投资使用进度安排"
align="center"
prop="investmentProgressArrange"
width="180"
/>
<el-table-column
min-width="180"
/> -->
<!-- <el-table-column
label="是否完成计划"
align="center"
prop="isCompletedPlanning"
:formatter="isCompletedPlanningFormatter"
width="180"
/>
min-width="120"
/> -->
<el-table-column
label="操作"
@ -265,24 +276,25 @@
:visible.sync="open"
width="1200px"
append-to-body
:close-on-click-modal="false"
>
<el-row :gutter="15">
<el-form ref="form" :model="form" :rules="rules" label-width="150px">
<el-col :span="8">
<el-form-item label="项目名称" prop="projectName">
<el-col :span="24">
<el-form-item label="规划名称" prop="projectName">
<el-input
v-model="form.projectName"
placeholder="请输入项目名称"
placeholder="请输入规划名称"
readonly
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="24">
<el-form-item label="项目开始时间" prop="projectStartTime">
<el-date-picker
clearable
size="small"
style="width: 225px"
style="width: 100%"
v-model="form.projectStartTime"
type="date"
value-format="yyyy-MM-dd"
@ -291,12 +303,12 @@
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="24">
<el-form-item label="项目结束时间" prop="projectEndTime">
<el-date-picker
clearable
size="small"
style="width: 225px"
style="width: 100%"
v-model="form.projectEndTime"
type="date"
value-format="yyyy-MM-dd"
@ -305,7 +317,7 @@
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="24">
<el-form-item label="项目负责人" prop="projectLeader">
<el-input
v-model="form.projectLeader"
@ -313,158 +325,16 @@
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="24">
<el-form-item label="项目进度安排" prop="projectProgressArrange">
<el-input
v-model="form.projectProgressArrange"
placeholder="请输入项目进度安排"
type="textarea"
:rows="2"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="计划名称" prop="planningName">
<el-input
v-model="form.planningName"
placeholder="请输入计划名称"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="计划时间" prop="planningTime">
<el-date-picker
clearable
size="small"
style="width: 422.5px"
v-model="form.planningTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择计划时间"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="计划资金进度安排"
prop="planningFundProgressArrange"
>
<el-input
v-model="form.planningFundProgressArrange"
placeholder="请输入计划资金进度安排"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="计划资金下达进度"
prop="planningFundIssuedProgress"
>
<el-input
v-model="form.planningFundIssuedProgress"
placeholder="请输入计划资金下达进度"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否到位" prop="isInPlace">
<!-- <el-input v-model="form.isInPlace" placeholder="请输入是否到位" /> -->
<!-- <el-select
v-model="form.isInPlace"
placeholder="请选择是否到位"
style="width: 422.5px"
>
<el-option label="是" :value="1"> </el-option>
<el-option label="否" :value="0"> </el-option>
</el-select> -->
<el-select
v-model="form.isInPlace"
placeholder="请输入是否到位"
style="width: 100%"
>
<el-option
v-for="dict in isInPlaceOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="完成计划单位" prop="completedPlanningUnit">
<el-input
v-model="form.completedPlanningUnit"
placeholder="请输入完成计划单位"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="完成计划开始时间" prop="startTime">
<el-date-picker
clearable
size="small"
style="width: 422.5px"
v-model="form.startTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择完成计划开始时间"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="完成计划结束时间" prop="endTime">
<el-date-picker
clearable
size="small"
style="width: 422.5px"
v-model="form.endTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择完成计划结束时间"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="完成计划投资使用进度安排"
prop="investmentProgressArrange"
>
<el-input
v-model="form.investmentProgressArrange"
placeholder="请输入完成计划投资使用进度安排"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否完成计划" prop="isCompletedPlanning">
<!-- <el-input
v-model="form.isCompletedPlanning"
placeholder="请输入是否完成计划"
/> -->
<!-- <el-select
v-model="form.isCompletedPlanning"
placeholder="请选择是否完成计划"
style="width: 422.5px"
>
<el-option label="是" :value="1"> </el-option>
<el-option label="否" :value="0"> </el-option>
</el-select> -->
<el-select
v-model="form.isCompletedPlanning"
placeholder="请输入是否完成计划"
style="width: 100%"
>
<el-option
v-for="dict in isCompletedPlanningOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-form>
</el-row>
<div slot="footer" class="dialog-footer">
@ -480,13 +350,14 @@
width="1200px"
append-to-body
@close="closeView"
:close-on-click-modal="false"
>
<div class="infoTitle">专题实施信息</div>
<div class="draLine"></div>
<div class="content">
<el-descriptions
class="margin-top"
:column="2"
:column="1"
border
:labelStyle="{
'text-align': 'left',
@ -495,7 +366,7 @@
}"
:contentStyle="{}"
>
<el-descriptions-item span="2">
<el-descriptions-item span="1">
<template slot="label"> 项目名称 </template>
{{ this.viewTitle }}
</el-descriptions-item>
@ -515,46 +386,6 @@
<template slot="label"> 项目进度安排 </template>
{{ this.impMsg.projectProgressArrange }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 计划名称 </template>
{{ this.impMsg.planningName }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 计划时间 </template>
{{ this.impMsg.planningTime }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 计划资金进度安排 </template>
{{ this.impMsg.planningFundProgressArrange }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 计划资金下达进度 </template>
{{ this.impMsg.planningFundIssuedProgress }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 是否到位 </template>
{{ this.isInPlaceFormatter(this.impMsg) }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 完成计划单位 </template>
{{ this.impMsg.completedPlanningUnit }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 完成计划开始时间 </template>
{{ this.impMsg.startTime }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 完成计划结束时间 </template>
{{ this.impMsg.endTime }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 完成计划投资使用进度安排 </template>
{{ this.impMsg.investmentProgressArrange }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 是否完成计划 </template>
{{ this.isCompletedPlanningFormatter(this.impMsg) }}
</el-descriptions-item>
</el-descriptions>
</div>
</el-dialog>
@ -642,7 +473,20 @@ export default {
//
form: {},
//
rules: {},
rules: {
projectName: [
{ required: true, message: "请输入规划名称", trigger: "blur" },
],
projectStartTime: [
{ required: true, message: "选择项目开始时间", trigger: "blur" },
],
projectEndTime: [
{ required: true, message: "选择项目开始时间", trigger: "blur" },
],
projectLeader: [
{ required: true, message: "请输入项目负责人", trigger: "blur" },
],
},
//
isInPlace: [],
//
@ -912,7 +756,7 @@ export default {
::v-deep {
.el-dialog {
// margin-top: 2vh !important;
height: 650px;
height: 500px;
overflow-y: auto;
.content {
display: flex;

67
jwtech-admin-page/src/views/project/special/options/basePage.vue

@ -6,9 +6,10 @@
:model="baseMsg"
label-width="150px"
label-position="left"
:rules="rules"
>
<el-col :span="24">
<el-form-item label="专题项目名称" required>
<el-form-item label="专题项目名称" prop="projectName">
<el-input
v-model="baseMsg.projectName"
placeholder="请输入专题项目名称"
@ -17,11 +18,11 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="规划类型" required>
<el-form-item label="规划类型" prop="projectType">
<el-select
v-model="baseMsg.projectType"
placeholder="请选择活动区域"
style="width: 240px"
style="width: 100%"
clearable
>
<el-option
@ -34,38 +35,42 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="规划所属区域" required>
<el-form-item
label="规划所属区域"
prop="selectedOptions"
label-width="120px"
>
<el-cascader
:options="options"
v-model="selectedOptions"
placeholder="请输入规划所属区域"
clearable
size="small"
style="width: 240px"
style="width: 100%"
@change="handleChange"
>
</el-cascader>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="规划编制单位" required>
<el-form-item label="规划编制单位">
<el-input
v-model="baseMsg.compilingUnit"
placeholder="请输入规划编制单位"
clearable
size="small"
style="width: 240px"
style="width: 100%"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="规划金额" required>
<el-form-item label="规划金额" prop="amount" label-width="120px">
<el-input
v-model="baseMsg.amount"
placeholder="请输入规划金额"
clearable
size="small"
style="width: 240px"
style="width: 100%"
>
<template slot="append">万元</template>
</el-input>
@ -73,7 +78,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="规划水平年" required>
<el-form-item label="规划水平年">
<el-date-picker
v-model="baseMsg.startYear"
placeholder="请输入规划水平年"
@ -83,13 +88,13 @@
value-format="yyyy"
clearable
size="small"
style="width: 240px"
style="width: 100%"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="规划目标年" required>
<el-form-item label="规划目标年" label-width="120px">
<el-date-picker
v-model="baseMsg.endYear"
placeholder="请输入规划目标年"
@ -99,13 +104,13 @@
value-format="yyyy"
clearable
size="small"
style="width: 240px"
style="width: 100%"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="规划编制单位性质" required>
<el-form-item label="规划编制单位性质">
<el-input
v-model="baseMsg.compilingUnitNature"
placeholder="请输入规划编制单位性质"
@ -118,7 +123,7 @@
</el-col>
<el-col :span="24">
<el-form-item label="规划编制单位地址" required>
<el-form-item label="规划编制单位地址">
<el-input
v-model="baseMsg.compilingUnitAddress"
placeholder="请输入规划编制单位地址"
@ -132,7 +137,7 @@
</el-col>
<el-col :span="24">
<el-form-item label="规划编制法人代表" required>
<el-form-item label="规划编制法人代表">
<el-input
v-model="baseMsg.compilingUnitLegalPerson"
placeholder="请输入规划编制法人代表"
@ -146,7 +151,7 @@
</el-col>
<el-col :span="24">
<el-form-item label="规划报告" required>
<el-form-item label="规划报告">
<el-input
v-model="baseMsg.projectReport"
placeholder="请输入规划报告"
@ -158,20 +163,6 @@
</el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="数源部门" required>
<el-input
v-model="baseMsg.owerDept"
placeholder="请输入数源部门"
clearable
type="textarea"
:rows="3"
size="small"
>
</el-input>
</el-form-item>
</el-col>
</el-form>
</el-row>
<el-button type="primary" @click="onSubmit">保存</el-button>
@ -209,6 +200,20 @@ export default {
},
options: regionData,
selectedOptions: [],
rules: {
projectName: [
{ required: true, message: "请输入专题项目名称", trigger: "blur" },
],
projectType: [
{ required: true, message: "请选择规划类型", trigger: "blur" },
],
selectedOptions: [
{ required: true, message: "请选择规划所属区域", trigger: "blur" },
],
amount: [
{ required: true, message: "请输入规划金额", trigger: "blur" },
],
},
};
},
created() {

28
jwtech-admin-page/src/views/project/special/options/documentPage.vue

@ -119,18 +119,31 @@
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="序号" type="index" width="50" align="center" />
<el-table-column
label="文档名称"
align="center"
prop="documentName"
min-width="180"
/>
<el-table-column
label="项目编号"
align="center"
prop="proNo"
min-width="180"
/>
<el-table-column
label="文档类型"
align="center"
prop="documentType"
:formatter="documentTypeFormat"
min-width="120"
/>
<el-table-column label="文档名称" align="center" prop="documentName" />
<el-table-column
label="规划项目验收文档附件"
align="center"
prop="acceptDocumentAttachment"
min-width="180"
>
<template slot-scope="scope">
<div
@ -199,6 +212,7 @@
@close="close"
width="1200px"
append-to-body
:close-on-click-modal="false"
>
<el-form ref="form" :model="form" :rules="rules" label-width="160px">
<el-form-item label="文档类型" prop="documentType">
@ -261,6 +275,7 @@
width="1200px"
append-to-body
@close="closeView"
:close-on-click-modal="false"
>
<div class="infoTitle">专题文档管理</div>
<div class="draLine"></div>
@ -391,7 +406,14 @@ export default {
//
form: {},
//
rules: {},
rules: {
documentType: [
{ required: true, message: "请选择文档类型", trigger: "blur" },
],
documentName: [
{ required: true, message: "请输入文档名称", trigger: "blur" },
],
},
//
acceptDocumentFileList: [],
//

41
jwtech-admin-page/src/views/project/special/options/resultsPage.vue

@ -99,12 +99,17 @@
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="序号" type="index" width="50" align="center" />
<el-table-column label="评价人" align="center" prop="evaluator" />
<el-table-column
label="评价人"
align="center"
prop="evaluator"
min-width="120"
/>
<el-table-column
label="评价时间"
align="center"
prop="evaluationTime"
width="180"
min-width="120"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.evaluationTime, "{y}-{m}-{d}") }}</span>
@ -114,17 +119,26 @@
label="评价规划名称"
align="center"
prop="evaluationName"
min-width="180"
/>
<el-table-column
label="项目编号"
align="center"
prop="proNo"
min-width="180"
/>
<el-table-column
label="评价内容"
align="center"
prop="evaluationContent"
min-width="180"
/>
<el-table-column
label="相关文件附件"
align="center"
prop="fileAttachmentRelation"
min-width="180"
>
<template slot-scope="{}" slot="header">
<!-- 表头名称 -->
@ -158,6 +172,7 @@
label="操作"
width="180"
align="center"
fixed="right"
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
@ -258,6 +273,7 @@
width="1200px"
@close="colseDialog"
append-to-body
:close-on-click-modal="false"
>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-form-item label="评价人" prop="evaluator">
@ -267,7 +283,7 @@
<el-date-picker
clearable
size="small"
style="width: 200px"
style="width: 100%"
v-model="form.evaluationTime"
type="date"
value-format="yyyy-MM-dd"
@ -278,7 +294,7 @@
<el-form-item label="评价规划名称" prop="evaluationName">
<el-input
v-model="form.evaluationName"
placeholder="请输入评价内容"
placeholder="请输入评价规划名称"
/>
</el-form-item>
<el-form-item label="评价内容" prop="evaluationContent">
@ -337,6 +353,7 @@
width="1200px"
append-to-body
@close="closeView"
:close-on-click-modal="false"
>
<div class="infoTitle">专题成果</div>
<div class="draLine"></div>
@ -473,7 +490,20 @@ export default {
//
tableForm: {},
//
rules: {},
rules: {
evaluator: [
{ required: true, message: "请输入评价人", trigger: "blur" },
],
evaluationTime: [
{ required: true, message: "选择评价时间", trigger: "blur" },
],
evaluationName: [
{ required: true, message: "请输入评价规划名称", trigger: "blur" },
],
evaluationContent: [
{ required: true, message: "请输入评价内容", trigger: "blur" },
],
},
//
resultsFileList: [],
//
@ -648,6 +678,7 @@ export default {
//
colseDialog() {
this.reset();
this.$refs.form.clearValidate();
},
//

57
jwtech-admin-page/src/views/project/special/options/taskPage.vue

@ -134,10 +134,22 @@
/>
<el-table-column
label="规划上报的时间"
label="规划名称"
align="center"
prop="projectName"
min-width="180"
/>
<el-table-column
label="项目编号"
align="center"
prop="proNo"
min-width="180"
/>
<el-table-column
label="规划上报时间"
align="center"
prop="projectReportTime"
width="180"
min-width="180"
>
<template slot-scope="scope">
<span>{{
@ -146,29 +158,23 @@
</template>
</el-table-column>
<el-table-column
label="规划的名称"
align="center"
prop="projectName"
width="180"
/>
<el-table-column
label="所属类别"
label="规划类型"
align="center"
prop="category"
:formatter="categoryFormat"
width="180"
min-width="120"
/>
<el-table-column
label="预期目标"
align="center"
prop="expectedGoal"
width="180"
min-width="180"
/>
<el-table-column
label="规划附件"
align="center"
prop="projectAttachment"
width="180"
min-width="180"
>
<template slot-scope="scope">
<div
@ -189,7 +195,7 @@
label="批复时间"
align="center"
prop="replyTime"
width="180"
min-width="120"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.replyTime, "{y}-{m}-{d}") }}</span>
@ -199,19 +205,19 @@
label="批复人信息"
align="center"
prop="replyPerson"
width="180"
min-width="180"
/>
<el-table-column
label="批复意见"
align="center"
prop="replyOpinion"
width="180"
min-width="180"
/>
<el-table-column
label="意见附件"
align="center"
prop="opinionAttachment"
width="180"
min-width="180"
>
<template slot-scope="scope">
<div
@ -279,11 +285,12 @@
width="1200px"
append-to-body
style="margin-top: 0"
:close-on-click-modal="false"
>
<el-row :gutter="15">
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
<el-col :span="12">
<el-form-item label="规划上报时间" prop="projectReportTime">
<el-form-item label="规划上报时间" prop="projectReportTime">
<el-date-picker
clearable
size="small"
@ -297,7 +304,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="规划名称" prop="projectName">
<el-form-item label="规划名称" prop="projectName">
<el-input
v-model="form.projectName"
placeholder="请输入规划的名称"
@ -433,6 +440,7 @@
width="1200px"
append-to-body
@close="closeView"
:close-on-click-modal="false"
>
<div class="infoTitle">专题任务书信息</div>
<div class="draLine"></div>
@ -595,7 +603,17 @@ export default {
//
form: {},
//
rules: {},
rules: {
projectReportTime: [
{ required: true, message: "请选择规划上报的时间", trigger: "blur" },
],
projectName: [
{ required: true, message: "请输入规划名称", trigger: "blur" },
],
replyOpinion: [
{ required: true, message: "请输入批复意见", trigger: "blur" },
],
},
//
projectFileList: [
// {
@ -795,6 +813,7 @@ export default {
//
close() {
this.reset();
this.$refs.form.clearValidate();
},
//

Loading…
Cancel
Save