Browse Source

修改

dev_kxc
xzt 10 months ago
parent
commit
6b4982a0ae
  1. 2
      jwtech-admin-page/src/main.js
  2. 2
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/baseMsg/index.vue
  3. 86
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/components/chooseSection.vue
  4. 61
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/contract/index.vue
  5. 33
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/contract/options/basePage.vue
  6. 25
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/designChangeInformation.vue
  7. 38
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/firmInfo.vue
  8. 10
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/investment/options/purposeFunds.vue
  9. 24
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/investment/options/sourceFunds.vue
  10. 908
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/preparationForConstruction copy.vue
  11. 519
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/preparationForConstruction.vue
  12. 1735
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/projectAcceptance copy.vue
  13. 1009
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/projectAcceptance.vue
  14. 13
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/qualityControl/options/EngineeringQualitySupervisionAndInspection.vue
  15. 28
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/qualityControl/options/engineeringQualityInspection.vue
  16. 56
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/qualityControl/options/itemDivision/components/unitProject.vue
  17. 28
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/safetyRecord.vue
  18. 17
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/scheduleManagement/options/annualPlanManagement.vue
  19. 6
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/scheduleManagement/options/completionOfInvestment.vue
  20. 6
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/scheduleManagement/options/progressFilling.vue
  21. 25
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/supervisionAndManagement/options/record.vue

2
jwtech-admin-page/src/main.js

@ -21,6 +21,7 @@ import { getDicts } from "@/api/system/dict/data";
import { getConfigKey } from "@/api/system/config"; import { getConfigKey } from "@/api/system/config";
import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, download, handleTree } from "@/utils/ruoyi"; import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, download, handleTree } from "@/utils/ruoyi";
import MyUpload from "@/components/myUpload"; import MyUpload from "@/components/myUpload";
import chooseSection from "@/views/building/projectInfo/projectProcess/components/chooseSection";
import Pagination from "@/components/Pagination"; import Pagination from "@/components/Pagination";
//自定义表格工具扩展 //自定义表格工具扩展
import RightToolbar from "@/components/RightToolbar" import RightToolbar from "@/components/RightToolbar"
@ -152,6 +153,7 @@ Vue.use(Viewer);
// 全局组件挂载 // 全局组件挂载
Vue.component('chooseSection', chooseSection)
Vue.component('MyUpload', MyUpload) Vue.component('MyUpload', MyUpload)
Vue.component('Pagination', Pagination) Vue.component('Pagination', Pagination)
Vue.component('RightToolbar', RightToolbar) Vue.component('RightToolbar', RightToolbar)

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

@ -10,7 +10,7 @@
<mainProject /> <mainProject />
</el-tab-pane> </el-tab-pane>
<!-- v-if="checkPermi(['building:base:sectionProject'])" --> <!-- v-if="checkPermi(['building:base:sectionProject'])" -->
<el-tab-pane label="项目标段信息" name="sectionProject" :lazy="true"> <el-tab-pane label="项目标段划分" name="sectionProject" :lazy="true">
<sectionProject <sectionProject
v-if="activeName == 'sectionProject'" v-if="activeName == 'sectionProject'"
:proNo="formData.proNo" :proNo="formData.proNo"

86
jwtech-admin-page/src/views/building/projectInfo/projectProcess/components/chooseSection.vue

@ -0,0 +1,86 @@
<template>
<el-select
v-model="form.sectionName"
placeholder="请选择标段名称"
filterable
clearable
size="small"
style="width: 100%"
>
<!-- <el-option
v-for="dict in sectionNameOptions"
:key="dict.sectionName + dict.id"
:label="dict.sectionName"
:value="dict.sectionName"
/> -->
<el-option-group
v-for="(group, index) in mainAndsectionNameOptions"
:key="group.label"
:label="group.label"
>
<template v-if="index == 0">
<el-option
v-for="item in group.options"
:key="item.id"
:label="item.projectName"
:value="item.projectName"
>
</el-option>
</template>
<template v-if="index == 1">
<el-option
v-for="item in group.options"
:key="item.id"
:label="item.sectionName"
:value="item.sectionName"
>
</el-option>
</template>
</el-option-group>
</el-select>
</template>
<script>
import { listInfo } from "@/api/build/projectInfo";
import { listSectionInfo } from "@/api/build/sectionInfo";
export default {
props: ["form", "proNo", "proCode"],
data() {
return {
// sectionNameOptions: [],
mainAndsectionNameOptions: [
{
label: "主项目",
options: [],
},
{
label: "项目标段",
options: [],
},
],
Query: {
pageNum: 1,
pageSize: 20,
data: {
proNo: null,
proCode: null,
},
},
};
},
created() {
this.getData();
},
methods: {
getData() {
this.Query.data.proNo = this.proNo;
this.Query.data.proCode = this.proCode;
listInfo(this.Query).then((res) => {
this.mainAndsectionNameOptions[0].options = res.records;
});
listSectionInfo(this.Query).then((res) => {
this.mainAndsectionNameOptions[1].options = res.records;
});
},
},
};
</script>

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

@ -127,6 +127,13 @@
:formatter="contractTypeFormat" :formatter="contractTypeFormat"
min-width="120" min-width="120"
/> />
<el-table-column
label="标段名称"
align="center"
prop="sectionName"
min-width="120"
/>
<!-- :formatter="sectionNameFormat" -->
<el-table-column <el-table-column
label="项目名称" label="项目名称"
align="center" align="center"
@ -152,12 +159,7 @@
:formatter="engineeringGradeFormat" :formatter="engineeringGradeFormat"
min-width="120" min-width="120"
/> />
<el-table-column
label="标段名称"
align="center"
prop="sectionName"
min-width="120"
/>
<el-table-column <el-table-column
label="合同金额" label="合同金额"
align="center" align="center"
@ -415,9 +417,29 @@
</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" v-model="form.sectionName"
placeholder="请输入标段名称" placeholder="请输入标段名称"
/> -->
<!-- <el-select
v-model="form.sectionName"
placeholder="请选择标段名称"
filterable
clearable
size="small"
style="width: 100%"
>
<el-option
v-for="dict in sectionNameOptions"
:key="dict.sectionName + dict.id"
:label="dict.sectionName"
:value="dict.id"
/>
</el-select> -->
<chooseSection
:form="form"
:proCode="formData.proCode"
:proNo="formData.proNo"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -785,6 +807,7 @@ import {
updateInfo, updateInfo,
exportInfo, exportInfo,
} from "@/api/build/contractInfo"; } from "@/api/build/contractInfo";
import { listSectionInfo } from "@/api/build/sectionInfo";
import { getToken } from "@/utils/auth"; import { getToken } from "@/utils/auth";
import { getFileStream } from "@/api/system/upload"; import { getFileStream } from "@/api/system/upload";
import basePage from "./options/basePage.vue"; import basePage from "./options/basePage.vue";
@ -796,6 +819,7 @@ import honourAnAgreementPage from "./options/honourAnAgreementPage.vue";
import evaluatePage from "./options/evaluatePage.vue"; import evaluatePage from "./options/evaluatePage.vue";
import performanceBond from "./options/performanceBond.vue"; import performanceBond from "./options/performanceBond.vue";
import QualityBond from "./options/QualityBond.vue"; import QualityBond from "./options/QualityBond.vue";
// import chooseSection from "../components/chooseSection.vue";
export default { export default {
name: "contract", name: "contract",
@ -811,6 +835,7 @@ export default {
evaluatePage, evaluatePage,
performanceBond, performanceBond,
QualityBond, QualityBond,
// chooseSection,
}, },
data() { data() {
return { return {
@ -878,7 +903,9 @@ export default {
cv: { name: "contractName", value: "", type: "like" }, cv: { name: "contractName", value: "", type: "like" },
}, },
// //
form: {}, form: {
sectionName: null,
},
// //
rules: { rules: {
contractName: [ contractName: [
@ -889,7 +916,7 @@ export default {
{ max: 250, message: "字符长度最大为250", trigger: "blur" }, { max: 250, message: "字符长度最大为250", trigger: "blur" },
], ],
sectionName: [ sectionName: [
{ required: true, message: "请输入标段名称", trigger: "blur" }, { required: true, message: "请选择标段名称", trigger: "change" },
{ max: 250, message: "字符长度最大为250", trigger: "blur" }, { max: 250, message: "字符长度最大为250", trigger: "blur" },
], ],
contractAmount: [ contractAmount: [
@ -959,10 +986,21 @@ export default {
// //
contractTypeOptions: [], contractTypeOptions: [],
contractMsg: {}, contractMsg: {},
sectionNameOptions: [],
}; };
}, },
created() { created() {
if (this.formData) this.getList(); if (this.formData) this.getList();
// listSectionInfo({
// pageSize: 20,
// data: {
// proNo: this.formData.proNo,
// proCode: this.formData.proCode,
// },
// }).then((res) => {
// this.sectionNameOptions = res.records;
// // console.log("sectionNameOptions", this.sectionNameOptions);
// });
this.getDicts("contract_status").then((response) => { this.getDicts("contract_status").then((response) => {
this.contractStatusOptions = response.data; this.contractStatusOptions = response.data;
}); });
@ -994,6 +1032,11 @@ export default {
contractTypeFormat(row, column) { contractTypeFormat(row, column) {
return this.selectDictLabel(this.contractTypeOptions, row.contractType); return this.selectDictLabel(this.contractTypeOptions, row.contractType);
}, },
sectionNameFormat(row) {
return this.sectionNameOptions?.filter(
(res) => res.id == row.sectionName
)[0]?.sectionName;
},
/** 查询合同基本信息列表 */ /** 查询合同基本信息列表 */
getList() { getList() {

33
jwtech-admin-page/src/views/building/projectInfo/projectProcess/contract/options/basePage.vue

@ -81,7 +81,26 @@
</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 v-model="form.sectionName" placeholder="请输入标段名称" /> <!-- <el-select
v-model="form.sectionName"
placeholder="选择标段名称"
filterable
clearable
size="small"
style="width: 100%"
>
<el-option
v-for="dict in sectionNameOptions"
:key="dict.sectionName + dict.id"
:label="dict.sectionName"
:value="dict.id"
/>
</el-select> -->
<chooseSection
:form="form"
:proCode="conForm.proCode"
:proNo="conForm.proNo"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -244,6 +263,7 @@ import {
updateInfo, updateInfo,
exportInfo, exportInfo,
} from "@/api/build/contractInfo"; } from "@/api/build/contractInfo";
import { listSectionInfo } from "@/api/build/sectionInfo";
import { import {
listProposal, listProposal,
getProposal, getProposal,
@ -338,11 +358,22 @@ export default {
contractStatusOptions: [], contractStatusOptions: [],
// //
contractTypeOptions: [], contractTypeOptions: [],
sectionNameOptions: [],
}; };
}, },
created() { created() {
console.log(55555555, this.conForm); console.log(55555555, this.conForm);
this.getList(); this.getList();
// listSectionInfo({
// pageSize: 20,
// data: {
// proNo: this.conForm.proNo,
// proCode: this.conForm.proCode,
// },
// }).then((res) => {
// this.sectionNameOptions = res.records;
// // console.log("sectionNameOptions", this.sectionNameOptions);
// });
this.getDicts("contract_status").then((response) => { this.getDicts("contract_status").then((response) => {
this.contractStatusOptions = response.data; this.contractStatusOptions = response.data;
}); });

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

@ -107,6 +107,12 @@
align="center" align="center"
fixed fixed
/> />
<el-table-column
label="标段名称"
align="center"
prop="sectionName"
min-width="120"
/>
<el-table-column <el-table-column
label="项目编码" label="项目编码"
align="center" align="center"
@ -226,6 +232,11 @@
> >
<el-row :gutter="25"> <el-row :gutter="25">
<el-form ref="form" :model="form" :rules="rules" label-width="84px"> <el-form ref="form" :model="form" :rules="rules" label-width="84px">
<el-col :span="12">
<el-form-item label="标段名称" prop="sectionName">
<chooseSection :form="form" :proCode="proCode" :proNo="proNo" />
</el-form-item>
</el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="变更类型" prop="changeType"> <el-form-item label="变更类型" prop="changeType">
<el-select <el-select
@ -353,6 +364,10 @@
}" }"
:contentStyle="{ minWidth: '350px' }" :contentStyle="{ minWidth: '350px' }"
> >
<el-descriptions-item>
<template slot="label"> 标段名称 </template>
{{ this.designMsg.sectionName }}
</el-descriptions-item>
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> 变更类型 </template> <template slot="label"> 变更类型 </template>
{{ changeTypeFormat(this.designMsg) }} {{ changeTypeFormat(this.designMsg) }}
@ -436,6 +451,7 @@ export default {
pageSize: 10, pageSize: 10,
ids: null, ids: null,
data: { data: {
sectionName: null,
changeType: null, changeType: null,
changeTime: null, changeTime: null,
changeReason: null, changeReason: null,
@ -457,6 +473,13 @@ export default {
form: {}, form: {},
// //
rules: { rules: {
sectionName: [
{
required: true,
message: "请选择标段名称",
trigger: "change",
},
],
changeType: [ changeType: [
{ {
required: true, required: true,
@ -538,6 +561,7 @@ export default {
reset() { reset() {
this.form = { this.form = {
id: null, id: null,
sectionName: null,
changeType: null, changeType: null,
changeTime: null, changeTime: null,
changeReason: null, changeReason: null,
@ -563,6 +587,7 @@ export default {
pageSize: 10, pageSize: 10,
data: { data: {
id: null, id: null,
sectionName: null,
changeType: null, changeType: null,
changeTime: null, changeTime: null,
changeReason: null, changeReason: null,

38
jwtech-admin-page/src/views/building/projectInfo/projectProcess/firmInfo.vue

@ -95,6 +95,12 @@
" "
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
> >
<el-table-column
label="标段名称"
align="center"
prop="sectionName"
min-width="120"
/>
<el-table-column <el-table-column
label="单位名称" label="单位名称"
align="center" align="center"
@ -173,6 +179,12 @@
" "
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
> >
<el-table-column
label="标段名称"
align="center"
prop="sectionName"
min-width="120"
/>
<el-table-column <el-table-column
label="单位名称" label="单位名称"
align="center" align="center"
@ -251,6 +263,12 @@
" "
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
> >
<el-table-column
label="标段名称"
align="center"
prop="sectionName"
min-width="120"
/>
<el-table-column <el-table-column
label="单位名称" label="单位名称"
align="center" align="center"
@ -329,6 +347,12 @@
" "
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
> >
<el-table-column
label="标段名称"
align="center"
prop="sectionName"
min-width="120"
/>
<el-table-column <el-table-column
label="单位名称" label="单位名称"
align="center" align="center"
@ -404,6 +428,11 @@
label-width="96px" label-width="96px"
label-position="top" label-position="top"
> >
<el-col :span="24">
<el-form-item label="标段名称" prop="sectionName">
<chooseSection :form="form" :proCode="proCode" :proNo="proNo" />
</el-form-item>
</el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="单位名称" prop="enterpriseName"> <el-form-item label="单位名称" prop="enterpriseName">
<el-input <el-input
@ -628,6 +657,13 @@ export default {
form: {}, form: {},
// //
rules: { rules: {
sectionName: [
{
required: true,
message: "请选择标段名称",
trigger: "change",
},
],
enterpriseName: [ enterpriseName: [
{ {
required: true, required: true,
@ -722,6 +758,7 @@ export default {
reset() { reset() {
this.form = { this.form = {
id: null, id: null,
sectionName: null,
enterpriseName: null, enterpriseName: null,
enterprisePerson: null, enterprisePerson: null,
enterprisePhone: null, enterprisePhone: null,
@ -745,6 +782,7 @@ export default {
pageSize: 10, pageSize: 10,
data: { data: {
id: null, id: null,
sectionName: null,
projectLegalPerson: null, projectLegalPerson: null,
projectLegalUnit: null, projectLegalUnit: null,
projectLegalPhone: null, projectLegalPhone: null,

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

@ -85,9 +85,9 @@
/> />
<el-table-column <el-table-column
label="支付期数" label="支付期数"
width="175" width="350"
align="center" align="center"
prop="paymentPeriods" prop="paymentTerms"
/> />
<el-table-column <el-table-column
label="起始年月" label="起始年月"
@ -176,6 +176,12 @@
align="center" align="center"
fixed fixed
/> />
<el-table-column
label="标段名称"
align="center"
prop="sectionName"
width="175"
/>
<el-table-column <el-table-column
label="合同名称" label="合同名称"

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

@ -216,14 +216,20 @@
<!-- </template>--> <!-- </template>-->
<!-- </el-table-column>--> <!-- </el-table-column>-->
<!-- </el-table>--> <!-- </el-table>-->
<pagination <!-- <pagination
v-show="total > 0" v-show="total > 0"
:total="total" :total="total"
:page.sync="queryParams.pageNum" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" :limit.sync="queryParams.pageSize"
@pagination="getList" @pagination="getList"
/> /> -->
<el-table-column
label="标段名称"
align="center"
prop="sectionName"
min-width="120"
/>
<el-table-column <el-table-column
label="下达日期" label="下达日期"
align="center" align="center"
@ -332,6 +338,11 @@
> >
<el-row :gutter="15"> <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="110px">
<el-col :sapn="12">
<el-form-item label="标段名称" prop="sectionName">
<chooseSection :form="form" :proCode="proCode" :proNo="proNo" />
</el-form-item>
</el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="下达日期" prop="releaseTime"> <el-form-item label="下达日期" prop="releaseTime">
<el-date-picker <el-date-picker
@ -463,11 +474,18 @@ export default {
form: {}, form: {},
// //
rules: { rules: {
sectionName: [
{
required: true,
message: "请选择标段名称",
trigger: "change",
},
],
releaseTime: [ releaseTime: [
{ {
required: true, required: true,
message: "请选择下达日期", message: "请选择下达日期",
trigger: "blur", trigger: "change",
}, },
], ],
centralArrangedFunds: [ centralArrangedFunds: [

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

@ -0,0 +1,908 @@
<template>
<!-- 施工准备 -->
<div class="app-container">
<div class="listTitle" style="border-left: 0">
<span>工程开工令</span>
<template v-if="preMsg.id">
<span
class="addBtn"
@click="handleUpdate"
v-hasPermi="['build:sgzb:edit']"
>
<i class="el-icon-edit-outline"></i>
编辑
</span>
</template>
<template v-if="!preMsg.id">
<span
class="addBtn"
@click="handleUpdate"
v-hasPermi="['build:sgzb:add']"
>
<i class="el-icon-plus"></i>
新增
</span>
</template>
</div>
<!-- <div class="listTitle">
<span>工程开工令</span>
</div> -->
<el-descriptions
class="margin-top"
:column="2"
border
:labelStyle="{
'text-align': 'left',
width: '180px',
height: '50px',
}"
:contentStyle="{ minWidth: '350px' }"
>
<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="{ minWidth: '350px' }"
>
<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="{ minWidth: '350px' }"
>
<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="{ minWidth: '350px' }"
>
<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="{ minWidth: '350px' }"
>
<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"
:rules="rules"
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"
:before-upload="(file) => $fileBeforeUpload(file, 'fileList1')"
: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文件等不超过200M
</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-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-upload
class="upload-demo"
action="thinking/common/upload"
:headers="headers"
:before-upload="(file) => $fileBeforeUpload(file, 'fileList2')"
: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文件等不超过200M
</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>
<el-col :span="24">
<el-form-item
label="施工准备措施附件"
prop="workCommencementOrder3"
>
<el-upload
class="upload-demo"
action="thinking/common/upload"
:headers="headers"
:before-upload="(file) => $fileBeforeUpload(file, 'fileList3')"
: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文件等不超过200M
</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-upload
class="upload-demo"
action="thinking/common/upload"
:headers="headers"
:before-upload="(file) => $fileBeforeUpload(file, 'fileList4')"
: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文件等不超过200M
</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>
<el-col :span="24">
<el-form-item label="项目开工文件" prop="workCommencementOrder5">
<el-upload
class="upload-demo"
action="thinking/common/upload"
:headers="headers"
:before-upload="(file) => $fileBeforeUpload(file, 'fileList5')"
: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文件等不超过200M
</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-dialog>
</div>
</template>
<script>
import {
listMeas,
getMeas,
delMeas,
addMeas,
updateMeas,
exportMeas,
} from "@/api/build/meas";
import { getToken } from "@/utils/auth";
import { getFileStream } from "@/api/system/upload";
export default {
name: "Meas",
props: ["proNo", "proCode"],
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
title: "",
viewTitle: "",
//
open: false,
viewOpen: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
ids: null,
data: {
proCode: null,
proNo: null,
},
//
params: {
//
orderBy: "create_time",
// descasc
sort: "desc",
},
},
//
form: {},
preMsg: {},
//
rules: {
workCommencementOrder1: [
{ required: true, message: "请上传开工令文件", trigger: "blur" },
],
reportTime1: [
{ required: true, message: "请选择上报时间", trigger: "blur" },
],
approvalTime1: [
{ required: true, message: "请选择审批时间", trigger: "blur" },
],
approvalOpinion1: [
{ required: true, message: "请输入批复意见", trigger: "blur" },
{ max: 500, message: "字符长度最大为500", trigger: "blur" },
],
approvalOpinion2: [
{ max: 500, message: "字符长度最大为500", trigger: "blur" },
],
approvalOpinion3: [
{ max: 500, message: "字符长度最大为500", trigger: "blur" },
],
approvalOpinion4: [
{ max: 500, message: "字符长度最大为500", trigger: "blur" },
],
approvalOpinion5: [
{ max: 500, message: "字符长度最大为500", trigger: "blur" },
],
},
//
headers: {
jianwei: "jwtech " + getToken(),
},
fileList1: [],
fileList2: [],
fileList3: [],
fileList4: [],
fileList5: [],
};
},
created() {
this.getList();
},
methods: {
//
reset() {
this.resetForm("form");
},
getList() {
this.loading = true;
this.queryParams.data.proNo = this.proNo;
this.queryParams.data.proCode = this.proCode;
listMeas(this.queryParams).then((response) => {
console.log("responseresponse", response);
if (response.records[0]) {
this.preMsg = response.records[0];
}
// this.total = response.total;
this.loading = false;
});
},
handleUpdate() {
this.reset();
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() {
if (this.fileList1.length) {
}
this.form.workCommencementOrder1 = this.fileList1.length
? JSON.stringify(this.fileList1)
: null;
this.form.workCommencementOrder2 = this.fileList2.length
? JSON.stringify(this.fileList2)
: null;
this.form.workCommencementOrder3 = this.fileList3.length
? JSON.stringify(this.fileList3)
: null;
this.form.workCommencementOrder4 = this.fileList4.length
? JSON.stringify(this.fileList4)
: null;
this.form.workCommencementOrder5 = this.fileList5.length
? JSON.stringify(this.fileList5)
: null;
// this.form.workCommencementOrder1 = JSON.stringify(this.fileList1);
// this.form.workCommencementOrder2 = JSON.stringify(this.fileList2);
// this.form.workCommencementOrder3 = JSON.stringify(this.fileList3);
// this.form.workCommencementOrder4 = JSON.stringify(this.fileList4);
// this.form.workCommencementOrder5 = JSON.stringify(this.fileList5);
this.$refs["form"].validate((valid) => {
if (valid) {
this.form.proNo = this.proNo;
this.form.proCode = this.proCode;
if (this.form.id != null) {
updateMeas(this.form).then((response) => {
if (response.code === 200) {
this.msgSuccess("修改成功");
this.open = false;
this.getList();
}
});
} else {
addMeas(this.form).then((response) => {
if (response.code === 200) {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
}
});
}
}
});
},
cancel() {
// this.$router.back();
this.open = false;
},
//
submitOpinionUpload1(_, fileList) {
console.log("fileList", fileList);
this.fileList1.push({
name: fileList.name,
fileName: fileList.response.fileName,
url: fileList.response.url,
uid: fileList.uid,
});
// console.log("this.fileList1", this.fileList1);
},
handleOpinionRemove1(file, fileList) {
// console.log(file, fileList1);
let index = this.fileList1.findIndex((item) => item.uid === file.uid);
//
this.fileList1.splice(index, 1);
},
submitOpinionUpload2(_, fileList) {
console.log("fileList", fileList);
this.fileList2.push({
name: fileList.name,
fileName: fileList.response.fileName,
url: fileList.response.url,
uid: fileList.uid,
});
// console.log("this.fileList1", this.fileList1);
},
handleOpinionRemove2(file, fileList) {
// console.log(file, fileList2);
let index = this.fileList2.findIndex((item) => item.uid === file.uid);
//
this.fileList2.splice(index, 1);
},
submitOpinionUpload3(_, fileList) {
console.log("fileList", fileList);
this.fileList3.push({
name: fileList.name,
fileName: fileList.response.fileName,
url: fileList.response.url,
uid: fileList.uid,
});
// console.log("this.fileList3", this.fileList3);
},
handleOpinionRemove3(file, fileList) {
// console.log(file, fileList);
let index = this.fileList3.findIndex((item) => item.uid === file.uid);
//
this.fileList3.splice(index, 1);
},
submitOpinionUpload4(_, fileList) {
console.log("fileList", fileList);
this.fileList4.push({
name: fileList.name,
fileName: fileList.response.fileName,
url: fileList.response.url,
uid: fileList.uid,
});
// console.log("this.fileList4", this.fileList4);
},
handleOpinionRemove4(file, fileList) {
// console.log(file, fileList);
let index = this.fileList4.findIndex((item) => item.uid === file.uid);
//
this.fileList4.splice(index, 1);
},
submitOpinionUpload5(_, fileList) {
console.log("fileList", fileList);
this.fileList5.push({
name: fileList.name,
fileName: fileList.response.fileName,
url: fileList.response.url,
uid: fileList.uid,
});
// console.log("this.fileList5", this.fileList5);
},
handleOpinionRemove5(file, fileList) {
// console.log(file, fileList);
let index = this.fileList5.findIndex((item) => item.uid === file.uid);
//
this.fileList5.splice(index, 1);
},
downloadFile2(info, index) {
console.log(info);
this.handleOpinionPreview(info);
},
//
handleOpinionPreview(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
});
},
handleOpinionExceed(files, fileList) {
this.$message.warning(
`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${
files.length + fileList.length
} 个文件`
);
},
beforeOpinionRemove(file, fileList) {
return this.$confirm(`确定移除 ${file.name}`);
},
},
};
</script>
<style lang="scss" scoped>
@import "@/assets/css/dialog.scss";
::v-deep {
.el-dialog {
margin-top: 2vh !important;
}
}
.listTitle {
font-size: 14px;
padding-left: 10px;
padding-right: 30px;
margin: 20px 0;
border-left: 2px solid #36b29e;
display: flex;
justify-content: space-between;
span:nth-child(1) {
font-weight: bold;
}
.addBtn {
color: #36b29e;
cursor: pointer;
}
.addBtn:hover {
color: #31a08e;
}
}
.listTitle:nth-child(1) {
margin-top: 0;
// border-left: 0;
}
</style>

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

@ -1,250 +1,179 @@
<template> <template>
<!-- 施工准备 --> <!-- 施工准备 -->
<div class="app-container"> <div class="app-container">
<div class="listTitle" style="border-left: 0"> <el-form
<span>工程开工令</span> :model="queryParams"
<template v-if="preMsg.id"> ref="queryForm"
<span :inline="true"
class="addBtn" v-show="showSearch"
@click="handleUpdate"
v-hasPermi="['build:sgzb:edit']"
> >
<i class="el-icon-edit-outline"></i> <el-form-item label="标段名称" prop="sectionName">
编辑 <el-input
</span> v-model="queryParams.cv.value"
</template> placeholder="请输入标段名称"
<template v-if="!preMsg.id"> clearable
<span size="small"
class="addBtn" @keyup.enter.native="handleQuery"
@click="handleUpdate"
v-hasPermi="['build:sgzb:add']"
> >
<i class="el-icon-plus"></i> <el-button
新增 type="primary"
</span> slot="append"
</template> icon="el-icon-search"
</div> size="small"
@click="handleQuery"
></el-button>
</el-input>
</el-form-item>
<!-- <div class="listTitle"> <el-form-item>
<span>工程开工令</span> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
</div> --> >重置</el-button
<el-descriptions
class="margin-top"
:column="2"
border
:labelStyle="{
'text-align': 'left',
width: '180px',
height: '50px',
}"
:contentStyle="{ minWidth: '350px' }"
>
<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 }} </el-form-item>
</el-form>
<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"> <el-row :gutter="10" class="mb8">
<span>施工组织设计</span> <el-col :span="1.5">
</div> <el-button
<el-descriptions type="primary"
class="margin-top" icon="el-icon-plus"
:column="2" size="mini"
border @click="handleAdd"
:labelStyle="{ v-hasPermi="['build:sgzb:add']"
'text-align': 'left', >新增</el-button
width: '180px',
height: '50px',
}"
:contentStyle="{ minWidth: '350px' }"
>
<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 }} </el-col>
<el-col :span="1.5">
<i <el-button
class="el-icon-download" type="success"
@click="downloadFile2(item, index)" icon="el-icon-edit"
style="cursor: pointer" size="mini"
></i> :disabled="single"
</div> @click="handleUpdate"
</template> v-hasPermi="['build:sgzb:edit']"
</el-descriptions-item> >修改</el-button
<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="{ minWidth: '350px' }"
> >
<el-descriptions-item span="2"> </el-col>
<template slot="label"> 施工准备措施附件 </template> <el-col :span="1.5">
<template v-if="this.preMsg.workCommencementOrder3"> <el-button
<div type="danger"
v-for="(item, index) in JSON.parse( icon="el-icon-delete"
this.preMsg.workCommencementOrder3 size="mini"
)" :disabled="multiple"
:key="item + index" @click="handleDelete"
v-hasPermi="['build:sgzb:remove']"
>删除</el-button
> >
{{ item.name }} </el-col>
<right-toolbar
<i :showSearch.sync="showSearch"
class="el-icon-download" @queryTable="getList"
@click="downloadFile2(item, index)" ></right-toolbar>
style="cursor: pointer" </el-row>
></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"> <el-table
<span>施工准备措施检查</span> v-loading="loading"
</div> :data="infoList"
<el-descriptions @selection-change="handleSelectionChange"
class="margin-top" >
:column="2" <el-table-column type="selection" width="55" align="center" fixed />
border <el-table-column
:labelStyle="{ label="序号"
'text-align': 'left', type="index"
width: '180px', width="50"
height: '50px', align="center"
}" fixed
:contentStyle="{ minWidth: '350px' }" />
<el-table-column
label="标段名称"
align="center"
prop="sectionName"
min-width="120"
/>
<el-table-column
label="开工令文件"
align="center"
prop="workCommencementOrder1"
min-width="120"
> >
<el-descriptions-item span="2"> <template slot-scope="scope">
<template slot="label"> 施工准备措施检查附件 </template>
<template v-if="this.preMsg.workCommencementOrder4">
<div <div
v-for="(item, index) in JSON.parse( v-for="(item, index) in JSON.parse(
this.preMsg.workCommencementOrder4 scope.row.workCommencementOrder1
)" )"
:key="item + index" :key="item + index"
> >
<i class="el-icon-document"></i>
{{ item.name }} {{ item.name }}
<i <i
class="el-icon-download" class="el-icon-download"
@click="downloadFile2(item, index)" @click="downloadFile2(scope, index)"
style="cursor: pointer" style="cursor: pointer"
></i> ></i>
</div> </div>
</template> </template>
</el-descriptions-item> </el-table-column>
<el-table-column
<el-descriptions-item span="2"> label="上报时间"
<template slot="label"> 批复意见 </template> align="center"
{{ this.preMsg.approvalOpinion4 }} prop="reportTime1"
</el-descriptions-item> min-width="120"
</el-descriptions> --> />
<!-- <el-table-column
<div class="listTitle"> label="审批时间"
<span>项目开工文件</span> align="center"
</div> prop="approvalTime1"
<el-descriptions min-width="120"
class="margin-top" />
:column="2" <el-table-column
border label="批复意见"
:labelStyle="{ align="center"
'text-align': 'left', prop="approvalOpinion1"
width: '180px', min-width="120"
height: '50px', />
}" <el-table-column
:contentStyle="{ minWidth: '350px' }" label="操作"
align="center"
class-name="small-padding fixed-width"
min-width="180"
fixed="right"
> >
<el-descriptions-item span="2"> <template slot-scope="scope">
<template slot="label"> 开工令文件 </template> <!-- <el-button
<template v-if="this.preMsg.workCommencementOrder5"> size="mini"
<div type="text"
v-for="(item, index) in JSON.parse( icon="el-icon-view"
this.preMsg.workCommencementOrder5 @click="viewInfo(scope.row)"
)" v-hasPermi="['build:sgzb:view']"
:key="item + index" >查看</el-button
> -->
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['build:sgzb:edit']"
>修改</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['build:sgzb:remove']"
>删除</el-button
> >
{{ item.name }}
<i
class="el-icon-download"
@click="downloadFile2(item, index)"
style="cursor: pointer"
></i>
</div>
</template> </template>
</el-descriptions-item> </el-table-column>
<el-descriptions-item> </el-table>
<template slot="label"> 上报时间 </template>
{{ this.preMsg.reportTime5 }} <pagination
</el-descriptions-item> v-show="total > 0"
<el-descriptions-item> :total="total"
<template slot="label"> 审批时间 </template> :page.sync="queryParams.pageNum"
{{ this.preMsg.approvalTime5 }} :limit.sync="queryParams.pageSize"
</el-descriptions-item> @pagination="getList"
<el-descriptions-item span="2"> />
<template slot="label"> 批复意见 </template>
{{ this.preMsg.approvalOpinion5 }}
</el-descriptions-item>
</el-descriptions> -->
<el-dialog <el-dialog
:title="title" :title="title"
@ -262,9 +191,14 @@
label-position="top" label-position="top"
> >
<!-- ===============工程开工令==================== --> <!-- ===============工程开工令==================== -->
<div class="listTitle" style="margin-top: 0"> <!-- <div class="listTitle" style="margin-top: 0">
<span>工程开工令</span> <span>工程开工令</span>
</div> </div> -->
<el-col :span="24">
<el-form-item label="标段名称" prop="sectionName">
<choose-section :form="form" :proCode="proCode" :proNo="proNo" />
</el-form-item>
</el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="开工令文件" prop="workCommencementOrder1"> <el-form-item label="开工令文件" prop="workCommencementOrder1">
<!-- <el-input <!-- <el-input
@ -288,9 +222,9 @@
<i class="el-icon-upload el-icon--right"></i> <i class="el-icon-upload el-icon--right"></i>
点击上传 点击上传
</el-button> </el-button>
<!-- <div slot="tip" class="el-upload__tip"> <div slot="tip" class="el-upload__tip">
支持jpg/png/pdf/word/excel文件等不超过200M 支持jpg/png/pdf/word/excel文件等不超过200M
</div> --> </div>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -573,7 +507,9 @@ import {
} from "@/api/build/meas"; } from "@/api/build/meas";
import { getToken } from "@/utils/auth"; import { getToken } from "@/utils/auth";
import { getFileStream } from "@/api/system/upload"; import { getFileStream } from "@/api/system/upload";
import chooseSection from "./components/chooseSection.vue";
export default { export default {
components: { chooseSection },
name: "Meas", name: "Meas",
props: ["proNo", "proCode"], props: ["proNo", "proCode"],
data() { data() {
@ -602,8 +538,19 @@ export default {
pageSize: 10, pageSize: 10,
ids: null, ids: null,
data: { data: {
id: null,
proCode: null, proCode: null,
proNo: null, proNo: null,
workCommencementOrder1: null,
reportTime1: null,
approvalTime1: null,
approvalOpinion1: null,
sectionName: null,
},
cv: {
name: "sectionName",
type: "like",
value: null,
}, },
// //
params: { params: {
@ -618,6 +565,9 @@ export default {
preMsg: {}, preMsg: {},
// //
rules: { rules: {
sectionName: [
{ required: true, message: "请选择标段名称", trigger: "change" },
],
workCommencementOrder1: [ workCommencementOrder1: [
{ required: true, message: "请上传开工令文件", trigger: "blur" }, { required: true, message: "请上传开工令文件", trigger: "blur" },
], ],
@ -653,33 +603,105 @@ export default {
fileList3: [], fileList3: [],
fileList4: [], fileList4: [],
fileList5: [], fileList5: [],
infoList: [],
}; };
}, },
created() { created() {
this.getList(); this.getList();
}, },
methods: { methods: {
//
reset() {
this.resetForm("form");
},
getList() { getList() {
this.loading = true; this.loading = true;
this.queryParams.data.proNo = this.proNo; this.queryParams.data.proNo = this.proNo;
this.queryParams.data.proCode = this.proCode; this.queryParams.data.proCode = this.proCode;
listMeas(this.queryParams).then((response) => { listMeas(this.queryParams).then((response) => {
console.log("responseresponse", response); this.infoList = response.records;
if (response.records[0]) { // console.log("responseresponse", response);
this.preMsg = response.records[0]; // if (response.records[0]) {
} // this.preMsg = response.records[0];
// }
// this.total = response.total; this.total = response.total;
this.loading = false; this.loading = false;
}); });
}, },
handleUpdate() { //
reset() {
this.fileList1 = [];
this.fileList2 = [];
this.fileList3 = [];
this.fileList4 = [];
this.fileList5 = [];
this.form = {
id: null,
proCode: null,
proNo: null,
workCommencementOrder1: null,
reportTime1: null,
approvalTime1: null,
approvalOpinion1: null,
sectionName: null,
};
this.resetForm("form");
},
//
resetQueryForm() {
this.queryParams = {
pageNum: 1,
pageSize: 10,
data: {
id: null,
proCode: null,
proNo: null,
workCommencementOrder1: null,
reportTime1: null,
approvalTime1: null,
approvalOpinion1: null,
sectionName: null,
},
cv: {
name: "sectionName",
type: "like",
value: null,
},
//
params: {
//
orderBy: "create_time",
// descasc
sortBy: "desc",
},
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetQueryForm();
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map((item) => item.id);
this.single = selection.length !== 1;
this.multiple = !selection.length;
},
handleAdd() {
this.reset(); this.reset();
this.form = { ...this.preMsg }; this.form.proNo = this.proNo;
this.form.proCode = this.proCode;
this.open = true;
this.title = "添加施工准备信息";
},
handleUpdate(row) {
this.reset();
const id = row.id || this.ids;
getMeas(id).then((response) => {
this.form = response.data;
if (this.form.workCommencementOrder1) { if (this.form.workCommencementOrder1) {
this.fileList1 = JSON.parse(this.form.workCommencementOrder1); this.fileList1 = JSON.parse(this.form.workCommencementOrder1);
} }
@ -695,12 +717,11 @@ export default {
if (this.form.workCommencementOrder5) { if (this.form.workCommencementOrder5) {
this.fileList5 = JSON.parse(this.form.workCommencementOrder5); this.fileList5 = JSON.parse(this.form.workCommencementOrder5);
} }
});
this.open = true; this.open = true;
this.title = "修改施工准备信息"; this.title = "修改施工准备信息";
}, },
submitForm() { submitForm() {
if (this.fileList1.length) {
}
this.form.workCommencementOrder1 = this.fileList1.length this.form.workCommencementOrder1 = this.fileList1.length
? JSON.stringify(this.fileList1) ? JSON.stringify(this.fileList1)
: null; : null;
@ -723,9 +744,6 @@ export default {
// this.form.workCommencementOrder5 = JSON.stringify(this.fileList5); // this.form.workCommencementOrder5 = JSON.stringify(this.fileList5);
this.$refs["form"].validate((valid) => { this.$refs["form"].validate((valid) => {
if (valid) { if (valid) {
this.form.proNo = this.proNo;
this.form.proCode = this.proCode;
if (this.form.id != null) { if (this.form.id != null) {
updateMeas(this.form).then((response) => { updateMeas(this.form).then((response) => {
if (response.code === 200) { if (response.code === 200) {
@ -750,6 +768,29 @@ export default {
// this.$router.back(); // this.$router.back();
this.open = false; this.open = false;
}, },
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
if (ids) {
this.$confirm("是否删除选中的数据?", "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(function () {
return delMeas(ids);
})
.then(() => {
this.getList();
this.msgSuccess("删除成功");
})
.catch(function () {});
} else {
this.$message.warning("请选择要删除的数据!!");
}
},
// //
submitOpinionUpload1(_, fileList) { submitOpinionUpload1(_, fileList) {
console.log("fileList", fileList); console.log("fileList", fileList);

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

File diff suppressed because it is too large

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

File diff suppressed because it is too large

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

@ -100,7 +100,12 @@
align="center" align="center"
fixed fixed
/> />
<el-table-column
label="标段名称"
align="center"
prop="sectionName"
min-width="120"
/>
<el-table-column <el-table-column
label="检查内容" label="检查内容"
align="center" align="center"
@ -190,6 +195,9 @@
:close-on-click-modal="false" :close-on-click-modal="false"
> >
<el-form ref="form" :model="form" :rules="rules" label-width="110px"> <el-form ref="form" :model="form" :rules="rules" label-width="110px">
<el-form-item label="标段名称" prop="sectionName">
<chooseSection :form="form" :proCode="proCode" :proNo="proNo" />
</el-form-item>
<el-form-item label="检查内容" prop="inspectContent"> <el-form-item label="检查内容" prop="inspectContent">
<el-input <el-input
v-model="form.inspectContent" v-model="form.inspectContent"
@ -315,6 +323,7 @@ export default {
remarks: null, remarks: null,
proCode: null, proCode: null,
proNo: null, proNo: null,
sectionName: null,
}, },
cv: { cv: {
type: "like", type: "like",
@ -415,6 +424,7 @@ export default {
remarks: null, remarks: null,
proCode: null, proCode: null,
proNo: null, proNo: null,
sectionName: null,
}; };
this.resetForm("form"); this.resetForm("form");
}, },
@ -439,6 +449,7 @@ export default {
remarks: null, remarks: null,
proCode: null, proCode: null,
proNo: null, proNo: null,
sectionName: null,
}, },
cv: { cv: {
type: "like", type: "like",

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

@ -128,7 +128,7 @@
<el-table-column <el-table-column
label="标段" label="标段"
align="center" align="center"
prop="section" prop="sectionName"
min-width="120" min-width="120"
/> />
<el-table-column <el-table-column
@ -159,6 +159,14 @@
fixed="right" fixed="right"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['build:supervision:edit']"
>修改</el-button
>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
@ -276,8 +284,9 @@
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="标段" prop="section"> <el-form-item label="标段" prop="sectionName">
<el-input v-model="form.section" placeholder="请输入标段" /> <!-- <el-input v-model="form.sectionName" placeholder="请输入标段" /> -->
<chooseSection :form="form" :proCode="proCode" :proNo="proNo" />
</el-form-item> </el-form-item>
<el-form-item label="质监受理机构" prop="qualitySupervisionAgency"> <el-form-item label="质监受理机构" prop="qualitySupervisionAgency">
<el-input <el-input
@ -620,7 +629,7 @@ export default {
pageSize: 10, pageSize: 10,
ids: null, ids: null,
data: { data: {
section: null, sectionName: null,
qualitySupervisionAgency: null, qualitySupervisionAgency: null,
applyTime: null, applyTime: null,
applyStatus: null, applyStatus: null,
@ -674,11 +683,11 @@ export default {
reportForm: {}, reportForm: {},
// //
rules: { rules: {
section: [ sectionName: [
{ {
required: true, required: true,
message: "请输入标段", message: "请选择标段名称",
trigger: "blur", trigger: "change",
}, },
{ max: 250, message: "字符长度最大为250", trigger: "blur" }, { max: 250, message: "字符长度最大为250", trigger: "blur" },
], ],
@ -824,7 +833,7 @@ export default {
reset() { reset() {
this.form = { this.form = {
id: null, id: null,
section: null, sectionName: null,
qualitySupervisionAgency: null, qualitySupervisionAgency: null,
applyTime: null, applyTime: null,
applyStatus: "0", applyStatus: "0",
@ -846,7 +855,7 @@ export default {
pageSize: 10, pageSize: 10,
data: { data: {
id: null, id: null,
section: null, sectionName: null,
qualitySupervisionAgency: null, qualitySupervisionAgency: null,
applyTime: null, applyTime: null,
applyStatus: "0", applyStatus: "0",
@ -940,6 +949,7 @@ export default {
this.msgSuccess("新增成功"); this.msgSuccess("新增成功");
this.getReportList(); this.getReportList();
this.reportForm = {}; this.reportForm = {};
this.resetForm("reportForm");
this.fileList = []; this.fileList = [];
} }
}); });

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

@ -3,12 +3,13 @@
<!-- 添加单位工程 --> <!-- 添加单位工程 -->
<div class="formBox"> <div class="formBox">
<el-form ref="form" :model="form" :rules="rules" label-width="180px"> <el-form ref="form" :model="form" :rules="rules" label-width="180px">
<el-form-item label="所属标段" prop="belongsSection"> <el-form-item label="所属标段" prop="sectionName">
<el-input <!-- <el-input
v-model="form.belongsSection" v-model="form.belongsSection"
placeholder="请输入所属标段" placeholder="请输入所属标段"
readonly readonly
/> /> -->
<chooseSection :form="form" :proCode="proCode" :proNo="proNo" />
</el-form-item> </el-form-item>
<el-form-item label="单位工程名称" prop="unitProjectName"> <el-form-item label="单位工程名称" prop="unitProjectName">
<el-input <el-input
@ -35,7 +36,7 @@
<!-- <el-table-column type="selection" width="55" align="center" /> --> <!-- <el-table-column type="selection" width="55" align="center" /> -->
<el-table-column label="序号" type="index" width="50" align="center" /> <el-table-column label="序号" type="index" width="50" align="center" />
<el-table-column label="所属标段" align="center" prop="belongsSection" /> <el-table-column label="所属标段" align="center" prop="sectionName" />
<el-table-column <el-table-column
label="单位工程名称" label="单位工程名称"
align="center" align="center"
@ -119,11 +120,12 @@
:rules="rules" :rules="rules"
label-width="110px" label-width="110px"
> >
<el-form-item label="所属标段" prop="belongsSection"> <el-form-item label="所属标段" prop="sectionName">
<el-input <!-- <el-input
v-model="editForm.belongsSection" v-model="editForm.belongsSection"
placeholder="请输入所属标段" placeholder="请输入所属标段"
/> /> -->
<chooseSection :form="editForm" :proCode="proCode" :proNo="proNo" />
</el-form-item> </el-form-item>
<el-form-item label="单位工程名称" prop="unitProjectName"> <el-form-item label="单位工程名称" prop="unitProjectName">
<el-input <el-input
@ -155,6 +157,7 @@ import {
updateUnitProject, updateUnitProject,
exportUnitProject, exportUnitProject,
} from "@/api/build/unitProject"; } from "@/api/build/unitProject";
import { listSectionInfo } from "@/api/build/sectionInfo";
export default { export default {
name: "UnitProject", name: "UnitProject",
@ -185,6 +188,7 @@ export default {
pageSize: 10, pageSize: 10,
ids: null, ids: null,
data: { data: {
sectionName: null,
belongsSection: null, belongsSection: null,
unitProjectName: null, unitProjectName: null,
unitProjectCode: null, unitProjectCode: null,
@ -204,7 +208,7 @@ export default {
editForm: {}, editForm: {},
// //
rules: { rules: {
belongsSection: [ sectionName: [
{ required: true, message: "请选择所属标段", trigger: "blur" }, { required: true, message: "请选择所属标段", trigger: "blur" },
{ max: 250, message: "字符长度最大为250", trigger: "blur" }, { max: 250, message: "字符长度最大为250", trigger: "blur" },
], ],
@ -222,11 +226,22 @@ export default {
{ max: 250, message: "字符长度最大为250", trigger: "blur" }, { max: 250, message: "字符长度最大为250", trigger: "blur" },
], ],
}, },
sectionNameOptions: [],
}; };
}, },
created() { created() {
this.form.belongsSection = this.projectName + "[" + this.proCode + "]"; // this.form.belongsSection = this.projectName + "[" + this.proCode + "]";
this.getList(); this.getList();
listSectionInfo({
pageSize: 20,
data: {
proNo: this.proNo,
proCode: this.proCode,
},
}).then((res) => {
this.sectionNameOptions = res.records;
// console.log("sectionNameOptions", this.sectionNameOptions);
});
}, },
methods: { methods: {
/** 查询单位工程列表 */ /** 查询单位工程列表 */
@ -250,6 +265,7 @@ export default {
if (key !== "edit") { if (key !== "edit") {
this.form = { this.form = {
id: null, id: null,
sectionName: null,
belongsSection: null, belongsSection: null,
unitProjectName: null, unitProjectName: null,
unitProjectCode: null, unitProjectCode: null,
@ -270,6 +286,7 @@ export default {
} else { } else {
this.editForm = { this.editForm = {
id: null, id: null,
sectionName: null,
belongsSection: null, belongsSection: null,
unitProjectName: null, unitProjectName: null,
unitProjectCode: null, unitProjectCode: null,
@ -295,6 +312,7 @@ export default {
pageSize: 10, pageSize: 10,
data: { data: {
id: null, id: null,
sectionName: null,
belongsSection: null, belongsSection: null,
unitProjectName: null, unitProjectName: null,
unitProjectCode: null, unitProjectCode: null,
@ -341,8 +359,8 @@ export default {
const id = row.id || this.ids; const id = row.id || this.ids;
getUnitProject(id).then((response) => { getUnitProject(id).then((response) => {
this.editForm = response.data; this.editForm = response.data;
this.editForm.belongsSection = // this.editForm.belongsSection =
this.editForm.belongsSection + "[" + this.editForm.proCode + "]"; // this.editForm.belongsSection + "[" + this.editForm.proCode + "]";
// console.log("response.data", response.data); // console.log("response.data", response.data);
this.open = true; this.open = true;
this.title = "修改单位工程"; this.title = "修改单位工程";
@ -353,10 +371,10 @@ export default {
if (!this.open) { if (!this.open) {
this.$refs["form"].validate((valid) => { this.$refs["form"].validate((valid) => {
if (valid) { if (valid) {
this.form.belongsSection = this.form.belongsSection.slice( // this.form.belongsSection = this.form.belongsSection.slice(
0, // 0,
this.form.belongsSection.indexOf("[") // this.form.belongsSection.indexOf("[")
); // );
this.form.proNo = this.proNo; this.form.proNo = this.proNo;
this.form.proCode = this.proCode; this.form.proCode = this.proCode;
addUnitProject(this.form).then((response) => { addUnitProject(this.form).then((response) => {
@ -371,10 +389,10 @@ export default {
} else { } else {
this.$refs["editForm"].validate((valid) => { this.$refs["editForm"].validate((valid) => {
if (valid) { if (valid) {
this.editForm.belongsSection = this.editForm.belongsSection.slice( // this.editForm.belongsSection = this.editForm.belongsSection.slice(
0, // 0,
this.editForm.belongsSection.indexOf("[") // this.editForm.belongsSection.indexOf("[")
); // );
updateUnitProject(this.editForm).then((response) => { updateUnitProject(this.editForm).then((response) => {
if (response.code === 200) { if (response.code === 200) {
this.msgSuccess("修改成功"); this.msgSuccess("修改成功");

28
jwtech-admin-page/src/views/building/projectInfo/projectProcess/safetyRecord.vue

@ -13,7 +13,12 @@
</div> </div>
<el-table v-loading="loading" :data="filingsList1"> <el-table v-loading="loading" :data="filingsList1">
<el-table-column label="序号" type="index" width="50" align="center" /> <el-table-column label="序号" type="index" width="50" align="center" />
<el-table-column
label="标段名称"
align="center"
prop="sectionName"
min-width="120"
/>
<el-table-column <el-table-column
label="年度" label="年度"
align="center" align="center"
@ -97,6 +102,12 @@
</div> </div>
<el-table v-loading="loading" :data="filingsList2"> <el-table v-loading="loading" :data="filingsList2">
<el-table-column label="序号" type="index" width="50" align="center" /> <el-table-column label="序号" type="index" width="50" align="center" />
<el-table-column
label="标段名称"
align="center"
prop="sectionName"
min-width="120"
/>
<el-table-column <el-table-column
label="年度" label="年度"
align="center" align="center"
@ -220,6 +231,9 @@
:close-on-click-modal="false" :close-on-click-modal="false"
> >
<el-form ref="form" :model="form" :rules="rules" label-width="110px"> <el-form ref="form" :model="form" :rules="rules" label-width="110px">
<el-form-item label="标段名称" prop="sectionName">
<chooseSection :form="form" :proCode="proCode" :proNo="proNo" />
</el-form-item>
<el-form-item label="年度" prop="year"> <el-form-item label="年度" prop="year">
<!-- <el-input v-model="form.year" placeholder="请输入年度" /> --> <!-- <el-input v-model="form.year" placeholder="请输入年度" /> -->
<el-date-picker <el-date-picker
@ -415,17 +429,25 @@ export default {
proCode: null, proCode: null,
proNo: null, proNo: null,
owerDept: null, owerDept: null,
sectionName: null,
}, },
}, },
// //
form: {}, form: {},
// //
rules: { rules: {
sectionName: [
{
required: true,
message: "请选择标段名称",
trigger: "change",
},
],
year: [ year: [
{ {
required: true, required: true,
message: "请选择年度", message: "请选择年度",
trigger: "blur", trigger: "change",
}, },
], ],
content: [ content: [
@ -515,6 +537,7 @@ export default {
proCode: null, proCode: null,
proNo: null, proNo: null,
owerDept: null, owerDept: null,
sectionName: null,
}; };
this.resetForm("form"); this.resetForm("form");
}, },
@ -539,6 +562,7 @@ export default {
proCode: null, proCode: null,
proNo: null, proNo: null,
owerDept: null, owerDept: null,
sectionName: null,
}, },
}; };
this.resetForm("form"); this.resetForm("form");

17
jwtech-admin-page/src/views/building/projectInfo/projectProcess/scheduleManagement/options/annualPlanManagement.vue

@ -119,6 +119,12 @@
align="center" align="center"
fixed fixed
/> />
<el-table-column
label="标段名称"
align="center"
prop="sectionName"
min-width="120"
/>
<el-table-column <el-table-column
label="项目名称" label="项目名称"
align="center" align="center"
@ -284,7 +290,7 @@
> >
<el-row :gutter="15"> <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="110px">
<el-col :span="12"> <el-col :span="24">
<el-form-item label="项目名称" prop="projectName"> <el-form-item label="项目名称" prop="projectName">
<el-input <el-input
v-model="form.projectName" v-model="form.projectName"
@ -293,6 +299,12 @@
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12">
<el-form-item label="标段名称" prop="sectionName">
<chooseSection :form="form" :proCode="proCode" :proNo="proNo" />
</el-form-item>
</el-col>
<!-- <el-col :span="12"> <!-- <el-col :span="12">
<el-form-item label="项目类型" prop="projectType"> <el-form-item label="项目类型" prop="projectType">
<el-input <el-input
@ -452,6 +464,7 @@ export default {
pageSize: 10, pageSize: 10,
ids: null, ids: null,
data: { data: {
sectionName: null,
proCode: null, proCode: null,
proNo: null, proNo: null,
createUid: null, createUid: null,
@ -769,6 +782,7 @@ export default {
reset() { reset() {
this.form = { this.form = {
id: null, id: null,
sectionName: null,
proCode: null, proCode: null,
proNo: null, proNo: null,
createUid: null, createUid: null,
@ -814,6 +828,7 @@ export default {
pageSize: 10, pageSize: 10,
data: { data: {
id: null, id: null,
sectionName: null,
proCode: null, proCode: null,
proNo: null, proNo: null,
createUid: null, createUid: null,

6
jwtech-admin-page/src/views/building/projectInfo/projectProcess/scheduleManagement/options/completionOfInvestment.vue

@ -116,6 +116,12 @@
align="center" align="center"
fixed fixed
/> />
<el-table-column
label="标段名称"
align="center"
prop="sectionName"
min-width="120"
/>
<el-table-column <el-table-column
label="项目名称" label="项目名称"
align="center" align="center"

6
jwtech-admin-page/src/views/building/projectInfo/projectProcess/scheduleManagement/options/progressFilling.vue

@ -116,6 +116,12 @@
align="center" align="center"
fixed fixed
/> />
<el-table-column
label="标段名称"
align="center"
prop="sectionName"
min-width="120"
/>
<el-table-column <el-table-column
label="项目名称" label="项目名称"
align="center" align="center"

25
jwtech-admin-page/src/views/building/projectInfo/projectProcess/supervisionAndManagement/options/record.vue

@ -8,6 +8,12 @@
> >
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="序号" type="index" width="50" align="center" /> <el-table-column label="序号" type="index" width="50" align="center" />
<el-table-column
label="标段名称"
align="center"
prop="sectionName"
min-width="120"
/>
<el-table-column <el-table-column
label="项目编码" label="项目编码"
align="center" align="center"
@ -118,6 +124,9 @@
:close-on-click-modal="false" :close-on-click-modal="false"
> >
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="标段名称" prop="sectionName">
<chooseSection :form="form" :proCode="proCode" :proNo="proNo" />
</el-form-item>
<el-form-item label="会议时间" prop="meetingTime"> <el-form-item label="会议时间" prop="meetingTime">
<el-date-picker <el-date-picker
clearable clearable
@ -204,6 +213,10 @@
}" }"
:contentStyle="{ minWidth: '350px' }" :contentStyle="{ minWidth: '350px' }"
> >
<el-descriptions-item>
<template slot="label"> 标段名称 </template>
{{ this.recordMsg.sectionName }}
</el-descriptions-item>
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> 会议时间 </template> <template slot="label"> 会议时间 </template>
{{ this.recordMsg.meetingTime }} {{ this.recordMsg.meetingTime }}
@ -286,6 +299,7 @@ export default {
pageSize: 10, pageSize: 10,
ids: null, ids: null,
data: { data: {
sectionName: null,
meetingTime: null, meetingTime: null,
meetingLocation: null, meetingLocation: null,
participants: null, participants: null,
@ -304,11 +318,18 @@ export default {
form: {}, form: {},
// //
rules: { rules: {
sectionName: [
{
required: true,
message: "请选择标段名称",
trigger: "change",
},
],
meetingTime: [ meetingTime: [
{ {
required: true, required: true,
message: "请选择会议时间", message: "请选择会议时间",
trigger: "blur", trigger: "change",
}, },
], ],
meetingLocation: [ meetingLocation: [
@ -376,6 +397,7 @@ export default {
reset() { reset() {
this.form = { this.form = {
id: null, id: null,
sectionName: null,
meetingTime: null, meetingTime: null,
meetingLocation: null, meetingLocation: null,
participants: null, participants: null,
@ -398,6 +420,7 @@ export default {
pageSize: 10, pageSize: 10,
data: { data: {
id: null, id: null,
sectionName: null,
meetingTime: null, meetingTime: null,
meetingLocation: null, meetingLocation: null,
participants: null, participants: null,

Loading…
Cancel
Save