|
@ -1,13 +1,7 @@ |
|
|
<template> |
|
|
<template> |
|
|
<!-- 合同基本信息--> |
|
|
<!-- 合同基本信息--> |
|
|
<div class="app-container"> |
|
|
<div class="app-container"> |
|
|
<el-form |
|
|
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> |
|
|
:model="queryParams" |
|
|
|
|
|
ref="queryForm" |
|
|
|
|
|
:inline="true" |
|
|
|
|
|
v-show="showSearch" |
|
|
|
|
|
label-width="68px" |
|
|
|
|
|
> |
|
|
|
|
|
<!-- <el-form-item label="合同编号" prop="contractNumber"> |
|
|
<!-- <el-form-item label="合同编号" prop="contractNumber"> |
|
|
<el-input |
|
|
<el-input |
|
|
v-model="queryParams.data.contractNumber" |
|
|
v-model="queryParams.data.contractNumber" |
|
@ -25,19 +19,9 @@ |
|
|
</el-input> |
|
|
</el-input> |
|
|
</el-form-item> --> |
|
|
</el-form-item> --> |
|
|
<el-form-item label="合同名称" prop="contractName"> |
|
|
<el-form-item label="合同名称" prop="contractName"> |
|
|
<el-input |
|
|
<el-input v-model="queryParams.data.contractName" placeholder="请输入合同名称" clearable size="small" |
|
|
v-model="queryParams.data.contractName" |
|
|
@keyup.enter.native="handleQuery"><el-button type="primary" slot="append" icon="el-icon-search" size="small" |
|
|
placeholder="请输入合同名称" |
|
|
@click="handleQuery"></el-button> |
|
|
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-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
|
|
|
|
|
@ -49,276 +33,98 @@ |
|
|
@click="handleQuery" |
|
|
@click="handleQuery" |
|
|
>搜索</el-button |
|
|
>搜索</el-button |
|
|
> --> |
|
|
> --> |
|
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery" |
|
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
|
|
>重置</el-button |
|
|
|
|
|
> |
|
|
|
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-form> |
|
|
</el-form> |
|
|
|
|
|
|
|
|
<el-row :gutter="10" class="mb8"> |
|
|
<el-row :gutter="10" class="mb8"> |
|
|
<el-col :span="1.5"> |
|
|
<el-col :span="1.5"> |
|
|
<el-button |
|
|
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd" |
|
|
type="primary" |
|
|
v-hasPermi="['build:info:add']">新增</el-button> |
|
|
icon="el-icon-plus" |
|
|
|
|
|
size="mini" |
|
|
|
|
|
@click="handleAdd" |
|
|
|
|
|
v-hasPermi="['build:info:add']" |
|
|
|
|
|
>新增</el-button |
|
|
|
|
|
> |
|
|
|
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="1.5"> |
|
|
<el-col :span="1.5"> |
|
|
<el-button |
|
|
<el-button type="success" icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" |
|
|
type="success" |
|
|
v-hasPermi="['build:info:edit']">修改</el-button> |
|
|
icon="el-icon-edit" |
|
|
|
|
|
size="mini" |
|
|
|
|
|
:disabled="single" |
|
|
|
|
|
@click="handleUpdate" |
|
|
|
|
|
v-hasPermi="['build:info:edit']" |
|
|
|
|
|
>修改</el-button |
|
|
|
|
|
> |
|
|
|
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="1.5"> |
|
|
<el-col :span="1.5"> |
|
|
<el-button |
|
|
<el-button type="danger" icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" |
|
|
type="danger" |
|
|
v-hasPermi="['build:info:remove']">删除</el-button> |
|
|
icon="el-icon-delete" |
|
|
|
|
|
size="mini" |
|
|
|
|
|
:disabled="multiple" |
|
|
|
|
|
@click="handleDelete" |
|
|
|
|
|
v-hasPermi="['build:info:remove']" |
|
|
|
|
|
>删除</el-button |
|
|
|
|
|
> |
|
|
|
|
|
</el-col> |
|
|
</el-col> |
|
|
<right-toolbar |
|
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
|
|
:showSearch.sync="showSearch" |
|
|
|
|
|
@queryTable="getList" |
|
|
|
|
|
></right-toolbar> |
|
|
|
|
|
</el-row> |
|
|
</el-row> |
|
|
|
|
|
|
|
|
<el-table |
|
|
<el-table v-loading="loading" :data="infoList" @selection-change="handleSelectionChange"> |
|
|
v-loading="loading" |
|
|
|
|
|
:data="infoList" |
|
|
|
|
|
@selection-change="handleSelectionChange" |
|
|
|
|
|
> |
|
|
|
|
|
<el-table-column type="selection" width="55" align="center" fixed /> |
|
|
<el-table-column type="selection" width="55" align="center" fixed /> |
|
|
<el-table-column |
|
|
<el-table-column label="序号" type="index" width="50" align="center" fixed /> |
|
|
label="序号" |
|
|
|
|
|
type="index" |
|
|
|
|
|
width="50" |
|
|
|
|
|
align="center" |
|
|
|
|
|
fixed |
|
|
|
|
|
/> |
|
|
|
|
|
|
|
|
|
|
|
<el-table-column |
|
|
<el-table-column label="合同编号" align="center" prop="contractNumber" min-width="150" /> |
|
|
label="合同编号" |
|
|
|
|
|
align="center" |
|
|
|
|
|
prop="contractNumber" |
|
|
|
|
|
min-width="150" |
|
|
|
|
|
/> |
|
|
|
|
|
|
|
|
|
|
|
<el-table-column |
|
|
<el-table-column label="合同名称" align="center" prop="contractName" min-width="120" /> |
|
|
label="合同名称" |
|
|
<el-table-column label="项目名称" align="center" prop="projectName" min-width="120" /> |
|
|
align="center" |
|
|
<el-table-column label="项目编码" align="center" prop="proCode" min-width="120" /> |
|
|
prop="contractName" |
|
|
<el-table-column label="承建单位" align="center" prop="constructionUnit" min-width="120" /> |
|
|
min-width="120" |
|
|
<el-table-column label="合同状态" align="center" prop="contractStatus" :formatter="engineeringGradeFormat" |
|
|
/> |
|
|
min-width="120" /> |
|
|
<el-table-column |
|
|
<el-table-column label="标段名称" align="center" prop="sectionName" min-width="120" /> |
|
|
label="项目名称" |
|
|
<el-table-column label="合同金额" align="center" prop="contractAmount" min-width="120" /> |
|
|
align="center" |
|
|
<el-table-column label="合同工期" align="center" prop="contractDuration" min-width="120" /> |
|
|
prop="projectName" |
|
|
<el-table-column label="签订时间" align="center" prop="signingTime" min-width="120"> |
|
|
min-width="120" |
|
|
|
|
|
/> |
|
|
|
|
|
<el-table-column |
|
|
|
|
|
label="项目编码" |
|
|
|
|
|
align="center" |
|
|
|
|
|
prop="proCode" |
|
|
|
|
|
min-width="120" |
|
|
|
|
|
/> |
|
|
|
|
|
<el-table-column |
|
|
|
|
|
label="承建单位" |
|
|
|
|
|
align="center" |
|
|
|
|
|
prop="constructionUnit" |
|
|
|
|
|
min-width="120" |
|
|
|
|
|
/> |
|
|
|
|
|
<el-table-column |
|
|
|
|
|
label="合同状态" |
|
|
|
|
|
align="center" |
|
|
|
|
|
prop="contractStatus" |
|
|
|
|
|
:formatter="engineeringGradeFormat" |
|
|
|
|
|
min-width="120" |
|
|
|
|
|
/> |
|
|
|
|
|
<el-table-column |
|
|
|
|
|
label="标段名称" |
|
|
|
|
|
align="center" |
|
|
|
|
|
prop="sectionName" |
|
|
|
|
|
min-width="120" |
|
|
|
|
|
/> |
|
|
|
|
|
<el-table-column |
|
|
|
|
|
label="合同金额" |
|
|
|
|
|
align="center" |
|
|
|
|
|
prop="contractAmount" |
|
|
|
|
|
min-width="120" |
|
|
|
|
|
/> |
|
|
|
|
|
<el-table-column |
|
|
|
|
|
label="合同工期" |
|
|
|
|
|
align="center" |
|
|
|
|
|
prop="contractDuration" |
|
|
|
|
|
min-width="120" |
|
|
|
|
|
/> |
|
|
|
|
|
<el-table-column |
|
|
|
|
|
label="签订时间" |
|
|
|
|
|
align="center" |
|
|
|
|
|
prop="signingTime" |
|
|
|
|
|
min-width="120" |
|
|
|
|
|
> |
|
|
|
|
|
<template slot-scope="scope"> |
|
|
<template slot-scope="scope"> |
|
|
<span>{{ parseTime(scope.row.signingTime, "{y}-{m}-{d}") }}</span> |
|
|
<span>{{ parseTime(scope.row.signingTime, "{y}-{m}-{d}") }}</span> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
<el-table-column |
|
|
<el-table-column label="开工时间" align="center" prop="commencementTime" min-width="120"> |
|
|
label="开工时间" |
|
|
|
|
|
align="center" |
|
|
|
|
|
prop="commencementTime" |
|
|
|
|
|
min-width="120" |
|
|
|
|
|
> |
|
|
|
|
|
<template slot-scope="scope"> |
|
|
<template slot-scope="scope"> |
|
|
<span>{{ |
|
|
<span>{{ |
|
|
parseTime(scope.row.commencementTime, "{y}-{m}-{d}") |
|
|
parseTime(scope.row.commencementTime, "{y}-{m}-{d}") |
|
|
}}</span> |
|
|
}}</span> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
<el-table-column |
|
|
<el-table-column label="支付周期" align="center" prop="paymentCycle" min-width="120" /> |
|
|
label="支付周期" |
|
|
<el-table-column label="履约保函提交时间" align="center" prop="submissionTime" min-width="150"> |
|
|
align="center" |
|
|
|
|
|
prop="paymentCycle" |
|
|
|
|
|
min-width="120" |
|
|
|
|
|
/> |
|
|
|
|
|
<el-table-column |
|
|
|
|
|
label="履约保函提交时间" |
|
|
|
|
|
align="center" |
|
|
|
|
|
prop="submissionTime" |
|
|
|
|
|
min-width="150" |
|
|
|
|
|
> |
|
|
|
|
|
<template slot-scope="scope"> |
|
|
<template slot-scope="scope"> |
|
|
<span>{{ parseTime(scope.row.submissionTime, "{y}-{m}-{d}") }}</span> |
|
|
<span>{{ parseTime(scope.row.submissionTime, "{y}-{m}-{d}") }}</span> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
<el-table-column |
|
|
<el-table-column label="合同文件" align="center" prop="contractFile" min-width="120"> |
|
|
label="合同文件" |
|
|
|
|
|
align="center" |
|
|
|
|
|
prop="contractFile" |
|
|
|
|
|
min-width="120" |
|
|
|
|
|
> |
|
|
|
|
|
<template slot-scope="scope"> |
|
|
<template slot-scope="scope"> |
|
|
<div |
|
|
<div v-for="(item, index) in JSON.parse( |
|
|
v-for="(item, index) in JSON.parse( |
|
|
scope.row.contractFile |
|
|
scope.row.contractFile |
|
|
? scope.row.contractFile |
|
|
? scope.row.contractFile |
|
|
: JSON.stringify({}) |
|
|
: JSON.stringify({}) |
|
|
)" :key="item + index"> |
|
|
)" |
|
|
|
|
|
:key="item + index" |
|
|
|
|
|
> |
|
|
|
|
|
<i class="el-icon-document"></i> |
|
|
<i class="el-icon-document"></i> |
|
|
{{ item.name }} |
|
|
{{ item.name }} |
|
|
<i |
|
|
<i class="el-icon-download" @click="downloadFile(scope, index)" style="cursor: pointer"></i> |
|
|
class="el-icon-download" |
|
|
|
|
|
@click="downloadFile(scope, index)" |
|
|
|
|
|
style="cursor: pointer" |
|
|
|
|
|
></i> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
<!-- {{ scope.row.contractFile }} --> |
|
|
<!-- {{ scope.row.contractFile }} --> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
<el-table-column |
|
|
<el-table-column label="支付条款" align="center" prop="paymentTerms" min-width="120" /> |
|
|
label="支付条款" |
|
|
<el-table-column label="项目负责人" align="center" prop="projectLeader" min-width="120" /> |
|
|
align="center" |
|
|
<el-table-column label="项目技术负责人" align="center" prop="projectTechnicalLeader" min-width="120" /> |
|
|
prop="paymentTerms" |
|
|
<el-table-column label="专职安全生产负责人" align="center" prop="safetyProductionManager" min-width="150" /> |
|
|
min-width="120" |
|
|
<el-table-column label="质量负责人" align="center" prop="qualityLeader" min-width="120" /> |
|
|
/> |
|
|
|
|
|
<el-table-column |
|
|
|
|
|
label="项目负责人" |
|
|
|
|
|
align="center" |
|
|
|
|
|
prop="projectLeader" |
|
|
|
|
|
min-width="120" |
|
|
|
|
|
/> |
|
|
|
|
|
<el-table-column |
|
|
|
|
|
label="项目技术负责人" |
|
|
|
|
|
align="center" |
|
|
|
|
|
prop="projectTechnicalLeader" |
|
|
|
|
|
min-width="120" |
|
|
|
|
|
/> |
|
|
|
|
|
<el-table-column |
|
|
|
|
|
label="专职安全生产负责人" |
|
|
|
|
|
align="center" |
|
|
|
|
|
prop="safetyProductionManager" |
|
|
|
|
|
min-width="150" |
|
|
|
|
|
/> |
|
|
|
|
|
<el-table-column |
|
|
|
|
|
label="质量负责人" |
|
|
|
|
|
align="center" |
|
|
|
|
|
prop="qualityLeader" |
|
|
|
|
|
min-width="120" |
|
|
|
|
|
/> |
|
|
|
|
|
|
|
|
|
|
|
<el-table-column |
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" min-width="210" fixed="right"> |
|
|
label="操作" |
|
|
|
|
|
align="center" |
|
|
|
|
|
class-name="small-padding fixed-width" |
|
|
|
|
|
min-width="210" |
|
|
|
|
|
fixed="right" |
|
|
|
|
|
> |
|
|
|
|
|
<template slot-scope="scope"> |
|
|
<template slot-scope="scope"> |
|
|
<el-button |
|
|
<el-button size="mini" type="text" icon="el-icon-view" @click="viewInfo(scope.row)" |
|
|
size="mini" |
|
|
v-hasPermi="['build:info:view']">查看</el-button> |
|
|
type="text" |
|
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" |
|
|
icon="el-icon-view" |
|
|
v-hasPermi="['build:info:edit']">管理合同</el-button> |
|
|
@click="viewInfo(scope.row)" |
|
|
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" |
|
|
v-hasPermi="['build:info:view']" |
|
|
v-hasPermi="['build:info:remove']">删除</el-button> |
|
|
>查看</el-button |
|
|
|
|
|
> |
|
|
|
|
|
<el-button |
|
|
|
|
|
size="mini" |
|
|
|
|
|
type="text" |
|
|
|
|
|
icon="el-icon-edit" |
|
|
|
|
|
@click="handleUpdate(scope.row)" |
|
|
|
|
|
v-hasPermi="['build:info:edit']" |
|
|
|
|
|
>管理合同</el-button |
|
|
|
|
|
> |
|
|
|
|
|
<el-button |
|
|
|
|
|
size="mini" |
|
|
|
|
|
type="text" |
|
|
|
|
|
icon="el-icon-delete" |
|
|
|
|
|
@click="handleDelete(scope.row)" |
|
|
|
|
|
v-hasPermi="['build:info:remove']" |
|
|
|
|
|
>删除</el-button |
|
|
|
|
|
> |
|
|
|
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
</el-table> |
|
|
</el-table> |
|
|
|
|
|
|
|
|
<pagination |
|
|
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" |
|
|
v-show="total > 0" |
|
|
@pagination="getList" /> |
|
|
:total="total" |
|
|
|
|
|
:page.sync="queryParams.pageNum" |
|
|
|
|
|
:limit.sync="queryParams.pageSize" |
|
|
|
|
|
@pagination="getList" |
|
|
|
|
|
/> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 添加合同基本信息对话框 --> |
|
|
<!-- 添加合同基本信息对话框 --> |
|
|
<el-dialog |
|
|
<el-dialog :title="title" :visible.sync="open" width="90%" append-to-body :close-on-click-modal="false"> |
|
|
:title="title" |
|
|
|
|
|
:visible.sync="open" |
|
|
|
|
|
width="90%" |
|
|
|
|
|
append-to-body |
|
|
|
|
|
:close-on-click-modal="false" |
|
|
|
|
|
> |
|
|
|
|
|
<el-row> |
|
|
<el-row> |
|
|
<el-form |
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="150px" v-show="!loading"> |
|
|
ref="form" |
|
|
|
|
|
:model="form" |
|
|
|
|
|
:rules="rules" |
|
|
|
|
|
label-width="150px" |
|
|
|
|
|
v-show="!loading" |
|
|
|
|
|
> |
|
|
|
|
|
<!-- <el-col :span="12"> |
|
|
<!-- <el-col :span="12"> |
|
|
<el-form-item label="合同编号" prop="contractNumber"> |
|
|
<el-form-item label="合同编号" prop="contractNumber"> |
|
|
<el-input |
|
|
<el-input |
|
@ -354,156 +160,89 @@ |
|
|
</el-col> --> |
|
|
</el-col> --> |
|
|
<el-col :span="24"> |
|
|
<el-col :span="24"> |
|
|
<el-form-item label="合同名称" prop="contractName"> |
|
|
<el-form-item label="合同名称" prop="contractName"> |
|
|
<el-input |
|
|
<el-input v-model="form.contractName" placeholder="请输入合同名称" /> |
|
|
v-model="form.contractName" |
|
|
|
|
|
placeholder="请输入合同名称" |
|
|
|
|
|
/> |
|
|
|
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="12"> |
|
|
<el-col :span="12"> |
|
|
<el-form-item label="承建单位" prop="constructionUnit"> |
|
|
<el-form-item label="承建单位" prop="constructionUnit"> |
|
|
<el-input |
|
|
<el-input v-model="form.constructionUnit" placeholder="请输入承建单位" /> |
|
|
v-model="form.constructionUnit" |
|
|
|
|
|
placeholder="请输入承建单位" |
|
|
|
|
|
/> |
|
|
|
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="12"> |
|
|
<el-col :span="12"> |
|
|
<el-form-item label="合同状态"> |
|
|
<el-form-item label="合同状态"> |
|
|
<el-select |
|
|
<el-select v-model="form.contractStatus" placeholder="请选择合同状态" filterable clearable size="small" |
|
|
v-model="form.contractStatus" |
|
|
style="width: 100%"> |
|
|
placeholder="请选择合同状态" |
|
|
<el-option v-for="dict in contractStatusOptions" :key="dict.dictLabel + dict.id" :label="dict.dictLabel" |
|
|
filterable |
|
|
:value="dict.dictValue" /> |
|
|
clearable |
|
|
|
|
|
size="small" |
|
|
|
|
|
style="width: 100%" |
|
|
|
|
|
> |
|
|
|
|
|
<el-option |
|
|
|
|
|
v-for="dict in contractStatusOptions" |
|
|
|
|
|
:key="dict.dictLabel + dict.id" |
|
|
|
|
|
:label="dict.dictLabel" |
|
|
|
|
|
:value="dict.dictValue" |
|
|
|
|
|
/> |
|
|
|
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="12"> |
|
|
<el-col :span="12"> |
|
|
<el-form-item label="标段名称" prop="sectionName"> |
|
|
<el-form-item label="标段名称" prop="sectionName"> |
|
|
<el-input |
|
|
<el-input v-model="form.sectionName" placeholder="请输入标段名称" /> |
|
|
v-model="form.sectionName" |
|
|
|
|
|
placeholder="请输入标段名称" |
|
|
|
|
|
/> |
|
|
|
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="12"> |
|
|
<el-col :span="12"> |
|
|
<el-form-item label="合同金额" prop="contractAmount"> |
|
|
<el-form-item label="合同金额" prop="contractAmount"> |
|
|
<el-input |
|
|
<el-input v-model="form.contractAmount" placeholder="请输入合同金额"> |
|
|
v-model="form.contractAmount" |
|
|
|
|
|
placeholder="请输入合同金额" |
|
|
|
|
|
> |
|
|
|
|
|
<template slot="append">万元</template> |
|
|
<template slot="append">万元</template> |
|
|
</el-input> |
|
|
</el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="12"> |
|
|
<el-col :span="12"> |
|
|
<el-form-item label="合同工期" prop="contractDuration"> |
|
|
<el-form-item label="合同工期" prop="contractDuration"> |
|
|
<el-input |
|
|
<el-input v-model="form.contractDuration" placeholder="请输入合同工期" /> |
|
|
v-model="form.contractDuration" |
|
|
|
|
|
placeholder="请输入合同工期" |
|
|
|
|
|
/> |
|
|
|
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="12"> |
|
|
<el-col :span="12"> |
|
|
<el-form-item label="签订时间" prop="signingTime"> |
|
|
<el-form-item label="签订时间" prop="signingTime"> |
|
|
<el-date-picker |
|
|
<el-date-picker clearable size="small" style="width: 100%" v-model="form.signingTime" type="date" |
|
|
clearable |
|
|
value-format="yyyy-MM-dd" placeholder="选择签订时间"> |
|
|
size="small" |
|
|
|
|
|
style="width: 100%" |
|
|
|
|
|
v-model="form.signingTime" |
|
|
|
|
|
type="date" |
|
|
|
|
|
value-format="yyyy-MM-dd" |
|
|
|
|
|
placeholder="选择签订时间" |
|
|
|
|
|
> |
|
|
|
|
|
</el-date-picker> |
|
|
</el-date-picker> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="12"> |
|
|
<el-col :span="12"> |
|
|
<el-form-item label="开工时间" prop="commencementTime"> |
|
|
<el-form-item label="开工时间" prop="commencementTime"> |
|
|
<el-date-picker |
|
|
<el-date-picker clearable size="small" style="width: 100%" v-model="form.commencementTime" type="date" |
|
|
clearable |
|
|
value-format="yyyy-MM-dd" placeholder="选择开工时间"> |
|
|
size="small" |
|
|
|
|
|
style="width: 100%" |
|
|
|
|
|
v-model="form.commencementTime" |
|
|
|
|
|
type="date" |
|
|
|
|
|
value-format="yyyy-MM-dd" |
|
|
|
|
|
placeholder="选择开工时间" |
|
|
|
|
|
> |
|
|
|
|
|
</el-date-picker> |
|
|
</el-date-picker> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="12"> |
|
|
<el-col :span="12"> |
|
|
<el-form-item label="支付周期" prop="paymentCycle"> |
|
|
<el-form-item label="支付周期" prop="paymentCycle"> |
|
|
<el-input |
|
|
<el-input v-model="form.paymentCycle" placeholder="请输入支付周期" /> |
|
|
v-model="form.paymentCycle" |
|
|
|
|
|
placeholder="请输入支付周期" |
|
|
|
|
|
/> |
|
|
|
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="12"> |
|
|
<el-col :span="12"> |
|
|
<el-form-item label="履约保函提交时间" prop="submissionTime"> |
|
|
<el-form-item label="履约保函提交时间" prop="submissionTime"> |
|
|
<el-date-picker |
|
|
<el-date-picker clearable size="small" style="width: 100%" v-model="form.submissionTime" type="date" |
|
|
clearable |
|
|
value-format="yyyy-MM-dd" placeholder="选择履约保函提交时间"> |
|
|
size="small" |
|
|
|
|
|
style="width: 100%" |
|
|
|
|
|
v-model="form.submissionTime" |
|
|
|
|
|
type="date" |
|
|
|
|
|
value-format="yyyy-MM-dd" |
|
|
|
|
|
placeholder="选择履约保函提交时间" |
|
|
|
|
|
> |
|
|
|
|
|
</el-date-picker> |
|
|
</el-date-picker> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="12"> |
|
|
<el-col :span="12"> |
|
|
<el-form-item label="支付条款" prop="paymentTerms"> |
|
|
<el-form-item label="支付条款" prop="paymentTerms"> |
|
|
<el-input |
|
|
<el-input v-model="form.paymentTerms" placeholder="请输入支付条款" /> |
|
|
v-model="form.paymentTerms" |
|
|
|
|
|
placeholder="请输入支付条款" |
|
|
|
|
|
/> |
|
|
|
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="12"> |
|
|
<el-col :span="12"> |
|
|
<el-form-item label="项目负责人" prop="projectLeader"> |
|
|
<el-form-item label="项目负责人" prop="projectLeader"> |
|
|
<el-input |
|
|
<el-input v-model="form.projectLeader" placeholder="请输入项目负责人" /> |
|
|
v-model="form.projectLeader" |
|
|
|
|
|
placeholder="请输入项目负责人" |
|
|
|
|
|
/> |
|
|
|
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="12"> |
|
|
<el-col :span="12"> |
|
|
<el-form-item label="项目技术负责人" prop="projectTechnicalLeader"> |
|
|
<el-form-item label="项目技术负责人" prop="projectTechnicalLeader"> |
|
|
<el-input |
|
|
<el-input v-model="form.projectTechnicalLeader" placeholder="请输入项目技术负责人" /> |
|
|
v-model="form.projectTechnicalLeader" |
|
|
|
|
|
placeholder="请输入项目技术负责人" |
|
|
|
|
|
/> |
|
|
|
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="12"> |
|
|
<el-col :span="12"> |
|
|
<el-form-item |
|
|
<el-form-item label="专职安全生产负责人" prop="safetyProductionManager"> |
|
|
label="专职安全生产负责人" |
|
|
<el-input v-model="form.safetyProductionManager" placeholder="请输入专职安全生产负责人" /> |
|
|
prop="safetyProductionManager" |
|
|
|
|
|
> |
|
|
|
|
|
<el-input |
|
|
|
|
|
v-model="form.safetyProductionManager" |
|
|
|
|
|
placeholder="请输入专职安全生产负责人" |
|
|
|
|
|
/> |
|
|
|
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="12"> |
|
|
<el-col :span="12"> |
|
|
<el-form-item label="质量负责人" prop="qualityLeader"> |
|
|
<el-form-item label="质量负责人" prop="qualityLeader"> |
|
|
<el-input |
|
|
<el-input v-model="form.qualityLeader" placeholder="请输入质量负责人" /> |
|
|
v-model="form.qualityLeader" |
|
|
|
|
|
placeholder="请输入质量负责人" |
|
|
|
|
|
/> |
|
|
|
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="12"> |
|
|
<el-col :span="12"> |
|
@ -513,17 +252,9 @@ |
|
|
type="textarea" |
|
|
type="textarea" |
|
|
placeholder="请输入内容" |
|
|
placeholder="请输入内容" |
|
|
/> --> |
|
|
/> --> |
|
|
<el-upload |
|
|
<el-upload class="upload-demo" action="thinking/common/upload" :headers="headers" |
|
|
class="upload-demo" |
|
|
:on-preview="handlePreview" :on-remove="handleRemove" :before-remove="beforeRemove" multiple |
|
|
action="thinking/common/upload" |
|
|
:on-success="submitUpload" :file-list="contractFileList"> |
|
|
:headers="headers" |
|
|
|
|
|
:on-preview="handlePreview" |
|
|
|
|
|
:on-remove="handleRemove" |
|
|
|
|
|
:before-remove="beforeRemove" |
|
|
|
|
|
multiple |
|
|
|
|
|
:on-success="submitUpload" |
|
|
|
|
|
:file-list="contractFileList" |
|
|
|
|
|
> |
|
|
|
|
|
<el-button size="small" type="primary" plain> |
|
|
<el-button size="small" type="primary" plain> |
|
|
<i class="el-icon-upload el-icon--right"></i> |
|
|
<i class="el-icon-upload el-icon--right"></i> |
|
|
点击上传 |
|
|
点击上传 |
|
@ -543,15 +274,8 @@ |
|
|
</el-dialog> |
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
<!-- 管理合同 --> |
|
|
<!-- 管理合同 --> |
|
|
<el-dialog |
|
|
<el-dialog :title="manTitle" :visible.sync="manOpen" width="90%" append-to-body class="manDialog" @close="closeMan" |
|
|
:title="manTitle" |
|
|
:close-on-click-modal="false"> |
|
|
:visible.sync="manOpen" |
|
|
|
|
|
width="90%" |
|
|
|
|
|
append-to-body |
|
|
|
|
|
class="manDialog" |
|
|
|
|
|
@close="closeMan" |
|
|
|
|
|
:close-on-click-modal="false" |
|
|
|
|
|
> |
|
|
|
|
|
<el-tabs v-model="activeName" style="margin-bottom: 20px"> |
|
|
<el-tabs v-model="activeName" style="margin-bottom: 20px"> |
|
|
<el-tab-pane label="合同基本信息" name="basePage" :lazy="true"> |
|
|
<el-tab-pane label="合同基本信息" name="basePage" :lazy="true"> |
|
|
<basePage :conForm="form" :manOpen="manOpen" @conCancel="conCancel" /> |
|
|
<basePage :conForm="form" :manOpen="manOpen" @conCancel="conCancel" /> |
|
@ -572,29 +296,17 @@ |
|
|
</el-dialog> |
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
<!--查看 --> |
|
|
<!--查看 --> |
|
|
<el-dialog |
|
|
<el-dialog :title="viewTitle" :visible.sync="viewOpen" width="1200px" append-to-body @close="closeView" |
|
|
:title="viewTitle" |
|
|
:close-on-click-modal="false"> |
|
|
:visible.sync="viewOpen" |
|
|
|
|
|
width="1200px" |
|
|
|
|
|
append-to-body |
|
|
|
|
|
@close="closeView" |
|
|
|
|
|
:close-on-click-modal="false" |
|
|
|
|
|
> |
|
|
|
|
|
<!-- 合同信息 --> |
|
|
<!-- 合同信息 --> |
|
|
<div class="infoTitle">合同信息</div> |
|
|
<div class="infoTitle">合同信息</div> |
|
|
<div class="draLine"></div> |
|
|
<div class="draLine"></div> |
|
|
<div class="content"> |
|
|
<div class="content"> |
|
|
<el-descriptions |
|
|
<el-descriptions class="margin-top" :column="2" border :labelStyle="{ |
|
|
class="margin-top" |
|
|
'text-align': 'left', |
|
|
:column="2" |
|
|
width: '180px', |
|
|
border |
|
|
height: '50px', |
|
|
:labelStyle="{ |
|
|
}" :contentStyle="{}"> |
|
|
'text-align': 'left', |
|
|
|
|
|
width: '180px', |
|
|
|
|
|
height: '50px', |
|
|
|
|
|
}" |
|
|
|
|
|
:contentStyle="{}" |
|
|
|
|
|
> |
|
|
|
|
|
<el-descriptions-item> |
|
|
<el-descriptions-item> |
|
|
<template slot="label"> 合同名称 </template> |
|
|
<template slot="label"> 合同名称 </template> |
|
|
{{ this.contractMsg.contractName }} |
|
|
{{ this.contractMsg.contractName }} |
|
@ -662,19 +374,12 @@ |
|
|
<el-descriptions-item span="2"> |
|
|
<el-descriptions-item span="2"> |
|
|
<template slot="label"> 合同文件 </template> |
|
|
<template slot="label"> 合同文件 </template> |
|
|
<template v-if="this.contractMsg.contractFile"> |
|
|
<template v-if="this.contractMsg.contractFile"> |
|
|
<div |
|
|
<div v-for="(item, index) in JSON.parse( |
|
|
v-for="(item, index) in JSON.parse( |
|
|
this.contractMsg.contractFile |
|
|
this.contractMsg.contractFile |
|
|
)" :key="item + index"> |
|
|
)" |
|
|
|
|
|
:key="item + index" |
|
|
|
|
|
> |
|
|
|
|
|
{{ item.name }} |
|
|
{{ item.name }} |
|
|
|
|
|
|
|
|
<i |
|
|
<i class="el-icon-download" @click="downloadFile2(item, index)" style="cursor: pointer"></i> |
|
|
class="el-icon-download" |
|
|
|
|
|
@click="downloadFile2(item, index)" |
|
|
|
|
|
style="cursor: pointer" |
|
|
|
|
|
></i> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</template> |
|
|
</template> |
|
|
</el-descriptions-item> |
|
|
</el-descriptions-item> |
|
@ -793,6 +498,20 @@ export default { |
|
|
trigger: "blur", |
|
|
trigger: "blur", |
|
|
}, |
|
|
}, |
|
|
], |
|
|
], |
|
|
|
|
|
contractDuration: [ |
|
|
|
|
|
{ |
|
|
|
|
|
pattern: /^(\-|\+)?\d+?$/, |
|
|
|
|
|
message: '请输入正确的数字', |
|
|
|
|
|
trigger: 'blur' |
|
|
|
|
|
}, |
|
|
|
|
|
], |
|
|
|
|
|
paymentCycle: [ |
|
|
|
|
|
{ |
|
|
|
|
|
pattern: /^(\-|\+)?\d+?$/, |
|
|
|
|
|
message: '请输入正确的数字', |
|
|
|
|
|
trigger: 'blur' |
|
|
|
|
|
}, |
|
|
|
|
|
], |
|
|
}, |
|
|
}, |
|
|
// 面包屑,路由信息 |
|
|
// 面包屑,路由信息 |
|
|
routeList: [ |
|
|
routeList: [ |
|
@ -1037,7 +756,7 @@ export default { |
|
|
this.getList(); |
|
|
this.getList(); |
|
|
this.msgSuccess("删除成功"); |
|
|
this.msgSuccess("删除成功"); |
|
|
}) |
|
|
}) |
|
|
.catch(function () {}); |
|
|
.catch(function () { }); |
|
|
} else { |
|
|
} else { |
|
|
this.$message.warning("请选择要删除的数据!!"); |
|
|
this.$message.warning("请选择要删除的数据!!"); |
|
|
} |
|
|
} |
|
@ -1097,11 +816,13 @@ export default { |
|
|
</script> |
|
|
</script> |
|
|
<style lang="scss" scoped> |
|
|
<style lang="scss" scoped> |
|
|
@import "@/assets/css/dialog.scss"; |
|
|
@import "@/assets/css/dialog.scss"; |
|
|
|
|
|
|
|
|
::v-deep { |
|
|
::v-deep { |
|
|
.el-dialog { |
|
|
.el-dialog { |
|
|
margin-top: 10vh !important; |
|
|
margin-top: 10vh !important; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.manDialog ::v-deep { |
|
|
.manDialog ::v-deep { |
|
|
.el-dialog { |
|
|
.el-dialog { |
|
|
margin-top: 3vh !important; |
|
|
margin-top: 3vh !important; |
|
|