Browse Source

在建完善

dev_kxc
xzt 1 year ago
parent
commit
811820d33f
  1. 16
      jwtech-admin-page/src/api/common.js
  2. 22
      jwtech-admin-page/src/router/index.js
  3. 126
      jwtech-admin-page/src/views/building/projectInfo/index.vue
  4. 1057
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/baseMsg.vue
  5. 73
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/designChangeInformation.vue
  6. 4
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/index.vue
  7. 4
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/investment/index.vue
  8. 3
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/investment/options/purposeFunds.vue
  9. 16
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/investment/options/sourceFunds.vue
  10. 880
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/preparationForConstruction.vue
  11. 1474
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/projectAcceptance.vue
  12. 18
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/qualityControl/options/EngineeringQualitySupervisionAndInspection.vue
  13. 14
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/qualityControl/options/engineeringQualityInspection.vue
  14. 118
      jwtech-admin-page/src/views/legalLinkProject.vue

16
jwtech-admin-page/src/api/common.js

@ -2,6 +2,22 @@ import request from '@/utils/request'
import {downloadFileStreamFastDFS, getFileStream} from "@/api/system/upload";
//判断角色是否为项目法人
export function isLegal(){
return request({
url: '/common/isLegal',
method: 'get',
})
}
// 项目法人关联项目
export function legalLinkProject(data){
return request({
url: '/common/bindPro',
method: 'post',
data: data
})
}
//文件上传(只适合小文件)
export function uploadFile(data){
return request({

22
jwtech-admin-page/src/router/index.js

@ -1,6 +1,7 @@
import Vue from 'vue'
import Router from 'vue-router'
import { setToken } from "@/utils/auth";
import { isLegal } from "@/api/common";
Vue.use(Router)
@ -43,6 +44,11 @@ export const constantRoutes = [
component: (resolve) => require(['@/views/loginbg'], resolve),
hidden: true
},
{
path: '/legalLinkProject',
component: (resolve) => require(['@/views/legalLinkProject'], resolve),
hidden: true
},
{
path: '/singleLogin',
component: (resolve) => require(['@/views/singleLogin'], resolve),
@ -143,6 +149,7 @@ const router = new Router({
// 注册一个全局前置守卫
router.beforeEach((to, from, next) => {
if (to.path === "/singleLogin") {
console.log("单点登录设置token", to.query.token); //判断当前路由是否需要进行权限控制
if (to.query.token) {
@ -150,7 +157,20 @@ router.beforeEach((to, from, next) => {
next()
}
} else {
next() // 放行
if (from.path === '/login') {
// console.log(54546486,isLegal());
isLegal().then(res => {
console.log("resres", res);
if (!res) {
next("/legalLinkProject")
} else {
next()
}
})
} else {
next() // 放行
}
}
})
export default router

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

@ -102,6 +102,26 @@
prop="projectName"
min-width="120"
/>
<el-table-column
label="项目编码"
align="center"
prop="proCode"
min-width="120"
/>
<el-table-column
label="行政区划"
align="center"
prop="adcd"
min-width="120"
:formatter="formatAdcd"
/>
<el-table-column
label="项目类型"
align="center"
prop="projectType"
:formatter="projectTypeFormat"
min-width="120"
/>
<!-- <el-table-column label="项目法人" align="center" prop="unitLeader" min-width="120" /> -->
<!-- <el-table-column
label="项目法人"
@ -109,7 +129,8 @@
prop="projectLegalPerson"
min-width="120"
/> -->
<el-table-column
<!-- <el-table-column
label="项目法人单位"
align="center"
prop="projectLegalUnit"
@ -154,7 +175,7 @@
prop="constructionMode"
:formatter="constructionModeFormat"
min-width="120"
/>
/> -->
<el-table-column
label="建设性质"
align="center"
@ -162,34 +183,23 @@
:formatter="constructionNatureFormat"
min-width="120"
/>
<el-table-column
<!-- <el-table-column
label="建设内容"
align="center"
prop="constructionContent"
min-width="120"
/>
<el-table-column
label="行政区划"
align="center"
prop="adcd"
min-width="120"
/>
<el-table-column
label="所属流域"
align="center"
prop="basin"
min-width="120"
/>
<el-table-column
label="项目类型"
align="center"
prop="projectType"
:formatter="projectTypeFormat"
min-width="120"
/>
/> -->
<!-- <el-table-column label="资金来源" align="center" prop="fundingSource"
min-width="120"/> -->
<el-table-column
<!-- <el-table-column
label="是否172项重大水利工程"
align="center"
prop="isMajorProject"
@ -213,6 +223,12 @@
align="center"
prop="fundingNumber"
min-width="120"
/> -->
<el-table-column
label="总投资金额(万元)"
align="center"
prop="total"
min-width="120"
/>
<el-table-column
label="操作"
@ -222,20 +238,20 @@
fixed="right"
>
<template slot-scope="scope">
<el-button
<!-- <el-button
size="mini"
type="text"
icon="el-icon-view"
@click="viewInfo(scope.row)"
>查看</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
>
<el-button
size="mini"
@ -558,7 +574,9 @@
<el-input
v-model="form.centralArrangedFundsRate"
placeholder="请输入中央资金比例"
/>
>
<template slot="append">%</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
@ -576,7 +594,9 @@
<el-input
v-model="form.provincialFundingRate"
placeholder="请输入省级资金比例"
/>
>
<template slot="append">%</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
@ -594,7 +614,9 @@
<el-input
v-model="form.cityLevelFundsRate"
placeholder="请输入地市资金比例"
/>
>
<template slot="append">%</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
@ -612,7 +634,9 @@
<el-input
v-model="form.countyLevelFundsRate"
placeholder="请输入区县资金比例"
/>
>
<template slot="append">%</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
@ -636,7 +660,9 @@
<el-input
v-model="form.townshipInvestmentsRate"
placeholder="请输入乡镇及群众自筹和其他投资比例"
/>
>
<template slot="append">%</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
@ -680,7 +706,7 @@
</el-form>
</el-row>
<!-- <div slot="footer" class="dialog-footer"> -->
<div class="dialog-footer" style="left: 20px; bottom: 5px">
<div class="dialog-footer" slot="footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
@ -723,7 +749,7 @@
{{ this.proMsg.projectLegalPerson }}
</el-descriptions-item> -->
<el-descriptions-item>
<template slot="label"> 项目编 </template>
<template slot="label"> 项目编编码 </template>
{{ this.proMsg.proCode }}
</el-descriptions-item>
<el-descriptions-item>
@ -1095,6 +1121,28 @@ export default {
this.getTreeData();
},
methods: {
formatAdcd(row) {
if (row.adcd) {
let provinceCode = row.adcd.slice(0, 2);
let cityCode = row.adcd.slice(2, 4);
let areaCode = row.adcd.slice(4, 6);
if (areaCode != "00") {
return (
codeToText[provinceCode] +
"-" +
codeToText[provinceCode + cityCode] +
"-" +
codeToText[provinceCode + cityCode + areaCode]
);
} else if (cityCode != "00") {
return (
codeToText[provinceCode] + "-" + codeToText[provinceCode + cityCode]
);
} else {
return codeToText[provinceCode];
}
}
},
getTreeData() {
getAreasData().then((items) => {
// console.log("getAreasData", items.data);
@ -1465,28 +1513,6 @@ 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 exportInfo(queryParams);
})
.then((response) => {
this.downloadFile(response, true, response.msg);
// this.download(response.msg);
})
.catch(function () {});
},
},
};
</script>

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

File diff suppressed because it is too large

73
jwtech-admin-page/src/views/building/projectInfo/projectProcess/designChangeInformation.vue

@ -15,7 +15,12 @@
clearable
size="small"
>
<el-option label="请选择字典生成" value="" />
<el-option
v-for="dict in changeTypeOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="变更原因" prop="changeReason">
@ -113,10 +118,11 @@
label="变更类型"
align="center"
prop="changeType"
:formatter="changeTypeFormat"
min-width="120"
/>
<el-table-column
label="变更时间"
label="变更时间"
align="center"
prop="changeTime"
min-width="120"
@ -147,6 +153,7 @@
label="审批状态"
align="center"
prop="approvalStatus"
:formatter="approvalStatusFormat"
min-width="120"
/>
<el-table-column
@ -227,13 +234,18 @@
placeholder="请选择变更类型"
style="width: 100%"
>
<el-option label="请选择字典生成" value="" />
<el-option
v-for="dict in changeTypeOptions"
: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="changeTime">
<el-form-item label="变更时间" prop="changeTime">
<el-date-picker
clearable
size="small"
@ -241,21 +253,12 @@
v-model="form.changeTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择变更时间"
placeholder="选择变更时间"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="变更内容" prop="changeContent">
<el-input
v-model="form.changeContent"
placeholder="请输入变更内容"
type="textarea"
rows="2"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="变更原因" prop="changeReason">
<el-input
@ -276,7 +279,12 @@
<el-col :span="12">
<el-form-item label="审批状态">
<el-radio-group v-model="form.approvalStatus">
<el-radio label="1">请选择字典生成</el-radio>
<el-radio
v-for="dict in approvalStatusOptions"
:key="dict.dictValue"
:label="dict.dictValue"
>{{ dict.dictLabel }}</el-radio
>
</el-radio-group>
</el-form-item>
</el-col>
@ -294,6 +302,16 @@
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="变更内容" prop="changeContent">
<el-input
v-model="form.changeContent"
placeholder="请输入变更内容"
type="textarea"
rows="2"
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="批复意见" prop="approvalOpinions">
<el-input
@ -341,7 +359,7 @@
{{ this.designMsg.changeType }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 变更时间 </template>
<template slot="label"> 变更时间 </template>
{{ this.designMsg.changeTime }}
</el-descriptions-item>
<el-descriptions-item>
@ -409,6 +427,10 @@ export default {
//
open: false,
viewOpen: false,
//
changeTypeOptions: [],
//
approvalStatusOptions: [],
//
queryParams: {
pageNum: 1,
@ -441,6 +463,12 @@ export default {
},
created() {
this.getList();
this.getDicts("chenge_type").then((response) => {
this.changeTypeOptions = response.data;
});
this.getDicts("approval_status").then((response) => {
this.approvalStatusOptions = response.data;
});
},
methods: {
/** 查询变更信息管理列表 */
@ -454,6 +482,17 @@ export default {
this.loading = false;
});
},
//
changeTypeFormat(row, column) {
return this.selectDictLabel(this.changeTypeOptions, row.changeType);
},
//
approvalStatusFormat(row, column) {
return this.selectDictLabel(
this.approvalStatusOptions,
row.approvalStatus
);
},
//
cancel() {
this.open = false;

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

@ -64,7 +64,7 @@
/>
</el-tab-pane>
<el-tab-pane
label="质量管理"
label="质量控制"
name="qualityControl"
:disabled="!routeList[1].isEdit"
:lazy="true"
@ -121,7 +121,7 @@
/>
</el-tab-pane>
<el-tab-pane
label="投资落实"
label="投资控制"
name="investment"
:disabled="!routeList[1].isEdit"
:lazy="true"

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

@ -22,7 +22,7 @@
@tab-click="handleClick"
style="height: 750px; margin-bottom: 20px"
>
<el-tab-pane label="资金来源" name="sourceFunds" :lazy="true">
<el-tab-pane label="资金下达" name="sourceFunds" :lazy="true">
<sourceFunds
:formData="formData"
:proNo="proNo"
@ -32,7 +32,7 @@
</el-tab-pane>
<el-tab-pane
label="资金用途"
label="资金支付"
name="purposeFunds"
:disabled="!routeList[1].isEdit"
:lazy="true"

3
jwtech-admin-page/src/views/building/projectInfo/projectProcess/investment/options/purposeFunds.vue

@ -508,7 +508,8 @@ export default {
listInfoByCode(this.queryParams).then((response) => {
this.contractsList = response.records;
this.contractsList.forEach((item, index) => {
item.payRate = (item.actualPayment / item.contractAmount) * 100 + "%";
item.payRate =
((item.actualPayment / item.contractAmount) * 100).toFixed(2) + "%";
});
this.total = response.total;
this.loading = false;

16
jwtech-admin-page/src/views/building/projectInfo/projectProcess/investment/options/sourceFunds.vue

@ -236,6 +236,22 @@
</template>
</el-table-column>
<el-table-column
label="下达资金总金额(万元)"
align="center"
prop="releaseFunds"
min-width="180"
>
<template slot-scope="scope">
<span>{{
scope.row.centralArrangedFunds +
scope.row.provincialFunding +
scope.row.cityLevelFunds +
scope.row.countyLevelFunds +
scope.row.townshipInvestments
}}</span>
</template>
</el-table-column>
<el-table-column
label="中央资金(万元)"
align="center"

880
jwtech-admin-page/src/views/building/projectInfo/projectProcess/preparationForConstruction.vue

@ -1,315 +1,557 @@
<template>
<!-- 施工准备 -->
<div class="app-container">
<el-row :gutter="25">
<el-form
ref="form"
:model="form"
label-width="110px"
label-position="top"
>
<!-- ===============工程开工令==================== -->
<div class="listTitle" style="margin-top: 0">
<span>工程开工令</span>
</div>
<el-col :span="24">
<el-form-item label="开工令文件" prop="workCommencementOrder1">
<!-- <el-input
<div class="listTitle" style="border-left: 0">
<span></span>
<span class="addBtn" @click="handleUpdate">
<i class="el-icon-edit-outline"></i>
编辑
</span>
</div>
<div class="listTitle">
<span>工程开工令</span>
</div>
<el-descriptions
class="margin-top"
:column="2"
border
:labelStyle="{
'text-align': 'left',
width: '180px',
height: '50px',
}"
:contentStyle="{}"
>
<el-descriptions-item span="2">
<template slot="label"> 开工令文件 </template>
<template v-if="this.preMsg.workCommencementOrder1">
<div
v-for="(item, index) in JSON.parse(
this.preMsg.workCommencementOrder1
)"
: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.preMsg.reportTime1 }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 审批时间 </template>
{{ this.preMsg.approvalTime1 }}
</el-descriptions-item>
<el-descriptions-item span="2">
<template slot="label"> 批复意见 </template>
{{ this.preMsg.approvalOpinion1 }}
</el-descriptions-item>
</el-descriptions>
<div class="listTitle">
<span>施工组织设计</span>
</div>
<el-descriptions
class="margin-top"
:column="2"
border
:labelStyle="{
'text-align': 'left',
width: '180px',
height: '50px',
}"
:contentStyle="{}"
>
<el-descriptions-item span="2">
<template slot="label"> 施工组织设计附件 </template>
<template v-if="this.preMsg.workCommencementOrder2">
<div
v-for="(item, index) in JSON.parse(
this.preMsg.workCommencementOrder2
)"
: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.preMsg.reportTime2 }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 审批时间 </template>
{{ this.preMsg.approvalTime2 }}
</el-descriptions-item>
<el-descriptions-item span="2">
<template slot="label"> 批复意见 </template>
{{ this.preMsg.approvalOpinion2 }}
</el-descriptions-item>
</el-descriptions>
<div class="listTitle">
<span>施工准备措施</span>
</div>
<el-descriptions
class="margin-top"
:column="2"
border
:labelStyle="{
'text-align': 'left',
width: '180px',
height: '50px',
}"
:contentStyle="{}"
>
<el-descriptions-item span="2">
<template slot="label"> 施工准备措施附件 </template>
<template v-if="this.preMsg.workCommencementOrder3">
<div
v-for="(item, index) in JSON.parse(
this.preMsg.workCommencementOrder3
)"
: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 span="2">
<template slot="label"> 施工准备措施内容 </template>
{{ this.preMsg.approvalOpinion3 }}
</el-descriptions-item>
</el-descriptions>
<div class="listTitle">
<span>施工准备措施检查</span>
</div>
<el-descriptions
class="margin-top"
:column="2"
border
:labelStyle="{
'text-align': 'left',
width: '180px',
height: '50px',
}"
:contentStyle="{}"
>
<el-descriptions-item span="2">
<template slot="label"> 施工准备措施检查附件 </template>
<template v-if="this.preMsg.workCommencementOrder4">
<div
v-for="(item, index) in JSON.parse(
this.preMsg.workCommencementOrder4
)"
: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 span="2">
<template slot="label"> 批复意见 </template>
{{ this.preMsg.approvalOpinion4 }}
</el-descriptions-item>
</el-descriptions>
<div class="listTitle">
<span>项目开工文件</span>
</div>
<el-descriptions
class="margin-top"
:column="2"
border
:labelStyle="{
'text-align': 'left',
width: '180px',
height: '50px',
}"
:contentStyle="{}"
>
<el-descriptions-item span="2">
<template slot="label"> 开工令文件 </template>
<template v-if="this.preMsg.workCommencementOrder5">
<div
v-for="(item, index) in JSON.parse(
this.preMsg.workCommencementOrder5
)"
: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.preMsg.reportTime5 }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 审批时间 </template>
{{ this.preMsg.approvalTime5 }}
</el-descriptions-item>
<el-descriptions-item span="2">
<template slot="label"> 批复意见 </template>
{{ this.preMsg.approvalOpinion5 }}
</el-descriptions-item>
</el-descriptions>
<el-dialog
:title="title"
:visible.sync="open"
width="1200px"
append-to-body
:close-on-click-modal="false"
>
<el-row :gutter="15">
<el-form
ref="form"
:model="form"
label-width="110px"
label-position="top"
>
<!-- ===============工程开工令==================== -->
<div class="listTitle" style="margin-top: 0">
<span>工程开工令</span>
</div>
<el-col :span="24">
<el-form-item label="开工令文件" prop="workCommencementOrder1">
<!-- <el-input
v-model="form.workCommencementOrder1"
placeholder="请输入意见附件"
/> -->
<el-upload
class="upload-demo"
action="thinking/common/upload"
:headers="headers"
:on-preview="handleOpinionPreview"
:on-remove="handleOpinionRemove1"
:before-remove="beforeOpinionRemove"
multiple
:on-exceed="handleOpinionExceed"
:on-success="submitOpinionUpload1"
:file-list="fileList1"
>
<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">
<el-upload
class="upload-demo"
action="thinking/common/upload"
:headers="headers"
:on-preview="handleOpinionPreview"
:on-remove="handleOpinionRemove1"
:before-remove="beforeOpinionRemove"
multiple
:on-exceed="handleOpinionExceed"
:on-success="submitOpinionUpload1"
:file-list="fileList1"
>
<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-col :span="12">
<el-form-item label="上报时间" prop="reportTime1">
<el-date-picker
v-model="form.reportTime1"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择上报时间"
style="width: 100%"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="审批时间" prop="approvalTime1">
<el-date-picker
v-model="form.approvalTime1"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择审批时间"
style="width: 100%"
</el-upload>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="上报时间" prop="reportTime1">
<el-date-picker
v-model="form.reportTime1"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择上报时间"
style="width: 100%"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="审批时间" prop="approvalTime1">
<el-date-picker
v-model="form.approvalTime1"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择审批时间"
style="width: 100%"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="批复意见" prop="approvalOpinion1">
<el-input
v-model="form.approvalOpinion1"
placeholder="请输入批复意见"
type="textarea"
></el-input>
</el-form-item>
</el-col>
<!-- ===============施工组织设计==================== -->
<div class="listTitle">
<span>施工组织设计</span>
</div>
<el-col :span="24">
<el-form-item
label="施工组织设计附件"
prop="workCommencementOrder2"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="批复意见" prop="approvalOpinion1">
<el-input
v-model="form.approvalOpinion1"
placeholder="请输入批复意见"
type="textarea"
rows="4"
></el-input>
</el-form-item>
</el-col>
<!-- ===============施工组织设计==================== -->
<div class="listTitle">
<span>施工组织设计</span>
</div>
<el-col :span="24">
<el-form-item label="施工组织设计附件" prop="workCommencementOrder2">
<!-- <el-input
<!-- <el-input
v-model="form.workCommencementOrder2"
placeholder="请输入意见附件"
/> -->
<el-upload
class="upload-demo"
action="thinking/common/upload"
:headers="headers"
:on-preview="handleOpinionPreview"
:on-remove="handleOpinionRemove2"
:before-remove="beforeOpinionRemove"
multiple
:on-exceed="handleOpinionExceed"
:on-success="submitOpinionUpload2"
:file-list="fileList2"
>
<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-col :span="12">
<el-form-item label="上报时间" prop="reportTime2">
<el-date-picker
v-model="form.reportTime2"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期"
style="width: 100%"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="审批时间" prop="approvalTime2">
<el-date-picker
v-model="form.approvalTime2"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期"
style="width: 100%"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="批复意见" prop="approvalOpinion2">
<el-input
v-model="form.approvalOpinion2"
placeholder="请输入批复意见"
type="textarea"
rows="4"
></el-input>
</el-form-item>
</el-col>
<el-upload
class="upload-demo"
action="thinking/common/upload"
:headers="headers"
:on-preview="handleOpinionPreview"
:on-remove="handleOpinionRemove2"
:before-remove="beforeOpinionRemove"
multiple
:on-exceed="handleOpinionExceed"
:on-success="submitOpinionUpload2"
:file-list="fileList2"
>
<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-col :span="12">
<el-form-item label="上报时间" prop="reportTime2">
<el-date-picker
v-model="form.reportTime2"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期"
style="width: 100%"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="审批时间" prop="approvalTime2">
<el-date-picker
v-model="form.approvalTime2"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期"
style="width: 100%"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="批复意见" prop="approvalOpinion2">
<el-input
v-model="form.approvalOpinion2"
placeholder="请输入批复意见"
type="textarea"
></el-input>
</el-form-item>
</el-col>
<!-- ===============施工准备措施==================== -->
<div class="listTitle">
<span>施工准备措施</span>
</div>
<!-- ===============施工准备措施==================== -->
<div class="listTitle">
<span>施工准备措施</span>
</div>
<el-col :span="24">
<el-form-item label="施工准备措施附件" prop="workCommencementOrder3">
<!-- <el-input
<el-col :span="24">
<el-form-item
label="施工准备措施附件"
prop="workCommencementOrder3"
>
<!-- <el-input
v-model="form.workCommencementOrder3"
placeholder="请输入意见附件"
/> -->
<el-upload
class="upload-demo"
action="thinking/common/upload"
:headers="headers"
:on-preview="handleOpinionPreview"
:on-remove="handleOpinionRemove3"
:before-remove="beforeOpinionRemove"
multiple
:on-exceed="handleOpinionExceed"
:on-success="submitOpinionUpload3"
:file-list="fileList3"
>
<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-col :span="24">
<el-form-item label="施工准备措施内容" prop="approvalOpinion3">
<el-input
v-model="form.approvalOpinion3"
placeholder="请输入施工准备措施内容"
type="textarea"
rows="4"
></el-input>
</el-form-item>
</el-col>
<!-- ===============施工准备措施检查==================== -->
<div class="listTitle">
<span>施工准备措施检查</span>
</div>
<el-upload
class="upload-demo"
action="thinking/common/upload"
:headers="headers"
:on-preview="handleOpinionPreview"
:on-remove="handleOpinionRemove3"
:before-remove="beforeOpinionRemove"
multiple
:on-exceed="handleOpinionExceed"
:on-success="submitOpinionUpload3"
:file-list="fileList3"
>
<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-col :span="24">
<el-form-item label="施工准备措施内容" prop="approvalOpinion3">
<el-input
v-model="form.approvalOpinion3"
placeholder="请输入施工准备措施内容"
type="textarea"
></el-input>
</el-form-item>
</el-col>
<!-- ===============施工准备措施检查==================== -->
<div class="listTitle">
<span>施工准备措施检查</span>
</div>
<el-col :span="24">
<el-form-item
label="施工准备措施检查附件"
prop="workCommencementOrder4"
>
<!-- <el-input
<el-col :span="24">
<el-form-item
label="施工准备措施检查附件"
prop="workCommencementOrder4"
>
<!-- <el-input
v-model="form.workCommencementOrder4"
placeholder="请输入意见附件"
/> -->
<el-upload
class="upload-demo"
action="thinking/common/upload"
:headers="headers"
:on-preview="handleOpinionPreview"
:on-remove="handleOpinionRemove4"
:before-remove="beforeOpinionRemove"
multiple
:on-exceed="handleOpinionExceed"
:on-success="submitOpinionUpload4"
:file-list="fileList4"
>
<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-col :span="24">
<el-form-item label="批复意见" prop="approvalOpinion4">
<el-input
v-model="form.approvalOpinion4"
placeholder="请输入批复意见"
type="textarea"
rows="4"
></el-input>
</el-form-item>
</el-col>
<el-upload
class="upload-demo"
action="thinking/common/upload"
:headers="headers"
:on-preview="handleOpinionPreview"
:on-remove="handleOpinionRemove4"
:before-remove="beforeOpinionRemove"
multiple
:on-exceed="handleOpinionExceed"
:on-success="submitOpinionUpload4"
:file-list="fileList4"
>
<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-col :span="24">
<el-form-item label="批复意见" prop="approvalOpinion4">
<el-input
v-model="form.approvalOpinion4"
placeholder="请输入批复意见"
type="textarea"
></el-input>
</el-form-item>
</el-col>
<!-- ===============项目开工文件==================== -->
<div class="listTitle">
<span>项目开工文件</span>
</div>
<!-- ===============项目开工文件==================== -->
<div class="listTitle">
<span>项目开工文件</span>
</div>
<el-col :span="24">
<el-form-item label="项目开工文件" prop="workCommencementOrder5">
<!-- <el-input
<el-col :span="24">
<el-form-item label="项目开工文件" prop="workCommencementOrder5">
<!-- <el-input
v-model="form.workCommencementOrder5"
placeholder="请输入意见附件"
/> -->
<el-upload
class="upload-demo"
action="thinking/common/upload"
:headers="headers"
:on-preview="handleOpinionPreview"
:on-remove="handleOpinionRemove5"
:before-remove="beforeOpinionRemove"
multiple
:on-exceed="handleOpinionExceed"
:on-success="submitOpinionUpload5"
:file-list="fileList5"
>
<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-col :span="12">
<el-form-item label="上报时间" prop="reportTime5">
<el-date-picker
v-model="form.reportTime5"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期"
style="width: 100%"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="审批时间" prop="approvalTime5">
<el-date-picker
v-model="form.approvalTime5"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期"
style="width: 100%"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="批复意见" prop="approvalOpinion5">
<el-input
v-model="form.approvalOpinion5"
placeholder="请输入批复意见"
type="textarea"
rows="4"
></el-input>
</el-form-item>
</el-col>
</el-form>
<div class="btnList">
<el-upload
class="upload-demo"
action="thinking/common/upload"
:headers="headers"
:on-preview="handleOpinionPreview"
:on-remove="handleOpinionRemove5"
:before-remove="beforeOpinionRemove"
multiple
:on-exceed="handleOpinionExceed"
:on-success="submitOpinionUpload5"
:file-list="fileList5"
>
<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-col :span="12">
<el-form-item label="上报时间" prop="reportTime5">
<el-date-picker
v-model="form.reportTime5"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期"
style="width: 100%"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="审批时间" prop="approvalTime5">
<el-date-picker
v-model="form.approvalTime5"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期"
style="width: 100%"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="批复意见" prop="approvalOpinion5">
<el-input
v-model="form.approvalOpinion5"
placeholder="请输入批复意见"
type="textarea"
></el-input>
</el-form-item>
</el-col>
</el-form>
<!-- <div class="btnList">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div> -->
</el-row>
<div class="dialog-footer" slot="footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-row>
</el-dialog>
</div>
</template>
<script>
@ -365,6 +607,7 @@ export default {
},
//
form: {},
preMsg: {},
//
rules: {},
//
@ -389,38 +632,33 @@ export default {
listMeas(this.queryParams).then((response) => {
console.log("responseresponse", response);
if (response.records[0]) {
this.form = response.records[0];
if (response.records[0].workCommencementOrder1) {
this.fileList1 = JSON.parse(
response.records[0].workCommencementOrder1
);
}
if (response.records[0].workCommencementOrder2) {
this.fileList2 = JSON.parse(
response.records[0].workCommencementOrder2
);
}
if (response.records[0].workCommencementOrder3) {
this.fileList3 = JSON.parse(
response.records[0].workCommencementOrder3
);
}
if (response.records[0].workCommencementOrder4) {
this.fileList4 = JSON.parse(
response.records[0].workCommencementOrder4
);
}
if (response.records[0].workCommencementOrder5) {
this.fileList5 = JSON.parse(
response.records[0].workCommencementOrder5
);
}
this.preMsg = response.records[0];
}
// this.total = response.total;
this.loading = false;
});
},
handleUpdate() {
this.form = { ...this.preMsg };
if (this.form.workCommencementOrder1) {
this.fileList1 = JSON.parse(this.form.workCommencementOrder1);
}
if (this.form.workCommencementOrder2) {
this.fileList2 = JSON.parse(this.form.workCommencementOrder2);
}
if (this.form.workCommencementOrder3) {
this.fileList3 = JSON.parse(this.form.workCommencementOrder3);
}
if (this.form.workCommencementOrder4) {
this.fileList4 = JSON.parse(this.form.workCommencementOrder4);
}
if (this.form.workCommencementOrder5) {
this.fileList5 = JSON.parse(this.form.workCommencementOrder5);
}
this.open = true;
this.title = "修改施工准备信息";
},
submitForm() {
this.$refs["form"].validate((valid) => {
if (valid) {
@ -435,6 +673,7 @@ export default {
updateMeas(this.form).then((response) => {
if (response.code === 200) {
this.msgSuccess("修改成功");
this.open = false;
this.getList();
}
});
@ -442,6 +681,7 @@ export default {
addMeas(this.form).then((response) => {
if (response.code === 200) {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
}
});
@ -450,7 +690,8 @@ export default {
});
},
cancel() {
this.$router.back();
// this.$router.back();
this.open = false;
},
//
submitOpinionUpload1(_, fileList) {
@ -542,7 +783,10 @@ export default {
//
this.fileList5.splice(index, 1);
},
downloadFile2(info, index) {
console.log(info);
this.handleOpinionPreview(info);
},
//
handleOpinionPreview(file) {
// console.log(file);
@ -576,11 +820,11 @@ export default {
</script>
<style lang="scss" scoped>
@import "@/assets/css/dialog.scss";
// ::v-deep {
// .el-dialog {
// margin-top: 10vh !important;
// }
// }
::v-deep {
.el-dialog {
margin-top: 2vh !important;
}
}
.listTitle {
font-size: 14px;
padding-left: 10px;
@ -600,4 +844,8 @@ export default {
color: #31a08e;
}
}
.listTitle:nth-child(1) {
margin-top: 0;
// border-left: 0;
}
</style>

1474
jwtech-admin-page/src/views/building/projectInfo/projectProcess/projectAcceptance.vue

File diff suppressed because it is too large

18
jwtech-admin-page/src/views/building/projectInfo/projectProcess/qualityControl/options/EngineeringQualitySupervisionAndInspection.vue

@ -14,9 +14,17 @@
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="inspectPerson">
<!-- <el-form-item label="检察人员" prop="inspectPerson">
<el-input
v-model="queryParams.data.inspectPerson"
placeholder="请输入检察人员"
@ -24,15 +32,15 @@
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
</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
>

14
jwtech-admin-page/src/views/building/projectInfo/projectProcess/qualityControl/options/engineeringQualityInspection.vue

@ -26,7 +26,15 @@
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="applyStatus">
@ -41,13 +49,13 @@
</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
>

118
jwtech-admin-page/src/views/legalLinkProject.vue

@ -0,0 +1,118 @@
<template>
<div class="page">
<div class="pageBox">
<div class="topTitle">关联项目</div>
<div class="biaodan">
<el-form ref="form" :model="form" :rules="rules" label-width="84px">
<el-form-item label="项目名称" prop="projectName">
<el-select
v-model="form.projectName"
placeholder="请关联项目"
filterable
clearable
size="small"
style="width: 100%"
multiple
>
<el-option
v-for="dict in projectNameOptions"
:key="dict.bidProjectName + dict.id"
:label="dict.bidProjectName"
:value="dict.proNo"
/>
</el-select>
</el-form-item>
</el-form>
<div class="btn">
<el-button type="primary" @click="submitForm"> </el-button>
</div>
</div>
</div>
</div>
</template>
<script>
import {
listBidResult,
getBidResult,
delBidResult,
addBidResult,
updateBidResult,
exportBidResult,
} from "@/api/earlyStage/bidResult";
import { legalLinkProject } from "@/api/common";
export default {
name: "legalLinkProject",
data() {
return {
title: "关联项目",
open: true,
form: {},
rules: {
projectName: [
{ required: true, message: "请选择关联的项目", trigger: "blur" },
],
},
projectNameOptions: [],
};
},
created() {
this.getProjectNameOptions();
},
methods: {
getProjectNameOptions() {
listBidResult({}).then((res) => {
console.log(res);
this.projectNameOptions = res.records;
});
},
submitForm() {
this.$refs["form"].validate((valid) => {
if (valid) {
console.log(this.form.projectName);
legalLinkProject(this.form.projectName).then((res) => {
if (res.code === 200) {
this.$router.push("/");
}
});
}
});
},
},
};
</script>
<style lang="scss" scoped>
.page {
width: 100%;
height: 100%;
background: #808080;
display: flex;
justify-content: center;
align-items: center;
.pageBox {
width: 500px;
height: 300px;
display: flex;
flex-direction: column;
background: #fff;
.topTitle {
text-align: center;
font-weight: bold;
padding: 20px 0;
}
.biaodan {
flex: 1;
padding: 20px;
display: flex;
flex-direction: column;
position: relative;
// justify-content: center;
.btn {
position: absolute;
right: 20px;
bottom: 20px;
text-align: right;
}
}
}
}
</style>
Loading…
Cancel
Save