Browse Source

修改字段和校验

dev_kxc
liweikun 1 year ago
parent
commit
442f6b3bbc
  1. 721
      jwtech-admin-page/src/views/building/projectInfo/index.vue
  2. 477
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/contract/index.vue
  3. 8
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/qualityControl/options/itemDivision/components/segmentProject.vue
  4. 6
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/qualityControl/options/itemDivision/components/unitProject.vue
  5. 10
      jwtech-admin-page/src/views/project/proposal/index.vue

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

File diff suppressed because it is too large

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

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

8
jwtech-admin-page/src/views/building/projectInfo/projectProcess/qualityControl/options/itemDivision/components/segmentProject.vue

@ -64,7 +64,7 @@
<el-form-item label="分部工程编号" prop="divisionalWorkCode">
<el-input
v-model="form.divisionalWorkCode"
placeholder="请输入分部工程名称"
placeholder="请输入分部工程编号"
/>
</el-form-item>
</el-col>
@ -382,6 +382,12 @@ export default {
],
divisionalWorkCode: [
{ required: true, message: "请输入分部工程编号", trigger: "blur" },
{
pattern:
/[\\u4e00-\\u9fa5]$/,
message: "编号不得出现中文",
trigger: "blur",
},
],
unitNumber: [
{ required: true, message: "请输入单元工程数量", trigger: "blur" },

6
jwtech-admin-page/src/views/building/projectInfo/projectProcess/qualityControl/options/itemDivision/components/unitProject.vue

@ -216,6 +216,12 @@ export default {
],
unitProjectCode: [
{ required: true, message: "请输入单位工程编号", trigger: "blur" },
{
pattern:
/[\\u4e00-\\u9fa5]$/,
message: "编号不得出现中文",
trigger: "blur",
},
],
},
};

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

@ -151,7 +151,7 @@
:formatter="formatAdcd"
/>
<el-table-column
label="规划类型"
label="项目类型"
align="center"
prop="projectType"
:formatter="projectTypeFormat"
@ -408,28 +408,28 @@
</el-col>
<el-col :span="12">
<el-form-item label="上报时间" prop="reportTime">
<el-form-item label="上报日期" prop="reportTime">
<el-date-picker
clearable
size="small"
v-model="form.reportTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择上报时间"
placeholder="选择上报日期"
style="width: 100%"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="审批时间" prop="approvalTime">
<el-form-item label="审批日期" prop="approvalTime">
<el-date-picker
clearable
size="small"
v-model="form.approvalTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择审批时间"
placeholder="选择审批日期"
style="width: 100%"
>
</el-date-picker>

Loading…
Cancel
Save